Device 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", // required. Pushwoosh application code "push_token": "dec301908b9ba8XXXXX57a58e40f96f5XXXXX2068674f5XXXXa25cdc250a2a41", // optional. "hwid": "1CA6XXXXX-8DAC-XXXXX-XXXXX-B756288B6D3C", // required. Hardware device ID "idfa": "AEBE52E7-0XXXXX-455A-XXXXX-E57283966239", // optional. "timezone": 3600, // optional. Offset in seconds "device_type": 1, // required. See the possible values below. For emails, // use the "emails" params as described below. "email": "email_address@domain.com", // use instead of "hwid" and "push_token" to register // the email address for your email project "language": "en", // optional. ISO 639-1|639-2 language code "userId": "Alex", // optional. "tags": { // optional. Tag values to set for the device registered "StringTag": "string value", "IntegerTag": 42, "ListTag": ["string1", "string2"], // sets the list of values for Tags of List type "DateTag": "2024-10-02 22:11", // note the time should be in UTC "BooleanTag": true // valid values are: true, false },
// system tags, optionals "app_version": "1.2.3", "device_model": "Samsung SM-G355H", "os_version": "2.3",
// optional encryption keys for chrome/firefox "public_key": "BNmDO4BTKEMJqaqprTf7t/HBXXXXX/orcXXXXX/scS5CFP6XXXXXHI1/GgRQD8c4kTxTEEF0quvIUiLQqoBY0/Qo=", "auth_token": "RlRmCXXXXX/s7XXXXXjKFzoQ==",
// optional FCM keys for Chrome (for 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
- 16 – Baidu Android
- 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_address@domain.com" в вашем запросе /registerDevice или /registerEmail следующим образом:
Пример запроса
Anchor link to{ "request":{ "application": "XXXXX-XXXXX", // required. Pushwoosh application code "email": "email_address@domain.com", // required. Email address to register for your email project "language": "en", // optional. ISO 639-1|639-2 language code "userId": "Alex", // optional. "tags": { // optional. Tag values to set for the device registered "StringTag": "string value", "IntegerTag": 42, "ListTag": ["string1", "string2"], // sets the list of values for Tags of List type "DateTag": "2024-10-02 22:11", // note the time should be in UTC "BooleanTag": true // valid values are: 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", // required. Pushwoosh application code "hwid": "whatsapp:+0000000000", // required. WhatsApp prefix and valid phone number "timezone": 3600, // optional. Time offset in seconds "device_type": 21, // required. WhatsApp device type is 21 "language": "en", // optional. ISO 639-1|639-2 language code "userId": "Alex", // optional. User identifier "tags": { // optional. Tag values for custom segmentation "StringTag": "string value", "IntegerTag": 42, "ListTag": ["string1", "string2"], "DateTag": "2024-10-02 22:11", // UTC format "BooleanTag": true }, "app_version": "1.2.3", // optional. Application version "device_model": "Samsung SM-G355H", // optional. Device model "os_version": "2.3" // optional. Operating system version }}Регистрация 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", // required. Pushwoosh application code "hwid": "+0000000000", // required. Valid phone number in E.164 format "timezone": 3600, // optional. Time offset in seconds "device_type": 18, // required. SMS device type is 18 "language": "en", // optional. ISO 639-1|639-2 language code "userId": "Alex", // optional. User identifier "tags": { // optional. Tag values for custom segmentation "StringTag": "string value", "IntegerTag": 42, "ListTag": ["string1", "string2"], "DateTag": "2024-10-02 22:11", // UTC format "BooleanTag": true }, "app_version": "1.2.3", // optional. Application version "device_model": "Samsung SM-G355H", // optional. Device model "os_version": "2.3" // optional. Operating system version }}Коды состояния:
| Код состояния 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-токен устройства. Отписанное устройство по-прежнему учитывается в Total Devices и может получать 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", // required. Pushwoosh application code "hwid": "8f65b16XXXXXe7a6beceXXXXX530fb2" // required. Hardware device ID used in /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", // required. Pushwoosh application code "hwid": "8f65b16df378e7a6bece9614e1530fb2" // required. Hardware device ID of the device to delete}Пример ответа
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", // required. Pushwoosh application code "hwid": "8f65b16XXXXXe7a6becXXXXXe1530fb2", // required. Hardware device ID used in /registerDevice API "tags": { // required. "StringTag": "string value", "IntegerTag": 42, "ListTag": ["string1", "string2"], // sets the list of values for Tags of List type "DateTag": "2024-10-02 22:11", // note the time is in UTC "BooleanTag": true // valid values are - true, false } }}Инкремент значений тега Integer
Anchor link toЧтобы увеличить значение тега Integer, используйте параметр operation со значением “increment” следующим образом:
{ "request":{ "application": "12345-67890", // required. Pushwoosh application code "hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // required. hardware device ID used in /registerDevice API "tags": { // required. "Level": { // Tag name "operation": "increment", // overwrites the integer tag in increments of the following value "value": 1 // increment for the tag value } } }}Декремент значений тега Integer
Anchor link toДля уменьшения используйте отрицательные числа в качестве значения для операции “increment” (-1, -2, -3, -n):
{ "request":{ "application": "12345-67890", // required. Pushwoosh application code "hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // required. Hardware device ID used in /registerDevice API "tags": { // required "Level": { // Tag name "operation": "increment", // overwrites the integer tag in decrement of the following value "value": -1 // decrement for the tag value } } }}Добавление значений в тег List
Anchor link toЧтобы дополнить тег List новыми значениями, используйте параметр operation со значением “append” следующим образом:
{ "request": { "hwid": "3d124a79XXXXf189XXXX7dfd9XXXXafd", // required. Hardware device ID used in /registerDevice API "application": "6XXXX-XXXX3", // required. Pushwoosh application code "tags": { // required. "ListTag": { // Tag name "operation": "append", // appends following values to the Tag's list of values "value": [ // values to append "tag2", "tag3" ] } } }}Удаление значений из тега List
Anchor link toЧтобы удалить некоторые значения из тега List, используйте операцию “remove” следующим образом:
{ "request":{ "application": "12345-67890", // required. Pushwoosh application code "hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // required. Hardware device ID used in /registerDevice API "tags": { // required. "In-App Product": { // Tag name "operation": "remove", // removes the following values from the list tag "value": "outwear_02" // value or values to remove } } }}Установка тегов по UserID
Anchor link toЧтобы установить теги для всех устройств, связанных с определенным User ID, используйте параметр “userId” вместо “hwid”.
{ "request":{ "application": "AAAAA-BBBBB", // Pushwoosh app code "userId": "some_user", // user ID you'd like to set tags for "tags": { // tags and values to set "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", // required. Pushwoosh application code "hwid": "HWID", // optional. Hardware device ID used in /registerDevice API "userId": "USER_ID" // optional. Can be used instead of "hwid" to retrieve tags for a specific user }}setBadge
Anchor link toPOST https://api.pushwoosh.com/json/1.3/setBadge
Отправляет текущее значение значка (badge) для устройства в Pushwoosh. Вызывается из SDK.
Заголовки запроса
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 | Текущий значок (badge) в приложении. |
{ "status_code": 200, "status_message": "OK"}{ "request":{ "application": "XXXXX-XXXXX", // required. Pushwoosh application code "hwid": "8f65b16dXXXXe7a6XXXX9614XXXX0fb2", // required. Hardware device ID used in /registerDevice API "badge": 4 // required. Current badge on the application }}Вызывается из SDK. Отправляет текущее значение значка (badge) для устройства в Pushwoosh. Это происходит, когда приложение изменяет значение значка на устройстве iOS. Позволяет корректно работать автоинкременту значков.
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", // required. Pushwoosh application code "hwid": "8f65b16dXXXXe7a6XXXX9614eXXXXfb2" // required. Hardware device ID used in /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", // required. Pushwoosh application code "hwid": "8f65b16dfXXXX7a6beXXXX14e1530fb2", // required. Hardware device ID used in /registerDevice API "userId": "USER012345", // optional. The user id to associate with the push open event "hash": "HASH_TAG" // optional. Hash tag received in push notification // ("p" parameter in the push payload) }}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", // required. Pushwoosh application code "hwid": "8f65b16dfXXXX7a6bece9XXXX1530fb2", // required. Hardware device ID used in /registerDevice API "hash": "HASH_TAG" // optional. Hash tag received in push notification // ("p" parameter in the push payload) }}