Get a Callback
The following will retrieve a callback by its callback_id.
Code Block |
---|
GET /companies/:company_key/config/callbacks/:callback_id
|
Request JSON
There is no Request JSON with a GET.
Return JSON
A callback entity.
Note |
---|
Note: A 404 - Not Found error will be returned if the callback cannot be located. |
List Callback
The following will list active and future callbacks.
Code Block |
---|
GET /companies/:company_key/config/callbacks
|
Request JSON
There is no Request JSON with a GET.
Return JSON
An array of callback elements will be returned as follows.
Code Block |
---|
[
{
"callback_id":"AB3423",
"event_type":"person_added",
"destination":{
"url":"http://some.url",
"method":"POST",
"content_type":"application/json"
},
"start_date":"2017-01-01T00:00Z",
"end_date":"2017-02-01T00:00Z",
"url":"/companies/:idcompany_key/config/callbacks/:callback_id",
"created_at":"2017-04-05T14:30Z",
"updated_at":"2017-05-08T19:30Z"
}
]
|
Create a Callback
The following will create a new callback record.
Code Block |
---|
POST /companies/:company_key/config/callbacks/
|
The callback_id, created_at, updated_at, and URL fields are not allowed. Any values will be ignored.
The destination_method, content_type, start_date, and end_date fields are optional.
Two callback registrations may not share an event type if they have overlapping active date ranges.
Return JSON
A callback entity.
Note |
---|
Note: An HTTP 201 - Created response will be returned if the object has been successfully created. |
Delete a Callback
Code Block |
---|
DELETE /companies/:company_key/config/callbacks/:callback_id
|
This will set the end date of the callback to now and change it to inactive. If the start date of the callback was in the future, it will change that to now as well.
Return JSON
A callback entity reflecting the new date ranges and active state.
Note |
---|
Notes: An HTTP 200 - OK will be returned if the operation completes successfully. An HTTP 404 - Not Found error will be returned if the entity does not exist. |
Create a Test Callback Event
Code Block |
---|
POST /companies/:company_key/config/callback_events/test
|
Code Block |
---|
{
"event_type": "person_added"
}
|
Code Block |
---|
{
"event_type":"subscription_added",
"subscription":{
"subscription_list":{
"id":"my_list"
}
}
}
|
Code Block |
---|
{
"event_type":"ack_participant_added",
"participant":{
"acquisition_campaign":{
"id":"my_campaign"
}
}
}
|
Code Block |
---|
{
"message":"Created event for event_type 'person_added'",
"event_id":"AB234SDFD234"
}
|
Code Block |
---|
{
"errors":[
{
"message":"Could not find a callback registration for event type 'person_added'"
}
]
}
|
Returned Callback
Your callback endpoint will receive an event like the one shown below. It will contain the event_id returned in the response to the test request, and the details of the callback endpoint we are calling.
Code Block |
---|
{
"event_id":"AB234SDFD234",
"callback_id":"C1234",
"event_type":"person_added",
"event_date":"2017-02-15T15:42:23Z",
"delivery_attempt":"1",
"person":...
}
|
Note |
---|
Notes: An HTTP 201 - Created will be returned if the callback was queued for send. An HTTP 404 - Not Found error will be returned if an active callback does not exist. |