Жизненный цикл сообщения
После отправки каждый получатель ставится в очередь и оплачивается (queued), затем передаётся на маршрут оператора (sent). Позже оператор сообщает, получил ли его телефон (delivered) или нет (failed).
Когда приходят отчёты
Большинство отчётов приходит в течение нескольких секунд или минут. Некоторые операторы сообщают поздно или не сообщают вовсе; сообщение без отчёта остаётся в статусе sent.
Возвраты
Стоимость неудачного сообщения автоматически возвращается на баланс. Каждый возврат виден в истории баланса вместе с id сообщения.
Получение вебхуков
Добавьте https-адрес на странице «Ключ API». Когда сообщение доставлено или не доставлено, мы отправляем POST-запрос с телом JSON: id сообщения, номер, статус, цена и ваш ref. Ответьте любым статусом 2xx; иначе мы повторим попытку до 8 раз в течение примерно двух часов.
Проверка подписи
Каждый вебхук содержит X-PortSMS-Signature: t=<time>,v1=<hex>. Вычислите HMAC-SHA256 от текста t.body с вашим секретом подписи и сравните с v1. Отклоняйте запросы старше пяти минут, чтобы старый запрос нельзя было отправить повторно.