Subscription object
Описание
Объект subscription
содержит данные о подписке профиля на коммуникационные каналы. Структура объекта варьируется в зависимости от типа канала и контекста API.
Основная структура
Параметры | Ти п | Пример | Описание |
---|---|---|---|
"channel" | string | "email" | Тип канала ("email" / "sms" / "push" / "notify" / "viber" / "whatsapp" / "telegram_bot") |
"db_id" | int | 1 | Идентификатор базы данных |
"email" | string | "john@example.com" | Email-адрес |
"phone" | string | "+79000000000" | Номер телефона (Для SMS-подписки) |
"provider" | string | "Firefox" | Тип провайдера (Для Push-подписки) |
"subscription_id" | string | "abcdefghijklmnqrstuvwxyz" | Идентификатор подписки (Для Push-подписки) |
"cc_data" | object | { "id": 1 } | ID чата в Telegram-бот |
{ "phone": "+79000000000" } | Телефон профиля в WhatsApp*/ Viber™ / Notify | ||
"priority" | int | 1 | Приоритет подписки (опциональное поле). В случае, если приоритет подписки передается в запросе, опция "Повышать приоритет для новых подписок" в ресурсе не работает. |
"profile_id" | string | "54759eb3c090d83494e2d804" | Идентификатор профиля |
"resource_id" | int | 1 | Идентификатор ресурса |
"custom_fields" | object | "subscribed" | Стандартные и дополнительные поля подписки (опциональное поле). Получить информацию о доступных полях подписки в ресурсе можно с помощью метода /v1.1/resources/fields_get |
"status" | string | "subscribed" | Статус подписки Подробнее |
"cats" | array | [ "category_1", "category_2" ] | Категории ресурса, на которые подписан профиль (опциональное поле). |
Расширенная структура при запросе профиля через хендлер /api/v1.1/profiles/get/
При запросе профиля через хендлер /api/v1.1/profiles/get/
объект subscription
содержит дополнительные метаданные:
-
Данные канала хранятся в отдельных объектах:
"email_data"
- для Email-подписок"phone_data"
- для SMS/Viber/WhatsApp"cc_data"
- для Telegram
-
Технические поля
"hash_id"
- уникальный хеш подпис ки"is_delete"
- флаг удаления (soft delete)
-
История:
"reg_info"
- дата регистрации подписки
Пример структуры
- JSON
- XML
{
"resource_id": 4,
"channel": "email",
"email_data": {
"email": "user@example.com",
"domain": "example.com",
"md5": "d922b1da12193df553aad2bee61da46b"
},
"status": "subscribed",
"reg_info": {
"date": "2025-07-23T11:27:05.487Z"
},
"hash_id": "7641c5c5",
"is_delete": false
}
<xml>
<subscription>
<resource_id>4</resource_id>
<channel>email</channel>
<email_data>
<email>user@example.com</email>
<domain>example.com</domain>
<md5>d922b1da12193df553aad2bee61da46b</md5>
</email_data>
<status>subscribed</status>
<reg_info>
<date>2025-07-23T11:27:05.487Z</date>
</reg_info>
<hash_id>7641c5c5</hash_id>
<is_delete>false</is_delete>
</subscription>
</xml>
Пример объекта
- JSON
- XML
{
"subscriptions": [
{
"resource_id": 1,
"channel": "email",
"email": "example@example.com"
},
{
"resource_id": 2,
"channel": "sms",
"phone": "+79000000000"
},
{
"resource_id": 1,
"channel": "push",
"subscription_id": "a81c264a938b475",
"provider": "android-firebase",
"custom_fields": {
"_browser_name": "Firefox",
"_device_type": "web",
"custom_field_1": "test value"
},
"cats": [
"category_1",
"category_2"
]
},
{
"resource_id": 1,
"channel": "whatsapp",
"cc_data": {
"phone": "+79000000000"
}
},
{
"resource_id": 1,
"channel": "viber",
"cc_data": {
"phone": "+79000000000"
}
},
{
"resource_id": 1,
"channel": "telegram_bot",
"cc_data": {
"id": 12345
}
},
{
"resource_id": 1,
"channel": "notify",
"cc_data": {
"phone": "+79000000000"
}
}
]
}
<xml>
<subscriptions>
<subscription>
<resource_id>1</resource_id>
<channel>email</channel>
<email>example@example.com</email>
</subscription>
<subscription>
<resource_id>2</resource_id>
<channel>sms</channel>
<phone>+79000000000</phone>
</subscription>
<subscription>
<resource_id>1</resource_id>
<channel>push</channel>
<subscription_id>a81c264a938b475</subscription_id>
<provider>android-firebase</provider>
<custom_fields>
<_browser_name>Firefox</_browser_name>
<_device_type>web</_device_type>
<custom_field_1>test value</custom_field_1>
</custom_fields>
<cats>
<category>category_1</category>
<category>category_2</category>
</cats>
</subscription>
<subscription>
<resource_id>1</resource_id>
<channel>whatsapp</channel>
<cc_data>
<phone>+79000000000</phone>
</cc_data>
</subscription>
<subscription>
<resource_id>1</resource_id>
<channel>viber</channel>
<cc_data>
<phone>+79000000000</phone>
</cc_data>
</subscription>
<subscription>
<resource_id>1</resource_id>
<channel>telegram_bot</channel>
<cc_data>
<id>12345</id>
</cc_data>
</subscription>
<subscription>
<resource_id>1</resource_id>
<channel>notify</channel>
<cc_data>
<phone>+79000000000</phone>
</cc_data>
</subscription>
</subscriptions>
Subscription status
Описание
Параметр status
в объекте subscription
перезаписывает статус подписки. Рекомендуется передавать его только в тех случаях, когда необходимо обновить статус.
Использовать можно как строчные, так и численные обозначения статуса подписки.
Статус | Описание | Число |
---|---|---|
subscribed | Коммуникация возможна, подписан | 0 |
unsubscribed | Отписался сам или отписан | 1 |
complained | Пожаловался на сообщение (FBL, CFL) | 2 |
hardbounced | Недействительный адрес | 3 |
unconfirmed | Не подтвердил подписку, возможна отправка писем подтверждения | 4 |
suspended | Временно приостановленная подписка | 5 |
invalid | Для других причин, когда коммуникация невозможна | 6 |
*Организация Meta, которой принадлежат продукты Instagram, Facebook и WhatsApp, признана экстремистской и запрещена на территории РФ.
** Viber™ является товарным знаком Rakuten Group, Inc. Заблокирован на территории РФ.