sms.received event to it every time someone texts one of
your numbers, telling you who texted (their number and contact record), which of your numbers
they texted, and what they said. Works for every number on your account, whichever carrier it runs on.
1. Register your endpoint
phone_number_id to hear about texts to all your numbers. The URL must be public HTTPS.
The response includes a secret (whsec_…). It is shown only once: store it now, you need it to
verify deliveries. Lost it? Delete the webhook and create a new one.
2. Receive sms.received
Respond with any
2xx within 10 seconds. To see the full thread with this person, call
GET /v1/history/texts?phone_number=<from>; for everything else you know about them, call
GET /v1/contacts/<data.contact.id>.
3. Verify the signature
X-LumisReach-Signature-256 is the hex HMAC-SHA256 of the raw request body, keyed with your
webhook secret. It is the same scheme LumisReach call webhooks use.
Retries
The first delivery is made right away. If your server errors, times out, or returns a non-2xx
(redirects are not followed), it is retried 3 more times: after 1, 5 and 30 minutes. Every attempt is
recorded in the webhook delivery log in your dashboard.
Test it
POST /v1/sms/webhooks/{id}/test sends a sample, correctly signed event with "test": true and tells
you how your server responded.