Для интеграторов
Жалобы и недоставки
Нужно забирать жалобы FBL и недоставки, синхронизировать стоп-лист и корректно разбирать отказы API.
Отчёты
Методы GET /api/v2/blist/report/non-delivery, .../fbl, .../unsubscribe. Страницы через cursor_next / limit (в Node: reportNonDelivery, reportFbl, reportUnsubscribe).
Стоп-лист
GET /api/v2/stop-list/search?email=POST /api/v2/stop-list/add/remove- Списки:
GET /api/v2/stop-list/unsubscribe|fbl|failed
Отказ «в стоп-листе»: текст вроде 550 bounced check filter, в теле есть ttl_date ("0" — бессрочно). Стабильный код: reason recipient_in_stop_list. Отказ по стоп-листу тарифицируется; адрес в копии блокирует всё письмо.
reason в ответах
Справочник ApiErrorReason в OpenAPI. Рядом могут быть docs_url и retry_after_seconds. Старые поля message / code / ttl_date не убирают.
Бесплатного тестового ключа нет (#21204). Регистрация в личном кабинете, верификация домена отправителя (DNS), затем боевой ключ для api.samotpravil.ru.