How to use webhook
How to use webhook
Getting started
Webhook schema
https://www.jicoo.com/dashboard/webhooks
Request
Request headers
{
"content-type": "application/json",
"Jicoo-Webhook-Signature": "Signature data"
}
Verifying signatures
By including a signature in the Jicoo-Webhook-Signature header of each event, Jicoo can sign Webhook events sent to the endpoint as needed. This allows you to verify that the event was sent by Jicoo. You will need to manually implement your own solution to verify the signature.
Jicoo-Webhook-Signature: t=1662520836,v1=85c11d0c60d680ab186996f934c7dcfe64da7d925f64e9b2e4d35d1fb73d6e5f
Step 1: Extract the timestamp and signatures from the header
,
character as the delimiter. Then, separate each element using the = character as the delimiter to get the prefix-value pairs.Step 2: Prepare the signed payload string
.
Step 3: Determine the expected signature
Step 4: Compare the signatures
1.
2.
Webhook event types
event property
guest_booked
{
"createdAt": "2020-11-23T17:51:19.000Z",
"event": "guest_booked",
"object": {
"status": "open",
"timeZone": "America/New_York",
"startedAt": "2022-09-01T17:00:00.000Z",
"endedAt": "2022-09-01T18:00:00.000Z",
"createdAt": "2020-11-23T17:51:18.341Z",
"updatedAt": "2020-11-23T17:51:18.341Z",
"uid": "ACDADADASS",
"eventTypeUid": "ACDASSS1ASS",
"contact": {
"email": "example@example.com",
"name": "John Doe"
},
"answers": [{
"question": "How did you find out?",
"content": ["SNS", "DM"]
}],
"tracking": {
"utm_campaign": "winter_campaign",
"utm_source": "twitter",
"utm_medium": "owned_media",
"utm_content": "jicoo-how-to",
"utm_term": "howto"
}
}
}
guest_rescheduled
{
"createdAt": "2020-11-23T17:51:19.000Z",
"event": "guest_rescheduled",
"object": {
"status": "open",
"timeZone": "America/New_York",
"startedAt": "2022-09-01T17:00:00.000Z",
"endedAt": "2022-09-01T18:00:00.000Z",
"createdAt": "2020-11-23T17:51:18.341Z",
"updatedAt": "2020-11-23T17:51:18.341Z",
"uid": "ACDADADASS",
"eventTypeUid": "ACDASSS1ASS",
"contact": {
"email": "example@example.com",
"name": "John Doe"
},
"answers": [{
"question": "How did you find out?",
"content": ["SNS", "DM"]
}],
"tracking": {
"utm_campaign": "winter_campaign",
"utm_source": "twitter",
"utm_medium": "owned_media",
"utm_content": "jicoo-how-to",
"utm_term": "howto"
}
}
}
host_rescheduled
{
"createdAt": "2020-11-23T17:51:19.000Z",
"event": "host_rescheduled",
"object": {
"status": "open",
"timeZone": "America/New_York",
"startedAt": "2022-09-01T17:00:00.000Z",
"endedAt": "2022-09-01T18:00:00.000Z",
"createdAt": "2020-11-23T17:51:18.341Z",
"updatedAt": "2020-11-23T17:51:18.341Z",
"uid": "ACDADADASS",
"eventTypeUid": "ACDASSS1ASS",
"contact": {
"email": "example@example.com",
"name": "John Doe"
},
"answers": [{
"question": "How did you find out?",
"content": ["SNS", "DM"]
}],
"tracking": {
"utm_campaign": "winter_campaign",
"utm_source": "twitter",
"utm_medium": "owned_media",
"utm_content": "jicoo-how-to",
"utm_term": "howto"
}
}
}
guest_cancelled
{
"createdAt": "2020-11-23T17:51:19.000000Z",
"event": "guest_cancelled",
"object": {
"status": "cancel",
"timeZone": "America/New_York",
"startedAt": "2022-09-01T17:00:00.000Z",
"endedAt": "2022-09-01T18:00:00.000Z",
"createdAt": "2020-11-23T17:51:18.341657Z",
"updatedAt": "2020-11-23T17:51:18.341657Z",
"uid": "ACDADADASS",
"eventTypeUid": "ACDASSS1ASS",
"cancelReason": "Another meeting scheduled",
"cancelledAt": "2022-09-01T17:00:00.000Z",
"cancelledBy": "guest",
"contact": {
"email": "example@example.com",
"name": "John Doe"
},
"answers": [{
"question": "How did you find out?",
"content": ["SNS", "DM"]
}],
"tracking": {
"utm_campaign": "winter_campaign",
"utm_source": "twitter",
"utm_medium": "owned_media",
"utm_content": "jicoo-how-to",
"utm_term": "howto"
}
}
}
host_cancelled
{
"createdAt": "2020-11-23T17:51:19.000000Z",
"event": "host_cancelled",
"object": {
"status": "cancel",
"timeZone": "America/New_York",
"startedAt": "2022-09-01T17:00:00.000Z",
"endedAt": "2022-09-01T18:00:00.000Z",
"createdAt": "2020-11-23T17:51:18.341Z",
"updatedAt": "2020-11-23T17:51:18.341Z",
"uid": "ACDADADASS",
"eventTypeUid": "ACDASSS1ASS",
"cancelReason": "Another meeting scheduled",
"cancelledAt": "2022-09-01T17:00:00.000Z",
"cancelledBy": "host",
"contact": {
"email": "example@example.com",
"name": "John Doe"
},
"answers": [{
"question": "How did you find out?",
"content": ["SNS", "DM"]
}],
"tracking": {
"utm_campaign": "winter_campaign",
"utm_source": "twitter",
"utm_medium": "owned_media",
"utm_content": "jicoo-how-to",
"utm_term": "howto"
}
}
}
How to track event conversions
You can track with webhooks by adding a UTM (Urchin tracking module) parameter to the link on the booking page. Please follow the steps below to build the link for tracking.
This is where you label which site the booked meeting came from. For example, if you are running a campaign on Twitter, add "utm_source=twitter" to the link.
This is where you label where the link came from. For example, if you used the link on a social networking site, you could add "utm_medium=social" to the link.
Here you can name your campaign. If you have many links in many different places, this UTM code allows you to connect each one. For example, if you have a summer campaign, you can add "utm_campaign=summer%20promotion" to the link.
If you have multiple links to the same reservation page, you can use UTM Content to see where guests are clicking to make a reservation. For example, you could use "utm_content=header" for a link in the header of your website and "utm_content=footer" for a link in the footer of your website.
This is a way to track specific keywords. For example, if you pay for an ad to rank for the keyword "booking", you would need to add "utm_term=booking" to your link.
https://www.jicoo.com/{Event page URL}?utm_medium=social&utm_source=twitter&utm_campaign=summer%20promotion
"tracking": {
"utm_campaign": "summer promotion",
"utm_source": "twitter",
"utm_medium": "social",
"utm_content": null,
"utm_term": null
}
Response
Notes
Modified at 2025-02-18 09:57:18