Latest Legacy

The Message Element

Use the Message element to send a message during your call flow. For instance, if you want to send out an SMS notification when you receive an incoming call on your Plivo number, you can use the <Message> element in your application.

To receive a message, you must set a message URL in your Plivo application via the API or in the Plivo console at Messaging > Applications.

Attributes

Here are the attributes the Message element supports. You can modify the default behavior of each attribute by using the allowed values.

src string

Source number — for example, 12025550000. Must be a purchased, valid number.

dst string

Destination number. Must be a valid number. To use bulk numbers, specify them separated by < — for example, 12025551111<12025552222.

type string

Type of the message.

Allowed values: sms

callbackUrl string

A valid, reachable URL that Plivo notifies when a response is available and to which the response is sent. (Delivery reports)

callbackMethod string

The method used to notify the callbackUrl.

Allowed values: GET, POST
Defaults to POST.

Example Request

1
2
3
4
5
6
7
8
9
10
11
12
from plivo import plivoxml

response = plivoxml.ResponseElement()
response.add(
    plivoxml.MessageElement(
        'Hi, this is a sample text',
        src='+12025550000',
        dst='+12025551111',
        type='sms',
        callback_url='https://<yourdomain>.com/sms_status/',
        callback_method='POST'))
print(response.to_string())
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
require rubygems
require plivo

include Plivo::XML
include Plivo::Exceptions

begin
  response = Response.new

  params = {
      src: '+12025550000',
      dst: '+12025551111',
      type: 'sms',
      callbackUrl: 'https://<yourdomain>.com/sms_status/',
      callbackMethod: 'POST'
  }
  message_body = 'Hi, this is a sample text'
  response.addMessage(message_body, params)

  xml = PlivoXML.new(response)
  puts xml.to_xml
rescue PlivoXMLError => e
  puts 'Exception: ' + e.message
end
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
var plivo = require('plivo');

var response = plivo.Response();

var params = {
    'src': "+12025550000",
    'dst': "+12025551111",
    'type': "sms",
    'callbackUrl': "https://<yourdomain>.com/sms_status/",
    'callbackMethod': "POST"
};
var message_body = "Hi, this is a sample text";
response.addMessage(message_body, params);

console.log(response.toXML());

/*
Sample Output
<Response>
    <Message src="12025550000" dst="12025551111" type="sms" callbackUrl="https://<yourdomain>.com/sms_status/" callbackMethod="POST">
        Hi, this is a sample text
    </Message>
</Response>
*/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
    require '../vendor/autoload.php';
    use Plivo\XML\Response;

    $response = new Response();

    $params = array(
        'src' => "+12025550000",
        'dst' => "+12025551111",
        'type' => "sms",
        'callbackUrl' => "https://<yourdomain>.com/sms_status/",
        'callbackMethod' => "POST"
    );
    $message_body = "Hi, this is a sample text";
    $response->addMessage($message_body, $params);

    Header('Content-type: text/xml');
    echo($response->toXML());

    /*
    Sample Output

    <Response>
        <Message src="2025550000" dst="2025551111" type="sms" callbackUrl="https://<yourdomain>.com/sms_status/" callbackMethod="POST">
            Hi, this is a sample text
        </Message>
    </Response>
    */
?>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Example for xml - send an sms
package com.plivo.api.xml.samples.xml;

import com.plivo.api.exceptions.PlivoXmlException;
import com.plivo.api.xml.Message;
import com.plivo.api.xml.Response;


class SendAnSms {
    public static void main(String[] args) throws PlivoXmlException {
        Response response = new Response()
                .children(


                        new Message("+12025550000", "+12025551111", "Hi, this is a sample text")
                                .callbackMethod("POST")
                                .callbackUrl("https://<yourdomain>.com/sms status/")
                                .type("sms")

                );
        System.out.println(response.toXmlString());
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
using System;
using System.Collections.Generic;
using Plivo.XML;

namespace Plivo
{
	class MainClass
	{
		public static void Main(string[] args)
		{
			Plivo.XML.Response resp = new Plivo.XML.Response();
			resp.AddMessage("Hi, this is a sample text",
							new Dictionary<string, string>()
			{
				{"src", "+12025550000"},
				{"dst", "+12025551111" } ,
				{"type", "sms"},
				{"callbackUrl", "https://<yourdomain>.com/sms_status/"},
				{"callbackMethod", "POST"}
			});

			var output = resp.ToString();
			Console.WriteLine(output);

		}
	}
}



//<Response>
//  <Message src = "12025550000" dst="12025551111" 
//    type="sms" callbackUrl="https://<yourdomain>.com/sms_status/" 
//    callbackMethod="POST">
//        Hi, this is a sample text
//  </Message>
//</Response>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Example for xml - message
package main

import "github.com/plivo/plivo-go/v7/xml"

func main() {
	response := xml.ResponseElement{
		Contents: []interface{}{

			new(xml.MessageElement).
				SetCallbackMethod("POST").
				SetCallbackUrl("https://<yourdomain>.com/sms_status/").
				SetDst("+12025551111").
				SetSrc("+12025550000").
				SetType("sms").
				SetContents("Hi, this is a sample text"),
		},
	}
	print(response.String())
}