Поле 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"

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

Доступен поиск по сочетанию значений  поля с типом "тэги". Тэги передаются в строке через запятую: "тэг_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-адрес / Номер телефона



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

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



{
	"token": "91f1dfa81c264a938b475677c60ce967",
	"db_id": 1,
	"matching": "email",
	"email": "example@example.com",
	"data": { 
		"subscriptions": [
			{
				"channel": "email",
				"email": "example@example.com", 
				"priority": 0, 
				"resource_id": 1,
				"status": 0
			}
		]
	}
}




{
	"token": "91f1dfa81c264a938b475677c60ce967",
	"db_id": 1,
	"matching": "phone",
	"phone": "+790000000000",
	"data": { 
		"subscriptions": [
			{
				"channel": "phone",
				"phone": "+790000000000",
				"priority": 0, 
				"resource_id": 1,
				"status": 0
			}
		]
	}
}




{
	"token": "91f1dfa81c264a938b475677c60ce967",
	"db_id": 1,
	"matching": "profile_id",
	"profile_id": "abcdefghijklmnqrstuvwxyz",
	"data": { 
		"subscriptions": [
			{
				"channel": "email",
				"email": "example@example.com", 
				"priority": 0, 
				"resource_id": 1,
				"status": 0
			}
		]
	}
}




{
	"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,
				"status": 1 // 1 = unsub
			}
		]
	}
}




{
	"token": "91f1dfa81c264a938b475677c60ce967",
	"db_id": 1,
	"matching": "custom",
	"field_name": "CRM_ID",
	"field_value": "example123",
	"data": { 
		"subscriptions": [
			{
				"channel": "email",
				"email": "example@example.com", 
				"priority": 0, 
				"resource_id": 1,
				"status": 0
			}
		]
	}
}