Custom SMS events

Airship delivers SMS messages through service providers Sinch (formerly known as CLX) and Twilio. Custom SMS events represent events that occur between the service provider and recipient. They do not represent Airship service events.

RCS read report

Read reports are Custom Events sent when an RCS message is marked as read. These events use the delivery_report interaction type with a name of read. See RCS branded senders.

OBJECT PROPERTIES
  • body objectREQUIRED
    OBJECT PROPERTIES
    • interaction_type string

      Possible values: delivery_report

    • name stringREQUIRED

      Indicates the event is an RCS read.

      Possible values: read

    • properties objectREQUIRED
      OBJECT PROPERTIES
      • is_rcs boolean

        A boolean describing whether the message was delivered as RCS.

      • number_of_message_parts number

        The number of message parts delivered.

      • recipient_country_code string

        The country code of the message recipient.

      • sender stringREQUIRED

        The number or short code that the message originated from.

      • vendor stringREQUIRED

        The delivery service for the message.

        Possible values: CLX, TWILIO

      • vendorDeliveryId stringREQUIRED

        A unique identifier for the message from the SMS vendor.

    • source stringREQUIRED

      Possible values: API

    • triggering_push object

      Identifies the push notification that caused the event.

      OBJECT PROPERTIES
      • campaigns object

        An object listing the campaigns a push specification is associated with. The campaigns object includes an array of categories that must have between 1 and 10 elements, each of which is a string with a 64-byte and -character limit.

        OBJECT PROPERTIES
        • categories array[string]
      • group_id string

        Identifies a push specification delivered over an interval of time, e.g., multiple push_ids as part of the fulfillment of an automation pipeline or a push-to-local-time specification.

      • push_id stringREQUIRED

        A unique identifier for a push operation.

  • device objectREQUIRED

    Device properties for Custom Events with the delivery_report interaction type always specify an SMS device.

    OBJECT PROPERTIES
    • channel stringREQUIRED

      The unique, platform-agnostic channel identifier for a device.

    • delivery_address stringREQUIRED

      The phone number associated with the channel.

    • device_type stringREQUIRED

      Possible values: SMS

  • id stringREQUIRED

    Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same id, type, occurred, device, and body values but different offset and processed values. You should use the id to deduplicate.

  • occurred stringREQUIRED

    When the event occurred.

  • offset stringREQUIRED

    An identifier of a location in the stream; used to resume the stream after severing a connection. If you open a stream using the offset value, the stream will resume with the next element in the stream. You should store this value as a string so that you can easily resume the stream if it ends for any reason.

  • processed stringREQUIRED

    When the event was ingested by Airship. There may be some latency between when the event occurred, and when it was processed.

  • type stringREQUIRED

    Possible values: CUSTOM

Used in:

SMS delivery report

Delivery reports are Custom Events sent from our third-party SMS providers. These events report the status of your message between the provider and your audience up to, and including, delivery.

Jump to examples ↓

