Налаштування 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 запитуhttps://esputnik.com/appinbox/v1/messages?page={pageNumber}&pageSize={pageSize}
Заголовок запитуES-TOKEN: authToken
Заголовок відповідіES-TOKEN: newAuthToken
pageminimum value 0
pageSizeminimum value 1
statusOPENED/UNOPENED
Відповідь{
"list": [{
"id" : string, // UUID
"createdDate" : long, //timestamp in milliseconds
"title": text,
"content": text,
"image": string, // URL
"link": string, // URL
"newMessage" : boolean // true for unread message
"status" : OPENED, UNOPENED // message status
},...],
"totalPages": int
}

Якщо page, status або pageSize не встановлені, у відповідь на запит повернуться всі актуальні повідомлення.

Зміна статусу повідомлень

Запит використовується для надсилання події прочитання повідомлення. Необхідно надсилати лише ідентифікатори повідомлень, у яких newMessage=true.

За допомогою запиту також можна змінити статус усіх повідомлень з "непрочитане" на "прочитане".

Метод запитуPOST
URL запитуhttps://esputnik.com/appinbox/v1/messages/status
Заголовок запитуES-TOKEN: authToken
Заголовок відповідіES-TOKEN: newAuthToken
Тіло запитуДля передачі події про прочитання повідомлення:
{
"status" : "OPENED",
"ids": [string]
}
Для зміни статусу всіх повідомлень на "прочитане":
{
"status": "OPENED",
"ids": null //або взагалі не передавати параметр
}
Відповідьні

Створення групи контактів, доступних для розсилки

Всі контакти, які потрапляють до eSputnik через SDK, мають Device ID. Це означає, що їм можна відправити розсилку App Inbox. 

Щоб виокремити всі контакти у вашій базі, які мають Device ID, створіть умовну групу і включіть до неї умову “Усі контакти з девайсом”.

Усі контакти з девайсом

Створення повідомлень

Інструкція по створенню App Inbox повідомлень та їх розсилання представлена на сторінці “Створення App Inbox повідомлень”.