В инструкции описаны примеры POST-запросов. Интеграция с Mindbox не будет работать, если использовать запросы из примеров ниже без редактирования.
Операции именно под вашу задачу создает и описывает в техническом задании менеджер проекта, если у вас нет такого документа, то обратитесь к вашему менеджеру.
Описание метода
Осуществляется с помощью POST-запроса. Название операции настраивается в системе Mindbox. Подробней про вызов методов в Mindbox API можно прочитать здесь.
Метод возвращает данные клиента в зависимости от настроек в системе.
Статус обработки/поиска клиента (processingStatus) может иметь различные значения для проверки наличия клиента:
Found - клиент успешно найден
NotFound - клиент не найден
Мобильные приложения и устройства клиента
Узел endpoints возвращает список мобильных приложений клиента и зарегистрированных в них устройств. Используется для диагностики недоставки push-уведомлений.
Узел endpoints не возвращается, если у клиента нет зарегистрированных устройств. Максимум 5 устройств (devices) на приложение (endpoint).
Как обновляются данные о приложении
Данные устройства обновляются только в двух случаях:
пользователь проявил активность в приложении;
при попытке отправить push-уведомление выяснилось, что токен недействителен (например, приложение удалено).
**В фоновом режиме **Mindbox SDK не обновляет статус. Пока пользователь не откроет приложение, ни активность, ни статус токена не обновятся.
Подробнее о недействительных токенах приложения и других ошибках при отправке push-уведомлений в чек-листе.
Контракт ответа
<result> <status>{Результат выполнения запроса}</status> <endpoints> <endpoint> <endpointName>{Имя точки интеграции приложения}</endpointName> <externalId>{Идентификатор точки интеграции приложения}</externalId> <devices> <device> <uuid>{Идентификатор мобильного устройства}</uuid> <isPushTarget>{Является ли устройство целевым для следующего push-уведомления}</isPushTarget> <model>{Модель устройства}</model> <operatingSystem> <family>{Семейство ОС}</family> <version>{Версия ОС}</version> </operatingSystem> <mobileAppInstallation> <version>{Версия мобильного приложения}</version> <lastUpdateDateTimeUtc>{Дата последней пользовательской активности в приложении или push-уведомления, выявившего неактивность токена}</lastUpdateDateTimeUtc> <status>{Статус токена}</status> <arePushNotificationsAllowed>{Статус разрешения получения push-уведомлений}</arePushNotificationsAllowed> </mobileAppInstallation> </device> </devices> </endpoint> </endpoints></result>
Описание полей
Поле
Описание
endpointName
Имя точки интеграции мобильного приложения
externalId
Внешний идентификатор точки интеграции.
devices[].uuid
Уникальный идентификатор устройства
devices[].isPushTarget
true — устройство, на которое будет отправлено push-уведомление. Уникально в пределах одного endpoint
devices[].model
Модель устройства
operatingSystem.family / version
Семейство и версия ОС
mobileAppInstallation.version
Версия (сборка) приложения
mobileAppInstallation.lastUpdateDateTimeUtc
Дата последней пользовательской активности либо момент, когда при отправке push-уведомления выявлена неактивность токена. Формат: yyyy-MM-dd HH:mm:ss.fff (UTC)
mobileAppInstallation.status
Статус токена: Active, Inactive
mobileAppInstallation.arePushNotificationsAllowed
Разрешение на получение push-уведомлений на устройстве
Признаки типовых причин можно определить по комбинации полей:
Пользователь отключил разрешение на устройстве. lastUpdateDateTimeUtc недавняя дата, а arePushNotificationsAllowed равно false.
Приложение может быть удалено. lastUpdateDateTimeUtc старая дата — давно не было активности из приложения. При arePushNotificationsAllowed:false невозможно отправить уведомление для проверки статуса токена.
Неактивное устройство стало целевым для push-уведомлений. У клиента два активных устройства на одном приложении. Удаление приложения и запрет на получение уведомлений также считается активностью, из-за чего неактивное приложение может получить PushTarget:true. Обращайте внимание на поля mobileAppInstallation.status и mobileAppInstallation.arePushNotificationsAllowed.