Create a Message
POST/Accounts/:AccountSid/Messages
Create a message.
Permissions
The API token must include the following scopes: Messaging.
Request
Path Parameters
The unique identifier of the project that sent or received this message.
- application/x-www-form-urlencoded
Body
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.
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.
The text of the message. Up to 1600 characters long and can be null if no message was sent.
URL of media you wish to attach and send with the message. Include multiple MediaUrl
arguments if you which to send more than one media per message, up to a maximum of 10 media URLs per message. There is a limit of 5MB for the total combined media size per message. See the MIME Types section for a full list of content types supported by SignalWire.
The SID of a SignalWire cXML bin used to configure the message's MessageStatusCallback
attribute. If ApplicationSid
and StatusCallback
are specified, StatusCallback
will take precedence.
The maximum price in USD acceptable for the message to be sent. Once your message is queued, the cost to send the message is calculated and if it is greater than MaxPrice
, the message will be set as failed
and not sent. You will not be charged. If MaxPrice
is not set, all messages will be sent. The price can have a maximum of four decimal places, i.e. 0.0075.
A URL endpoint to receive callbacks each time the status of the message changes from queued
, failed
, sent
, delivered
or undelivered
.
The number of seconds a message will allow being queued before canceling. When sending high volume of messages, messages can sit in your sending queue. If the message should only be sent in in a specific timeframe, use ValidityPeriod
to ensure you don't send messages after time-sensitive operations. It is not recommended to set a validity period of less than 5 seconds. Default value is 14400
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.
Responses
- 200
OK
- application/json
- Schema
- Example (from schema)
Schema
The unique identifier of the project that sent or received this message.
The version number of the SignalWire cXML REST API used to handle this message.
The text of the message. Up to 1600 characters long and can be null if no message was sent.
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.
The number of media files that were included with the message.
The date and time the message was created in RFC 2822 format.
The date and time the message was sent in RFC 2822 format.
The date and time the message was last updated in RFC 2822 format.
Possible values: [inbound
, outbound-api
, outbound-call
, outbound-reply
]
The direction of the message.
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.
A human readable description of the error that occurred. If no error occurred, error_message
will be null.
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.
The cost of the individual message billed to your project.
The currency in which price
is charged as.
A unique ID that identifies this specific message.
Possible values: [queued
, sending
, sent
, delivered
, undelivered
, failed
, receiving
, received
]
Current status of the message.
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.
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.
The URI of this particular message.
subresource_uris
object
The URIs for any subresources associated with this message.
{
"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": "sent",
"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"
}
}