Device API
Device API регистрирует устройства в приложении Pushwoosh и записывает их активность: значения тегов, открытия приложения, открытия и доставки push-уведомлений. Большинство этих методов Pushwoosh SDK вызывает автоматически, поэтому вызывайте их напрямую, когда управляете устройствами со своего сервера или из собственного клиента. Чтобы зарегистрировать много устройств или установить им теги одним запросом, используйте Audience API.
registerDevice
Anchor link toPOST https://api.pushwoosh.com/json/1.3/registerDevice
Вызывается внутренне из SDK. Регистрирует устройство для приложения.
Заголовки запроса
Anchor link to| Имя | Обязательно | Значение | Описание |
|---|---|---|---|
| Authorization | Да | Token XXXX | Токен Device API для доступа к Device API. Замените XXXX на ваш фактический токен Device API. |
Тело запроса
Anchor link to| Имя | Тип | Описание |
|---|---|---|
| application* | string | Код приложения Pushwoosh |
| push_token | string | Push-токен для устройства. |
| language | string | Языковая локаль устройства. Должен быть двухбуквенный код в нижнем регистре в соответствии со стандартом ISO-639-1. |
| hwid* | string | Уникальная строка для идентификации устройства (IDFV на iOS, случайно сгенерированное значение на Android). Узнать больше |
| timezone | integer | Смещение часового пояса в секундах для устройства. |
| device_type* | integer | Тип устройства. См. возможные значения ниже. |
| string | Адрес электронной почты для регистрации (используйте для email-пользователей вместо HWID и push-токена). | |
| tags | object | Значения тегов для присвоения зарегистрированному устройству. |
{ "status_code": 200, "status_message": "OK", "response": null}{ "request": { "application": "XXXXX-XXXXX", // обязательно. Код приложения Pushwoosh "push_token": "dec301908b9ba8XXXXX57a58e40f96f5XXXXX2068674f5XXXXa25cdc250a2a41", // необязательно. "hwid": "1CA6XXXXX-8DAC-XXXXX-XXXXX-B756288B6D3C", // обязательно. Аппаратный ID устройства "idfa": "AEBE52E7-0XXXXX-455A-XXXXX-E57283966239", // необязательно. "timezone": 3600, // необязательно. Смещение в секундах "device_type": 1, // обязательно. См. возможные значения ниже. Для email // используйте параметры "emails", как описано ниже. "email": "email_address@domain.com", // используйте вместо "hwid" и "push_token" для регистрации // адреса электронной почты для вашего email-проекта "language": "en", // необязательно. Код языка ISO 639-1|639-2 "userId": "Alex", // необязательно. "tags": { // необязательно. Значения тегов для установки на зарегистрированное устройство "StringTag": "string value", "IntegerTag": 42, "ListTag": ["string1", "string2"], // устанавливает список значений для тегов типа List "DateTag": "2024-10-02 22:11", // обратите внимание, что время должно быть в UTC "BooleanTag": true // допустимые значения: true, false },
// системные теги, необязательные "app_version": "1.2.3", "device_model": "Samsung SM-G355H", "os_version": "2.3",
// необязательные ключи шифрования для chrome/firefox "public_key": "BNmDO4BTKEMJqaqprTf7t/HBXXXXX/orcXXXXX/scS5CFP6XXXXXHI1/GgRQD8c4kTxTEEF0quvIUiLQqoBY0/Qo=", "auth_token": "RlRmCXXXXX/s7XXXXXjKFzoQ==",
// необязательные ключи FCM для Chrome (для XMPP) "fcm_token": "BNmDO4BTKEMJXXXXXprTf7t/XXXXXBQ/orXXXXXc/scS5CFP6zhQGIHI1/GgRQD8c4kTxTEEF0quvIUiLQqoBY0/Qo=", "fcm_push_set": "RlXXXXXGM/s7XXXXXjKFzoQ==" }}Возможные типы устройств:
- 1 – iOS
- 3 – Android
- 7 – Mac OS X
- 8 – Windows
- 9 – Amazon
- 10 – Safari
- 11 – Chrome
- 12 – Firefox
- 13 – Internet Explorer
- 14 – Email
- 17 – Huawei
- 18 – SMS
- 20 – Web
- 21 – WhatsApp
- 22 – Line
- 23 – Kakao Talk
- 24 – Telegram
- 25 – Apple Wallet
- 26 – Google Wallet
- 27 – Viber
Регистрация email-устройств
Anchor link toЧтобы зарегистрировать email-подписчика для вашего приложения, отправьте параметр "email": "email_address@domain.com" в вашем запросе /registerDevice или /registerEmail следующим образом:
Пример запроса
Anchor link to{ "request":{ "application": "XXXXX-XXXXX", // обязательно. Код приложения Pushwoosh "email": "email_address@domain.com", // обязательно. Адрес электронной почты для регистрации в вашем email-проекте "language": "en", // необязательно. Код языка ISO 639-1|639-2 "userId": "Alex", // необязательно. "tags": { // необязательно. Значения тегов для установки на зарегистрированное устройство "StringTag": "string value", "IntegerTag": 42, "ListTag": ["string1", "string2"], // устанавливает список значений для тегов типа List "DateTag": "2024-10-02 22:11", // обратите внимание, что время должно быть в UTC "BooleanTag": true // допустимые значения: true, false } }}Регистрация устройств WhatsApp
Anchor link toЧтобы зарегистрировать устройство WhatsApp для вашего приложения, следуйте этим рекомендациям:
-
hwid: Убедитесь, что это поле содержит префикс
whatsapp:, за которым следует номер телефона в формате E.164 (например,whatsapp:+0000000000). Номер телефона должен быть действительным, что будет проверено Pushwoosh. -
Push-токен: Push-токен не требуется, так как
hwidавтоматически будет функционировать как push-токен. -
device_type: Установите это поле в
21, чтобы указать WhatsApp в качестве платформы.
Пример запроса
Anchor link to{ "request": { "application": "XXXXX-XXXXX", // обязательно. Код приложения Pushwoosh "hwid": "whatsapp:+0000000000", // обязательно. Префикс WhatsApp и действительный номер телефона "timezone": 3600, // необязательно. Смещение времени в секундах "device_type": 21, // обязательно. Тип устройства WhatsApp — 21 "language": "en", // необязательно. Код языка ISO 639-1|639-2 "userId": "Alex", // необязательно. Идентификатор пользователя "tags": { // необязательно. Значения тегов для пользовательской сегментации "StringTag": "string value", "IntegerTag": 42, "ListTag": ["string1", "string2"], "DateTag": "2024-10-02 22:11", // формат UTC "BooleanTag": true }, "app_version": "1.2.3", // необязательно. Версия приложения "device_model": "Samsung SM-G355H", // необязательно. Модель устройства "os_version": "2.3" // необязательно. Версия операционной системы }}Регистрация SMS-устройств
Anchor link toЧтобы зарегистрировать SMS-устройство для вашего приложения, следуйте этим рекомендациям:
-
hwid: Убедитесь, что это поле содержит номер телефона в формате E.164 (например,
+0000000000). Номер телефона должен быть действительным, что будет проверено Pushwoosh. -
Push-токен: Push-токен не требуется, так как
hwidавтоматически будет функционировать как push-токен. -
device_type: Установите это обязательное поле в
18, чтобы указать SMS в качестве платформы.
Пример запроса
Anchor link to{ "request": { "application": "XXXXX-XXXXX", // обязательно. Код приложения Pushwoosh "hwid": "+0000000000", // обязательно. Действительный номер телефона в формате E.164 "timezone": 3600, // необязательно. Смещение времени в секундах "device_type": 18, // обязательно. Тип устройства SMS — 18 "language": "en", // необязательно. Код языка ISO 639-1|639-2 "userId": "Alex", // необязательно. Идентификатор пользователя "tags": { // необязательно. Значения тегов для пользовательской сегментации "StringTag": "string value", "IntegerTag": 42, "ListTag": ["string1", "string2"], "DateTag": "2024-10-02 22:11", // формат UTC "BooleanTag": true }, "app_version": "1.2.3", // необязательно. Версия приложения "device_model": "Samsung SM-G355H", // необязательно. Модель устройства "os_version": "2.3" // необязательно. Версия операционной системы }}Коды состояния:
| Код состояния HTTP | status_code | Описание |
|---|---|---|
| 200 | 200 | Устройство успешно зарегистрировано |
| 200 | 210 | Ошибка аргумента. См. status_message для получения дополнительной информации. |
| 400 | N/A | Неверно сформированная строка запроса |
| 500 | 500 | Внутренняя ошибка |
unregisterDevice
Anchor link toPOST https://api.pushwoosh.com/json/1.3/unregisterDevice
Удаляет push-токен устройства. Отмененное устройство по-прежнему учитывается в общем количестве устройств и может быть доступно для In-App сообщений. Вызывается внутренне из SDK.
Заголовки запроса
Anchor link to| Имя | Обязательно | Значение | Описание |
|---|---|---|---|
| Authorization | Да | Token XXXX | Токен Device API для доступа к Device API. Замените XXXX на ваш фактический токен Device API. |
Тело запроса
Anchor link to| Имя | Тип | Описание |
|---|---|---|
| application* | string | Код приложения Pushwoosh |
| hwid* | string | Аппаратный ID устройства, используемый в запросе /registerDevice. |
{ "status_code": 200, "status_message": "OK", "response": null}{ "request": { "application": "XXXXX-XXXXX", // обязательно. Код приложения Pushwoosh "hwid": "8f65b16XXXXXe7a6beceXXXXX530fb2" // обязательно. Аппаратный ID устройства, используемый в /registerDevice API }}Коды состояния:
| Код состояния HTTP | status_code | Описание |
|---|---|---|
| 200 | 200 | Устройство успешно отписано |
| 200 | 210 | Ошибка аргумента. См. status_message для получения дополнительной информации. |
| 400 | N/A | Неверно сформированная строка запроса |
| 500 | 500 | Внутренняя ошибка |
deleteDevice
Anchor link toPOST https://api.pushwoosh.com/api/v2/device-api/deleteDevice
Удаляет устройство и все связанные с ним данные, идентифицированные указанным HWID в приложении. В отличие от /unregisterDevice, который только удаляет push-токен и сохраняет запись об устройстве, /deleteDevice полностью удаляет устройство. Запрос обрабатывается асинхронно, и конечная точка возвращает 200 OK, как только запрос на удаление был принят к обработке.
Заголовки запроса
Anchor link to| Имя | Обязательно | Значение | Описание |
|---|---|---|---|
| Authorization | Да | Token XXXX | Токен Device API для доступа к Device API. Замените XXXX на ваш фактический токен Device API. |
| Content-Type | Да | application/json |
Тело запроса
Anchor link to| Имя | Обязательно | Тип | Описание |
|---|---|---|---|
| application | Да | string | Код приложения Pushwoosh |
| hwid | Да | string | Аппаратный ID устройства для удаления. |
Пример запроса
Anchor link to{ "application": "XXXXX-XXXXX", // обязательно. Код приложения Pushwoosh "hwid": "8f65b16df378e7a6bece9614e1530fb2" // обязательно. Аппаратный ID устройства для удаления}Пример ответа
Anchor link to{ "status_code": 200, "status_message": "OK", "response": null}Коды состояния
Anchor link to| Код состояния HTTP | status_code | Описание |
|---|---|---|
| 200 | 200 | Запрос на удаление принят |
| 200 | 210 | Ошибка аргумента. См. status_message для получения дополнительной информации. |
| 400 | N/A | Неверно сформированная строка запроса |
| 401 | N/A | Отсутствует или недействителен токен авторизации |
| 500 | 500 | Внутренняя ошибка |
setTags
Anchor link toPOST https://api.pushwoosh.com/json/1.3/setTags
Устанавливает значения тегов для устройства. Вызывается из SDK.
Заголовки запроса
Anchor link to| Имя | Обязательно | Значение | Описание |
|---|---|---|---|
| Authorization | Да | Token XXXX | Токен Device API для доступа к Device API. Замените XXXX на ваш фактический токен Device API. |
Тело запроса
Anchor link to| Имя | Тип | Описание |
|---|---|---|
| application* | string | Код приложения Pushwoosh |
| hwid* | string | Аппаратный ID устройства, используемый в запросе /registerDevice. |
| tags* | object | JSON-объект тегов для установки, отправьте “null” для удаления значения. |
{ "status_code": 200, "status_message": "OK", "response": null}{ "request":{ "application": "XXXXX-XXXXX", // обязательно. Код приложения Pushwoosh "hwid": "8f65b16XXXXXe7a6becXXXXXe1530fb2", // обязательно. Аппаратный ID устройства, используемый в /registerDevice API "tags": { // обязательно. "StringTag": "string value", "IntegerTag": 42, "ListTag": ["string1", "string2"], // устанавливает список значений для тегов типа List "DateTag": "2024-10-02 22:11", // обратите внимание, что время указано в UTC "BooleanTag": true // допустимые значения - true, false } }}Увеличение значений тега Integer
Anchor link toЧтобы увеличить значение тега Integer, используйте параметр operation со значением “increment” следующим образом:
{ "request":{ "application": "12345-67890", // обязательно. Код приложения Pushwoosh "hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // обязательно. Аппаратный ID устройства, используемый в /registerDevice API "tags": { // обязательно. "Level": { // Имя тега "operation": "increment", // перезаписывает целочисленный тег с шагом следующего значения "value": 1 // инкремент для значения тега } } }}Уменьшение значений тега Integer
Anchor link toДля уменьшения используйте отрицательные числа в качестве значения для операции “increment” (-1, -2, -3, -n):
{ "request":{ "application": "12345-67890", // обязательно. Код приложения Pushwoosh "hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // обязательно. Аппаратный ID устройства, используемый в /registerDevice API "tags": { // обязательно "Level": { // Имя тега "operation": "increment", // перезаписывает целочисленный тег с уменьшением на следующее значение "value": -1 // декремент для значения тега } } }}Добавление значений в тег List
Anchor link toЧтобы расширить тег List новыми значениями, используйте параметр operation со значением “append” следующим образом:
{ "request": { "hwid": "3d124a79XXXXf189XXXX7dfd9XXXXafd", // обязательно. Аппаратный ID устройства, используемый в /registerDevice API "application": "6XXXX-XXXX3", // обязательно. Код приложения Pushwoosh "tags": { // обязательно. "ListTag": { // Имя тега "operation": "append", // добавляет следующие значения в список значений тега "value": [ // значения для добавления "tag2", "tag3" ] } } }}Удаление значений из тега List
Anchor link toЧтобы удалить некоторые значения из тега List, используйте операцию “remove” следующим образом:
{ "request":{ "application": "12345-67890", // обязательно. Код приложения Pushwoosh "hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // обязательно. Аппаратный ID устройства, используемый в /registerDevice API "tags": { // обязательно. "In-app Product": { // Имя тега "operation": "remove", // удаляет следующие значения из тега списка "value": "outwear_02" // значение или значения для удаления } } }}Установка тегов по UserID
Anchor link toЧтобы установить теги для всех устройств, связанных с определенным User ID, используйте параметр “userId” вместо “hwid”.
{ "request":{ "application": "AAAAA-BBBBB", // Код приложения Pushwoosh "userId": "some_user", // User ID, для которого вы хотите установить теги "tags": { // теги и значения для установки "Language": "es" } }}Коды состояния:
| Код состояния HTTP | status_code | Описание |
|---|---|---|
| 200 | 200 | Теги успешно установлены |
| 200 | 210 | Ошибка аргумента. См. status_message для получения дополнительной информации. |
| 400 | N/A | Неверно сформированная строка запроса |
| 500 | 500 | Внутренняя ошибка |
getTags
Anchor link toPOST https://api.pushwoosh.com/json/1.3/getTags
Получает список тегов с соответствующими значениями для конкретного устройства.
Заголовки запроса
Anchor link to| Имя | Обязательно | Значение | Описание |
|---|---|---|---|
| Authorization | Да | Token XXXX | Токен Device API для доступа к Device API. Замените XXXX на ваш фактический токен Device API. |
Тело запроса
Anchor link to| Имя | Тип | Описание |
|---|---|---|
| application* | string | Код приложения Pushwoosh |
| userId | string | User ID для использования вместо “hwid”. Если используется вместе с “hwid”, “hwid” имеет приоритет. |
| hwid | string | Аппаратный ID устройства, используемый в запросе /registerDevice. |
{ "status_code": 200, "status_message": "OK", "response": { "result": { "Language": "fr" } }}{ "request":{ "application": "XXXXX-XXXXX", // обязательно. Код приложения Pushwoosh "hwid": "HWID", // необязательно. Аппаратный ID устройства, используемый в /registerDevice API "userId": "USER_ID" // необязательно. Может использоваться вместо "hwid" для получения тегов для конкретного пользователя }}setBadge
Anchor link toPOST https://api.pushwoosh.com/json/1.3/setBadge
Заголовки запроса
Anchor link to| Имя | Обязательно | Значение | Описание |
|---|---|---|---|
| Authorization | Да | Token XXXX | Токен Device API для доступа к Device API. Замените XXXX на ваш фактический токен Device API. |
Тело запроса
Anchor link to| Имя | Тип | Описание |
|---|---|---|
| application* | string | Код приложения Pushwoosh |
| hwid* | string | Аппаратный ID устройства, используемый в запросе /registerDevice. |
| badge* | integer | Текущий значок в приложении. |
{ "status_code": 200, "status_message": "OK"}{ "request":{ "application": "XXXXX-XXXXX", // обязательно. Код приложения Pushwoosh "hwid": "8f65b16dXXXXe7a6XXXX9614XXXX0fb2", // обязательно. Аппаратный ID устройства, используемый в /registerDevice API "badge": 4 // обязательно. Текущий значок в приложении }}Этот метод НЕ ИСПОЛЬЗУЕТСЯ для обновления значения значка на устройстве. Вместо этого используйте запрос /createMessage с параметром "ios_badges".
applicationOpen
Anchor link toPOST https://api.pushwoosh.com/json/1.3/applicationOpen
Регистрирует событие открытия приложения. Вызывается внутренне из SDK.
Заголовки запроса
Anchor link to| Имя | Обязательно | Значение | Описание |
|---|---|---|---|
| Authorization | Да | Token XXXX | Токен Device API для доступа к Device API. Замените XXXX на ваш фактический токен Device API. |
Тело запроса
Anchor link to| Имя | Тип | Описание |
|---|---|---|
| application* | string | Код приложения Pushwoosh |
| hwid* | string | Аппаратный ID устройства, используемый в запросе /registerDevice. |
{ "status_code": 200, "status_message": "OK"}{ "request": { "application": "XXXXX-XXXXX", // обязательно. Код приложения Pushwoosh "hwid": "8f65b16dXXXXe7a6XXXX9614eXXXXfb2" // обязательно. Аппаратный ID устройства, используемый в /registerDevice API }}pushStat
Anchor link toPOST https://api.pushwoosh.com/json/1.3/pushStat
Регистрирует событие открытия push-уведомления. Вызывается внутренне из SDK.
Заголовки запроса
Anchor link to| Имя | Обязательно | Значение | Описание |
|---|---|---|---|
| Authorization | Да | Token XXXX | Токен Device API для доступа к Device API. Замените XXXX на ваш фактический токен Device API. |
Тело запроса
Anchor link to| Имя | Тип | Описание |
|---|---|---|
| application* | string | Код приложения Pushwoosh |
| hwid* | string | Аппаратный ID устройства, используемый в запросе /registerDevice. |
| userId | string | User ID для связи с событием открытия push-уведомления. |
| hash | string | Хэш-тег, полученный в push-уведомлении (параметр “p” в полезной нагрузке push-уведомления). |
{ "status_code": 200, "status_message": "OK", "response": null}{ "request": { "application": "XXXXX-XXXXX", // обязательно. Код приложения Pushwoosh "hwid": "8f65b16dfXXXX7a6beXXXX14e1530fb2", // обязательно. Аппаратный ID устройства, используемый в /registerDevice API "userId": "USER012345", // необязательно. User ID для связи с событием открытия push-уведомления "hash": "HASH_TAG" // необязательно. Хэш-тег, полученный в push-уведомлении // (параметр "p" в полезной нагрузке push-уведомления) }}messageDeliveryEvent
Anchor link toPOST https://api.pushwoosh.com/json/1.3/messageDeliveryEvent
Регистрирует событие доставки push-уведомления для устройства. Вызывается внутренне из SDK.
Заголовки запроса
Anchor link to| Имя | Обязательно | Значение | Описание |
|---|---|---|---|
| Authorization | Да | Token XXXX | Токен Device API для доступа к Device API. Замените XXXX на ваш фактический токен Device API. |
Тело запроса
Anchor link to| Имя | Тип | Описание |
|---|---|---|
| application* | string | Код приложения Pushwoosh |
| hwid* | string | Аппаратный ID устройства, используемый в запросе /registerDevice. |
| hash | string | Хэш-тег, полученный в push-уведомлении (параметр “p” в полезной нагрузке push-уведомления). |
{ "status_code": 200, "status_message": "OK", "response": null} { "request": { "application": "XXXXX-XXXXX", // обязательно. Код приложения Pushwoosh "hwid": "8f65b16dfXXXX7a6bece9XXXX1530fb2", // обязательно. Аппаратный ID устройства, используемый в /registerDevice API "hash": "HASH_TAG" // необязательно. Хэш-тег, полученный в push-уведомлении // (параметр "p" в полезной нагрузке push-уведомления) }}