### Example webhook payload Source: https://joltsms.com/docs/faq/differences-vs-free-receive-sms Shown in the 'Cost Transparency' section as an example of the JSON payload JoltSMS sends to your webhook endpoint when a message is received. The payload includes message ID, sender and recipient numbers, timestamp, body, and metadata such as carrier and country. ```json { "id": "msg_01J9C4...", "number": "+1XXXXXXXXXX", "from": "+1YYYYYYYYYY", "received_at": "2025-11-21T18:32:15Z", "body": "Your code is 123456", "metadata": { "carrier": "US-XYZ", "country": "US" } } ``` -------------------------------- ### Webhook payload for sms.received event Source: https://joltsms.com/docs/getting-started/receive-otps Example webhook payload sent by JoltSMS when an OTP is received. Includes event type, timestamps, sender/recipient numbers, the message text, detected code, and metadata with provider, message_id, and labels. Use the message_id for idempotency checks to avoid double-processing on retries. ```json { "event": "sms.received", "received_at_utc": "2025-11-21T19:12:03Z", "number": "+1 646-935-1546", "from": "+1 650-999-0799", "message": "Microsoft account code: 266800", "detected_code": "266800", "metadata": { "provider": "JoltSMS", "message_id": "msg_01HXXX...", "labels": ["inbox", "otp"] } } ``` -------------------------------- ### Local webhook test with npx http-echo-server Source: https://joltsms.com/docs/getting-started/receive-otps Local test tip for receiving webhooks: run an HTTP echo server on port 8080 with npx and set your webhook endpoint to a tunnel URL. Useful for verifying webhook delivery and inspecting payloads during development. ```bash # Example: receive a webhook locally with npx npx http-echo-server --port 8080 # Set your webhook endpoint to https:///hooks/joltsms ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.