Sinch · Schema
Sinch Message
Schema representing a message in the Sinch platform, covering SMS, MMS, and omnichannel conversation messages across all supported channels.
CommunicationsMessagingSMSVoiceVerificationCPaaS
Properties
| Name | Type | Description |
|---|---|---|
| id | string | The unique message identifier assigned by the Sinch platform |
| to | object | The message recipient or recipients |
| from | string | The sender phone number, short code, or alphanumeric sender ID |
| body | object | The message content |
| type | string | The message type for SMS/MMS |
| channel | string | The messaging channel for Conversation API messages |
| direction | string | The message direction |
| status | string | The current message delivery status |
| delivery_report | string | The delivery report type requested for SMS batch messages |
| send_at | string | Scheduled send time for the message |
| expire_at | string | Expiration time for undelivered messages |
| created_at | string | When the message was created |
| received_at | string | When the message was received (for inbound messages) |
| callback_url | string | URL to receive delivery report callbacks |
| flash_message | boolean | Whether to send as a flash message that displays immediately |
| conversation_id | string | The associated conversation identifier for Conversation API |
| contact_id | string | The associated contact identifier for Conversation API |
| app_id | string | The Conversation API app identifier |
| metadata | string | Custom metadata associated with the message |
| parameters | object | Parameterized message substitution values for batch messaging |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://api-evangelist.com/schemas/sinch/message.json",
"title": "Sinch Message",
"description": "Schema representing a message in the Sinch platform, covering SMS, MMS, and omnichannel conversation messages across all supported channels.",
"type": "object",
"required": ["to", "body"],
"properties": {
"id": {
"type": "string",
"description": "The unique message identifier assigned by the Sinch platform"
},
"to": {
"oneOf": [
{
"type": "string",
"pattern": "^\\+?[1-9]\\d{1,14}$",
"description": "A single recipient phone number in E.164 format"
},
{
"type": "array",
"items": {
"type": "string",
"pattern": "^\\+?[1-9]\\d{1,14}$"
},
"minItems": 1,
"description": "A list of recipient phone numbers in E.164 format"
}
],
"description": "The message recipient or recipients"
},
"from": {
"type": "string",
"description": "The sender phone number, short code, or alphanumeric sender ID"
},
"body": {
"oneOf": [
{
"type": "string",
"description": "Plain text message body"
},
{
"$ref": "#/$defs/RichMessage"
}
],
"description": "The message content"
},
"type": {
"type": "string",
"enum": ["mt_text", "mt_binary", "mt_media"],
"description": "The message type for SMS/MMS"
},
"channel": {
"type": "string",
"enum": [
"SMS", "MMS", "RCS", "WHATSAPP", "MESSENGER", "INSTAGRAM",
"VIBER", "VIBERBM", "TELEGRAM", "KAKAOTALK", "LINE"
],
"description": "The messaging channel for Conversation API messages"
},
"direction": {
"type": "string",
"enum": ["TO_APP", "TO_CONTACT", "INBOUND", "OUTBOUND"],
"description": "The message direction"
},
"status": {
"type": "string",
"enum": [
"Queued", "Dispatched", "Delivered", "Failed",
"Expired", "Cancelled", "Rejected"
],
"description": "The current message delivery status"
},
"delivery_report": {
"type": "string",
"enum": ["none", "summary", "full", "per_recipient"],
"description": "The delivery report type requested for SMS batch messages"
},
"send_at": {
"type": "string",
"format": "date-time",
"description": "Scheduled send time for the message"
},
"expire_at": {
"type": "string",
"format": "date-time",
"description": "Expiration time for undelivered messages"
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "When the message was created"
},
"received_at": {
"type": "string",
"format": "date-time",
"description": "When the message was received (for inbound messages)"
},
"callback_url": {
"type": "string",
"format": "uri",
"description": "URL to receive delivery report callbacks"
},
"flash_message": {
"type": "boolean",
"default": false,
"description": "Whether to send as a flash message that displays immediately"
},
"conversation_id": {
"type": "string",
"description": "The associated conversation identifier for Conversation API"
},
"contact_id": {
"type": "string",
"description": "The associated contact identifier for Conversation API"
},
"app_id": {
"type": "string",
"description": "The Conversation API app identifier"
},
"metadata": {
"type": "string",
"description": "Custom metadata associated with the message"
},
"parameters": {
"type": "object",
"description": "Parameterized message substitution values for batch messaging",
"additionalProperties": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
},
"$defs": {
"RichMessage": {
"type": "object",
"description": "A rich message with structured content for omnichannel messaging",
"properties": {
"text_message": {
"type": "object",
"description": "A text message component",
"properties": {
"text": {
"type": "string",
"maxLength": 2000,
"description": "The message text"
}
},
"required": ["text"]
},
"media_message": {
"type": "object",
"description": "A media message component",
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "The media URL"
},
"thumbnail_url": {
"type": "string",
"format": "uri",
"description": "The thumbnail URL"
}
},
"required": ["url"]
},
"template_message": {
"type": "object",
"description": "A template-based message",
"properties": {
"template_id": {
"type": "string",
"description": "The template identifier"
},
"version": {
"type": "string",
"description": "The template version"
},
"language_code": {
"type": "string",
"description": "The language code"
},
"parameters": {
"type": "object",
"description": "Template parameter values"
}
},
"required": ["template_id"]
},
"card_message": {
"type": "object",
"description": "A card message with title, description, media, and actions",
"properties": {
"title": {
"type": "string",
"description": "The card title"
},
"description": {
"type": "string",
"description": "The card description"
},
"media_url": {
"type": "string",
"format": "uri",
"description": "The card media URL"
},
"choices": {
"type": "array",
"description": "Action choices on the card",
"items": {
"$ref": "#/$defs/Choice"
}
}
}
}
}
},
"Choice": {
"type": "object",
"description": "An interactive choice or action button",
"properties": {
"text": {
"type": "string",
"description": "The choice display text"
},
"postback_data": {
"type": "string",
"description": "Data sent back when the choice is selected"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL to open when the choice is selected"
},
"call_phone_number": {
"type": "string",
"description": "Phone number to call when the choice is selected"
}
},
"required": ["text"]
}
}
}