Changelog
Changes to the API and to this documentation, newest first.
2026-09-02
API
- Status webhooks are retried: up to three attempts, with pauses of 10 and 60 seconds. A repeat happens only on a broken connection, a timeout,
5xxor429; success is strictly 200. Handlers have to be idempotent. See Webhook, Verify (OTP) and Callbacks.
Documentation
- Callbacks — new section Delivery report by URL. The report was documented only in its email form, although the gateway posts it to the notification address for every message of the account, whatever API sent it. The claim that the JSON webhook is sent instead of these callbacks was wrong: both are sent.
- Send OTP Code (WhatsApp) — rewritten.
type:whatsappis not a message type and is rejected withInvalid message type; WhatsApp is a stage of apipelinerequest. - The delivery report to a URL and by email carries the time zone offset without a colon (
+0300), the format was documented incorrectly.
2026-08-25
API
- Webhook payload now includes
success:trueonly when the message was delivered (DELIVERED,READ,REPLIED,PARTIALLY DELIVERED), otherwisefalse. See Webhook. - If an async packet has no
idon any message, one webhook withrequest_idis sent instead of skipping the notification.
2026-08-24
API
- The notification about a rejected message now has the same shape as a delivery status: a flat object with
status: REJECTEDand the reason inerror. Thesuccessfield and the nesteddataarray are gone — one payload, one parser. See Webhook. - A rejected request now produces one notification per message that carried a
hook, each with its ownid. Previously one notification was sent per hook address, and the rest of the batch was reported to nobody. - The Verify (OTP) notification follows the same shape and now also carries
statusandupdated.
2026-08-21
Documentation
- New page Callbacks — incoming SMS to a dedicated number, Viber 2 Way replies, and the delivery report sent by email. None of these notifications were documented before.
- Webhook — added the
request_id,replyanddurationfields;idandmsg_idare strings, not numbers; added the delivery rules (one attempt, no retries, 5-second timeouts) and an example of a rejected message. - Verify (OTP) — documented the webhook that reports a rejected request.
- Request examples on the JSON API pages now come with ready-to-run cURL, PHP, Python and Node.js snippets.
- The
receive,deleteandpricecommands of the HTTP API were described assendby mistake. - Wap-Push is no longer documented.