Plum DEV allows customers to manage the sending and receiving of SMS messages. This guide covers four basic aspects of SMS messaging: sending, receiving, logs, and result URLs.
IMPORTANT! Your SMS-enabled number must be non-PCI. SMS is unencrypted, which makes SMS messaging incompatible with PCI numbers and infrastructure.
A given SMS can have a range of statuses, depending on where it is in the sending process, e.g., queued, sent, received, failed. Users may wish to know the status of an SMS message and the result URL parameter provides that information without having to utilize multiple Get Status requests.
With result URL, the Plum system sends the SMS message, it also sends the message ID and status to the user's result URL. Plum sends the most recent SMS status we receive to the user's result URL.
Users can set up notifications around these updates or use the data for any other purposes they see fit. This may include writing the data to a file, updating a database, pushing notifications to end users, etc
Customers that want to receive SMS messages must have an SMS-ready phone number active in their Plum Voice account.
Furthermore, customers must configure and application URL for receiving SMS messages.
It is necessary to set an application URL in order to receive incoming messages on an SMS-enabled phone number. To configure an application URL, go to the SMS Applications section to display a list of the SMS-enabled numbers associated with your account. Click the “Edit” link for the desire number.
This opens an application configuration page. Enter the URL for the webserver that will handle your incoming SMS message in the Application URL textbox. Click the 'Save' button to apply the changes.
Once you save a new SMS application, it gets added to your SMS Application list:
When an HTTP POST gets sent to your application URL, the expected response is a well-formed XML document that adheres to the Plum Voice SMS Reply Schema. The simplest valid response consists of an XML prologue and a
SMS Reply Schema
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="reply" type="reply"/>
<xs:element name="sms_message" minOccurs="0" maxOccurs="unbounded">
<xs:attribute name="to" type="xs:string"/>
<xs:attribute name="from" type="xs:string"/>
<xs:attribute name="result_url" type="xs:anyURI"/>
The following example does nothing with the incoming SMS message.
It is possible to use the response to the HTTP POST request to send one or more SMS messages in reply. The DEV platform validates and parses the response and sends one SMS message for each
<sms_message>tag. To reply to the sender of the incoming SMS message, place the response message inside a single
<sms_message>thanks for the message!</sms_message>
IMPORTANT: Logging is not available on demo accounts.
Demo accounts provide only limited access to DEV's product features. You'll need a standard account for full access to logging and more.
The Plum platform creates a record for each SMS message sent or received through your account. Each record contains the following information:
- To (recipient)
- From (sender)
- Status (received, queued, or sent)
- Type (inbound, outbound, or reply)
Greater detail about an SMS message is available by clicking the 'View' link. The detailed view includes the data listed in the Message Log table, plus the body of the message and the result URL, if provided:
Detailed view of an inbound SMS message
Detailed view of an outbound SMS message