Last Updated:
A callback entity is a registration to receive callback events to an external URL. It is identified by a CallbackID, which uniquely identifies the record. Additionally, each callback is unique for a given event type and active date range.
Topics in this Section |
The following is the JSON representation of a callback entity within the APIs.
{ "callback_id":"Hzh39LP3", "event_type":"person_added", "destination":{ "url":"http://destination.url", "method":"POST", "content_type":"application/json" }, "start_date":"2017-01-01T00:00Z", "end_date":"2017-02-01T00:00Z", "url":"/companies/:company_id/mobiledb/config/callbacks/:callback_id", "created_at":"2017-04-15T14:30Z", "updated_at":"2017-05-18T19:30Z" } |
Data Element | Type | Max Char Length | Description | Required | Default |
---|---|---|---|---|---|
callback_id | String | 8 | Vibes unique identifier for each callback record. | Required |
|
event_type | String | 100 | Event type to trigger this callback. | Required |
|
destination.url | String | 50 | External URL to submit the callback data. | Required |
|
destination.method | String | 4 | Method to submit the data to the destination URL. | Optional | POST |
destination.content_type | String | 16 | Content type to set when submitting the data to the destination URL. Valid content types:
| Optional | Application/JSON |
start_date | Timestamp | 20 | Date this callback starts. It should be in the ISO 8601 format - for example: 2017-04-05T14:30Z. | Optional | Now |
end_date | Timestamp | 20 | Date this callback ends. It should be in the ISO 8601 format - for example: 2017-04-05T14:30Z. | Optional | No end date |
url | String | 50 | Unique resource URL for the callback. | N/A |
|
created_at | Timestamp | 20 | Date this callback was created. It should be in the ISO 8601 format - for example: 2017-04-05T14:30Z. | N/A |
|
updated_at | Timestamp | 20 | Date this callback was last updated. It should be in the ISO 8601 format - for example: 2017-04-05T14:30Z. | N/A |
|
list_id | String | 20 | Vibes unique identifier for a Subscription List. | Required | |
campaign_id | String | 20 | Vibes unique identifier for an Acquisition Campaign. | Required |
The person_added callback event is triggered when a new Person record is added into the Mobile Database.
The person_updated callback event is triggered when an existing Person record has been modified in the Mobile Database.
The subscription_added callback event is triggered when a Person has been added to a Subscription List.
The subscription_removed callback event is triggered when a Person has been removed from a Subscription List.
{ ... "event_type": "subscription_added", "subscription_added": { "list_id": "l1234" }, ... } |
{ ... "event_type": "subscription_removed", "subscription_removed": { "list_id": "l1234" }, ... } |
The ack_participant_added callback event is triggered when a new Participant has been added to the Acquisition Campaign.
The ack_participant_changed callback event is triggered when a Participant has confirmed or declined the opt-in.
{ ... "event_type": "ack_participant_added", "ack_participant_added": { "campaign_id": "c1234" }, ... } |
{ ... "event_type": "ack_participant_changed", "ack_participant_changed": { "campaign_id": "c1234" }, ... } |
The subscription_list_added callback event is triggered when a new Subscription List has been created in the Mobile Database.
The subscription_list_updated callback event is triggered whenever a Subscription List has been modified in the Mobile Database.
The device_added callback event is triggered when a new push device has been registered by the Vibes Push SDK, or when a device has been moved from one Person to another.
The device_removed callback event is triggered when a new push device has been unregistered by the Vibes Push SDK, or when a device has been move from one Person to another.
The device_updated callback is triggered when the push token is added or removed from the push device. This can be used to understand who in your audience is addressable via push messages. To reduce callback frequency, it is not triggered when other elements of the device are updated; those elements can be pulled periodically, if required.
{ ... "event_type": "device_added", "device_added": { "app_id": "ca516f39-a28a-4325-b513-f0e00f75cape'" }, ... } |
{ ... "event_type": "device_removed", "device_removed": { "app_id": "ca516f39-a28a-4325-b513-f0e00f75cape'" }, ... } |
{ ... "event_type": "device_updated", "device_updated": { "app_id": "ca516f39-a28a-4325-b513-f0e00f75cape'" }, ... } |
The wallet_item_install callback event is triggered when an Apple Wallet or Google Pay pass has been installed for a given campaign.
The wallet_item_remove callback event is triggered when an Apple Wallet or Google Pay pass has been removed for a given campaign.
{ ... "event_type": "wallet_item_install", "wallet_item_install": { "campaign_token": ":smartlink_token" }, ... } |
The wallet_item_remove callback event is triggered when an Apple Wallet or Google Pay pass has been removed for a given campaign.
{ ... "event_type": "wallet_item_remove", "wallet_item_install": { "campaign_token": ":smartlink_token" }, ... } |
The supported event_types are wallet_item_install and wallet_item_remove.