Ref. www.contentstack.com/docs/developers/set-up-webhooks/webhook-data-format/
When a webhook is triggered, the data received is in the following format:
Method: POST Headers: "Content-Type: application/json", "Contentstack-Signature:9876543210"
"Body":{
"event":"string",
"module":"string",
"api_key":"string",
"data":"object"
}
Details of the POST call's 'Body' keys:
event
One of these [create, update, delete, publish, publish.start, publish.success, publish.fail, unpublish, unpublish.start, unpublish.success, unpublish.fail]
module
One of these [content types, entry, asset, release]
api_key
The API key of the stack
data
Response object
Examples
Here’s an example of a response object attached to the POST body when trying to update an existing entry in a content type.
"multiple":false
},
{
"display_name":"Webhook created",
"uid":"url",
"data_type":"text",
"field_metadata":{
"_default":true
},
"unique":false,
"mandatory":false,
"multiple":false
}
],
"options":{
"title":"title",
"singleton":false,
"publishable":true,
"is_page":true,
"sub_title":[
],
"url_pattern":"/:title",
"url_prefix":"/"
}
}
},
"event":"update",
"triggered_at":"2019-03-08T08:58:07.725Z"
}
Here’s an example of a response object attached to the POST body when an asset is published successfully on an environment.
{
"module":"asset",
"api_key":"blt22222e2222222222",
"data":{
"asset":{
"uid":"blt1c1eb111111a1d11",
"created_at":"2019-03-08T09:04:25.377Z",
"updated_at":"2019-03-08T09:04:25.377Z",
"created_by":"bltcb222222df2d2222",
"updated_by":"bltcb222222df2d2222",
"content_type":"image/png",
"file_size":"560",
"tags":[
],
"filename":"image.png",
"url":"your_asset_URL",
"ACL":{
},
"is_dir":false,
"parent_uid":null,
"_version":1,
"title":"image.png",
"description":"",
"publish_details":[
{
"environment":"blt3c3b333ae3333333",
"locale":"en-us",
"time":"2019-03-08T09:04:43.921Z",
"user":"bltcb222222df2d2222",
"version":1
}
]
},
"environment":{
"name":"blank",
"servers":[
],
"urls":[
],
"deploy_content":false,
"uid":"blt5c5b555ae5555555",
"created_by":"bltcb222222df2d2222",
"updated_by":"bltcb222222df2d2222",
"created_at":"2019-03-08T08:53:46.157Z",
"updated_at":"2019-03-08T08:53:46.157Z",
"ACL":[
],
"_version":1
},
"action":"publish",
"status":"success",
"locale":"en-us"
},
"event":"publish",
"triggered_at":"2019-03-08T09:04:53.444Z"
}
Here's an example of a response object attached to the POST body when an entry is published successfully on an environment
{
"event":"publish",
"source":{
"type":"release""title":"Release01",
"uid":"blt2f22e2222222e111"
},
"data":{
"entry":{
"..."
}
},
"api_key":"blt3333d3ad333beedc",
"module":"entry",
"triggered_at":"2019-03-06T05:34:44.876Z"
}
Here's an example of a response object attached to the POST body when an asset is published successfully on an environment
{
"event":"publish",
"source":{
"type":"release""title":"Release02",
"uid":"blt2f22e2222222e111"
},
"data":{
"asset":{
"..."
}
},
"api_key":"blt3333d3ad333beedc",
"module":"asset",
"triggered_at":"2019-03-06T05:34:44.876Z"
}
Lastly, here's an example of a response object attached to the POST body when a release has been deployed successfully.
"locked":true,
"items":[
{
"uid":"bltf0df0ea0a0000001",
"version":1,
"action":"publish",
"content_type_uid":"content_type",
"locale":"en-us",
"title":"Entry1"
},
{
"uid":"bltf0df0ea0a0000002",
"version":1,
"action":"publish",
"content_type_uid":"content_type",
"locale":"en-us",
"title":"Entry2"
},
{
"uid":"bltf0df0ea0a0000333",
"version":1,
"action":"publish",
"content_type_uid":"built_io_upload",
"locale":"en-us",
"title":"Image1.png"
},
{
"uid":"bltf0df0ea0a0000444",
"version":1,
"action":"publish",
"content_type_uid":"built_io_upload",
"locale":"en-us",
"title":"Image2.png"
}
],
"uid":"blt2f22e2222222e111",
"created_by":"blt123cdeced1231e23",
"updated_by":"blt123cdeced1231e23",
"created_at":"2019-03-08T09:25:24.165Z",
"updated_at":"2019-03-08T09:25:32.278Z",
"status":[
{
"environment":"blt3c333333c33d3a33",
"time":"2019-03-08T09:25:32.235Z",
"status":"success",
"user":"blt123cdeced1231e23"
}
]
},
"environment":{
"deploy_content":false,
"servers":[
],
"urls":[
{
"url":"",
"locale":"en-us"
}
],
"name":"production",
"uid":"blt3c333333c33d3a33",
"created_by":"blt123cdeced1231e23",
"updated_by":"blt123cdeced1231e23",
"created_at":"2019-03-08T09:22:35.779Z",
"updated_at":"2019-03-08T09:22:35.779Z",
"ACL":[
],
"_version":1
},
"action":"deploy",
"status":"success"
},
"event":"deploy",
"triggered_at":"2019-03-08T09:25:32.518Z"
}
'Fundamental > Technical ' 카테고리의 다른 글
request-promise-core (0) | 2021.06.11 |
---|---|
OAuth 2.0에 대한 가장 간단한 가이드 (0) | 2021.04.27 |
The Logic Apps Webhook Action and the Correlation Identifier Pattern (0) | 2021.04.12 |
Event-sourced game implementation example (0) | 2021.04.12 |
What Is an Event-Driven Architecture? (0) | 2021.04.12 |
댓글