Ricky logorickyDocs

message.read

The recipient read an outbound 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. After a secret rotation the header carries two comma-separated signatures, new first, until the previous secret expires: accept the event if any v1= value matches. Ricky sends it within seconds of the event. 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.

Header Parameters

X-Ricky-Delivery-Id*string

Delivery ID; equals the body id.

X-Ricky-Timestamp*string

Unix time of the attempt.

X-Ricky-Signature*string

v1= and the hex HMAC-SHA256; two comma-separated values during a secret rotation.

Request Body

application/json
  1. body

The JSON body Ricky posts to a webhook endpoint.

id*string

Delivery ID. Deduplicate by it.

Formatuuid
type*string
Value in"message.received""message.sent""message.delivered""message.read""message.failed""conversation.opened""conversation.closed""conversation.assignment_changed""contact.created""contact.updated""webhook.test"
occurred_at*string

When it happened.

Match^(?:(?:\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)))$
Formatdate-time
organization_id*string

Organization.

Formatuuid
data*

Response Body

Received.

Example Requests

The JSON body Ricky posts to a webhook endpoint.

POST/message.read