Send a transactional in-app message
Send a transactional in-app message. In-app messages render in your application through the Customer.io SDK to the devices associated with the person you target by identifiers.
You send a message using a transactional_message_id for an in-app message template that you've set up in the user interface. The transactional_message_id can be either the numerical ID for the template or the Trigger Name that you assigned the template.
You can find your transactional_message_id from the code sample in the Overview tab for your transactional message in the user interface, or you can look up a list of your transactional messages through the App API.
Note: Your workspace must have in-app messaging enabled. Requests sent to a workspace without the in-app capability return 403.
- identifiersrequired
Identifies the person represented by your transactional message by one of, and only one of,
id,email, orcio_id.Identifies the person represented by your transactional message by one of, and only one of,
id,email, orcio_id.- idType: stringrequired
The identifier for the person represented by the transactional message. NOTE: If your workspace identifies people by email, use the
emailidentifier instead.
- transactional
_message _id requiredThe transactional message template that you want to use for your message. You can call the template by its numerical ID or by the Trigger Name that you assigned to the template in the UI (case insensitive).
- Type: integer · ID (integer)
The ID of the transactional message you want to send.
- Type: booleanauto
_create Accepted for in-app sends, but of limited use. An auto-created record has no content or layout until you populate it in the UI, so we recommend creating the in-app message in the UI instead. Your
transactional_message_idmust be a new string. - Type: stringlanguage
Overrides language preferences for the person you want to send your transactional message to. Use one of our supported two- or four-letter language codes.
- Type: objectmessage
_data An object containing the key-value pairs referenced using liquid in the format
{{trigger.<property_name>}}in your in-app message. These values populate thepropertiesfield in the message that the SDK delivers to your application. - Type: booleanqueue
_draft If true, your transactional message is held as a draft in Customer.io and not sent directly to your audience. You must go to the Deliveries and Drafts page to send your message.
- Type: integersend
_at A unix timestamp (seconds since epoch) determining when the message will be sent. The timestamp can be up to 90 days in the future. If this value is in the past, your message is sent immediately.
- application/json
- application/json
- application/json
{
"identifiers": {
"id": "user_123"
},
"transactional_message_id": "order_confirmation",
"message_data": {
"order_id": "ORD-5678",
"tracking_url": "https://track.example.com/5678"
}
}
{
"delivery_id": "string",
"queued_at": 1,
"send_at": 1
}Returns a unique ID for the delivery.