message.received
A contact sent a message.
Ricky signs every delivery: X-Ricky-Signature: v1=<hex> is the HMAC-SHA256 of <X-Ricky-Timestamp>.<raw body> keyed with the webhook signing_secret. Answer any 2xx within 10 seconds; Ricky makes up to ten attempts with growing waits and may deliver an event twice, so deduplicate by id.
X-Ricky-Delivery-Id*stringDelivery ID; equals the body id.
X-Ricky-Timestamp*stringUnix time of the attempt.
X-Ricky-Signature*stringv1= and the hex HMAC-SHA256.
application/json- body
The JSON body Ricky posts to a webhook endpoint.
id*stringDelivery ID. Deduplicate by it.
uuidtype*string"message.received""message.sent""conversation.opened""conversation.closed""conversation.assignment_changed"occurred_at*stringWhen it happened.
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$date-timeorganization_id*stringOrganization.
uuiddata*Received.
Example Requests
The JSON body Ricky posts to a webhook endpoint.
/message.receivedRetry a delivery POST
Queues a failed delivery again with a fresh attempt budget. Ricky sends it within 15 minutes. Scope: `webhooks:manage`.
message.sent Webhook
The provider accepted a message from the organization. Ricky signs every delivery: `X-Ricky-Signature: v1=<hex>` is the HMAC-SHA256 of `<X-Ricky-Timestamp>.<raw body>` keyed with the webhook `signing_secret`. Answer any 2xx within 10 seconds; Ricky makes up to ten attempts with growing waits and may deliver an event twice, so deduplicate by `id`.