Отправка PUSH-уведомлений


Регистрация нового устройства

Для регистрации устройства на платформе TeraSMS из мобильного приложения на устройстве абонента должен быть отправлен POST-запрос на URL https://auth.terasms.ru/push/register_device/json

Тело запроса форматируется в формате JSON и имеет следующие параметры:

Параметр Описание Тип Обязательный
app_id ID приложение (выдается менеджером при подключении услуги) string да
msisdn Телефон абонента string да
os Операционная система абонента enum("ios", "android") да
token Токен устройства string да

В качестве ответа придёт JSON со следующими параметрами:

Параметр Описание Тип/Значение
status Статус выполнения запроса enum("success", "error")
message Описание ошибки или сообщение об успешной регистрации устройства string

Пример запроса

POST https://auth.terasms.ru/push/register_device/json { "app_id":"59a968d8c40f60.69214164", "msisdn":"71234567890", "token":"FU4fh0_lxhI:ApA91bFGiwSde5qx2qB4x3W2nmWSdLmZlMBTQviQ5kd_YJKn8IZv0w65XRujZ_5YQPe5RwAfSrrY-2YHYlndZstl_Pe-dD3qbFClDF9AVMLltEwu9mzMHsz4wlDrsjUZaSJ22uzfZq1W", "os":"android" }

Пример ответа

{ "status": "success", "message": "device FU4fh0_lxhI:ApA91bFGiwSde5qx2qB4x3W2nmWSdLmZlMBTQviQ5kd_YJKn8IZv0w65XRujZ_5YQPe5RwAfSrrY-2YHYlndZstl_Pe-dD3qbFClDF9AVMLltEwu9mzMHsz4wlDrsjUZaSJ22uzfZq1W was registered successfully" }

Отправка PUSH-уведомлений через API

Для отправки сообщения необходимо произвести POST-запрос на адрес https://auth.terasms.ru/push/send/json

Описание параметров запроса

Параметр Описание Тип Обязательный
login Ваш логин на платформе TeraSMS string да
sign Подпись запроса (см. раздел «Авторизация при использовании HTTP API»). string да
app_id ID приложения, выданный менеджером при регистрации услуги string да
msisdn Номер телефона абонента string да
title Заголовок уведомления string да
message Текст уведомления string да

Параметры ответа

Параметр Описание Тип
status Статус выполнения запроса int (8 bit, signed)
status_description Описание статуса выполнения запроса string
message_id ID сообщения. Параметр присутствует только если запрос был выполнен без ошибок (значение параметра status = 0) int (32 bit, unsigned)

Пример запроса

{ "app_id":"59a968d8c40f60.69214164", "msisdn":"71234567890", "message":"hello from terasms.ru", "title": "hello", "login": "hptest", "sign": "5c7a4b1ee152f0ce94e967ea78514064" }

Пример ответа

{ "status":0, "status_description":"OK", "message_id":"274888221" }

Коды ошибок отправки сообщения

Код ошибки Значение
0 Ошибок нет
-90 PUSH-удомления выключены для вашего аккаунта
-40 Отсутствуют связанные с переданным номером абонента устройства
-60 Нет зарегистированного приложения с переданным app_id

Отписка устройства от PUSH-уведомлений

Для того, чтобы отписать устройство от уведомлений, необходимо отправить POST-запрос на следующий URL: https://auth.terasms.ru/push/unsubscribe/json

Тело запроса форматируется в формате JSON и имеет следующие параметры:

Параметр Описание Тип Обязательный
app_id ID приложение (выдается менеджером при подключении услуги) string да
token Токен устройства string да

В качестве ответа придёт JSON со следующими параметрами:

Параметр Описание Тип/Значение
status Статус выполнения запроса enum("success", "error")
message Описание ошибки или об успехе string

Пример запроса

POST https://auth.terasms.ru/push/unsubscribe/json { "app_id":"59a968d8c40f60.69214164", "token":"FU4fh0_lxhI:ApA91bFGiwSde5qx2qB4x3W2nmWSdLmZlMBTQviQ5kd_YJKn8IZv0w65XRujZ_5YQPe5RwAfSrrY-2YHYlndZstl_Pe-dD3qbFClDF9AVMLltEwu9mzMHsz4wlDrsjUZaSJ22uzfZq1W", }

Пример ответа

{ "status": "success", "message": "device FU4fh0_lxhI:ApA91bFGiwSde5qx2qB4x3W2nmWSdLmZlMBTQviQ5kd_YJKn8IZv0w65XRujZ_5YQPe5RwAfSrrY-2YHYlndZstl_Pe-dD3qbFClDF9AVMLltEwu9mzMHsz4wlDrsjUZaSJ22uzfZq1W was unsubscribed" }

«Каскадная» отправка сообщений

Возможна отправка сообщений «каскадом», при которой сначала предпринимается попытка доставить PUSH-уведомления, затем Viber-сообщение, и в случае неудачи сообщение отправляется через SMS.
Отправка «каскадных» сообщений.


Уведомления о доставке

В случае доставке PUSH-уведомления абоненту клиентское приложение должно отправлять отчеты о доставке по адресу https://auth.terasms.ru/push/update_status/json

Параметры запроса

Параметр Описание Тип Обязательный
message_id ID полученного устройство PUSH-сообщения string да
status Статус сообщения enum('delivered', 'read') да

Параметры ответа

Параметр Описание Тип
status Статус выполнения запроса enum('success', 'error)
message Сообщение об ошибке или успешном изменении статуса string

Пример запроса

{ "message_id":"0:1505307657999116%ab899789ab899789", "status": "delivered" }

Пример ответа

{ "status": "success", "message": "message id 1948712322 status was set to delivered" }