OBJECT PROPERTIES
  • body objectREQUIRED
    OBJECT PROPERTIES
    • interaction_type string

      Possible values: delivery_report

    • name stringREQUIRED

      The name of the delivery report as specified by the vendor. Most events reference the status of the message with reference to the short message service center (SMSC) — the server that receives your message and dispatches it to your audience.

      • dispatched — Message has been dispatched and accepted for delivery by the SMSC.
      • aborted — Message was aborted before reaching SMSC.
      • rejected — Message was rejected by SMSC.
      • delivered — Message has been delivered.
      • failed — Message failed to be delivered.
      • expired — Message expired before delivery to SMSC. This may happen if the expiry time for the message was very short.
      • unknown — Message was delivered to SMSC but no Delivery Receipt has been received or a Delivery Receipt that could not be interpreted was received.
      • undeliverable — Message cannot be delivered.
      • deleted — Message has been deleted.

      Possible values: dispatched, aborted, rejected, delivered, failed, expired, unknown, undeliverable, deleted

    • properties objectREQUIRED
      One of
      • SMS Delivery Properties object

        A delivery report for SMS.

        OBJECT PROPERTIES
        • error_code string

          An error code from the short message service center, if applicable.

        • is_rcs boolean

          A boolean describing if the message was delivered as RCS or not.

        • sender stringREQUIRED

          The number or short code that the message originated from.

        • vendor stringREQUIRED

          The delivery service for the message.

          Possible values: CLX, TWILIO

        • vendorDeliveryId stringREQUIRED

          A unique identifier for the message from the SMS vendor.

      • MMS Delivery Properties object

        A delivery report for MMS.

        OBJECT PROPERTIES
        • carrier_id string

          Identifies the carrier the message was sent through.

        • error_code string

          An error code from the short message service center, if applicable.

        • handset string

          The profile of the handset that received the message. This information is only present if the result_status is N102.

        • is_rcs boolean

          A boolean describing if the message was delivered as RCS or not.

        • result_code stringREQUIRED

          A status code from the vendor, if applicable.

          Possible values: N101, N102, E101, E102

        • result_status string

          Possible values: Message Sent, Message Sent/Delivered, Message Failed, Message,Sent/Expired, Message Sent/Rejected, Message Sent/Failed, Message Sent/Not Supported

        • sender stringREQUIRED

          The number or short code that the message originated from.

        • sent_as string

          Indicates whether the MMS was delivered as MMS (binary) or SMS (HTML).

          Possible values: MMS, SMS

        • tracking_Id string

          An ID assigned by the delivery service (CLX only).

        • vendor stringREQUIRED

          The delivery service for the message.

          Possible values: CLX

    • source stringREQUIRED

      Possible values: API

    • triggering_push object

      Identifies the push notification that caused the event.

      OBJECT PROPERTIES
      • campaigns object

        An object listing the campaigns a push specification is associated with. The campaigns object includes an array of categories that must have between 1 and 10 elements, each of which is a string with a 64-byte and -character limit.

        OBJECT PROPERTIES
        • categories array[string]
      • group_id string

        Identifies a push specification delivered over an interval of time, e.g., multiple push_ids as part of the fulfillment of an automation pipeline or a push-to-local-time specification.

      • push_id stringREQUIRED

        A unique identifier for a push operation.

      • variant_id integer

        The ID of the variant that a push is associated with, if the push was a part of an A/B test (experiment).

  • device objectREQUIRED

    Device properties for Custom Events with the delivery_report interaction type always specify an SMS device.

    OBJECT PROPERTIES
    • channel stringREQUIRED

      The unique, platform-agnostic channel identifier for a device.

    • delivery_address stringREQUIRED

      The phone number associated with the channel.

    • device_type stringREQUIRED

      Possible values: SMS

  • id stringREQUIRED

    Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same id, type, occurred, device, and body values but different offset and processed values. You should use the id to deduplicate.

  • occurred stringREQUIRED

    When the event occurred.

  • offset stringREQUIRED

    An identifier of a location in the stream; used to resume the stream after severing a connection. If you open a stream using the offset value, the stream will resume with the next element in the stream. You should store this value as a string so that you can easily resume the stream if it ends for any reason.

  • processed stringREQUIRED

    When the event was ingested by Airship. There may be some latency between when the event occurred, and when it was processed.

  • type stringREQUIRED

    Possible values: CUSTOM

Used in:

Examples

Example SMS delivery report Custom Event

{
  "body": {
    "interaction_type": "delivery_report",
    "name": "dispatched",
    "properties": {
      "sender": 15551234567,
      "vendor": "CLX",
      "vendorDeliveryId": "FENhObMKbCjMOwtw"
    },
    "source": "API",
    "triggering_push": {
      "campaigns": {
        "categories": [
          "New Users"
        ]
      },
      "push_id": "9323b708-7741-4a85-8b1b-e55ad8ce64fc"
    }
  },
  "device": {
    "channel": "db7576c7-6b3d-4f07-b13a-ea3824fea262",
    "delivery_address": "15558675309",
    "device_type": "SMS"
  },
  "id": "48af12e8-6920-4e4e-bef8-b5a6918eec35",
  "occurred": "2019-01-31T17:45:38.700Z",
  "offset": "1000002098217",
  "processed": "2019-01-31T17:45:41.285Z",
  "type": "CUSTOM"
}