На этой странице находится старая версия документации Altcraft Platform.
Актуальную информацию вы найдёте, перейдя по ссылке https://guides.altcraft.com.

Описание

Добавление или обновление профиля.

Чтобы одновременно с импортом отправлять триггерную кампанию, используйте этот запрос.

URL-адрес

Метод: POST

Добавление или обновление профиля.

https://example.com/api/v1.1/profiles/import

Только обновление 

https://example.com/api/v1.1/profiles/update

Параметры запроса

  • При использовании JSON в теле запроса используйте заголовок Content-Type: application/json.
  • При использовании XML в теле запроса используйте заголовок Content-Type: application/xml.
ПараметрТипПримерОбязательныйОписание
tokenstring"abcdefghijklmnqrstuvwxyz"ДаAPI токен
db_idint1ДаИдентификатор базы данных
matchingstring

"email" – поиск по email из профиля или подписок

"email_profile" – по email из профиля

"email_sub" – по email из подписок

"phone"  – по телефону из профиля или подписок

"phone_sub"  – по телефону из подписок

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

"push_sub" – по пуш подписке

"custom" – по кастомному полю

"custom_sub" – по подписке на кастомный канал

"email_phone" – по email или телефону из профиля

"email_phone_sub" – по email или телефону из подписок

Нет, если поиск

по email из профиля или подписок

Режим поиска подписчика.
по умолчанию – email

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

Обратите внимание, что при режиме "email" или "phone" поиск происходит одновременно в контактных данных и в подписках.

skip_triggersbooltrueНетПропустить запуск триггеров
по умолчанию – false
skip_invalid_subscriptionsbooltrueНетПропустить невалидные подписки
по умолчанию – false
detect_geobooltrueНет

Включает автоопределение geo данных по полю _regip  или _ip в data

add_to_segmentsJSON список
[
	1,
	2
]
НетДобавление профиля в сегмент

remove_from_segments

JSON список
[
	1,
	2
]
НетУдаление профиля из сегмента
dataJSON object
{
    "_fname": "John",
    "_lname": "Doe"
}
Да

Данные о профиле

в т.ч. данные о подписках на ресурсы (subscriptions)

Массив subscriptions

Массив subscriptions хранит данные о подписках профиля на ресурсы. Один объект — одна подписка.

Параметры

Тип

Пример

Описание

resource_idint1Идентификатор ресурса
statusstring"subscribed"

Статус подписки.

Рекомендуется передавать только в тех случаях, когда необходимо обновить статус подписки.

Email канал
channelstring"email"Тип канала
emailstring"john@example.com"Email-адрес
SMS канал
channelstring"sms"Тип канала
phonestring"+79000000000"Номер телефона
Push канал
channelstring"push"Тип канала
providerstring"Firefox"Тип провайдера
subscription_idstring"abcdefghijklmnqrstuvwxyz"Идентификатор подписки

Пример запроса JSON

{
     "token": "91f1dfa81c264a938b475677c60ce967",
	 "db_id": 1,
     "matching": "email",
     "email": "example@example.com",
	 "detect_geo": true,
     "data": {
        "_fname": "Olly",
        "_lname": "Lambert",

        "email": "example@example.com",
        "phones": ["+79000000000"],            
        "subscriptions": [
            {
                "channel": "email",
                "email": "example@example.com",            
                "resource_id": 1                
            },
            {
                "channel": "sms",
                "phone": "+79000000000",           
                "resource_id": 1             
            },
            {
                "channel": "push",
                "subscription_id": "a81c264a938b475",
                "provider": "android-firebase",
                "resource_id": 1
            },
            {
                "channel": "telegram_bot",
                "cc_data": {"user_chat_id"}
            },
            {    
                "channel": "whatsapp",
                "cc_data": {"user_phone"}
            }
        ],          
        "_bdate": "1990-02-22T21:00:00Z",
        "_sex": 0,

		"_regdate": "2019-03-14T22:00:00Z",
		"_regip": "94.231.119.122",
		"_ip": "94.231.119.122",

        "_tz": "Europe/Moscow",
        "_postal_code": "390000",

		"_os": "Windows 10",
        "_browser": "Firefox",

        "_vendor": "form_#31",
 
        "custom_field": "custom_value"
	}
}

Пример ответа JSON

{
    "error": 0,
    "error_text": "Successful operation",
    "profile_id": "54759eb3c090d83494e2d804"
}

Пример запроса XML

<xml>
<token>e923e55afc3e4e07bd64afb2227f8a5c</token>
<db_id>8</db_id>
<matching>email</matching>
<detect_geo>true</detect_geo>
<format>xml</format>
<skip_triggers>false</skip_triggers>
<data>
		<email>example@example.org</email>
		<_fname>Leonid</_fname>
		<_lname>Spartov</_lname>
		<_bdate>1990-02-22T21:00:00Z</_bdate>
		<_sex>M</_sex>
		<_regip>94.231.119.122</_regip>
		<custom_string>value</custom_string>
		<custom_integer>42</custom_integer>
		<custom_date>1990-02-22T21:00:00Z</custom_date>
		<cutom_tags>tag1, tag2</cutom_tags>
		<custom_boolean>true</custom_boolean>
		<custom_enum>2</custom_enum>
		<custom_ip>94.231.119.122</custom_ip>
		<subscriptions>
			<subscription>
				<resource_id>3</resource_id>
				<channel>email</channel>
				<email>example@example.org</email>
			</subscription>
			<subscription>
				<resource_id>3</resource_id>
				<channel>sms</channel>
				<phone>71234567890</phone>
			</subscription>
			<subscription>
				<resource_id>3</resource_id>
				<channel>push</channel>
				<subscription_id>ONEOF77THESE11DAYS11dd1</subscription_id>
				<provider>Chrome</provider>
			</subscription>
		</subscriptions>
	</data>
</xml>

Пример ответа XML

<result>
    <error>0</error>
    <error_text>Successful operation</error_text>
	<profile_id>c1are24fu213lwith21that2axe9<profile_id>
</result>

Возвращаемые параметры

ПараметрТипОписание
errorintКод ошибки
error_textstringТекст ошибки
profile_idstringИдентификатор профиля
  • No labels