<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.| Name | Type | Description |
|---|---|---|
| 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
This example XML document is used to send out an SMS message. Plivo sends a delivery report to the callback URL using the HTTP POST method.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())
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());
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
<?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());
?>
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());
}
}
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);
}
}
}
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())
}
Response
<Response>
<Message src="12022220000" dst="12025551111" type="sms" callbackUrl="https://<yourdomain>.com/sms_status/" callbackMethod="POST">
Hi, this is a text message
</Message>
</Response>