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

Описание

Массовое добавление или обновление профилей клиента.

Если передать параметры объекта subscriptions status и priority со значением 0, то значение учитывается.
Чтобы не изменять и не обновлять значения этих параметров – не передавайте их, либо установите значения в -1.

В одном запросе не рекомендуется:

  • передавать более 10 000 профилей;
  • передавать более 10 Мб данных. Можно передавать больший объем в несколько потоков. 

URL-адрес

Метод: POST

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

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

  • При использовании JSON в теле запроса используйте заголовок Content-Type: application/json.
  • При использовании XML в теле запроса используйте заголовок Content-Type: application/xml.
ПараметрТипПримерОбязательныйОписание
tokenstring"abcdefghijklmnqrstuvwxyz"ДаAPI токен
dataJSON array
[
    {
        "_fname": "John",
        "_lname": "Doe",
        "subscriptions": [
            {
                "channel": "email",
                "email_data": {
                    "email": "john@example.com"
                },
                "resource_id": 1
            }
        ]
    }
]
ДаДанные о профилях
db_idint1ДаИдентификатор базы данных
skip_invalid_subscriptionsbooltrueНетПропустить невалидные подписки
по умолчанию – false
skip_triggersbooltrueНетПропустить запуск триггеров
по умолчанию – false
detect_geobooltrueНетЗаполняет геоданные по IP
Поиск профиля подписчика для обновления
matchingstring

"email"
"email_profile"
"phone"
"profile_id"
"custom"

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

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

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

emailstring"john@example.com""matching":"email" - по профилю и подпискам
"matching":"email_profile" - только по профилю
Email-адрес. Email должен присутствовать в элементе массива data.
phonestring"+79000000000""matching":"phone"Номер телефона. Телефон должен присутствовать в элементе массива data.
field_namestring

"CRM_ID"

"matching":"custom"Название кастомного поля профиля для поиска.  Данное поле должно присутствовать в элементе массива data.
resource_idint24Нет

Идентификатор ресурса для
поиска по email и phone

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

{
    "data": [
        {
            "_fname": "John",
            "_lname": "Doe",
            "custom_id": "abcdefghijklmnqrstuvwxyz",
            "email": "jane@example.com",
            "subscriptions": [
                {
                    "channel": "email",
                    "email_data": {
                        "email": "john@example.com"
                    },
                    "resource_id": 1
                }
            ]
        }
    ],
    "db_id": 1,
	"matching": "custom",
	"field_name": "custom_id",
    "skip_triggers": true,
    "detect_geo": true,
    "token": "abcdefghijklmnqrstuvwxyz"
}

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

{
    "error": 0,
    "error_text": "Successful operation",
    "result": [
        {
            "error": 0,
            "error_text": "Successful operation",
            "profile_id": "abcdefghijklmnqrstuvwxyz"
        }
    ]
}

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

ПараметрТипОписание
errorintКод ошибки, для всего запроса
error_textstringТекст ошибки, для всего запроса
resultarray of object

Результаты обновления по профилям

Порядок объектов в возвращаемом массиве result соответствует порядку объектов в входящем массиве data.

result.errorintКод ошибки, для профиля
result.error_textstringТекст ошибки, для профиля
result.profile_idstring

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

  • No labels