Отправка 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" }
