Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


SEO Metadata

Поле matching определяет режим поиска подписчика для обновления. Выберите свой способ поиска подписчика в базе данных: email, номер телефона, push подписка или кастомное поле.


Section

Поле matching определяет режим поиска подписчика для обновления. По умолчанию

...

email. 

При обновлении данных следует применять общий подход к матчингу.


Режим поиска подписчика

matching

Необходимые поля

Тип поля

Пример

Описание поля

По email адресу  из профиля или подписок

"email"

email

string

"

...

john@example.com"

Email-адрес

По email адресу  из профиля

"email_profile"

email

string

"

...

john@example.com"

Email-адрес

По email адресу из подписок

"email_sub"

email

string

"

...

john@example.com"

Email-адрес

По телефону из полей данных или подписок

"phone"

phone

string

"+79000000000"

Номер телефона

По телефону из полей подписок

"phone_sub"

phone

string

"+79000000000"

Номер телефона

По идентификатору профиля (только при обновлении!)

"profile_id"

profile_id

string

"abcdefghijklmnqrstuvwxyz"

Идентификатор профиля

Поиск по пуш подписке

"push_sub"

provider

string

"android-firebase"

Провайдер

subscription_idstring“1234”Идентификатор подписки

По кастомному полю

"custom"

field_name

string

"CRM_ID"

Название кастомного поля профиля для поиска.

field_valueint/string"example123"

Значение кастомного поля для поиска.

Tip
Доступен поиск по сочетанию значений  поля с типом "тэги". Тэги передаются в строке через запятую: "тэг_1, тэг_2".


Поиск профиля по подписке на кастомный канал

"custom_sub"

field_name

string

"CRM_ID"

Название кастомного поля профиля для поиска.

field_valueint/string"example123"Значение кастомного поля для поиска.

По email адресу или телефону из профиля

"email_phone"

email / phone

string

"

...

john@example.com" / "+79000000000"

Email-адрес / Номер телефона

По email адресу или телефону из подписок

"email_phone_sub"

email / phone

string

"

...

john@example.com" / "+79000000000"

Email-адрес / Номер телефона



Tip
titleUnclear matching

Если поле, которое вы передаете в теле запроса, не является уникальным, т.е. значение этого поля совпадает у нескольких профилей, то запрос вернет ошибку "Unclear matching".


Tip
titleDuplicate unique data

Ошибка "Duplicate unique data" возникает, если при импорте профиля вы используете кастомное уникальное поле для матчинга и при этом нарушаете уникальность системного поля.

Например, для матчинга используется уникальное кастомное поле client_id. В базе есть профиль с полями: email: test@example.com, client_id: 100. Вы импортируете ещё один профиль с полями: email: test@example.com, client_id: 101. Запрос вернет ошибку "Duplicate unique data", потому что нарушается уникальность системного поля email.

В таких случаях рекомендуется передавать поле email в объекте subscription (подписка):

Code Block
{
    "token": "m1883gf9cacngh18c912016r7c7995a",
    "db_id": 1,
    "matching": "custom",
    "field_name": "client_id",
    "field_value": "100",
    "data": {
            "_fname": "John",
            "_lname": "Doe",
            "subscriptions": [
                {
                    "channel": "email",
                    "email": "test@example.com",            
                    "resource_id": 1                
                }
            ]
        }
}


Пример импорта / обновления подписки при определенном матчинге

UI Tabs


UI Tab
titleemail, email_profile, email_sub, email_phone, email_phone_sub


Code Block
{
     "token": "m1883gf9cacngh18c912016r7c7995a",
     "db_id": 1,
     "matching": "email",
     "email": "example@example.com",
     "data": {
        "subscriptions": [
            {
                "channel": "email",
                "email": "example@example.com",           
                "resource_id": 1
            }
        ]
     }
}



UI Tab
titlephone, phone_sub, email_phone, email_phone_sub


Code Block
{
     "token": "m1883gf9cacngh18c912016r7c7995a",
     "db_id": 1,
     "matching": "phone",
     "phone": "+790000000000",
     "data": {
        "subscriptions": [
			{
                "channel": "sms",
                "phone": "+790000000000",          
                "resource_id": 1
            }
        ]
     }
}



UI Tab
titleprofile_id


Code Block
{
     "token": "91f1dfa81c264a938b475677c60ce967",
     "db_id": 1,
     "matching": "profile_id",
     "profile_id": "012452gf62fcd71fjh8ec0",   
     "data": {        
        "subscriptions": [
            {
                "channel": "email",
                "email": "example@example.com",          
                "resource_id": 1
            }
        ]
    }
}



UI Tab
titlepush_sub


Code Block
{
     "token": "91f1dfa81c264a938b475677c60ce967",
     "db_id": 1,
     "matching": "push_sub",
     "provider": "android-firebase",
     "subscription_id": "<token>",     
     "data": {        
        "subscriptions": [
            {
                "channel": "push",
                "subscription_id": "<token>",
                "provider": "android-firebase",             
                "resource_id": 1
            }
        ]
    }
}



UI Tab
titlecustom, custom_sub


Code Block
{
     "token": "91f1dfa81c264a938b475677c60ce967",
     "db_id": 1,
 	 "matching": "custom",
     "field_name": "CRM_id",
     "field_value": "12345",  
     "data": {        
        "subscriptions": [
            {
                "channel": "email",
                "email": "example@example.com",   
                "resource_id": 1
            }
        ]
    }
}




Tip
titleSubscriptions

Объект subscription передаёт данные о подписках профиля на ресурс. Подробнее.