Skip to content

Device API

POST https://api.wavesend.ru/json/1.3/registerDevice

Вызывается SDK изнутри. Регистрирует устройство для Application.

ИмяОбязательноЗначениеОписание
AuthorizationДаToken XXXXAPI Device Token для доступа к Device API. Замените XXXX вашим настоящим API Device Token.
ИмяТипОписание
application*stringКод Application Wavesend
push_tokenstringPush token для устройства.
languagestringЯзыковая локаль устройства. Должен быть двухбуквенный код в нижнем регистре согласно стандарту ISO-639-1.
hwid*stringУникальная строка для идентификации устройства (IDFV на iOS, случайно сгенерированное значение на Android). Подробнее
timezoneintegerСмещение временной зоны для устройства в секундах.
device_type*integerТип устройства. Возможные значения см. ниже.
emailstringEmail-адрес для регистрации (используйте для Email-пользователей вместо HWID и push token).
tagsobjectЗначения Tag, которые нужно присвоить зарегистрированному устройству.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Пример
{
"request": {
"application": "XXXXX-XXXXX", // обязательно. Код Application Wavesend
"push_token": "dec301908b9ba8XXXXX57a58e40f96f5XXXXX2068674f5XXXXa25cdc250a2a41", // необязательно.
"hwid": "1CA6XXXXX-8DAC-XXXXX-XXXXX-B756288B6D3C", // обязательно. ID аппаратного устройства (HWID)
"idfa": "AEBE52E7-0XXXXX-455A-XXXXX-E57283966239", // необязательно.
"timezone": 3600, // необязательно. Смещение в секундах
"device_type": 1, // обязательно. Возможные значения см. ниже. Для email
// используйте параметр "emails", как описано ниже.
"email": "email_address@domain.com", // используйте вместо "hwid" и "push_token" для регистрации
// email-адреса для вашего email-проекта
"language": "en", // необязательно. Код языка по ISO 639-1|639-2
"userId": "Alex", // необязательно.
"tags": { // необязательно. Значения Tag, которые нужно установить для зарегистрированного устройства
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"], // устанавливает список значений для Tag типа 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
  • 14 – Email
  • 17 – Huawei
  • 18 – SMS
  • 21 – WhatsApp

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

Section titled “Регистрация email-устройств”

Чтобы зарегистрировать email-подписчика для вашего приложения, отправьте параметр "email": "email_address@domain.com" в вашем запросе /registerDevice или /registerEmail следующим образом:

{
"request":{
"application": "XXXXX-XXXXX", // обязательно. Код Application Wavesend
"email": "email_address@domain.com", // обязательно. Email-адрес для регистрации в вашем email-проекте
"language": "en", // необязательно. Код языка по ISO 639-1|639-2
"userId": "Alex", // необязательно.
"tags": { // необязательно. Значения Tag, которые нужно установить для зарегистрированного устройства
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"], // устанавливает список значений для Tag типа List
"DateTag": "2024-10-02 22:11", // обратите внимание, что время должно быть в UTC
"BooleanTag": true // допустимые значения: true, false
}
}
}

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

Section titled “Регистрация WhatsApp-устройств”

Чтобы зарегистрировать WhatsApp-устройство для вашего приложения, следуйте этим рекомендациям:

  • hwid: Убедитесь, что это поле содержит префикс whatsapp: и номер телефона в формате E.164 (например, whatsapp:+0000000000). Номер телефона должен быть действительным, Wavesend проверит его.

  • Push token: Push token не требуется, так как hwid будет автоматически использоваться в качестве push token.

  • device_type: Установите для этого поля значение 21, чтобы указать WhatsApp в качестве платформы.

{
"request": {
"application": "XXXXX-XXXXX", // обязательно. Код Application Wavesend
"hwid": "whatsapp:+0000000000", // обязательно. Префикс WhatsApp и действительный номер телефона
"timezone": 3600, // необязательно. Смещение времени в секундах
"device_type": 21, // обязательно. Тип устройства WhatsApp — 21
"language": "en", // необязательно. Код языка по ISO 639-1|639-2
"userId": "Alex", // необязательно. Идентификатор пользователя
"tags": { // необязательно. Значения Tag для пользовательской сегментации
"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-устройств

Section titled “Регистрация SMS-устройств”

Чтобы зарегистрировать SMS-устройство для вашего приложения, следуйте этим рекомендациям:

  • hwid: Убедитесь, что это поле содержит номер телефона в формате E.164 (например, +0000000000). Номер телефона должен быть действительным, Wavesend проверит его.

  • Push token: Push token не требуется, так как hwid будет автоматически использоваться в качестве push token.

  • device_type: Установите для этого обязательного поля значение 18, чтобы указать SMS в качестве платформы.

{
"request": {
"application": "XXXXX-XXXXX", // обязательно. Код Application Wavesend
"hwid": "+0000000000", // обязательно. Действительный номер телефона в формате E.164
"timezone": 3600, // необязательно. Смещение времени в секундах
"device_type": 18, // обязательно. Тип устройства SMS — 18
"language": "en", // необязательно. Код языка по ISO 639-1|639-2
"userId": "Alex", // необязательно. Идентификатор пользователя
"tags": { // необязательно. Значения Tag для пользовательской сегментации
"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" // необязательно. Версия операционной системы
}
}

Коды состояния:

Код состояния HTTPstatus_codeОписание
200200Устройство успешно зарегистрировано
200210Ошибка аргумента. Для получения дополнительной информации см. status_message.
400N/AНеверно сформированная строка запроса
500500Внутренняя ошибка

POST https://go.wavesend.ru/json/1.3/unregisterDevice

Удаляет push token устройства. Отписанное устройство по-прежнему учитывается в Total Devices и доступно для In-App. Вызывается SDK изнутри.

ИмяОбязательноЗначениеОписание
AuthorizationДаToken XXXXAPI Device Token для доступа к Device API. Замените XXXX вашим настоящим API Device Token.
ИмяТипОписание
application*stringКод Application Wavesend
hwid*stringHardware device ID, используемый в запросе /registerDevice.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Пример
{
"request": {
"application": "XXXXX-XXXXX", // обязательно. Код Application Wavesend
"hwid": "8f65b16XXXXXe7a6beceXXXXX530fb2" // обязательно. Hardware device ID, используемый в /registerDevice API
}
}

Коды состояния:

Код состояния HTTPstatus_codeОписание
200200Устройство успешно отписано
200210Ошибка аргумента. Для получения дополнительной информации см. status_message.
400N/AНеверно сформированная строка запроса
500500Внутренняя ошибка

POST https://go.wavesend.ru/json/1.3/setTags

Устанавливает значения Tag для устройства. Вызывается из SDK.

ИмяОбязательноЗначениеОписание
AuthorizationДаToken XXXXAPI Device Token для доступа к Device API. Замените XXXX вашим настоящим API Device Token.
ИмяТипОписание
application*stringКод Application Wavesend
hwid*stringHardware device ID, используемый в запросе /registerDevice.
tags*objectJSON-объект Tag, которые нужно установить; отправьте “null”, чтобы удалить значение.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Пример
{
"request":{
"application": "XXXXX-XXXXX", // обязательно. Код Application Wavesend
"hwid": "8f65b16XXXXXe7a6becXXXXXe1530fb2", // обязательно. Hardware device ID, используемый в /registerDevice API
"tags": { // обязательно.
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1", "string2"], // устанавливает список значений для Tag типа List
"DateTag": "2024-10-02 22:11", // обратите внимание, что время должно быть в UTC
"BooleanTag": true // допустимые значения - true, false
}
}
}

Инкремент значений тега типа Integer

Section titled “Инкремент значений тега типа Integer”

Чтобы увеличить (инкрементировать) значение Tag типа Integer, используйте параметр operation со значением “increment” следующим образом:

{
"request":{
"application": "12345-67890", // обязательно. Код Application Wavesend
"hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // обязательно. Hardware device ID, используемый в /registerDevice API
"tags": { // обязательно.
"Level": { // Имя Tag
"operation": "increment", // перезаписывает тег типа integer с шагом, равным следующему значению
"value": 1 // инкремент для значения тега
}
}
}
}

Декремент значений тега типа Integer

Section titled “Декремент значений тега типа Integer”

Чтобы уменьшить (декрементировать) значение, используйте отрицательные числа в качестве значения для операции “increment” (-1, -2, -3,-n):

{
"request":{
"application": "12345-67890", // обязательно. Код Application Wavesend
"hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // обязательно. Hardware device ID, используемый в /registerDevice API
"tags": { // обязательно.
"Level": { // Имя Tag
"operation": "increment", // перезаписывает тег типа integer с шагом, равным следующему значению
"value": -1 // декремент для значения тега
}
}
}
}

Добавление значений в тег типа List

Section titled “Добавление значений в тег типа List”

Чтобы дополнить Tag типа List новыми значениями, используйте параметр operation со значением “append” следующим образом:

Пример
{
"request": {
"hwid": "3d124a79XXXXf189XXXX7dfd9XXXXafd", // обязательно. Hardware device ID, используемый в /registerDevice API
"application": "6XXXX-XXXX3", // обязательно. Код Application Wavesend
"tags": { // обязательно.
"ListTag": { // Имя Tag
"operation": "append", // добавляет следующие значения в список значений Tag
"value": [ // значения для добавления
"tag2",
"tag3"
]
}
}
}
}

Удаление значений из тега типа List

Section titled “Удаление значений из тега типа List”

Чтобы удалить некоторые значения из Tag типа List, используйте операцию “remove” следующим образом:

{
"request":{
"application": "12345-67890", // обязательно. Код Application Wavesend
"hwid": "21AB7628-XXXX-XXXX-CCC0-PO287CS24CA4", // обязательно. Hardware device ID, используемый в /registerDevice API
"tags": { // обязательно.
"In-App Product": { // Имя Tag
"operation": "remove", // удаляет следующие значения из тега типа list
"value": "outwear_02" // значение или значения для удаления
}
}
}
}

Установка тегов по User ID

Section titled “Установка тегов по User ID”

Чтобы установить Tag для всех устройств, связанных с определенным User ID, используйте параметр “userId” вместо “hwid”.

Пример
{
"request":{
"application": "AAAAA-BBBBB", // Код Application Wavesend
"userId": "some_user", // User ID, для которого вы хотите установить теги
"tags": { // теги и значения для установки
"Language": "es"
}
}
}

Коды состояния:

Код состояния HTTPstatus_codeОписание
200200Tag успешно установлены
200210Ошибка аргумента. Для получения дополнительной информации см. status_message.
400N/AНеверно сформированная строка запроса
500500Внутренняя ошибка

POST https://go.wavesend.ru/json/1.3/getTags

Получает список Tag с соответствующими значениями для конкретного устройства.

ИмяОбязательноЗначениеОписание
AuthorizationДаToken XXXXAPI Device Token для доступа к Device API. Замените XXXX вашим настоящим API Device Token.
ИмяТипОписание
application*stringКод Application Wavesend
userIdstringUser ID для использования вместо hwid. Если используется вместе с hwid, то hwid имеет приоритет.
hwidstringHardware device ID, используемый в запросе /registerDevice.
{
"status_code": 200,
"status_message": "OK",
"response": {
"result": {
"Language": "fr"
}
}
}
Пример
{
"request":{
"application": "XXXXX-XXXXX", // обязательно. Код Application Wavesend
"hwid": "HWID", // необязательно. Hardware device ID, используемый в /registerDevice API
"userId": "USER_ID" // необязательно. Может использоваться вместо "hwid" для получения тегов для определенного пользователя
}
}

POST https://api.wavesend.ru/json/1.3/setBadge

Отправляет текущее значение значка (badge) для устройства в Wavesend. Вызывается SDK изнутри.

ИмяОбязательноЗначениеОписание
AuthorizationДаToken XXXXAPI Device Token для доступа к Device API. Замените XXXX вашим настоящим API Device Token.
ИмяТипОписание
application*stringКод Application Wavesend
hwid*stringHardware device ID, используемый в запросе /registerDevice.
badge*integerТекущий значок (badge) в приложении.
{
"status_code": 200,
"status_message": "OK"
}
Пример
{
"request":{
"application": "XXXXX-XXXXX", // обязательно. Код Application Wavesend
"hwid": "8f65b16dXXXXe7a6XXXX9614XXXX0fb2", // обязательно. Hardware device ID, используемый в /registerDevice API
"badge": 4 // обязательно. Текущий значок (badge) в приложении
}
}

Вызывается SDK изнутри. Отправляет текущее значение значка (badge) для устройства в Wavesend. Это происходит изнутри, когда приложение изменяет значение значка на устройстве iOS. Позволяет корректно работать автоинкременту значков.

POST https://api.wavesend.ru/json/1.3/applicationOpen

Регистрирует событие открытия приложения. Вызывается SDK изнутри.

ИмяОбязательноЗначениеОписание
AuthorizationДаToken XXXXAPI Device Token для доступа к Device API. Замените XXXX вашим настоящим API Device Token.
ИмяТипОписание
application*stringКод Application Wavesend
hwid*stringHardware device ID, используемый в запросе /registerDevice.
{
"status_code": 200,
"status_message": "OK"
}
Пример
{
"request": {
"application": "XXXXX-XXXXX", // обязательно. Код Application Wavesend
"hwid": "8f65b16dXXXXe7a6XXXX9614eXXXXfb2" // обязательно. Hardware device ID, используемый в /registerDevice API
}
}

POST https://api.wavesend.ru/json/1.3/pushStat

Регистрирует событие открытия push-уведомления. Вызывается SDK изнутри.

ИмяОбязательноЗначениеОписание
AuthorizationДаToken XXXXAPI Device Token для доступа к Device API. Замените XXXX вашим настоящим API Device Token.
ИмяТипОписание
application*stringКод Application Wavesend
hwid*stringHardware device ID, используемый в запросе /registerDevice.
userIdstringUser ID для связи с событием открытия push-уведомления.
hashstringХеш-тег, полученный в push-уведомлении (параметр “p” в полезной нагрузке Push).
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Пример
{
"request": {
"application": "XXXXX-XXXXX", // обязательно. Код Application Wavesend
"hwid": "8f65b16dfXXXX7a6beXXXX14e1530fb2", // обязательно. Hardware device ID, используемый в /registerDevice API
"userId": "USER012345", // необязательно. User ID для связи с событием открытия push-уведомления
"hash": "HASH_TAG" // необязательно. Хеш-тег, полученный в push-уведомлении
// (параметр "p" в полезной нагрузке Push)
}
}

POST https://api.wavesend.ru/json/1.3/messageDeliveryEvent

Регистрирует событие доставки push-уведомления для устройства. Вызывается SDK изнутри.

ИмяОбязательноЗначениеОписание
AuthorizationДаToken XXXXAPI Device Token для доступа к Device API. Замените XXXX вашим настоящим API Device Token.
ИмяТипОписание
application*stringКод Application Wavesend
hwid*stringHardware device ID, используемый в запросе /registerDevice.
hashstringХеш-тег, полученный в push-уведомлении (параметр “p” в полезной нагрузке Push).
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Пример
{
"request": {
"application": "XXXXX-XXXXX", // обязательно. Код Application Wavesend
"hwid": "8f65b16dfXXXX7a6bece9XXXX1530fb2", // обязательно. Hardware device ID, используемый в /registerDevice API
"hash": "HASH_TAG" // необязательно. Хеш-тег, полученный в push-уведомлении
// (параметр "p" в полезной нагрузке Push)
}
}