Налаштування App Inbox для мобільних застосунків
App Inbox – альтернативний канал комунікації: повідомлення автоматично або вручну відправляються до особистого кабінету користувачів мобільного застосунку.
Загальний опис App Inbox та його переваги в порівнянні з іншими каналами ви знайдете у статті App Inbox: чому ви оціните цей канал і як його ефективно використовувати.
Налаштування App Inbox для мобільних додатків
Налаштування App Inbox включає відправлення запитів:
- Одержання токена аутентифікації.
- Отримання кількості непрочитаних повідомлень App Inbox.
- Отримання кількості сторінок із повідомленнями.
- Отримання списку всіх повідомлень App Inbox в мобільному додатку.
- Зміна статусу App Inbox повідомлень.
Запит токена автентифікації
Для отримання токена автентифікації користувача (authToken) надсилається запит із сервера до API eSputnik. Запит повинен бути автентифікований одним із способів, описаних в інструкції до API. Наприклад, API-ключем.
У запиті необхідно передати відомі поля користувача: email, phone, externalCustomerId (мінімум одне з наведених). Ці поля потрібні для пошуку контакту в eSputnik.
| Метод запиту | POST |
| URL запиту | https://esputnik.com/api/v1/auth/contact/token |
| Заголовок запиту | Content-Type: application/json |
| Тіло запиту | { "email": "string", "phone": "string", "externalCustomerId": "string" } |
| Відповідь | { "token": "string" } |
Надалі authToken використовується для автентифікації всіх запитів App Inbox. Його потрібно передавати у заголовку запиту ES-TOKEN. Після кожного запиту поточний токен інвалідується, а в заголовку відповіді ES-TOKEN надходить новий, який використовується для наступного запиту.
Якщо у відповідь на будь-який запит App Inbox надходить статус 401, запит на отримання токена необхідно повторити.
Запит кількості непрочитаних повідомлень
Запит дає можливість отримувати інформацію щодо кількості непрочитаних повідомлень у мобільному застосунку користувача. Запит може виконуватися регулярно.
| Метод запиту | GET |
| URL запиту | https://esputnik.com/appinbox/v1/messages/count |
| Заголовок запиту | ES-TOKEN: authToken |
| Заголовок відповіді | ES-TOKEN: newAuthToken |
| Відповідь | { "count": "int" } |
Якщо значення count > 0, користувач має побачити індикатор непрочитаних повідомлень.

Запит списку повідомлень
Запит дозволяє отримати у відповіді список повідомлень у мобільному застосунку з такими даними:
- ID повідомлення;
- дата створення;
- заголовок;
- текст повідомлення;
- URL зображення;
- URL посилання;
- статус повідомлення (OPENED, UNOPENED);
- категорію повідомлення;
- custom data.
| Метод запиту | GET |
| URL запиту | appinbox/v1/messages?page={pageNumber}&pageSize={pageSize}&status={status} |
| Заголовок запиту | ES-TOKEN: authToken |
| Заголовок відповіді | ES-TOKEN: newAuthToken |
| page | minimum value 0 |
| pageSize | minimum value 1 |
| status | OPENED/UNOPENED |
| Відповідь | {"list": [{"id": string, "createdDate": long, "title": text, "content": text, "image": string, "link": string, "newMessage": boolean, "status": OPENED}], "totalPages": int} |
Якщо page, status або pageSize не встановлені, у відповідь на запит повернуться всі актуальні повідомлення.
Зверніть увагуПоле
link, яке повертається для кожного повідомлення, — це відстежуване посилання eSputnik. Відкривайте цей URL без змін у вашому застосунку, коли користувач тапає повідомлення, — eSputnik автоматично відстежує клік, коли відкривається саме це посилання. Якщо замінити його на власний невідстежуваний URL, статистика кліків для кампаній App Inbox не включатиме цю взаємодію.
Зміна статусу повідомлень
Запит використовується для надсилання події прочитання повідомлення. Необхідно надсилати лише ідентифікатори повідомлень, у яких newMessage=true.
За допомогою запиту також можна змінити статус усіх повідомлень з непрочитане на прочитане.
| Метод запиту | POST |
| URL запиту | https://esputnik.com/appinbox/v1/messages/status |
| Заголовок запиту | ES-TOKEN: authToken |
| Заголовок відповіді | ES-TOKEN: newAuthToken |
| Тіло запиту | Для передачі події про прочитання повідомлення: { "status" : "OPENED", "ids": дправляю } Для зміни статусу всіх повідомлень на "прочитане": { "status": "OPENED", "ids": null //або взагалі не передавати параметр } |
| Відповідь | ні |
Запит оформлення віджета
Запит https://esputnik.com/appinbox/v1/appearance віддає конфігурацію вбудованого віджета App Inbox. Якщо ви робите власний інтерфейс і цим віджетом не користуєтесь, такої конфігурації в акаунті немає, тож запит повертає помилку — на доставку повідомлень це не впливає. Правильне рішення — прибрати цей запит зі свого коду. Натомість підтримка може створити для акаунта конфігурацію оформлення, і тоді запит повертатиме налаштування вбудованого віджета замість помилки, — але це має сенс, лише якщо ви справді збираєтесь його показувати.
Створення групи контактів, доступних для розсилки
Всі контакти, які потрапляють до eSputnik через SDK, мають Device ID. Це означає, що їм можна відправити розсилку App Inbox.
Щоб виокремити всі контакти у вашій базі, які мають Device ID, створіть умовну групу і включіть до неї умову Усі контакти з девайсом.

Зверніть увагуЗвичайні Mobile Push-повідомлення не мають вбудованої історії сповіщень — після доставлення (або закриття) push застосунок за замовчуванням ніде його не зберігає. Ресурс API Get mobile push message не закриває цю потребу: він повертає вміст шаблону повідомлення, а не ті персоналізовані значення, які були фактично доставлені конкретному контакту. Тому для динамічних (персоналізованих) пушів цього ресурсу недостатньо, щоб побудувати власний центр сповіщень. Якщо потрібна готова історія сповіщень без власної розробки, підключіть App Inbox.
Створення повідомлень
Інструкція по створенню App Inbox повідомлень та їх розсилання представлена на сторінці Створення App Inbox повідомлень.
Updated 9 days ago