Messages
A Message is an inbound or outbound message sent or received by your SignalWire project. Messages are identified by a unique, random ID, and can have attachments, called Media, associated with them. These Media files are managed separately from the Messages themselves, and are stored in Media subresource objects. To retrieve a list of the media associated with a message, use the Media subresource for that Message instance.
The Message Object
Attribute | Type | |
---|---|---|
account_sid | string | The unique identifier of the project that sent or received this message. |
api_version | string | The version number of the SignalWire XML REST API used to handle this message. |
body | string | The text of the message. Up to 1600 characters long and can be null if no message was sent. |
date_created | datetime | The date and time the message was created in RFC 2822 format. |
date_sent | datetime | The date and time the message was sent in RFC 2822 format. |
date_updated | datetime | The date and time the message was last updated in RFC 2822 format. |
direction | string | The direction of the message:
|
error_code | string | If an error has occurred on the message, the error code will give you a specific code to help lookup more information on the failure. If no error occurred, error_code will be null. |
error_message | string | A human readable description of the error that occurred. If no error occurred, error_message will be null. |
from | string | The phone number in E.164 format. For inbound messages, this will be the remote phone number who sent the message. For outbound messages, this will be one of your SignalWire phone numbers. |
messaging_service_sid | string | If a number group was used when sending an outbound message, the number group's ID will be present. If no number group was used, the value will be null. |
num_media | integer | The number of media files that were included with the message. |
num_segments | integer | The number of segments that make up the entire message. If the body of the message is larger than 160 GSM-7 characters or 70 UCS-2 characters, it will automatically be broken up into smaller messages and annotated to attempt proper reconstruction on the recipient handset. Not all carriers and handsets support this. SignalWire will recombine inbound messages into a single message. Your project will be charged for each segment sent or received. |
price | decimal | The cost of the individual message billed to your project. |
price_unit | string | The currency in which price is charged as. |
sid | string | A unique ID that identifies this specific message. |
status | string | Current status of the message. See Message Status for a detailed description of each status. |
subresource_uris | object | The URIs for any subresources associated with this message. |
to | string | The phone number in E.164 format that received the message. For inbound messages, this is one of your SignalWire phone numbers; for outbound messages, this is the remote phone number that received the message. |
uri | string | The URI of this particular message. |
Message Status
The status
attribute of a Message indicates the last known state of the Message.
State | |
---|---|
queued | The API request to send this message was processed successfully, and the message is currently waiting to be sent out. |
sending | The message is currently being transmitted by SignalWire to the nearest carrier upstream in the network. |
sent | The nearest carrier upstream in the network has accepted the message. |
delivered | Confirmation of receipt of the message by the nearest carrier upstream in the network. |
undelivered | SignalWire has received notice from the nearest carrier upstream in the network that the message was not delivered. |
failed | SignalWire could not send the message. There is no charge for failed messages. |
receiving | SignalWire has received and is currently processing an inbound message. |
received | The message has been received by one of the numbers in your account. Applies to inbound messages only. |
A sample message returned from the API:
{
"account_sid": "ea108133-d6b3-407c-9536-9fad8a929a6a",
"api_version": "2010-04-01",
"body": "Hello World!",
"num_segments": 1,
"num_media": 1,
"date_created": "Mon, 13 Aug 2018 21:38:46 +0000",
"date_sent": null,
"date_updated": "Mon, 13 Aug 2018 21:38:46 +0000",
"direction": "outbound-api",
"error_code": null,
"error_message": null,
"from": "+15551234567",
"price": 0.005,
"price_unit": "USD",
"sid": "0a059168-ead0-41af-9d1f-343dae832527",
"status": "queued",
"to": "+15557654321",
"messaging_service_sid": null,
"uri": "/api/laml/2010-04-01/Accounts/ea108133-d6b3-407c-9536-9fad8a929a6a/Messages/0a059168-ead0-41af-9d1f-343dae832527",
"subresource_uris": {
"media": "/api/laml/2010-04-01/Accounts/ea108133-d6b3-407c-9536-9fad8a929a6a/Messages/0a059168-ead0-41af-9d1f-343dae832527/Media"
}
}