Events
Contains information about events organized by type. Some events contain additional subtypes or device information.
Attribute operation event
Attribute operation events indicate a change in the device’s attributes. Because attribute operations are related to a device, they will have a device field.
If you set an attribute on a Named User, Airship records events for each device associated with the Named User.
OBJECT PROPERTIES- body objectREQUIREDOBJECT PROPERTIES
- remove array[object]
The attributes removed from the
devicein this event. - set array[object]
- device objectREQUIREDOne of
Information about app users generated by the SDK.
Information about web users generated by the SDK.
Information about the SMS or email device related to an event.
Information about open channel users.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
ATTRIBUTE_OPERATION - user object<User>
The current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Used in:
Examples
Example Attribute operation event
{
"id": "00000173-bb88-8804-b6ec-a40f4ae36648",
"offset": "1000059326194",
"occurred": "2020-08-04T22:12:33.924Z",
"processed": "2020-08-04T22:12:37.672Z",
"device": {
"android_channel": "b57f0e3c-da10-4a2b-99d2-5fe2cb30cad3",
"channel": "b57f0e3c-da10-4a2b-99d2-5fe2cb30cad3",
"device_type": "ANDROID",
"named_user_id": "cool_user",
"attributes": {
"locale_variant": "",
"app_version": "2020-02-10T222436-staging",
"device_model": "Pixel 2 XL",
"app_package_name": "com.company_name.app_name",
"iana_timezone": "America/Los_Angeles",
"push_opt_in": "true",
"locale_country_code": "US",
"device_os": "10",
"locale_timezone": "-25200",
"locale_language_code": "en",
"location_enabled": "false",
"background_push_enabled": "true",
"ua_sdk_version": "12.2.0",
"location_permission": "NOT_ALLOWED"
}
},
"user": {
"contact_id": "6b5ca2a2-c1f1-4119-9617-2d5bff0db09d",
"named_user_id": "cool_user"
},
"body": {
"set": [
{
"key": "first_name",
"value": "Pierre"
}
]
},
"type": "ATTRIBUTE_OPERATION"
}
Close
Occurs when a user closes the app. Close events are often latent, as they aren’t sent back to Airship until the user activates the app again.
OBJECT PROPERTIES- body objectREQUIREDOBJECT PROPERTIES
- session_id string
Represents the “session” of user activity. Absent if the application was initialized while backgrounded.
Information about app users generated by the SDK.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
CLOSE - user object<User>
The current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Used in:
Examples
Example close event
{
"id": "51dd7c1c-5621-11e9-9601-0242539d70ef",
"offset": "1000022467557",
"occurred": "2019-03-29T21:42:21.245Z",
"processed": "2019-04-03T15:10:23.828Z",
"device": {
"ios_channel": "a61448e1-be63-43ee-84eb-19446ba743f0",
"channel": "a61448e1-be63-43ee-84eb-19446ba743f0",
"device_type": "IOS",
"named_user_id": "cooluser",
"identifiers": {
"com.urbanairship.limited_ad_tracking_enabled": "true",
"session_id": "B147E0CE-272E-4047-A79C-30D02A2F213D",
"GA_CID": "a61448e1-be63-43ee-84eb-19446ba743f0",
"com.urbanairship.idfa": "A76E6F83-4F4A-47E2-BFDD-72BED91D2D1F",
"com.urbanairship.vendor": "ED496B1A-43F1-45A9-A7C1-80125DE8A5B1"
},
"attributes": {
"locale_variant": "",
"app_version": "542",
"device_model": "iPhone7,2",
"app_package_name": "com.company_name.app_name",
"iana_timezone": "America/Los_Angeles",
"push_opt_in": "true",
"locale_country_code": "US",
"device_os": "11.4",
"locale_timezone": "-25200",
"locale_language_code": "en",
"location_enabled": "false",
"background_push_enabled": "true",
"ua_sdk_version": "10.2.0",
"location_permission": "ALWAYS_ALLOWED"
}
},
"user": {
"contact_id": "982B35f2-0375-6384-893e-a19b5cd5R771"
},
"body": {
"session_id": "61acb6c9-527b-4632-b789-a3e6085b094e"
},
"type": "CLOSE"
}
Contact change
Occurs when a contact is uninstalled, associated with a channel or Named User, or dissociated from a channel or Named User.
OBJECT PROPERTIES- body objectOBJECT PROPERTIES
- change_type string
Describes the reason the contact change event was emitted.
ASSOCIATION: The contact was associated to a channel or Named User.DISSOCIATION: The contact was dissociated from a channel or Named User.UNINSTALL: The contact was uninstalled.
Possible values:
ASSOCIATION,DISSOCIATION,UNINSTALL - channel_id string
The ID of the channel that was associated or dissociated from the contact, depending on the change event type.
- contact_id string
The ID of the contact related to the change event.
- named_user_id string
An optional string that represents the Named User ID related to the change event.
- device object<App device information>
Information about app users generated by the SDK.
- id string
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred string
When the event occurred.
- offset string
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 string
When the event was ingested by Airship. There may be some latency between when the event occurred, and when it was processed.
- type string
Possible values:
CONTACT_CHANGE - user object<User>
The current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Used in:
Examples
Example contact change event
{
"id": "fe882bd1-e0b9-11ea-bc35-0242f70dd9ff",
"offset": "1000076075647",
"occurred": "2024-09-25T19:03:13.903Z",
"processed": "2024-09-25T19:03:14.426Z",
"user": {
"contact_id": "6b5ca2a2-c1f1-4119-9617-2d5bff0db09d",
"named_user_id": "mini_me"
},
"device": {
"ios_channel": "1ef235f0-03d5-1384-893e-a19b5cd0d110",
"channel": "1ef235f0-03d5-1384-893e-a19b5cd0d110",
"device_type": "IOS"
},
"body": {
"change_type": "DISSOCIATION",
"contact_id": "6b5ca2a2-c1f1-4119-9617-2d5bff0db09d",
"named_user_id": "mini_me",
"channel_id": "1ef235f0-03d5-1384-893e-a19b5cd0d110",
},
"type": "CONTACT_CHANGE"
}
Control
Occurs when a device is excluded from a push because it was arbitrarily selected as a member of a control group for a Message A/B test, Sequence A/B test, or Holdout Experiment.
OBJECT PROPERTIES- body objectREQUIREDOBJECT 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]
- experiment_id string
The unique identifier for the Message A/B test or Holdout Experiment.
- 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 string
A unique identifier for a push operation.
- device objectREQUIREDOne of
Information about app users generated by the SDK.
Information about web users generated by the SDK.
- experiment_id string
The unique identifier for the Message A/B test or Holdout Experiment.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
CONTROL - user object<User>
The current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Used in:
Examples
Example control event
{
"id" : "ff76bb85-74bc-4511-a3bf-11b6117784db",
"type": "CONTROL",
"offset": "MTIzNQ",
"occurred": "2015-05-03T02:32:12.088Z",
"processed": "2015-05-03T12:12:43.180Z",
"device": {
"channel":"a61448e1-be63-43ee-84eb-19446ba743f0",
"device_type":"ANDROID",
"android_channel": "a61448e1-be63-43ee-84eb-19446ba743f0"
},
"user": {
"contact_id": "6b5ca2a2-c1f1-4119-9617-2d5bff0db09d",
"named_user_id": "mini_me"
},
"body:" {
"push_id": "c91d9e1b-605f-4bad-a45d-cdf3e6e0773f",
"group_id": "3eec7de4-4b19-436e-ad15-88278f9ddb82"
}
}
Custom
Represents Custom Events that are either emitted from the Airship SDK or submitted through the Custom Events API. You can configure Custom Events yourself. There are also several CUSTOM-type events for email and SMS that are defined by Airship.
In general, you can expect device information if the event source is SDK or if the event is one of the defined email or SMS events (as defined by event_type).
- OBJECT PROPERTIES
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto 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
- One of
Occurs when the remote MTA (email server) acknowledges receipt of a message.
This event occurs when the provider (SparkPost) receives a message — typically when a member of the audience responds to an email.
Occurs when a recipient opens an email, rendering a tracking pixel at the bottom of the message. If a message is truncated by a client or email provider, a user may have to open it in a separate window to render the tracking pixel (and register this event).
Occurs when a mailbox provider temporarily rejects an email. In general, this event indicates that the provider will attempt to resend the message.
Occurs when an email could not be delivered to an address. The
bounce_classprovides additional information about the reason your message bounced. This event occurs in conjunction with a similarCOMPLIANCEevent.Occurs when a recipient clicks a tracked link in a message. Tracked links are redirected through the provider’s click-tracking server to record the event. Only HTTP and HTTPS links are tracked. Unsubscribe link clicks do not trigger this event.
Occurs when a user clicks an unsubscribe link in an email you sent.
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.
Read reports are Custom Events sent when an RCS message is marked as read. These events use the
delivery_reportinteraction type with anameofread. See RCS branded senders.- General Custom Event objectOBJECT PROPERTIES
- body objectREQUIREDOBJECT PROPERTIES
- customer_id string
An external customer-side ID, such as an email address. Absent if empty.
- interaction_id string
An Airship identifier uniquely identifying the interaction. May be absent.
- interaction_type string
The type of interaction as set by the Airship SDK. Values determine whether the interaction triggered an event from the Message Center (
ua_mcrap), a landing page (ua_landing_page), an interactive notification (ua_interactive_notification), or a button tap (ua_button_tap).Button tap events with custom names are in the format
ua_button_tap-<custom name>. For example, for a button action with custom nameCat socks55, the event name isua_button_tap-Cat socks55. See Buttons and images: App in Actions in the WYSIWYG editor.Possible values:
ua_mcrap,ua_landing_page,ua_interactive_notification,ua_button_tap,ua_button_tap-<custom name> - last_delivered object
Identifies the last push notification the audience received before the event. Absent if the last push occurred more than 12 hours ago.
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.
- time string
The UTC time when the push occurred.
- 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).
- name stringREQUIRED
A plain-text name given to the event.
- properties object
Supports up to 100 key/value pairs that describe Custom Event properties. If the event has no custom properties, this field is absent.
- session_id string
Represents the “session” of user activity. Absent if the application was initialized while backgrounded.
- source stringREQUIRED
The event source.
SDKindicates an event sent from the Airship SDK.APIindicates an event created by request against the Custom Events API.Possible values:
SDK,API - transaction string
If the event is one in a series representing a single transaction, use the value in this field to tie events together.
- triggering_push object<Associated push>
The push that caused the Custom Event. Absent if a causal relationship to a push cannot be established.
The specific
push_idand accompanying identifiers associated with an event. An associated push helps you trace an event to the original notification or operation.An associated push object may specify a
time, if the push was a singular operation sent at a defined time. Otherwise, the object will include agroup_idif the push was sent at a relative time (best_timeorlocal_time) an automation pipeline, or another operation resulting in multiplepush_ids. - value number
Populated if the event is associated with a count or amount. Airship treats this field as a representation of money. The
valuefield respects six digits of precision to the right of the decimal point.
- device objectREQUIRED
Device information related to the event. Either the
OBJECT PROPERTIESchannelornamed_user_idis required. Thenamed_user_idis required for Custom Events sent via the API, elsechannelis required.- channel stringREQUIRED
The unique, platform-agnostic channel identifier for a device.
- device_type stringREQUIRED
The type of device the event was generated from.
Possible values:
OPEN,WEB,ANDROID,IOS,AMAZON,EMAIL,SMS - named_user_id string
The Named User identifier for a device.
Used in:
Examples
Example Custom Event (entire payload on Android channel)
{
"id": "4f42e8d0-a010-11ee-ae53-000000a91ace",
"offset": "1009810398823",
"occurred": "2023-12-21T14:50:35.077Z",
"processed": "2023-12-21T14:50:40.843Z",
"device": {
"android_channel": "ac1960b9-24b6-4851-b907-b9e64f071890",
"channel": "ac1960b9-24b6-4851-b907-b9e64f071890",
"device_type": "ANDROID",
"named_user_id": "c2cbc6e5145763ec58a4d85dfa4323aacc40afea",
"attributes": {
"locale_variant": "",
"device_model": "M2101K9G",
"app_version": "18.4.2",
"app_package_name": "com.company_name.app_name",
"iana_timezone": "Europe/Paris",
"push_opt_in": "true",
"locale_country_code": "FR",
"device_os": "12",
"locale_timezone": "3600",
"locale_language_code": "fr",
"background_push_enabled": "true",
"ua_sdk_version": "16.9.2"
}
},
"body": {
"name": "purchased",
"value": 239.85,
"transaction": "886f53d4-3e0f-46d7-930e-c2792dac6e0a",
"interaction_id": "your.store/us/en_us/pd/shoe/pid-11046546/pgid-10978234",
"interaction_type": "url",
"properties": {
"description": "Sneaker purchase",
"brand": "Victory Sneakers",
"colors": [
"red",
"blue"
],
"items": [
{
"text": "New Line Sneakers",
"price": "$ 79.95"
},
{
"text": "Old Line Sneakers",
"price": "$ 79.95"
},
{
"text": "Blue Line Sneakers",
"price": "$ 79.95"
}
],
"name": "Hugh Manbeing",
"userLocation": {
"state": "CO",
"zip": "80202"
}
}
},
"session_id": "adc0e12e-dfe8-4375-8121-5b21dbab87f4",
"source": "SDK",
"type": "CUSTOM"
}
Example Custom Event from API (shoe sale)
{
"name" : "shoe-purchase",
"value" : 239.85,
"source": "api",
"transaction" : "Selling all the shoes",
"session_id": "cfe467a6-ca70-40dd-8c1f-07b2f644935e",
"properties": {
"description": "Sneaker purchase",
"brand": "Victory Sneakers",
"colors": ["red","blue"],
"items": [
{
"text": "New Line Sneakers",
"price": "$ 79.95"
},
{
"text": "Old Line Sneakers",
"price": "$ 79.95"
},
{
"text": "Blue Line Sneakers",
"price": "$ 79.95"
}
],
"name": "Hugh Manbeing",
"userLocation": {
"state": "CO",
"zip": "80202"
}
}
}
Example Custom Event from SDK (shoe sale)
{
"name" : "shoe-purchase",
"value" : 60.000000,
"source": "sdk",
"interaction_type" : "Landing Page",
"interaction_id" : "d01d0380-da2e-11e3-8519-90e2ba299b38",
"customer_id" : "George@example.com",
"transaction" : "Selling all the shoes",
"session_id": "cfe467a6-ca70-40dd-8c1f-07b2f644935e",
"last_delivered": {
"push_id": "6e3339ce-529c-42e4-a2f6-7546f81c9828"
},
"triggering_push": {
"push_id": "c2f6c5c5-f353-49c0-b5f7-6e87cf9b1a06",
"group_id": "8ea2abd6-dbc7-475a-9c57-fb31c7e2999b"
},
"properties": {
"coolest-identifier": "123-cool-cat-321",
"ltv": false,
"category": "womens_shoes",
"id": 1267,
"description": "plaid canvas",
"brand": "hipster",
"new_item": true
}
}
Feature Flag interaction event
Occurs when a user interacts with a tracked flagged feature. See Feature Flags. The events have a flag ID and flag name, which identify which flagged feature a user interacted with. They also have a boolean eligible field, which indicates whether or not the user was in the Feature Flag audience and had access to the feature.
- body objectREQUIREDOBJECT PROPERTIES
- eligible booleanREQUIRED
Indicates whether or not the user was in the Feature Flag audience and had access to the feature.
truemeans the user was in the Feature Flag audience and had access to the feature. - flag_id stringREQUIRED
A UUID that is associated with a feature flag.
- flag_name stringREQUIRED
The name of a feature flag.
- variant_id string
The UUID of the A/B test variant, if available.
- device objectREQUIREDOne of
Information about app users generated by the SDK.
Information about web users generated by the SDK.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
FEATURE_FLAG_INTERACTION
Examples
Example Feature Flag interaction event
{
"id":"c3d0543b-c8cd-4eaa-8fda-5dbfa70257ae",
"offset":"1000197715722",
"occurred":"2023-09-15T19:12:56.000Z",
"processed":"2023-09-21T23:02:39.419Z",
"device": {
"channel":"8c36e8c7-5a73-47c0-9716-99fd3d4197d5",
"device_type":"WEB"
},
"body": {
"flag_id":"27f26d85-0550-4df5-85f0-7022fa7a5925",
"flag_name":"rad_flag_name",
"eligible":true
},
"type":"FEATURE_FLAG_INTERACTION"
}
First open
This event occurs when a user opens an Airship-integrated app for the first time.
OBJECT PROPERTIES- device objectREQUIREDOne of
Information about app users generated by the SDK.
Information about web users generated by the SDK.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
FIRST_OPEN
Used in:
Examples
Example first open event
{
"device": {
"ios_channel": "1ef235f0-03d5-1384-893e-a19b5cd0d110",
"channel": "1ef235f0-03d5-1384-893e-a19b5cd0d110",
"device_type": "IOS",
},
"id": "00000169-4a14-67b2-1ddd-d9e733622c3a",
"occurred": "2019-03-04T19:00:45.106Z",
"offset": "1000001260057",
"processed": "2019-03-04T19:00:47.094Z",
"type": "FIRST_OPEN"
}
First opt-in
This event appears in the stream when a channel is first opted in. This event is specific to email (commercial), SMS, and open channels.
OBJECT PROPERTIES- device objectREQUIREDOne of
Information about the SMS or email device related to an event.
Information about open channel users.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
FIRST_OPT_IN
Used in:
Examples
Example first opt-in event
{
"device": {
"channel": "820e4493-e4c9-4577-99bc-a98180599f73",
"delivery_address": "new.user@urbanairship.com",
"device_type": "EMAIL"
},
"id": "00000169-4a14-67b2-1ddd-d9e733622c3a",
"occurred": "2019-03-04T19:00:45.106Z",
"offset": "1000001260057",
"processed": "2019-03-04T19:00:47.094Z",
"type": "FIRST_OPT_IN"
}
In-app button tap
Occurs when a button is tapped within a Scene.
OBJECT PROPERTIES- OBJECT PROPERTIES
- app_defined_id string
An identifier defined by the application if the in-app button tap was created by the application logic, not Airship. If this field is present, the event body will not contain
push_id,group_id,variant_id, ortriggering_pushfields. A unique identifier for the button.
- context object<In-app context>
The context provides the view state when a button, pager, or form interaction occurs.
- 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.
- locale string
Optional string that defines the country and language this in-app-automation was localized as by remote-config-api.
country- (String) An ISO 3166-1 country code, set by device settings.language- (String) The ISO 639-1 two-letter language code reflecting the language the phone is set to. - push_id string
A unique identifier for a push operation.
- session_id string
Represents the “session” of user activity. Absent if the application was initialized while backgrounded.
- time_sent string
An ISO 8601 date-time indicating when the payload defining the in-app message was sent to the device. May be absent.
- triggering_push object<Associated push>
Appears if the user began the current session by opening a push notification.
The specific
push_idand accompanying identifiers associated with an event. An associated push helps you trace an event to the original notification or operation.An associated push object may specify a
time, if the push was a singular operation sent at a defined time. Otherwise, the object will include agroup_idif the push was sent at a relative time (best_timeorlocal_time) an automation pipeline, or another operation resulting in multiplepush_ids.
Information about app users generated by the SDK.
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate.When the event occurred.
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.
When the event was ingested by Airship. There may be some latency between when the event occurred, and when it was processed.
Possible values:
IN_APP_BUTTON_TAPThe current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Used in:
Examples
Example in-app button tap event
{
"id": "51dd7c1c-5621-11e9-9601-0242539d70ef",
"offset": "1000022467557",
"occurred": "2019-03-29T21:42:21.245Z",
"processed": "2019-04-03T15:10:23.828Z",
"device": {
"ios_channel": "a61448e1-be63-43ee-84eb-19446ba743f0",
"channel": "a61448e1-be63-43ee-84eb-19446ba743f0",
"device_type": "IOS",
"named_user_id": "cooluser",
"identifiers": {
"com.urbanairship.limited_ad_tracking_enabled": "true",
"session_id": "B147E0CE-272E-4047-A79C-30D02A2F213D",
"GA_CID": "a61448e1-be63-43ee-84eb-19446ba743f0",
"com.urbanairship.idfa": "A76E6F83-4F4A-47E2-BFDD-72BED91D2D1F",
"com.urbanairship.vendor": "ED496B1A-43F1-45A9-A7C1-80125DE8A5B1"
},
"attributes": {
"locale_variant": "",
"app_version": "542",
"device_model": "iPhone7,2",
"app_package_name": "com.company_name.app_name",
"iana_timezone": "America/Los_Angeles",
"push_opt_in": "true",
"locale_country_code": "US",
"device_os": "11.4",
"locale_timezone": "-25200",
"locale_language_code": "en",
"location_enabled": "false",
"background_push_enabled": "true",
"ua_sdk_version": "10.2.0",
"location_permission": "ALWAYS_ALLOWED"
}
},
"body": {
"push_id": "a9a5912c-2526-4383-b516-711c58aff900",
"group_id": "a9a5912c-2526-4383-b516-711c58aff900",
"session_id": "94e8caed-9b82-4166-b585-a01eed933855",
"triggering_push": {
"push_id": "a183f051-7d69-11ed-86d9-0242dc3f670b",
"group_id": "8e7cfac3-cfd3-4f4f-a9a1-d766de9b063a",
"campaigns": {
"categories": [
"welcome_series"
]
}
},
"context": {
"reporting_context": {
"content_types": [
"survey"
]
},
"state": {
"form": {
"form_identifier": "870db95f-3715-4c98-8047-2871c175d003",
"submitted": true,
"type": "nps",
"response_type": "nps"
},
"pager": {
"identifier": "9e051354-185b-4d4d-888a-885def2e6b7a",
"page_identifier": "32f4fc47-74ee-41c6-8e16-c9e0aa364101",
"page_index": 1,
"page_count": 2,
"completed": true
}
}
},
"button_id": "dismiss_button"
},
"type": "IN_APP_BUTTON_TAP"
}
In-app experiences
Events that occur related to the display and completion behavior of a Scene. These events are derived from source events generated by the SDK, so a single user action may generate two events: one for the SDK event, one representing the user action as it relates to their actual activity within the app or website.
OBJECT PROPERTIES- body objectREQUIREDOBJECT PROPERTIES
- app_defined_id string
An identifier defined by the application if the in-app message was created by the application logic, not Airship. If this field is present, the event body will not contain
push_id,group_id,variant_id, ortriggering_pushfields. - 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]
- event_name string
The name of the event.
Possible values:
scene_displayed,scene_completed,scene_incomplete,survey_displayed,survey_submitted,survey_not_submitted - 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 string
A unique identifier for a push operation.
- session_id string
Represents the “session” of user activity. Absent if the application was initialized while backgrounded.
- survey_type string
Only present for survey events.
Possible values:
nps,user_feedback - time_sent string
An ISO 8601 date-time, in UTC, when the event occurred. May be absent.
- triggering_push object<Associated push>
Present if the user started the current session by opening a push notification.
The specific
push_idand accompanying identifiers associated with an event. An associated push helps you trace an event to the original notification or operation.An associated push object may specify a
time, if the push was a singular operation sent at a defined time. Otherwise, the object will include agroup_idif the push was sent at a relative time (best_timeorlocal_time) an automation pipeline, or another operation resulting in multiplepush_ids. - 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).
Information about app users generated by the SDK.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
IN_APP_EXPERIENCES - user object<User>
The current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Examples
Example in-app experiences event
{
"id": "51dd7c1c-5621-11e9-9601-0242539d70ef",
"offset": "1000022467557",
"occurred": "2019-03-29T21:42:21.245Z",
"processed": "2019-04-03T15:10:23.828Z",
"device": {
"ios_channel": "a61448e1-be63-43ee-84eb-19446ba743f0",
"channel": "a61448e1-be63-43ee-84eb-19446ba743f0",
"device_type": "IOS",
"named_user_id": "cooluser",
"identifiers": {
"com.urbanairship.limited_ad_tracking_enabled": "true",
"session_id": "B147E0CE-272E-4047-A79C-30D02A2F213D",
"GA_CID": "a61448e1-be63-43ee-84eb-19446ba743f0",
"com.urbanairship.idfa": "A76E6F83-4F4A-47E2-BFDD-72BED91D2D1F",
"com.urbanairship.vendor": "ED496B1A-43F1-45A9-A7C1-80125DE8A5B1"
},
"attributes": {
"locale_variant": "",
"app_version": "542",
"device_model": "iPhone7,2",
"app_package_name": "com.company_name.app_name",
"iana_timezone": "America/Los_Angeles",
"push_opt_in": "true",
"locale_country_code": "US",
"device_os": "11.4",
"locale_timezone": "-25200",
"locale_language_code": "en",
"location_enabled": "false",
"background_push_enabled": "true",
"ua_sdk_version": "10.2.0",
"location_permission": "ALWAYS_ALLOWED"
}
},
"body": {
"event_name": "scene_displayed",
"time_sent": "2022-03-11T08:40:56.592Z",
"session_id": "20162c5f-36c8-1808-6fc6-8eb836d7f7f2",
"push_id": "2e12bc7b-04f2-3487-1480-44269b04c131",
"group_id": "2e12bc7b-04f2-3487-1480-44269b04c131",
"triggering_push": {
"push_id": "5cc872d5-708d-dffb-0959-991b014dcd2d",
"time": "2022-03-11T08:40:56.692Z",
"campaigns": {
"categories": [
"welcome_series"
]
}
}
},
"type": "IN_APP_EXPERIENCES"
}
In-app form display
Occurs when a survey form in a Scene is displayed.
OBJECT PROPERTIES- body objectREQUIREDOBJECT PROPERTIES
- app_defined_id string
An identifier defined by the application if the in-app form was created by the application logic, not Airship. If this field is present, the event body will not contain
push_id,group_id,variant_id, ortriggering_pushfields. - context object<In-app context>
The context provides the view state when a button, pager, or form interaction occurs.
- forms objectOBJECT PROPERTIES
- form_id string
The identifier of the form controller (required).
- 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 string
A unique identifier for a push operation.
- session_id string
Represents the “session” of user activity. Absent if the application was initialized while backgrounded.
- time_sent string
An ISO 8601 date-time indicating when the payload defining the in-app message was sent to the device. May be absent.
- triggering_push object<Associated push>
Present if the user started the current session by opening a push notification.
The specific
push_idand accompanying identifiers associated with an event. An associated push helps you trace an event to the original notification or operation.An associated push object may specify a
time, if the push was a singular operation sent at a defined time. Otherwise, the object will include agroup_idif the push was sent at a relative time (best_timeorlocal_time) an automation pipeline, or another operation resulting in multiplepush_ids. - type string
Required for this type, the value is always
DISPLAY.Possible values:
DISPLAY
Information about app users generated by the SDK.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
IN_APP_FORM_DISPLAY - user object<User>
The current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Examples
Example in-app form display event
{
"id": "51dd7c1c-5621-11e9-9601-0242539d70ef",
"offset": "1000022467557",
"occurred": "2019-03-29T21:42:21.245Z",
"processed": "2019-04-03T15:10:23.828Z",
"device": {
"ios_channel": "a61448e1-be63-43ee-84eb-19446ba743f0",
"channel": "a61448e1-be63-43ee-84eb-19446ba743f0",
"device_type": "IOS",
"named_user_id": "cooluser",
"identifiers": {
"com.urbanairship.limited_ad_tracking_enabled": "true",
"session_id": "B147E0CE-272E-4047-A79C-30D02A2F213D",
"GA_CID": "a61448e1-be63-43ee-84eb-19446ba743f0",
"com.urbanairship.idfa": "A76E6F83-4F4A-47E2-BFDD-72BED91D2D1F",
"com.urbanairship.vendor": "ED496B1A-43F1-45A9-A7C1-80125DE8A5B1"
},
"attributes": {
"locale_variant": "",
"app_version": "542",
"device_model": "iPhone7,2",
"app_package_name": "com.company_name.app_name",
"iana_timezone": "America/Los_Angeles",
"push_opt_in": "true",
"locale_country_code": "US",
"device_os": "11.4",
"locale_timezone": "-25200",
"locale_language_code": "en",
"location_enabled": "false",
"background_push_enabled": "true",
"ua_sdk_version": "10.2.0",
"location_permission": "ALWAYS_ALLOWED"
}
},
"body": {
"push_id": "56d72d43-5567-4c94-887a-05b46ca9ef3e",
"group_id": "56d72d43-5567-4c94-887a-05b46ca9ef3e",
"session_id": "1347589f-0608-4198-b170-bfb46271877a",
"triggering_push": {
"push_id": "a183f051-7d69-11ed-86d9-0242dc3f670b",
"group_id": "8e7cfac3-cfd3-4f4f-a9a1-d766de9b063a",
"campaigns": {
"categories": [
"welcome_series"
]
}
},
"context": {
"reporting_context": {
"content_types": [
"survey"
]
},
"state": {
"form": {
"form_identifier": "434b918f-6a00-496f-963c-f54923a67abf",
"submitted": false,
"type": "nps",
"response_type": "nps"
}
}
},
"type": "DISPLAY",
"forms": [
{
"form_id": "434b918f-6a00-496f-963c-f54923a67abf"
}
]
},
"type": "IN_APP_FORM_DISPLAY"
}
In-app form result
Occurs when a survey form in a Scene is submitted.
OBJECT PROPERTIES- body objectREQUIREDOBJECT PROPERTIES
- app_defined_id string
An identifier defined by the application if the in-app form was created by the application logic, not Airship. If this field is present, the event body will not contain
push_id,group_id,variant_id, ortriggering_pushfields. - context object<In-app context>
The context provides the view state when a button, pager, or form interaction occurs.
- forms objectOBJECT PROPERTIES
- form_id string
The identifier of the form controller (required).
- nps objectOBJECT PROPERTIES
- audience_category stringREQUIRED
The NPS category.
Possible values:
PROMOTER,PASSIVE,DETRACTOR - question_id stringREQUIRED
The question identifier.
- score numberREQUIRED
A number between 0 and 10.
- response_type string
The survey response type.
Possible values:
nps,user_feedback - responses objectOBJECT PROPERTIES
- question_id stringREQUIRED
The question identifier.
- type stringREQUIRED
The question type.
Possible values:
single_choice,multiple_choice,text_input,email_input - value objectREQUIRED
The choice type identifier for
single_choiceormultiple_choicequestions, or user-provided text fortext_inputoremail_inputfields.
- type string
The form type.
Possible values:
nps,form
- 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 string
A unique identifier for a push operation.
- session_id string
Represents the “session” of user activity. Absent if the application was initialized while backgrounded.
- time_sent string
An ISO 8601 date-time indicating when the payload defining the in-app message was sent to the device. May be absent.
- triggering_push object<Associated push>
Present if the user started the current session by opening a push notification.
The specific
push_idand accompanying identifiers associated with an event. An associated push helps you trace an event to the original notification or operation.An associated push object may specify a
time, if the push was a singular operation sent at a defined time. Otherwise, the object will include agroup_idif the push was sent at a relative time (best_timeorlocal_time) an automation pipeline, or another operation resulting in multiplepush_ids. - type string
Required for this type, the value is always
RESULT.Possible values:
RESULT
Information about app users generated by the SDK.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
IN_APP_FORM_RESULT - user object<User>
The current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Examples
Example in-app form result event
{
"id": "51dd7c1c-5621-11e9-9601-0242539d70ef",
"offset": "1000022467557",
"occurred": "2019-03-29T21:42:21.245Z",
"processed": "2019-04-03T15:10:23.828Z",
"device": {
"ios_channel": "a61448e1-be63-43ee-84eb-19446ba743f0",
"channel": "a61448e1-be63-43ee-84eb-19446ba743f0",
"device_type": "IOS",
"named_user_id": "cooluser",
"identifiers": {
"com.urbanairship.limited_ad_tracking_enabled": "true",
"session_id": "B147E0CE-272E-4047-A79C-30D02A2F213D",
"GA_CID": "a61448e1-be63-43ee-84eb-19446ba743f0",
"com.urbanairship.idfa": "A76E6F83-4F4A-47E2-BFDD-72BED91D2D1F",
"com.urbanairship.vendor": "ED496B1A-43F1-45A9-A7C1-80125DE8A5B1"
},
"attributes": {
"locale_variant": "",
"app_version": "542",
"device_model": "iPhone7,2",
"app_package_name": "com.company_name.app_name",
"iana_timezone": "America/Los_Angeles",
"push_opt_in": "true",
"locale_country_code": "US",
"device_os": "11.4",
"locale_timezone": "-25200",
"locale_language_code": "en",
"location_enabled": "false",
"background_push_enabled": "true",
"ua_sdk_version": "10.2.0",
"location_permission": "ALWAYS_ALLOWED"
}
},
"body": {
"push_id": "683b395d-7abf-40f9-be49-4b64debfbd22",
"group_id": "683b395d-7abf-40f9-be49-4b64debfbd22",
"session_id": "d05323b3-8176-406d-aff5-5194341f4a5c",
"triggering_push": {
"push_id": "a183f051-7d69-11ed-86d9-0242dc3f670b",
"group_id": "8e7cfac3-cfd3-4f4f-a9a1-d766de9b063a",
"campaigns": {
"categories": [
"welcome_series"
]
}
},
"context": {
"reporting_context": {
"content_types": [
"survey"
]
},
"state": {
"form": {
"form_identifier": "316e8ed4-277e-408b-9c47-a6bd7a4251c5",
"submitted": false,
"type": "nps",
"response_type": "nps"
}
}
},
"type": "RESULT",
"forms": [
{
"form_id": "316e8ed4-277e-408b-9c47-a6bd7a4251c5",
"type": "nps",
"response_type": "nps",
"nps": {
"question_id": "b6563a26-a927-4ff2-af8a-08d94d8b84a3",
"score": 9,
"audience_category": "PROMOTER"
},
"responses": [
{
"question_id": "b6563a26-a927-4ff2-af8a-08d94d8b84a3",
"type": "score",
"value": "9"
},
{
"question_id": "c867cf61-398f-443c-b991-443fa8aff4b9",
"type": "text_input",
"value": "Hello, world"
}
]
}
]
},
"type": "IN_APP_FORM_RESULT"
}
In-app message control
Occurs when an In-App Automation or Scene is not delivered because the targeted user’s contact or Channel ID was part of a control group for a Holdout Experiment.
OBJECT PROPERTIES- body objectREQUIREDOBJECT PROPERTIES
- app_defined_id string
An identifier defined by the application if the in-app message was created by the application logic, not the Airship system. If this field is present, the event body will not contain
push_id,group_id,variant_id, ortriggering_pushfields. - 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 string
A unique identifier for a push operation.
- session_id string
Represents the “session” of user activity. Absent if the application was initialized while backgrounded.
- time_sent string
The date-time when the in-app message payload was sent to the device.
- triggering_push object<Associated push>
Appears if the user began the current session by opening a push notification.
The specific
push_idand accompanying identifiers associated with an event. An associated push helps you trace an event to the original notification or operation.An associated push object may specify a
time, if the push was a singular operation sent at a defined time. Otherwise, the object will include agroup_idif the push was sent at a relative time (best_timeorlocal_time) an automation pipeline, or another operation resulting in multiplepush_ids. - type string
Indicates that the in-app message was never delivered because the user was part of an experiment control group.
CONTROLindicates that the message was not displayed because the channel or contact was hashed into the experiment control group.Possible values:
CONTROL - 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).
Information about app users generated by the SDK.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
IN_APP_MESSAGE_CONTROL - user object<User>
The current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Examples
Example in-app message control event
{
"id": "e9e281d0-2b39-11ee-ac42-00000a91ace1",
"offset": "1000194023208",
"occurred": "2023-07-25T22:22:40.262Z",
"processed": "2023-07-25T22:23:43.464Z",
"device": {
"ios_channel": "414a7c7c-c3c5-4a9f-b1de-ebd5a85104e0",
"channel": "414a7c7c-c3c5-4a9f-b1de-ebd5a85104e0",
"device_type": "IOS",
"attributes": {
"locale_variant": "",
"device_model": "arm64",
"app_version": "1.0",
"app_package_name": "com.company_name.app_name",
"iana_timezone": "America/Los_Angeles",
"push_opt_in": "true",
"locale_country_code": "US",
"device_os": "17.0",
"locale_timezone": "-25200",
"locale_language_code": "en",
"background_push_enabled": "true",
"ua_sdk_version": "17.1.0"
}
},
"body": {
"push_id": "6fc3b3a7-d860-4acd-b80d-82af02b5b0fa",
"group_id": "6fc3b3a7-d860-4acd-b80d-82af02b5b0fa",
"session_id": "f31c3769-8517-402a-8ae6-cdb323f5ec22",
"context": {
"reporting_context": {
"content_types": [
"scene"
]
}
},
"type": "CONTROL"
},
"type": "IN_APP_MESSAGE_CONTROL"
}
In-app message display
Occurs when an In-App Automation or Scene is displayed to a user. Because the event pertains to a specific device, the device information object will be populated.
OBJECT PROPERTIES- body objectREQUIREDOBJECT PROPERTIES
- app_defined_id string
An identifier defined by the application if the in-app message was created by the application logic, not Airship. If this field is present, the event body will not contain
push_id,group_id,variant_id, ortriggering_pushfields. - 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]
- context object<In-app context>
The context provides the view state when a button, pager, or form interaction occurs.
- 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 string
A unique identifier for a push operation.
- session_id string
Represents the “session” of user activity. Absent if the application was initialized while backgrounded.
- triggering_push object<Associated push>
Appears if the user began the current session by opening a push notification.
The specific
push_idand accompanying identifiers associated with an event. An associated push helps you trace an event to the original notification or operation.An associated push object may specify a
time, if the push was a singular operation sent at a defined time. Otherwise, the object will include agroup_idif the push was sent at a relative time (best_timeorlocal_time) an automation pipeline, or another operation resulting in multiplepush_ids. - 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).
Information about app users generated by the SDK.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
IN_APP_MESSAGE_DISPLAY - user object<User>
The current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Used in:
Examples
Example in-app message display event
{
"id": "51dd7c1c-5621-11e9-9601-0242539d70ef",
"offset": "1000022467557",
"occurred": "2019-03-29T21:42:21.245Z",
"processed": "2019-04-03T15:10:23.828Z",
"device": {
"ios_channel": "a61448e1-be63-43ee-84eb-19446ba743f0",
"channel": "a61448e1-be63-43ee-84eb-19446ba743f0",
"device_type": "IOS",
"named_user_id": "cooluser",
"identifiers": {
"com.urbanairship.limited_ad_tracking_enabled": "true",
"session_id": "B147E0CE-272E-4047-A79C-30D02A2F213D",
"GA_CID": "a61448e1-be63-43ee-84eb-19446ba743f0",
"com.urbanairship.idfa": "A76E6F83-4F4A-47E2-BFDD-72BED91D2D1F",
"com.urbanairship.vendor": "ED496B1A-43F1-45A9-A7C1-80125DE8A5B1"
},
"attributes": {
"locale_variant": "",
"app_version": "542",
"device_model": "iPhone7,2",
"app_package_name": "com.company_name.app_name",
"iana_timezone": "America/Los_Angeles",
"push_opt_in": "true",
"locale_country_code": "US",
"device_os": "11.4",
"locale_timezone": "-25200",
"locale_language_code": "en",
"location_enabled": "false",
"background_push_enabled": "true",
"ua_sdk_version": "10.2.0",
"location_permission": "ALWAYS_ALLOWED"
}
},
"body": {
"push_id": "68be9eba-3f3e-4763-bbd1-c921a164af1b",
"group_id": "49e59f68-d58c-4a2f-86ab-112f52e3c5d2",
"variant_id": 5,
"session_id": "cfe467a6-ca70-40dd-8c1f-07b2f644935e",
"triggering_push": {
"push_id": "18c0f649-2330-4fb0-a9fa-ad029f5f4e0e",
"group_id": "c4c89025-0d25-434c-8040-283990585f01",
"campaigns": {
"categories": [
"welcome_series"
]
}
}
},
"type": "IN_APP_MESSAGE_DISPLAY"
}
Example in-app message display event with context
{
"id": "c7b97941-5d1d-11ee-b7be-00000a91ace6",
"offset": "1004335885834",
"occurred": "2023-09-27T10:08:14.965Z",
"processed": "2023-09-27T10:08:18.230Z",
"device":
{
"android_channel": "3e75f0be-f312-413f-90c0-81d628410514",
"channel": "3e75f0be-f312-413f-90c0-81d628410514",
"device_type": "ANDROID",
"named_user_id": "exampleuser",
"attributes":
{
"locale_variant": "",
"device_model": "SM-G981B",
"app_version": "13.13.3",
"app_package_name": "com.company_name.app_name",
"iana_timezone": "Europe/Paris",
"push_opt_in": "true",
"locale_country_code": "FR",
"device_os": "13",
"locale_timezone": "7200",
"locale_language_code": "fr",
"background_push_enabled": "true",
"ua_sdk_version": "16.4.0"
}
},
"body":
{
"push_id": "0390bd82-c28f-44cb-98d9-3f9b7eef939d",
"group_id": "0390bd82-c28f-44cb-98d9-3f9b7eef939d",
"campaigns":
{
"categories":
[
"WELCOME_SERIES"
]
},
"context": {
"reporting_context": {
"content_types": [
"scene"
]
}
},
"session_id": "6e11b019-4da0-4c66-8063-92ec2ce4ee36"
},
"type": "IN_APP_MESSAGE_DISPLAY"
}
In-app message exclusion
Occurs when an In-App Automation or Scene is not displayed on a device because the user was banned. See Ban Lists.
OBJECT PROPERTIES- body objectREQUIREDOBJECT PROPERTIES
- app_defined_id string
An identifier defined by the application if the in-app message was created by the application logic, not the Airship system. If this field is present, the event body will not contain
push_id,group_id,variant_id, ortriggering_pushfields. - 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 string
A unique identifier for a push operation.
- session_id string
Represents the “session” of user activity. Absent if the application was initialized while backgrounded.
- time_sent string
The date-time when the in-app message payload was sent to the device.
- triggering_push object<Associated push>
Appears if the user began the current session by opening a push notification.
The specific
push_idand accompanying identifiers associated with an event. An associated push helps you trace an event to the original notification or operation.An associated push object may specify a
time, if the push was a singular operation sent at a defined time. Otherwise, the object will include agroup_idif the push was sent at a relative time (best_timeorlocal_time) an automation pipeline, or another operation resulting in multiplepush_ids. - type string
Indicates that the in-app message was not displayed on a device because the channel or Named User was excluded from the push. The only possible value is
AUDIENCE_CHECK_EXCLUDED, which indicates that the message was not displayed because the channel or Named User is on a project’s Ban List. This is also reported when a 400- or 500-level error resolving the user’s status on a Ban List occurs.Possible values:
AUDIENCE_CHECK_EXCLUDED - 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).
Information about app users generated by the SDK.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
IN_APP_MESSAGE_EXCLUSION - user object<User>
The current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Examples
Example in-app message exclusion event
{
"id": "7fff2560-1d33-11ef-b484-0000a91acec5",
"offset":"1000215341033",
"occurred":"2024-05-28T20:47:20.183Z",
"processed":"2024-05-28T20:47:31.090Z",
"device": {
"android_channel": "88663749-a19d-4daf-8d4c-09fc4cf03a12",
"channel":"87663620-a99d-4daf-8f4c-88fc4cf03af4",
"device_type": "ANDROID",
"named_user_id": "cool_named_user",
"attributes": {
"locale_variant": "",
"device_model": "DE2123",
"app_version": "2024-05-25T040548",
"app_package_name": "com.package.example",
"iana_timezone": "America/Los_Angeles",
"push_opt_in": "true",
"locale_country_code": "US",
"device_os": "120",
"locale_timezone": "-27000",
"locale_language_code": "en",
"background_push_enabled": "false",
"ua_sdk_version":"18.0.0"
}
},
"body": {
"push_id": "be711edb-d16d-465e-8091-a831041e2e53",
"group_id":"be711edb-d16d-465e-8091-a831041e2e53",
"session_id":"e8e72fa2-bfbc-405d-af85-8b428c8e38d9",
"context": {
},
"type":"AUDIENCE_CHECK_EXCLUDED"
},
"type":"IN_APP_MESSAGE_EXCLUSION"
}
In-app message expiration
Occurs when a new In-App Automation or Scene message has taken the place of another message, a message has passed its expiration, or because displaying the message in-app would be redundant. This event type may be latent. It is not emitted until the app becomes active.
OBJECT PROPERTIES- body objectREQUIREDOBJECT PROPERTIES
- app_defined_id string
An identifier defined by the application if the in-app message was created by the application logic, not Airship. If this field is present, the event body will not contain
push_id,group_id,variant_id, ortriggering_pushfields. - 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 string
A unique identifier for a push operation.
- replacing_push object<Associated push>
An associated push object for the in-app message that replaced the message. Present if
typeisREPLACED.The specific
push_idand accompanying identifiers associated with an event. An associated push helps you trace an event to the original notification or operation.An associated push object may specify a
time, if the push was a singular operation sent at a defined time. Otherwise, the object will include agroup_idif the push was sent at a relative time (best_timeorlocal_time) an automation pipeline, or another operation resulting in multiplepush_ids. - session_id string
Represents the “session” of user activity. Absent if the application was initialized while backgrounded.
- time_expired string
The date-time when the message was set to expire.
- time_sent string
The date-time when the in-app message payload was sent to the device.
- triggering_push object<Associated push>
Appears if the user began the current session by opening a push notification.
The specific
push_idand accompanying identifiers associated with an event. An associated push helps you trace an event to the original notification or operation.An associated push object may specify a
time, if the push was a singular operation sent at a defined time. Otherwise, the object will include agroup_idif the push was sent at a relative time (best_timeorlocal_time) an automation pipeline, or another operation resulting in multiplepush_ids. - type string
Indicates how the in-app message expired.
REPLACED: The in-app message was replaced by a more current one. If type isREPLACED, thereplacing_pushkey will be present.EXPIRED: The in-app message exceeded its expiration date. If type isEXPIRED, then thetimekey will be present.ALREADY_DISPLAYED: The message was opened directly (either from the lock screen or notification center). The Airship SDK will NOT display it again in the app, because the user is guaranteed to have seen it.
Possible values:
REPLACED,EXPIRED,ALREADY_DISPLAYED - 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).
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
IN_APP_MESSAGE_EXPIRATION
Used in:
Examples
Example in-app message expiration event
{
"id": "910fea50-5d42-1159-b702-024288f4e1d3",
"offset": "1000022468589",
"occurred": "2019-04-03T18:59:02.246Z",
"processed": "2019-04-03T19:10:26.301Z",
"device": {
"android_channel": "364a4e3f-170a-4f26-b0a1-11b280377dfe",
"channel": "364a4e3f-170a-4f26-b0a1-11b280377dfe",
"device_type": "ANDROID",
"identifiers": {
"com.urbanairship.gimbal.aii": "2471037d-71d8-4229-a40f-df719f1af914",
"session_id": "54204a73-7a95-4ffc-8051-bf230d086e19",
"GA_CID": "90d56c80-f31f-49fd-87b0-20deb3d2602a"
},
"attributes": {
"locale_variant": "",
"app_version": "dev",
"device_model": "Android SDK built for x86",
"app_package_name": "com.company_name.app_name",
"iana_timezone": "America/Los_Angeles",
"push_opt_in": "true",
"locale_country_code": "US",
"device_os": "9",
"locale_timezone": "-25200",
"locale_language_code": "en",
"location_enabled": "false",
"background_push_enabled": "true",
"ua_sdk_version": "9.7.0",
"location_permission": "NOT_ALLOWED"
}
},
"body": {
"push_id": "a1fe5f2a-1d51-4f3a-a77b-35018031741d",
"session_id": "3514bd74-bfa8-149e-9c12-a44794994ca8",
"triggering_push": {
"push_id": "a183f051-7d69-11ed-86d9-0242dc3f670b",
"group_id": "8e7cfac3-cfd3-4f4f-a9a1-d766de9b063a",
"campaigns": {
"categories": [
"welcome_series"
]
}
},
"type": "EXPIRED",
"time_expired": "1970-01-01T00:00:00.000Z"
},
"type": "IN_APP_MESSAGE_EXPIRATION"
}
In-app message resolution
Occurs when an In-App Automation or Scene is cleared from the display, either by user action or timeout. Because this event pertains to an individual device, the device information object will be present.
OBJECT PROPERTIES- body objectREQUIREDOBJECT PROPERTIES
- app_defined_id string
An identifier defined by the application if the in-app message was created by the application logic, not Airship. If this field is present, the event body will not contain
push_id,group_id,variant_id, ortriggering_pushfields. The title of the button the user interacted with. Present if
typeis set toBUTTON_CLICK.A category associated with the in-app message button. It may be predefined or custom defined, or blank if there is no association with a category.
A unique identifier for the button. Present if
typeis set toBUTTON_CLICK.- 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]
- context object<In-app context>
The context provides the view state when a button, pager, or form interaction occurs.
- duration integer
The number of milliseconds that the user was on the screen.
- 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 string
A unique identifier for a push operation.
- session_id string
Represents the “session” of user activity. Absent if the application was initialized while backgrounded.
- time_sent string
The date-time when the in-app message payload was sent to the device.
- triggering_push object<Associated push>
Appears if the user began the current session by opening a push notification.
The specific
push_idand accompanying identifiers associated with an event. An associated push helps you trace an event to the original notification or operation.An associated push object may specify a
time, if the push was a singular operation sent at a defined time. Otherwise, the object will include agroup_idif the push was sent at a relative time (best_timeorlocal_time) an automation pipeline, or another operation resulting in multiplepush_ids. - type string
Indicates how the in-app message was resolved.
BUTTON_CLICK: The user clicked/tapped a button in the message. This type is accompanied by additional fields.MESSAGE_CLICK: The user clicked/tapped a part of the message, but not a button.TIMED_OUT: The user ignored the notification, and it dismissed itself after an interval of time.USER_DISMISSED: The user clicked/tappedXto close the message or closed it using the swipe gesture.
Possible values:
BUTTON_CLICK,MESSAGE_CLICK,TIMED_OUT,USER_DISMISSED - 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).
Information about app users generated by the SDK.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
IN_APP_MESSAGE_RESOLUTION - user object<User>
The current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Used in:
Examples
Example in-app message resolution event
{
"id": "910fea50-5d42-1159-b702-024288f4e1d3",
"offset": "1000022468589",
"occurred": "2019-04-03T18:59:02.246Z",
"processed": "2019-04-03T19:10:26.301Z",
"device": {
"android_channel": "364a4e3f-170a-4f26-b0a1-11b280377dfe",
"channel": "364a4e3f-170a-4f26-b0a1-11b280377dfe",
"device_type": "ANDROID",
"identifiers": {
"com.urbanairship.gimbal.aii": "2471037d-71d8-4229-a40f-df719f1af914",
"session_id": "54204a73-7a95-4ffc-8051-bf230d086e19",
"GA_CID": "90d56c80-f31f-49fd-87b0-20deb3d2602a"
},
"attributes": {
"locale_variant": "",
"app_version": "dev",
"device_model": "Android SDK built for x86",
"app_package_name": "com.company_name.app_name",
"iana_timezone": "America/Los_Angeles",
"push_opt_in": "true",
"locale_country_code": "US",
"device_os": "9",
"locale_timezone": "-25200",
"locale_language_code": "en",
"location_enabled": "false",
"background_push_enabled": "true",
"ua_sdk_version": "9.7.0",
"location_permission": "NOT_ALLOWED"
}
},
"body": {
"push_id": "86ee0a6e-a46a-4bbe-a3d1-804891baaee4",
"group_id": "68991b8d-0d6b-4e05-bc62-2cdec2085c18",
"triggering_push": {
"push_id": "a183f051-7d69-11ed-86d9-0242dc3f670b",
"group_id": "8e7cfac3-cfd3-4f4f-a9a1-d766de9b063a",
"campaigns": {
"categories": [
"welcome_series"
]
}
},
"time_sent": "2019-03-03T19:10:26.301Z",
"type": "BUTTON_CLICK",
"button_id": "yes",
"button_group": "",
"button_description": "Yes",
"duration": 10000000000
},
"type": "IN_APP_MESSAGE_RESOLUTION"
}
Example in-app message resolution event with context
{
"id": "a0bc5c50-6d34-11ee-95dc-0000a91aced1",
"offset": "1064988067725",
"occurred": "2023-10-17T21:32:01.243Z",
"processed": "2023-10-17T21:32:10.638Z",
"device":
{
"ios_channel": "870c200f-d0e7-4e45-bd99-5b290c80b6a7",
"channel": "870c200f-d0e7-4e45-bd99-5b290c80b6a7",
"device_type": "IOS",
"named_user_id": "exampleuser",
"attributes":
{
"locale_variant": "",
"device_model": "iPhone15,2",
"app_version": "15.8.1",
"app_package_name": "com.company_name.app_name",
"iana_timezone": "America/New_York",
"push_opt_in": "false",
"locale_country_code": "US",
"device_os": "16.6.1",
"locale_timezone": "-14400",
"locale_language_code": "en",
"background_push_enabled": "true",
"ua_sdk_version": "16.12.0"
}
},
"body":
{
"push_id": "4015241b-2e71-43d8-85a0-cd500e97c15d",
"group_id": "4015241b-2e71-43d8-85a0-cd500e97c15d",
"campaigns":
{
"categories":
[
"OfferLevel45",
"VIP_OFFER"
]
},
"context": {
"reporting_context": {
"content_types": [
"scene"
]
}
},
"session_id": "832e65de-453e-426d-a4a3-bd70ab0f827e",
"type": "USER_DISMISSED",
"duration": 2503
},
"type": "IN_APP_MESSAGE_RESOLUTION"
}
In-app page swipe
Occurs when a user swipes to the next or previous page (screen) in a pager (specific to Scenes).
OBJECT PROPERTIES- body objectREQUIREDOBJECT PROPERTIES
- app_defined_id string
An identifier defined by the application if the in-app pager was created by the application logic, not Airship. If this field is present, the event body will not contain
push_id,group_id,variant_id, ortriggering_pushfields. - context object<In-app context>
The context provides the view state when a button, pager, or form interaction occurs.
- from_page_index number
Is the previous page index.
- from_pager_identifier string
Is the previous page identifier.
- 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.
- locale string
Optional string that defines the country and language this in-app-automation was localized as by remote-config-api.
country- (String) An ISO 3166-1 country code, set by device settings.language- (String) The ISO 639-1 two-letter language code reflecting the language the phone is set to. - pager_identifier string
Is the pager controller identifier.
- push_id string
A unique identifier for a push operation.
- session_id string
Represents the “session” of user activity. Absent if the application was initialized while backgrounded.
- time_sent string
An ISO 8601 date-time indicating when the payload defining the in-app pager was sent to the device. May be absent.
- to_page_identifier string
Is the current page identifier.
- to_page_index number
Is the current page index.
- triggering_push object<Associated push>
Present if the user started the current session by opening a push notification.
The specific
push_idand accompanying identifiers associated with an event. An associated push helps you trace an event to the original notification or operation.An associated push object may specify a
time, if the push was a singular operation sent at a defined time. Otherwise, the object will include agroup_idif the push was sent at a relative time (best_timeorlocal_time) an automation pipeline, or another operation resulting in multiplepush_ids.
Information about app users generated by the SDK.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
IN_APP_PAGE_SWIPE - user object<User>
The current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Used in:
Examples
Example in-app page swipe event
{
"id": "51dd7c1c-5621-11e9-9601-0242539d70ef",
"offset": "1000022467557",
"occurred": "2019-03-29T21:42:21.245Z",
"processed": "2019-04-03T15:10:23.828Z",
"device": {
"ios_channel": "a61448e1-be63-43ee-84eb-19446ba743f0",
"channel": "a61448e1-be63-43ee-84eb-19446ba743f0",
"device_type": "IOS",
"named_user_id": "cooluser",
"identifiers": {
"com.urbanairship.limited_ad_tracking_enabled": "true",
"session_id": "B147E0CE-272E-4047-A79C-30D02A2F213D",
"GA_CID": "a61448e1-be63-43ee-84eb-19446ba743f0",
"com.urbanairship.idfa": "A76E6F83-4F4A-47E2-BFDD-72BED91D2D1F",
"com.urbanairship.vendor": "ED496B1A-43F1-45A9-A7C1-80125DE8A5B1"
},
"attributes": {
"locale_variant": "",
"app_version": "542",
"device_model": "iPhone7,2",
"app_package_name": "com.company_name.app_name",
"iana_timezone": "America/Los_Angeles",
"push_opt_in": "true",
"locale_country_code": "US",
"device_os": "11.4",
"locale_timezone": "-25200",
"locale_language_code": "en",
"location_enabled": "false",
"background_push_enabled": "true",
"ua_sdk_version": "10.2.0",
"location_permission": "ALWAYS_ALLOWED"
}
},
"body": {
"push_id": "91baacc8-1ebf-411d-a77a-ee036c44e7ce",
"group_id": "91baacc8-1ebf-411d-a77a-ee036c44e7ce",
"session_id": "a135087c-ba97-4b87-ac1d-a216f2cccb7c",
"triggering_push": {
"push_id": "a183f051-7d69-11ed-86d9-0242dc3f670b",
"group_id": "8e7cfac3-cfd3-4f4f-a9a1-d766de9b063a",
"campaigns": {
"categories": [
"welcome_series"
]
}
},
"context": {
"reporting_context": {
"content_types": [
"scene"
]
},
"state": {
"pager": {
"identifier": "302e80f2-1f9d-4e0d-890d-ff54196189d9",
"page_identifier": "c3c6fe17-1c47-4f52-bff9-f95ed8a14072",
"page_index": 1,
"page_count": 3,
"completed": true
}
}
},
"pager_identifier": "302e80f2-1f9d-4e0d-890d-ff54196189d9",
"from_page_identifier": "c3c6fe17-1c47-4f52-bff9-f95ed8a14072",
"from_page_index": 1,
"to_page_identifier": "2ecb1788-30b9-4d8f-a267-38f687fc6e8b",
"to_page_index": 0
},
"type": "IN_APP_PAGE_SWIPE"
}
In-app page view
Occurs when a page (screen) is displayed within a pager (specific to Scenes).
OBJECT PROPERTIES- body objectREQUIREDOBJECT PROPERTIES
- app_defined_id string
An identifier defined by the application if the in-app pager was created by the application logic, not Airship. If this field is present, the event body will not contain
push_id,group_id,variant_id, ortriggering_pushfields. - completed boolean
True if the user reached the end of the pager.
- context object<In-app context>
The context provides the view state when a button, pager, or form interaction occurs.
- 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.
- locale string
Optional string that defines the country and language this in-app-automation was localized as by remote-config-api.
country- (String) An ISO 3166-1 country code, set by device settings.language- (String) The ISO 639-1 two-letter language code reflecting the language the phone is set to. - page_count number
Total number of pages.
- page_identifier string
The current page identifier.
- page_index number
Is the current pager index.
- pager_identifier string
Is the pager controller identifier.
- push_id string
A unique identifier for a push operation.
- session_id string
Represents the “session” of user activity. Absent if the application was initialized while backgrounded.
- time_sent string
An ISO 8601 date-time indicating when the payload defining the in-app message was sent to the device. May be absent.
- triggering_push object<Associated push>
Present if the user started the current session by opening a push notification.
The specific
push_idand accompanying identifiers associated with an event. An associated push helps you trace an event to the original notification or operation.An associated push object may specify a
time, if the push was a singular operation sent at a defined time. Otherwise, the object will include agroup_idif the push was sent at a relative time (best_timeorlocal_time) an automation pipeline, or another operation resulting in multiplepush_ids. - viewed_count number
Number of times the current page has been viewed.
Information about app users generated by the SDK.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
IN_APP_PAGE_VIEW - user object<User>
The current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Used in:
Examples
Example in-app page view event
{
"id": "51dd7c1c-5621-11e9-9601-0242539d70ef",
"offset": "1000022467557",
"occurred": "2019-03-29T21:42:21.245Z",
"processed": "2019-04-03T15:10:23.828Z",
"device": {
"ios_channel": "a61448e1-be63-43ee-84eb-19446ba743f0",
"channel": "a61448e1-be63-43ee-84eb-19446ba743f0",
"device_type": "IOS",
"named_user_id": "cooluser",
"identifiers": {
"com.urbanairship.limited_ad_tracking_enabled": "true",
"session_id": "B147E0CE-272E-4047-A79C-30D02A2F213D",
"GA_CID": "a61448e1-be63-43ee-84eb-19446ba743f0",
"com.urbanairship.idfa": "A76E6F83-4F4A-47E2-BFDD-72BED91D2D1F",
"com.urbanairship.vendor": "ED496B1A-43F1-45A9-A7C1-80125DE8A5B1"
},
"attributes": {
"locale_variant": "",
"app_version": "542",
"device_model": "iPhone7,2",
"app_package_name": "com.company_name.app_name",
"iana_timezone": "America/Los_Angeles",
"push_opt_in": "true",
"locale_country_code": "US",
"device_os": "11.4",
"locale_timezone": "-25200",
"locale_language_code": "en",
"location_enabled": "false",
"background_push_enabled": "true",
"ua_sdk_version": "10.2.0",
"location_permission": "ALWAYS_ALLOWED"
}
},
"body": {
"push_id": "d2482092-a0f5-4ec0-bf0a-f17a1657d1b0",
"group_id": "d2482092-a0f5-4ec0-bf0a-f17a1657d1b0",
"session_id": "65be61ee-dc60-47ec-b9d3-ebc469e0523b",
"triggering_push": {
"push_id": "a183f051-7d69-11ed-86d9-0242dc3f670b",
"group_id": "8e7cfac3-cfd3-4f4f-a9a1-d766de9b063a",
"campaigns": {
"categories": [
"welcome_series"
]
}
},
"context": {
"reporting_context": {
"content_types": [
"scene"
]
},
"state": {
"pager": {
"identifier": "f4d3d085-010b-4c2b-9e4d-574112b892ed",
"page_identifier": "e55e6d8e-f04d-43f1-939c-822a1dd5a5e3",
"page_index": 0,
"page_count": 1,
"completed": true
}
}
},
"pager_identifier": "f4d3d085-010b-4c2b-9e4d-574112b892ed",
"page_identifier": "e55e6d8e-f04d-43f1-939c-822a1dd5a5e3",
"page_index": 0,
"page_count": 1,
"viewed_count": 1,
"completed": true
},
"type": "IN_APP_PAGE_VIEW"
}
In-app pager completed
Occurs when the last page (screen) of a pager is viewed for the first time (specific to Scenes).
OBJECT PROPERTIES- body objectREQUIREDOBJECT PROPERTIES
- app_defined_id string
An identifier defined by the application if the in-app pager was created by the application logic, not Airship. If this field is present, the event body will not contain
push_id,group_id,variant_id, ortriggering_pushfields. - context object<In-app context>
The context provides the view state when a button, pager, or form interaction occurs.
- 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.
- locale string
Optional string that defines the country and language this in-app-automation was localized as by remote-config-api.
country- (String) An ISO 3166-1 country code, set by device settings.language- (String) The ISO 639-1 two-letter language code reflecting the language the phone is set to. - page_count number
Total number of pages.
- page_identifier string
The current page identifier.
- page_index number
Is the current pager index.
- pager_identifier string
Is the pager controller identifier.
- push_id string
A unique identifier for a push operation.
- session_id string
Represents the “session” of user activity. Absent if the application was initialized while backgrounded.
- time_sent string
An ISO 8601 date-time indicating when the payload defining the in-app message was sent to the device. May be absent.
- triggering_push object<Associated push>
Present if the user started the current session by opening a push notification.
The specific
push_idand accompanying identifiers associated with an event. An associated push helps you trace an event to the original notification or operation.An associated push object may specify a
time, if the push was a singular operation sent at a defined time. Otherwise, the object will include agroup_idif the push was sent at a relative time (best_timeorlocal_time) an automation pipeline, or another operation resulting in multiplepush_ids.
Information about app users generated by the SDK.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
IN_APP_PAGER_COMPLETED - user object<User>
The current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Used in:
Examples
Example in-app pager completed event
{
"id": "51dd7c1c-5621-11e9-9601-0242539d70ef",
"offset": "1000022467557",
"occurred": "2019-03-29T21:42:21.245Z",
"processed": "2019-04-03T15:10:23.828Z",
"device": {
"ios_channel": "a61448e1-be63-43ee-84eb-19446ba743f0",
"channel": "a61448e1-be63-43ee-84eb-19446ba743f0",
"device_type": "IOS",
"named_user_id": "cooluser",
"identifiers": {
"com.urbanairship.limited_ad_tracking_enabled": "true",
"session_id": "B147E0CE-272E-4047-A79C-30D02A2F213D",
"GA_CID": "a61448e1-be63-43ee-84eb-19446ba743f0",
"com.urbanairship.idfa": "A76E6F83-4F4A-47E2-BFDD-72BED91D2D1F",
"com.urbanairship.vendor": "ED496B1A-43F1-45A9-A7C1-80125DE8A5B1"
},
"attributes": {
"locale_variant": "",
"app_version": "542",
"device_model": "iPhone7,2",
"app_package_name": "com.company_name.app_name",
"iana_timezone": "America/Los_Angeles",
"push_opt_in": "true",
"locale_country_code": "US",
"device_os": "11.4",
"locale_timezone": "-25200",
"locale_language_code": "en",
"location_enabled": "false",
"background_push_enabled": "true",
"ua_sdk_version": "10.2.0",
"location_permission": "ALWAYS_ALLOWED"
}
},
"body": {
"push_id": "a9a5912c-2526-4383-b516-711c58aff900",
"group_id": "a9a5912c-2526-4383-b516-711c58aff900",
"session_id": "94e8caed-9b82-4166-b585-a01eed933855",
"triggering_push": {
"push_id": "a183f051-7d69-11ed-86d9-0242dc3f670b",
"group_id": "8e7cfac3-cfd3-4f4f-a9a1-d766de9b063a",
"campaigns": {
"categories": [
"welcome_series"
]
}
},
"context": {
"reporting_context": {
"content_types": [
"survey"
]
},
"state": {
"form": {
"form_identifier": "870db95f-3715-4c98-8047-2871c175d003",
"submitted": true,
"type": "nps",
"response_type": "nps"
},
"pager": {
"identifier": "9e051354-185b-4d4d-888a-885def2e6b7a",
"page_identifier": "32f4fc47-74ee-41c6-8e16-c9e0aa364101",
"page_index": 1,
"page_count": 2,
"completed": true
}
}
},
"pager_identifier": "9e051354-185b-4d4d-888a-885def2e6b7a",
"page_identifier": "32f4fc47-74ee-41c6-8e16-c9e0aa364101",
"page_index": 1,
"page_count": 2
},
"type": "IN_APP_PAGER_COMPLETED"
}
In-app pager summary
Describes the full path a user took within a pager (specific to Scenes), including the order of pages (screens) visited and time spent per page.
OBJECT PROPERTIES- body objectREQUIREDOBJECT PROPERTIES
- app_defined_id string
An identifier defined by the application if the in-app pager was created by the application logic, not Airship. If this field is present, the event body will not contain
push_id,group_id,variant_id, ortriggering_pushfields. - completed boolean
True if the user reached the end of the pager.
- context object<In-app context>
The context provides the view state when a button, pager, or form interaction occurs.
- 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.
- locale string
Optional string that defines the country and language this in-app-automation was localized as by remote-config-api.
country- (String) An ISO 3166-1 country code, set by device settings.language- (String) The ISO 639-1 two-letter language code reflecting the language the phone is set to. - page_count number
Total number of pages.
- page_identifier string
The current page identifier.
- pager_identifier string
Is the pager controller identifier.
- push_id string
A unique identifier for a push operation.
- session_id string
Represents the “session” of user activity. Absent if the application was initialized while backgrounded.
- time_sent string
An ISO 8601 date-time indicating when the payload defining the in-app message was sent to the device. May be absent.
- triggering_push object<Associated push>
Present if the user started the current session by opening a push notification.
The specific
push_idand accompanying identifiers associated with an event. An associated push helps you trace an event to the original notification or operation.An associated push object may specify a
time, if the push was a singular operation sent at a defined time. Otherwise, the object will include agroup_idif the push was sent at a relative time (best_timeorlocal_time) an automation pipeline, or another operation resulting in multiplepush_ids. - viewed_pages objectOBJECT PROPERTIES
- display_time_ms number
Is how long the page was displayed in milliseconds.
- page_identifier string
The current page identifier.
- page_index number
The current page index.
Information about app users generated by the SDK.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
IN_APP_PAGER_SUMMARY - user object<User>
The current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Used in:
Examples
Example in-app pager summary event
{
"id": "51dd7c1c-5621-11e9-9601-0242539d70ef",
"offset": "1000022467557",
"occurred": "2019-03-29T21:42:21.245Z",
"processed": "2019-04-03T15:10:23.828Z",
"device": {
"ios_channel": "a61448e1-be63-43ee-84eb-19446ba743f0",
"channel": "a61448e1-be63-43ee-84eb-19446ba743f0",
"device_type": "IOS",
"named_user_id": "cooluser",
"identifiers": {
"com.urbanairship.limited_ad_tracking_enabled": "true",
"session_id": "B147E0CE-272E-4047-A79C-30D02A2F213D",
"GA_CID": "a61448e1-be63-43ee-84eb-19446ba743f0",
"com.urbanairship.idfa": "A76E6F83-4F4A-47E2-BFDD-72BED91D2D1F",
"com.urbanairship.vendor": "ED496B1A-43F1-45A9-A7C1-80125DE8A5B1"
},
"attributes": {
"locale_variant": "",
"app_version": "542",
"device_model": "iPhone7,2",
"app_package_name": "com.company_name.app_name",
"iana_timezone": "America/Los_Angeles",
"push_opt_in": "true",
"locale_country_code": "US",
"device_os": "11.4",
"locale_timezone": "-25200",
"locale_language_code": "en",
"location_enabled": "false",
"background_push_enabled": "true",
"ua_sdk_version": "10.2.0",
"location_permission": "ALWAYS_ALLOWED"
}
},
"body": {
"push_id": "898c0cde-02d8-4674-8c3a-91183aab8b7b",
"group_id": "898c0cde-02d8-4674-8c3a-91183aab8b7b",
"session_id": "393ae595-bb43-48a2-9878-996e11581754",
"triggering_push": {
"push_id": "a183f051-7d69-11ed-86d9-0242dc3f670b",
"group_id": "8e7cfac3-cfd3-4f4f-a9a1-d766de9b063a",
"campaigns": {
"categories": [
"welcome_series"
]
}
},
"context": {
"reporting_context": {
"content_types": [
"scene"
]
},
"state": {
"pager": {
"identifier": "7cb3bd21-060c-46d6-9e88-fb0b5376897e",
"page_identifier": "7888b6dd-0a33-420d-a596-1342dca84fcf",
"page_index": 0,
"page_count": 1,
"completed": false
}
}
},
"pager_identifier": "7cb3bd21-060c-46d6-9e88-fb0b5376897e",
"page_count": 1,
"completed": false,
"viewed_pages": [
{
"page_identifier": "7888b6dd-0a33-420d-a596-1342dca84fcf",
"page_index": 0,
"display_time_ms": 33019
}
]
},
"type": "IN_APP_PAGER_SUMMARY"
}
Label event
Occurs when you update a Scene screen name.
OBJECT PROPERTIES- body objectREQUIREDOBJECT PROPERTIES
- 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.
- labels array[object]REQUIRED
Page list
- push_id stringREQUIRED
A unique identifier for a push operation.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred, andbodyvalues but differentoffsetandprocessedvalues. Use theidto 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:
LABEL_EVENT
Used in:
Examples
Example label event
{
"id":"00000199-2eb3-7fdc-b598-bf7930422ef4",
"offset":"1000232372984",
"occurred":"2025-09-09T13:38:59.676Z",
"processed":"2025-09-09T13:38:59.808Z",
"body":{
"push_id":"f9dde97e-e0f7-47f8-928b-08ebd761a1ea",
"labels":[
{
"id":"81f5e794-9a81-418a-b625-6affd0f99f34",
"label":"Screen 1"
},
{
"id":"8011912d-26bf-4163-b545-e047165cf0a9",
"label":"Screen 2"
},
{
"id":"3142620e-844e-461e-bc4f-4a706d2bcbe2",
"label":"Screen 3"
}
]
},
"type":"LABEL_EVENT"
}
Location
An event declaring the device to be at a particular latitude and longitude.
OBJECT PROPERTIES- body objectREQUIREDOBJECT PROPERTIES
- foreground booleanREQUIRED
If true, the application was foregrounded when the event occurred.
- latitude stringREQUIRED
The latitude where the event occurred.
- longitude stringREQUIRED
The longitude where the event occurred.
- session_id string
Represents the “session” of user activity. Absent if the application was initialized while backgrounded.
Information about app users generated by the SDK.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
LOCATION - user object<User>
The current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Used in:
Examples
Example location event
{
"id": "910fea50-5d42-1159-b702-024288f4e1d3",
"offset": "1000022468589",
"occurred": "2019-04-03T18:59:02.246Z",
"processed": "2019-04-03T19:10:26.301Z",
"device": {
"android_channel": "364a4e3f-170a-4f26-b0a1-11b280377dfe",
"channel": "364a4e3f-170a-4f26-b0a1-11b280377dfe",
"device_type": "ANDROID",
"identifiers": {
"com.urbanairship.gimbal.aii": "2471037d-71d8-4229-a40f-df719f1af914",
"session_id": "54204a73-7a95-4ffc-8051-bf230d086e19",
"GA_CID": "90d56c80-f31f-49fd-87b0-20deb3d2602a"
},
"attributes": {
"locale_variant": "",
"app_version": "dev",
"device_model": "Android SDK built for x86",
"app_package_name": "com.company_name.app_name",
"iana_timezone": "America/Los_Angeles",
"push_opt_in": "true",
"locale_country_code": "US",
"device_os": "9",
"locale_timezone": "-25200",
"locale_language_code": "en",
"location_enabled": "false",
"background_push_enabled": "true",
"ua_sdk_version": "9.7.0",
"location_permission": "ALWAYS_ALLOWED"
}
},
"body": {
"latitude": "51.5033630",
"longitude": "-0.1276250",
"foreground": true,
"session_id": "ecd3741d-92c4-469b-b42c-888e40a121d3"
},
"type": "LOCATION"
}
Mobile originated event
Represents a message action that originated from a user — like an inbound SMS or email.
OBJECT PROPERTIESAn event that occurs when a user sends a message from an SMS device, i.e., the message originates from a mobile device and not from the server (Airship). This event contains context related to the message’s origin, the incoming message itself, and Airship’s response to the origin.
- device objectREQUIRED
Holds information about an SMS
OBJECT PROPERTIESdevice(an individual SMS channel).- channel string
The unique, platform-agnostic channel identifier for a device.
- delivery_address string
The phone number for the channel.
- device_type stringREQUIRED
SMS compliance events use the
SMSdevice type.Possible values:
SMS - identifiers object
If present, the
OBJECT PROPERTIESidentifiersobject holds the value for thesenderproperty.- sender stringREQUIRED
The sender that the
delivery_addressreceived a message from.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
MOBILE_ORIGINATED
Used in:
Examples
Example mobile-originated SMS event
{
"id": "a7086338-0473-46fe-8d9b-cb61305c3c0d",
"offset": "1000000701505",
"occurred": "2018-12-03T19:31:10.000Z",
"processed": "2018-12-03T19:31:11.302Z",
"device": {
"channel": "a828de17-b315-4e80-9d2d-35a906afeacf",
"device_type": "SMS",
"delivery_address": "15558968663"
},
"body": {
"event_type": "mobile_originated_sms",
"identifiers": {
"sender": "15558675309",
"msisdn": "15558968663"
},
"properties": {
"inbound_message": "join",
"outbound_message": "Thanks for joining!",
"keyword": "join"
}
},
"type": "MOBILE_ORIGINATED"
}
Open
Occurs when a user opens your app.
OBJECT PROPERTIES- body objectOBJECT PROPERTIES
- last_delivered object
Identifies the last push notification the audience received before the event. Absent if the last push occurred more than 12 hours ago.
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.
- time string
The UTC time when the push occurred.
- 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).
- session_id string
Represents the “session” of user activity. Absent if the application was initialized while backgrounded.
- triggering_push object<Associated push>
An associated push object, establishing a causal relationship between a push and the Open event. Absent if a causal relationship to a push cannot be established.
The specific
push_idand accompanying identifiers associated with an event. An associated push helps you trace an event to the original notification or operation.An associated push object may specify a
time, if the push was a singular operation sent at a defined time. Otherwise, the object will include agroup_idif the push was sent at a relative time (best_timeorlocal_time) an automation pipeline, or another operation resulting in multiplepush_ids.
- device object<App device information>
Information about app users generated by the SDK.
- id string
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred string
When the event occurred.
- offset string
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 string
When the event was ingested by Airship. There may be some latency between when the event occurred, and when it was processed.
- type string
Possible values:
OPEN - user object<User>
The current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Used in:
Examples
Example open event
{
"id": "910fea50-5d42-1159-b702-024288f4e1d3",
"offset": "1000022468589",
"occurred": "2019-04-03T18:59:02.246Z",
"processed": "2019-04-03T19:10:26.301Z",
"device": {
"android_channel": "364a4e3f-170a-4f26-b0a1-11b280377dfe",
"channel": "364a4e3f-170a-4f26-b0a1-11b280377dfe",
"device_type": "ANDROID",
"identifiers": {
"com.urbanairship.gimbal.aii": "2471037d-71d8-4229-a40f-df719f1af914",
"session_id": "54204a73-7a95-4ffc-8051-bf230d086e19",
"GA_CID": "90d56c80-f31f-49fd-87b0-20deb3d2602a"
},
"attributes": {
"locale_variant": "",
"app_version": "1037.04c13d-master",
"device_model": "Nokia 6.1",
"app_package_name": "com.company_name.app_name",
"iana_timezone": "America/Los_Angeles",
"push_opt_in": "true",
"locale_country_code": "US",
"device_os": "9",
"locale_timezone": "-25200",
"locale_language_code": "en",
"location_enabled": "false",
"background_push_enabled": "true",
"ua_sdk_version": "9.7.0",
"location_permission": "ALWAYS_ALLOWED"
}
},
"user": {
"contact_id": "982B35f2-0375-6384-893e-a19b5cd5R771"
},
"body": {
"last_delivered": {
"push_id": "6e3339ce-529c-42e4-a2f6-7546f81c9828",
"time": "2015-07-30T21:03:37.631Z"
},
"triggering_push": {
"push_id": "c2f6c5c5-f353-49c0-b5f7-6e87cf9b1a06",
"group_id": "8ea2abd6-dbc7-475a-9c57-fb31c7e2999b",
"variant_id": 1
},
"session_id": "ad4ad05a-17f4-4eab-9c6f-d3f7fbf3cc25"
},
"type": "OPEN"
}
Push body
Occurs when you initiate a push, automation, or sequence.
Airship fulfills delivery over a time interval with a number of child pushes, each with a unique Push ID and a common Group ID. There is no guarantee that push body events (defined in Push Body Event) for the child pushes fulfilling a group will appear in the stream.
Note: When you start, pause, or publish a sequence, Airship emits a push_body event for the sequence itself, and each message contained within the sequence (i.e., messages +1). After you start a sequence, Airship does not issue subsequent push_body events for the sequence unless you pause or publish changes to the sequence.
- body objectOBJECT 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.
- payload stringREQUIRED
The specification of the push as sent via the API, a Base64 encoded JSON value.
- push_id string
A unique identifier for a push operation.
- resource stringREQUIRED
Describes the type of push, helping you interpret the JSON response. Values pertain to the push
type.Possible values:
PIPELINES,SCHEDULES,PUSH,EXPERIMENTS,IN_APP_AUTOMATION - trimmed booleanREQUIRED
If true, the push payload was trimmed from the event body.
- id string
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred string
When the event occurred.
- offset string
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 string
When the event was ingested by Airship. There may be some latency between when the event occurred, and when it was processed.
- type string
Possible values:
PUSH_BODY
Used in:
Examples
Example push body event
{
"id": "910fea50-5d42-1159-b702-024288f4e1d3",
"offset": "1000022468589",
"occurred": "2019-04-03T18:59:02.246Z",
"processed": "2019-04-03T19:10:26.301Z",
"body": {
"push_id": "233f8109-bf56-4d95-a8bf-6f28e9d270a4",
"campaigns": {
"categories": [
"hello",
"numberwang",
"first message"
]
},
"resource": "PUSH",
"trimmed": false,
"payload": "eyJkZXZpY2VfdHlwZXMiOiBbImFuZHJvaWQiLCAiaW9zIl0sICJub3RpZmljYXRpb24iOiB7ImFuZHJvaWQiOiB7fSwgImlvcyI6IHsiYmFkZ2UiOiAiKzEifSwgImFsZXJ0IjogIklUIFdJTEwgV09SSyEifSwgImF1ZGllbmNlIjogImFsbCJ9"
},
"type": "PUSH_BODY"
}
Region event
Region events are emitted when a device enters or exits a geofence or the range of any of a set of bluetooth beacons. Region events require a Gimbal integration. Events for Gimbal customers include the Gimbal application instance identifier as com.urbanairship.gimbal.aii within the identifiers object.
- body objectREQUIREDOBJECT PROPERTIES
- action stringREQUIRED
Indicates whether the event was the result of a user entering or exiting the region.
Possible values:
enter,exit - name string
A friendly name for the event; may be retrieved from a third-party.
- region_id stringREQUIRED
The identifier for the region in Airship.
- session_id string
Represents the “session” of user activity. Absent if the application was initialized while backgrounded.
- source_info objectREQUIRED
Information about the source application that generated the event.
OBJECT PROPERTIES- region_id string
The unique region identifier from the originating system.
- source string
Identifies the system that the event originated from.
Information about app users generated by the SDK.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
REGION - user object<User>
The current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Used in:
Examples
Example region event
{
"id": "910fea50-5d42-1159-b702-024288f4e1d3",
"offset": "1000022468589",
"occurred": "2019-04-03T18:59:02.246Z",
"processed": "2019-04-03T19:10:26.301Z",
"device": {
"android_channel": "364a4e3f-170a-4f26-b0a1-11b280377dfe",
"channel": "364a4e3f-170a-4f26-b0a1-11b280377dfe",
"device_type": "ANDROID",
"identifiers": {
"com.urbanairship.gimbal.aii": "2471037d-71d8-4229-a40f-df719f1af914",
"session_id": "54204a73-7a95-4ffc-8051-bf230d086e19",
"GA_CID": "90d56c80-f31f-49fd-87b0-20deb3d2602a"
},
"attributes": {
"locale_variant": "",
"app_version": "dev",
"device_model": "Android SDK built for x86",
"app_package_name": "com.company_name.app_name",
"iana_timezone": "America/Los_Angeles",
"push_opt_in": "true",
"locale_country_code": "US",
"device_os": "9",
"locale_timezone": "-25200",
"locale_language_code": "en",
"location_enabled": "false",
"background_push_enabled": "true",
"ua_sdk_version": "9.7.0",
"location_permission": "ALWAYS_ALLOWED"
}
},
"body":{
"action": "enter",
"region_id": "fb542343-9a43-450a-be7f-43bed95057ff",
"session_id": "0a50fdb9-dfa9-4e0e-8373-4f0c5c7137c7",
"name": "Coolest Place",
"source_info": {
"source": "Gimbal",
"region_id": "a vendor identifier"
}
},
"type": "REGION"
}
Rich control
Occurs when a Message Center message is not delivered to a user because they are in a control group for a Sequence A/B test or Holdout Experiment.
OBJECT PROPERTIES- body objectREQUIREDOBJECT PROPERTIES
- 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 string
A unique identifier for a push operation.
Information about app users generated by the SDK.
- experiment_id string
ID for the requested experiment.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
RICH_CONTROL - user object<User>
The current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Used in:
Examples
Example event body - message not delivered due to user being in a control group
{
"id" : "e97ef291-eb48-6614-a9f4-9138244a9144",
"offset" : "-1099401623",
"occurred" : "2024-11-05T23:47:55.473Z",
"processed" : "2024-11-05T23:47:55.473Z",
"device" : {
"ios_channel" : "564f958c-806f-bdaf-340b-1a25867d1c6a",
"channel" : "564f958c-806f-bdaf-340b-1a25867d1c6a",
"device_type" : "IOS"
},
"user": {
"contact_id": "6b5ca2a2-c1f1-4119-9617-2d5bff0db09d",
"named_user_id": "mini_me"
},
"body" : {
"push_id" : "62fd4bac-a85a-0e18-00b4-9e59339bece5",
"group_id" : "da16d1c2-7d8f-9ade-ff14-05ce696ba042"
},
"type" : "RICH_CONTROL"
}
Rich delete
Occurs when a user deletes a Message Center message from their inbox.
OBJECT PROPERTIES- body objectREQUIREDOBJECT PROPERTIES
- 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 string
A unique identifier for a push operation.
Information about app users generated by the SDK.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
RICH_DELETE - user object<User>
The current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Used in:
Examples
Example event body - indicates the `push_id` that was deleted
{
"id": "ca2948b0-56ea-11e9-88dc-a142740a77e1",
"offset": "1000022469540",
"occurred": "2019-04-04T15:03:22.545Z",
"processed": "2019-04-04T15:12:54.657Z",
"device": {
"ios_channel": "1ef235f0-03d5-1384-893e-a19b5cd0d110",
"channel": "1ef235f0-03d5-1384-893e-a19b5cd0d110",
"device_type": "IOS",
"named_user_id": "coolusername",
"identifiers": {
"com.urbanairship.limited_ad_tracking_enabled": "true",
"session_id": "837645C4-BD17-455C-96A3-999E1290EFA7",
"GA_CID": "d12b5b66-d0c6-40f6-923f-ea039e3e8297",
"com.urbanairship.idfa": "9610438A-6AEF-4113-BB99-2F64CB56ED2F",
"com.urbanairship.vendor": "F2519C6C-A724-4343-80C7-1F1E42C53DFF"
},
"attributes": {
"locale_variant": "",
"app_version": "542",
"device_model": "iPhone8,1",
"app_package_name": "com.company_name.app_name",
"iana_timezone": "Europe/London",
"push_opt_in": "true",
"locale_country_code": "GB",
"device_os": "12.1.4",
"locale_timezone": "3600",
"locale_language_code": "en",
"location_enabled": "false",
"background_push_enabled": "true",
"ua_sdk_version": "10.2.0",
"location_permission": "FOREGROUND_ALLOWED"
}
},
"user": {
"named_user_id": "coolusername",
"contact_id": "982B35f2-0375-6384-893e-a19b5cd5R771"
},
"body": {
"push_id": "1bf2A1a1-4069-11e9-abf1-024297609801"
},
"type": "RICH_DELETE"
}
Rich delivery
Occurs when a Message Center message is delivered to a user’s inbox.
Even though rich push deliveries may or may not cause an alert on the user’s lock screen, they are always associated with a push identifier in the Airship system.
OBJECT PROPERTIES- body objectREQUIREDOBJECT PROPERTIES
- 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 string
A unique identifier for a push operation.
Information about app users generated by the SDK.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
RICH_DELIVERY - user object<User>
The current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Used in:
Examples
Example event body — indicates the `push_id` that reached the user
{
"id": "83848900-54ac-11e9-a132-024278224c1c",
"offset": "1000022466003",
"occurred": "2019-04-01T18:32:32.912Z",
"processed": "2019-04-01T18:32:33.031Z",
"device": {
"android_channel": "1de67612-94bc-4d02-85b0-37ede154a9d7",
"channel": "1de67612-94bc-4d02-85b0-37ede154a9d7",
"device_type": "ANDROID"
},
"user": {
"contact_id": "982B35f2-0375-6384-893e-a19b5cd5R771"
},
"body": {
"push_id": "1a7d774c-1659-4104-b594-2f7ec739c92d"
},
"type": "RICH_DELIVERY"
}
Rich read
Occurs when a user reads a Message Center message in their inbox.
OBJECT PROPERTIES- body objectREQUIREDOBJECT PROPERTIES
- 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 string
A unique identifier for a push operation.
Information about app users generated by the SDK.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
RICH_READ - user object<User>
The current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Used in:
Examples
Example event body — indicates the `push_id` that the user read
{
"id": "ca2948b0-56ea-11e9-88dc-a142740a77e1",
"offset": "1000022469540",
"occurred": "2019-04-04T15:03:22.545Z",
"processed": "2019-04-04T15:12:54.657Z",
"device": {
"ios_channel": "1ef235f0-03d5-1384-893e-a19b5cd0d110",
"channel": "1ef235f0-03d5-1384-893e-a19b5cd0d110",
"device_type": "IOS",
"named_user_id": "coolusername",
"identifiers": {
"com.urbanairship.limited_ad_tracking_enabled": "true",
"session_id": "837645C4-BD17-455C-96A3-999E1290EFA7",
"GA_CID": "d12b5b66-d0c6-40f6-923f-ea039e3e8297",
"com.urbanairship.idfa": "9610438A-6AEF-4113-BB99-2F64CB56ED2F",
"com.urbanairship.vendor": "F2519C6C-A724-4343-80C7-1F1E42C53DFF"
},
"attributes": {
"locale_variant": "",
"app_version": "542",
"device_model": "iPhone8,1",
"app_package_name": "com.company_name.app_name",
"iana_timezone": "Europe/London",
"push_opt_in": "true",
"locale_country_code": "GB",
"device_os": "12.1.4",
"locale_timezone": "3600",
"locale_language_code": "en",
"location_enabled": "false",
"background_push_enabled": "true",
"ua_sdk_version": "10.2.0",
"location_permission": "FOREGROUND_ALLOWED"
}
},
"user": {
"named_user_id": "coolusername",
"contact_id": "982B35f2-0375-6384-893e-a19b5cd5R771"
},
"body": {
"push_id": "1bf2A1a1-4069-11e9-abf1-024297609801",
"time": "2019-03-04T15:12:54.657Z"
},
"type": "RICH_READ"
}
Screen viewed
Occurs when a user has finished viewing a screen. It is up to you to instrument your application with names for each screen. Doing so will allow you to determine the user’s path by filtering on the fields in the table below.
OBJECT PROPERTIES- body objectREQUIREDOBJECT PROPERTIES
- duration integer
The number of milliseconds that the user was on the screen.
- previous_screen string
The name assigned to the screen the user was on prior to the
viewed_screen. - session_id string
Represents the “session” of user activity. Absent if the application was initialized while backgrounded.
- viewed_screen string
The name assigned to the screen that the user left.
Information about app users generated by the SDK.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
SCREEN_VIEWED - user object<User>
The current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Used in:
Examples
Example screen viewed event
{
"id": "a7086338-0473-46fe-8d9b-cb61305c3c0d",
"offset": "1000000701505",
"occurred": "2018-12-03T19:31:10.000Z",
"processed": "2018-12-03T19:31:11.302Z",
"device": {
"ios_channel": "c1ca5af6-b014-46f9-8566-33f5f52c7b19",
"channel": "c9cb18f7-b814-40f9-8566-33f5f52c7c48",
"device_type": "IOS",
"identifiers": {
"com.urbanairship.limited_ad_tracking_enabled": "true",
"session_id": "B1E00276-98BE-4B38-9077-FB2E90EFBE1B",
"GA_CID": "1fa021e7-8298-4f92-bee0-07cb95eecfdd",
"com.urbanairship.idfa": "1821a235-CD43-4ED8-8633-3BD3B991FA25",
"com.urbanairship.vendor": "164d552C-F5F0-4C83-B529-321667C8E48A"
},
"attributes": {
"locale_variant": "",
"app_version": "550",
"device_model": "iPhone9,1",
"app_package_name": "com.company_name.app_name",
"iana_timezone": "Europe/Berlin",
"push_opt_in": "true",
"locale_country_code": "US",
"device_os": "12.2",
"locale_timezone": "7200",
"locale_language_code": "en",
"location_enabled": "false",
"background_push_enabled": "true",
"ua_sdk_version": "10.2.2",
"location_permission": "FOREGROUND_ALLOWED"
}
},
"body": {
"duration": 13933,
"viewed_screen": "home",
"previous_screen": "message_center",
"session_id": "a26102f9-7fb2-451d-a65c-56e9394cf726"
},
"type": "SCREEN_VIEWED"
}
Send
Occurs whenever a push notification is sent to a device identified in the audience selector of a message.
OBJECT PROPERTIES- body objectREQUIREDOBJECT PROPERTIES
- alerting boolean
If true, the send event was alerting. Alerting send event has notification text, badge, or sound.
- 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]
- click_tracking boolean
If true, email click events will be reported. Only HTTP and HTTPS links are tracked.
- context object
An object that establishes a relationship between a push and the origin of the message. Only messages triggered by a Custom Event will include the context.
OBJECT PROPERTIES- event_uuid stringREQUIRED
The ID of the Custom Event which triggered the send.
- interaction_id string
If
interaction_idwas set on the Custom Event body, it will be populated here. - transaction string
If
transactionwas set on the Custom Event body, it will be populated here. - triggered_by stringREQUIRED
The triggering event type.
Possible values:
custom_event
- experiment_id string
The unique identifier for the Message A/B test or Holdout Experiment.
- 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.
- open_tracking boolean
If true, email open events will be reported.
- 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 objectREQUIREDOne of
Information about app users generated by the SDK.
Information about web users generated by the SDK.
Information about the SMS or email device related to an event.
Information about open channel users.
- experiments object
An object listing the details of the Message A/B test or Holdout Experiment, if the send includes either.
OBJECT PROPERTIES- experiment_id string
The unique identifier for the Message A/B test or Holdout Experiment.
- type string
The type of experiment.
GLOBALis for A/B tests,EXP_GROUPis for Holdout Experiments.Possible values:
EXP_GROUP,GLOBAL - variant_id string
For A/B tests, the string ID of the message variant.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
SEND - user object<User>
The current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Used in:
Examples
Example send event
{
"id": "ca2948b0-56ea-11e9-88dc-a142740a77e1",
"offset": "1000022469540",
"occurred": "2019-04-04T15:03:22.545Z",
"processed": "2019-04-04T15:12:54.657Z",
"device": {
"ios_channel": "1ef235f0-03d5-1384-893e-a19b5cd0d110",
"channel": "1ef235f0-03d5-1384-893e-a19b5cd0d110",
"device_type": "IOS",
"named_user_id": "coolusername",
"attributes": {
"locale_variant": "",
"app_version": "542",
"device_model": "iPhone8,1",
"app_package_name": "com.company_name.app_name",
"iana_timezone": "Europe/London",
"push_opt_in": "true",
"locale_country_code": "GB",
"device_os": "12.1.4",
"locale_timezone": "3600",
"locale_language_code": "en",
"location_enabled": "false",
"background_push_enabled": "true",
"ua_sdk_version": "10.2.0",
"location_permission": "FOREGROUND_ALLOWED"
}
},
"user": {
"contact_id": "6b5ca2a2-c1f1-4119-9617-2d5bff0db09d",
"named_user_id": "coolusername"
},
"body": {
"variant_id": 1,
"push_id": "0c173744-dd35-4b5e-9f7f-2b7e0ce0e36e",
"alerting": true,
"campaigns": {
"categories": [
"hello",
"numberwang",
"first message"
]
},
"context": {
"triggered_by": "custom_event",
"event_uuid": "03669090-f934-45e2-a443-c75f6304ae6c",
"transaction": "886f53d4-3e0f-46d7-930e-c2792dac6e0a",
"interaction_id": "hello"
}
},
"type": "SEND"
}
Send aborted
Occurs when a push is dropped from our system before delivery is attempted. This can happen:
- When using External Data Feeds to personalize a message and an error was encountered or the feed returned a non-successful response
- When a Message Limit is met
- When a Ban List webhook issues a
dropresponse for a user
Device information for the device that did not receive the push is included with SEND_ABORTED events.
- body objectREQUIREDOBJECT 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.
- reason stringREQUIRED
Describes the reason this push was aborted.
FEED_BANNED_RESPONSE: The response from the endpoint indicated a channel was banned. See Ban Lists.FEED_REQUEST_REJECTED: The request to the specified server was rejected. Occurs when a 4xx HTTP response code is returned when Airship calls the webhook.FEED_RESOLVE_FAILURE: The URI of the feed could not be resolved.FREQUENCY_LIMIT_FAILURE: A Message Limit retrieval failed.FREQUENCY_LIMIT_REACHED: A Message Limit was exceeded.UNKNOWN: The error occurred due to another problem.
Possible values:
FEED_BANNED_RESPONSE,FEED_REQUEST_REJECTED,FEED_RESOLVE_FAILURE,FREQUENCY_LIMIT_FAILURE,FREQUENCY_LIMIT_REACHED,UNKNOWN
Information about app users generated by the SDK.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
SEND_ABORTED
Used in:
Examples
Example send aborted event
{
"id": "fc06bf54-619b-4fda-9345-d8f9f8e891ef",
"occurred": "2021-02-26T20:50:21.12Z",
"offset": "1000001215643",
"processed": "2021-02-26T20:50:49.64Z",
"type": "SEND_ABORTED",
"device": {
"android_channel": "e664fb42-d1a7-4956-9907-88c49394ae70",
"channel": "e664fb42-d1a7-4956-9907-88c49394ae70",
"device_type": "ANDROID",
},
"body": {
"push_id": "26ea5408-a1ec-4771-b4f0-e86d45c03f8a",
"group_id": "3795a26d-2d74-462b-b228-ca3ed31ef7b1",
"reason": "FEED_RESOLVE_FAILURE"
}
}
Example send aborted event due to Ban List
{
"id": "fc06bf54-619b-4fda-9345-d8f9f8e891ef",
"occurred": "2021-02-26T20:50:21.12Z",
"offset": "1000001215643",
"processed": "2021-02-26T20:50:49.64Z",
"type": "SEND_ABORTED",
"device": {
"android_channel": "e664fb42-d1a7-4956-9907-88c49394ae70",
"channel": "e664fb42-d1a7-4956-9907-88c49394ae70",
"device_type": "ANDROID",
},
"body": {
"push_id": "26ea5408-a1ec-4771-b4f0-e86d45c03f8a",
"group_id": "3795a26d-2d74-462b-b228-ca3ed31ef7b1",
"reason": "FEED_BANNED_RESPONSE"
}
}
Send rejected
Occurs when a push fails during communication with a third party, like APNs or GCM. This typically indicates that the user has uninstalled the app or otherwise invalidated the last-registered credentials stored in Airship. The event contains the rejected push and the group, variant, or campaigns the push belonged to.
Device information for the device that did not receive the push is included with SEND_REJECTED events.
- body objectREQUIREDOBJECT 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.
- status string
The status of the message.
Possible values:
BadDeviceToken,Unauthorized,InvalidPackageName,InvalidParameters,Unavailable,MessageTooBig,InvalidTtl,InvalidDataKey,MissingRegistration,Uninstalled - 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).
Information about app users generated by the SDK.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
SEND_REJECTED
Used in:
Examples
Example send rejected event body
{
"id": "00000169-4a14-67b2-1ddd-d9e733622c3a",
"occurred": "2019-03-04T19:00:45.106Z",
"offset": "1000001260057",
"processed": "2019-03-04T19:00:47.094Z",
"type": "SEND_REJECTED",
"device": {
"ios_channel": "1ef235f0-03d5-1384-893e-a19b5cd0d110",
"channel": "1ef235f0-03d5-1384-893e-a19b5cd0d110",
"device_type": "IOS",
},
"body": {
"variant_id": 1,
"push_id": "0c173744-dd35-4b5e-9f7f-2b7e0ce0e36e",
"status": "BadDeviceToken",
"campaigns" : {
"categories" : ["hello", "first message"]
}
}
}
Short link click event
Occurs when a user taps or “clicks” an Airship-shortened link in an SMS or MMS message.
OBJECT PROPERTIES- body objectREQUIREDOBJECT 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.
- properties objectREQUIREDOBJECT PROPERTIES
- original_url stringREQUIRED
The URL represented by the Airship-shortened link.
- push_id stringREQUIRED
A unique identifier for a push operation.
- device objectREQUIREDOBJECT PROPERTIES
- attributes objectOBJECT PROPERTIES
- web_user_agent_string string
Describes the web user agent for the audience member who used the link.
- channel stringREQUIRED
The unique, platform-agnostic channel identifier for a device.
- delivery_address string
The MSISDN of the audience member who clicked the link.
- device_type stringREQUIRED
Possible values:
SMS - identifiers objectOBJECT PROPERTIES
- sender stringREQUIRED
The sender of the message.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
SHORT_LINK_CLICK
Used in:
Examples
Example short_link_click event
{
"id": "31549b7d-a435-4b04-abca-69bfd4fb6aaa",
"offset": "1000005313850",
"occurred": "2019-07-10T23:18:57.465Z",
"processed": "2019-07-10T23:18:58.148Z",
"device": {
"channel": "ec71312b-42e4-4bcd-b742-581a84941793",
"device_type": "SMS",
"delivery_address": "15551234567",
"identifiers": {
"sender": "15558647425"
},
"attributes": {
"web_user_agent_string": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/75.0.3770.100 Safari\/537.36"
}
},
"body": {
"push_id": "f4b4201a-70e2-4a8d-bc8f-f35ddfa7d0e7",
"group_id": "47f01bbf-2efa-4743-acd8-fd1023a36744",
"properties": {
"original_url": "api/connect#schemas-short_link_click"
}
},
"type": "SHORT_LINK_CLICK"
}
Subscription event
SUBSCRIPTION events reflect changes to users’ subscription preferences — reflected in opt_in and opt_out values. These events help you track a user’s subscription status in the system and the total number of subscribers.
- body objectREQUIREDOBJECT PROPERTIES
- event_type stringREQUIRED
Determines the source of the subscription event.
registrationandcreate_and_sendevents result in changes toopted_indates; all other event types containopted_outdates.registration: Represents a change to a user’scommercial_opted_in,transactional_opted_in,click_tracking_opted_in, oropen_tracking_opted_indates.create_and_send: A user’s opted_in status changed as a result of a Create and Send event.bounce: Subscription status changed as a result of a bounce event.list_unsubscribe: The user clicked theunsubscribebutton in their email client.link_unsubscribe: The user clicked anunsubscribehyperlink in an email.spam_complaint: The user classified an email as spam.out_of_band: A bounce occurred after the recipient MTA accepted an email.
Possible values:
registration,create_and_send,bounce,list_unsubscribe,link_unsubscribe,spam_complaint,out_of_band - identifiers objectREQUIRED
Contains address information specific to the
OBJECT PROPERTIESchannel_idspecified in the event.- address string
The email address representing the change.
- subscription_lists object
Changes to a device or user’s subscription list membership.
OBJECT PROPERTIES- canceled array[string]
An array of subscription list IDs which were canceled. Present only when a cancellation occurred.
- enrolled array[string]
An array of subscription list IDs which were enrolled. Present only when an enrollment occurred.
- scope string
The scope at which the operation was performed; only present on events which target a Named User.
Possible values:
app,web,email,sms
- properties objectOBJECT PROPERTIES
- click_tracking_opted_in string
- click_tracking_opted_out string
- commercial_opted_in string
- commercial_opted_out string
- open_tracking_opted_in string
- open_tracking_opted_out string
- transactional_opted_in string
- transactional_opted_out string
- device objectREQUIRED
Holds information about the email
OBJECT PROPERTIESdevice(an individual email channel) the event occurred against.- channel string
The unique, platform-agnostic channel identifier for a device.
- delivery_address stringREQUIRED
The email address of the channel the event occurred against.
- device_type stringREQUIRED
Email compliance events use the
EMAILdevice type.Possible values:
EMAIL - named_user string
The Named User that the channel is associated with; appears only if the channel is associated with a Named User.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
SUBSCRIPTION - user object<User>
The current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Used in:
Examples
Example subscription event
{
"id": "62f3b7ac-4048-4f22-a0b5-22c01ef172a9",
"offset": "1000022265027",
"occurred": "2019-04-01T13:00:23.186Z",
"processed": "2019-04-01T13:00:23.456Z",
"device": {
"channel": "6b46c724-494b-4491-9fe7-1b903d266110",
"device_type": "EMAIL",
"delivery_address": "user+43679@urbanairship.com.sink.sparkpostmail.com"
},
"body": {
"event_type":"registration",
"identifiers": {
"address":"new.subscription@example.com"
},
"properties":{
"commercial_opted_in":"2019-01-04T20:56:00.000Z",
"transactional_opted_in":"2019-01-04T20:56:00.000Z",
"click_tracking_opted_out":"2019-01-04T20:56:00.000Z",
"open_tracking_opted_out":"2019-01-04T20:56:00.000Z"
}
},
"type": "SUBSCRIPTION"
}
Subscription list event
Occurs when subscription list enrollment changes for a device or user.
OBJECT PROPERTIES- body objectREQUIRED
Changes to a device or user’s subscription list membership.
OBJECT PROPERTIES- canceled array[string]
An array of subscription list IDs which were canceled. Present only when a cancellation occurred.
- enrolled array[string]
An array of subscription list IDs which were enrolled. Present only when an enrollment occurred.
- scope string
The scope at which the operation was performed; only present on events which target a Named User.
Possible values:
app,web,email,sms
- device objectREQUIREDOne of
Information about app users generated by the SDK.
- Web device information without `attributes` object
Information about web users in tag change events.
OBJECT PROPERTIES- channel stringREQUIRED
The unique, platform-agnostic channel identifier for a device.
- device_type stringREQUIRED
The platform that the channel is on.
Possible values:
WEB - named_user_id string
The Named User identifier for the device.
Information about the SMS or email device related to an event.
Information about open channel users.
User information for events which occur at the user level.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
SUBSCRIPTION_LIST - user object<User>
The current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Used in:
Examples
Example Subscription List event
{
"id": "62f3b7ac-4048-4f22-a0b5-22c01ef172a9",
"offset": "1000022265027",
"occurred": "2019-04-01T13:00:23.186Z",
"processed": "2019-04-01T13:00:23.456Z",
"device": {
"channel": "6b46c724-494b-4491-9fe7-1b903d266110",
"device_type": "EMAIL",
"delivery_address": "user+43679@urbanairship.com.sink.sparkpostmail.com"
},
"user": {
"contact_id": "6b5ca2a2-c1f1-4119-9617-2d5bff0db09d",
"named_user_id": "mini_me"
},
"body": {
"enrolled": ["cool_deals"]
},
"type": "SUBSCRIPTION_LIST"
}
Tag change
Occurs when tags change for a device.
OBJECT PROPERTIES- body objectREQUIREDOBJECT PROPERTIES
- add object
Tag group/tag pairs added to the device. Each tag group is an array containing one or more tags within this object.
- current object
The total set/state of tag group/tag pairs associated with the device after the tag change. Each tag group is an array containing one or more tags within this object.
- remove object
Tag group/tag pairs removed from the device. Each tag group is an array containing one or more tags within this object.
- device objectREQUIREDOne of
Information about app users generated by the SDK.
- Web device information without `attributes` object
Information about web users in tag change events.
OBJECT PROPERTIES- channel stringREQUIRED
The unique, platform-agnostic channel identifier for a device.
- device_type stringREQUIRED
The platform that the channel is on.
Possible values:
WEB - named_user_id string
The Named User identifier for the device.
Information about the SMS or email device related to an event.
Information about open channel users.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
TAG_CHANGE - user object<User>
The current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Used in:
Examples
Example tag change event
{
"id": "00000169-4a14-67b2-1ddd-d9e733622c3a",
"occurred": "2019-03-04T19:00:45.106Z",
"offset": "1000001260057",
"processed": "2019-03-04T19:00:47.094Z",
"device": {
"ios_channel": "1ef235f0-03d5-1384-893e-a19b5cd0d110",
"channel": "1ef235f0-03d5-1384-893e-a19b5cd0d110",
"device_type": "IOS",
},
"user": {
"contact_id": "6b5ca2a2-c1f1-4119-9617-2d5bff0db09d",
"named_user_id": "mini_me"
},
"body":{
"add": {
"crm": [
"partner",
"active"
],
"loyalty": [
"silver_member"
]
},
"remove": {
"device": [
"shoe_buyer"
]
},
"current": {
"crm": [
"partner",
"active",
"new_user"
],
"loyalty": [
"silver_member",
"special_offers"
],
"device": [
"san_francisco",
"sports"
]
}
},
"type": "TAG_CHANGE"
}
Uninstall
Occurs when a user uninstalls an Airship-integrated app in response to a push.
OBJECT PROPERTIES- body objectREQUIREDOBJECT PROPERTIES
- decay booleanREQUIRED
If true, Airship recorded an uninstall event due to user inactivity.
- device objectREQUIREDOne of
Information about app users generated by the SDK.
Information about web users generated by the SDK.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
UNINSTALL - user object<User>
The current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Used in:
Examples
Example uninstall event
{
"id": "00000169-4a14-67b2-1ddd-d9e733622c3a",
"occurred": "2019-03-04T19:00:45.106Z",
"offset": "1000001260057",
"processed": "2019-03-04T19:00:47.094Z",
"type": "UNINSTALL",
"device": {
"ios_channel": "1ef235f0-03d5-1384-893e-a19b5cd0d110",
"channel": "1ef235f0-03d5-1384-893e-a19b5cd0d110",
"device_type": "IOS",
},
"body":{
"decay": false
},
"type": "UNINSTALL"
}
Web click event
Occurs when a user interacts with a web notification, e.g., clicked or tapped it. Web Click events have a device attribute on the event indicating the channel that was the target of the notification. The body of a Web Click Event is an associated push object.
OBJECT PROPERTIESThe specific
push_idand accompanying identifiers associated with an event. An associated push helps you trace an event to the original notification or operation.An associated push object may specify a
time, if the push was a singular operation sent at a defined time. Otherwise, the object will include agroup_idif the push was sent at a relative time (best_timeorlocal_time) an automation pipeline, or another operation resulting in multiplepush_ids.- device objectREQUIRED
Information about web users generated by the SDK.
OBJECT PROPERTIES- attributes objectOBJECT PROPERTIES
- iana_timezone string
The time zone of the device.
- push_opt_in stringREQUIRED
Indicates whether or not the device is opted into push notifications.
- ua_sdk_version stringREQUIRED
The version of the Airship SDK used in the app.
- web_browser_name stringREQUIRED
The name of the browser running the SDK.
- web_browser_type stringREQUIRED
Indicates whether the browser was running on a desktop or mobile device.
- web_browser_version stringREQUIRED
The version of the browser.
- web_user_agent_string stringREQUIRED
The user agent reported by the browser.
- channel stringREQUIRED
The unique, platform-agnostic channel identifier for a device.
- device_type stringREQUIRED
The platform that the channel is on.
Possible values:
WEB - named_user_id string
The Named User identifier for the device.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
WEB_CLICK - user object<User>
The current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Used in:
Examples
Example web click event
{
"id": "c91efbfa-14b1-401a-9002-54730b5cdcda",
"offset": "1000024775634",
"occurred": "2019-04-05T20:11:36.696Z",
"processed": "2019-04-05T20:11:37.179Z",
"device": {
"channel": "bd054c5b-d614-46a1-a843-6ca330c66489",
"device_type": "WEB",
"attributes": {
"web_browser_type": "desktop",
"push_opt_in": "true",
"iana_timezone": "America/Los_Angeles",
"locale_country_code": "US",
"locale_timezone": "-25200",
"web_browser_version": "chrome-73",
"locale_language_code": "en",
"web_browser_name": "chrome",
"ua_sdk_version": "1.1.0",
"web_user_agent_string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36"
}
},
"body": {
"push_id": "c2f6c5c5-f353-49c0-b5f7-6e87cf9b1a06"
},
"type": "WEB_CLICK"
}
Web session event
Occurs when an opted in user begins interacting with a website. Web Session events have a device attribute, indicating the channel associated with the user.
OBJECT PROPERTIES- body objectREQUIREDOBJECT PROPERTIES
- last_delivered object
Identifies the last push notification the audience received before the event. Absent if the last push occurred more than 12 hours ago.
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.
- time string
The UTC time when the push occurred.
- 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).
- session_id string
Represents the “session” of user activity. Absent if the application was initialized while backgrounded.
- triggering_push object<Associated push>
The specific
push_idand accompanying identifiers associated with an event. An associated push helps you trace an event to the original notification or operation.An associated push object may specify a
time, if the push was a singular operation sent at a defined time. Otherwise, the object will include agroup_idif the push was sent at a relative time (best_timeorlocal_time) an automation pipeline, or another operation resulting in multiplepush_ids.
Information about web users generated by the SDK.
- id stringREQUIRED
Uniquely identifies an event. The data stream will occasionally send duplicate events. Duplicate events will have the same
id,type,occurred,device, andbodyvalues but differentoffsetandprocessedvalues. You should use theidto deduplicate. - occurred stringREQUIRED
When the event occurred.
- offset string
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:
WEB_SESSION - user object<User>
The current state of the user when the event is emitted, including the contact ID and an optional named user ID.
Used in:
Examples
Example web session event
{
"id": "c91efbfa-14b1-401a-9002-54730b5cdcda",
"offset": "1000024775634",
"occurred": "2019-04-05T20:11:36.696Z",
"processed": "2019-04-05T20:11:37.179Z",
"device": {
"channel": "bd054c5b-d614-46a1-a843-6ca330c66489",
"device_type": "WEB",
"attributes": {
"web_browser_type": "desktop",
"push_opt_in": "true",
"iana_timezone": "America/Los_Angeles",
"locale_country_code": "US",
"locale_timezone": "-25200",
"web_browser_version": "chrome-73",
"locale_language_code": "en",
"web_browser_name": "chrome",
"ua_sdk_version": "1.1.0",
"web_user_agent_string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36"
}
},
"body": {
"session_id": "e8350094-dd62-4d36-a7a0-f1b0a221de93",
"last_delivered": {
"push_id": "c2f6c5c5-f353-49c0-b5f7-6e87cf9b1a06"
}
},
"type": "WEB_SESSION"
}