Центр допомоги Передача статусу сповіщення

Передача статусу сповіщення

POST /api/push/notifications/{guid}/status
X-Push-App-Key: <ключ застосунку>
Content-Type: application/json
{ "status": "delivered", "occurredAt": "2026-08-07T12:44:03.219Z" }

Поля

ПолеПримітки
statusdelivered або seen.
occurredAtКоли подія сталася на пристрої, ISO-8601.

guid береться з data.guid у тілі повідомлення.

Це не телеметрія

Каскад чекає на delivered, перш ніж перейти на SMS або Viber. Відсутність статусу означає, що клієнт заплатить за повідомлення, яке користувач уже прочитав на екрані.

Надсилайте delivered щойно повідомлення отримано — і з foreground-, і з background-обробника — та seen при тапі на сповіщення.

Дедуплікуйте за guid

Одне й те саме повідомлення може дійти кількома шляхами, а локально перемальоване сповіщення приходить ще раз через слухач expo-notifications. Дедуплікуйте за data.guid перед відправкою статусу.

Звідки брати guid

Повідомлення надсилаються data-only, тому всі поля приходять усередині data:

  • Android: remoteMessage.data["guid"]
  • iOS: userInfo["guid"]

Якщо статуси перестали надходити після зміни на бекенді

На Android повідомлення з блоком notification малює система, і воно не доходить до JS, доки на нього не натиснуть — тобто delivered не надсилається ніколи. Саме тому сервіс шле data-only. Якщо статуси зникли після зміни на бекенді, перевірте, чи не повернувся блок notification у payload.

Пов’язані матеріали