Push API
Introduction
We offer a Push API for our API Consumers that prefer changes to be pushed to their own server to minimize unnecessary overhead calls and bandwith. For the push service the API consumer has to register a subscription which specifies the endpoint which shall be used for pushing data to. The push updates are HTTP POST requests posting to the endpoint url defined in the registered subscription. The body of the HTTP POST requests are formatted according to the JSON API specification.
Every subscription needs a valid working url endpoint that has to be verified at first before any data can be pushed to defined url endpoint. For more information, see subscription.
Subscription Verification Process
Every subscription needs to be verified for security reasons. Read our push service set up guide to set up and validate your subscription.
Pushing Reliability
If a push fails, the CROWDMANAGER service will retry pushing for a maximum of 10 attempts at an increasing time interval. In case all attempts fail (approx 2,5 hours after first attempt) the API consumer will have to pull for changes from our API. This is to avoid flooding a subscribed url endpoint after a long down time.
Batching
We batch updates whenever possible, we provide for each event the operation that occured, this could be add
, remove
or replace
.
It is possible, that on one object there will be multiple operations within one batch time window. In that case, every occurrence will reflect it's final state.
Example:
When object has been added and then removed, the push update will have two operations related to it: add
and delete
, however object attached to this operation will have it's final state. If it would be a StreamEntry - it will have no Content
.
Whenever one object is included multiple times with one push update batch, always use timestamp
field to determine its actual state.
Format
Subscriptions support Content-Type
, depending on the selection it can be either json:api
or plain json
format.
Types of items pushed:
- Customer Profile (only
plain json
) - Campaign App (only
plain json
)
Fields in Push Item
Name | Description | Type/Supported Values |
---|---|---|
operation | Operation type | string [add, replace, remove] |
path | Origin URL of push | string |
eventTime | Time of push executed | datetime |
value | Value of Push Item | string |
For more Information see: