# Импорт клиентов

# Запрос для импорта нескольких клиентов

METHOD POST
URI /v1/client/import/
AUTH Bearer <token>

# Параметры

[client, client...] где client имеет следующие атрибуты

Название Тип Обязательный Описание
id string(255) true Идентификатор в экспортирующей системе
external_id integer(11) false Идентификатор в принимающей системе
username string(255) true Имя или название организации
account_number integer(11) true Абонентский номер
phones array true Список телефонов, например [+79191991919,+7 (818) 188-18-18]
requisites object true Реквизиты
loyalty_system_is_active boolean false Включена ли система лояльности для клиента
legal_address object true Юридический адрес
comment string false Комментарий к клиенту - для внутреннего пользования(клиент не фидит этого комментария)
type range in 'org', 'fiz' false Тип клиента
org - организация(юридическо лицо или ИП)
fiz - физическое лицо
email string(255) false Электронная почта
addresses array false Список адресов
product_price_list array false Список индивидуальных цен на товары

Атрибуты объекта "Юридический адрес" legal_address

Название Тип Обязательный Описание
str string true Юридический адрес в виде строки

Атрибуты объекта "Реквизиты" requisites

Название Тип Обязательный Описание
inn string(255) true ИНН
kpp string(255) true КПП
correspondent_account string(255) true Корреспондентский счет
account_number string(255) true Расчетный счет
bik string(255) true БИК
bank_name string(255) true Название банка

Список адресов addresses включает в себя объекты адресов [address, address...] со следующими атрибутами

Название Тип Обязательный Описание
id string(255) true Идентификатор в экспортирующей системе
external_id integer(11) false Идентификатор в принимающей системе
city string(255) true Город
street string(255) true Улица
house string(10) true Дом
entrance string(10) false Подъезд
floor string(10) false Этаж
room string(10) false Номер квартиры или офиса
loyalty_system boolean false Включена ли система лояльности для адреса клиента
district_id integer(11) false Идентификатор района доставки в принимающей системе
legal_person_id string(255) false Идентификатор юридического лица в uuid формате в экспортирующей системе

Список индивидуальных цен на товары product_price_list включает в себя объекты цен [product_price, product_price...] со следующими атрибутами

Название Тип Обязательный Описание
product_id string(255) true Идентификатор продукта в экспортирующей системе
external_product_id integer(10) false Идентификатор продукта в принимающей системе
price decimal(10,2) true Индивидуальная цена на продукт
active boolean true Активность(вкл/выкл)

Про изменение данных клиента

При импорте можно указать только те, атрибуты, которые необходимо изменить, при этом атрибут id обязательный - по нему будет осуществлен поиск клиента для изменения

Про систему лояльности

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

# Ответ при импорте нескольких клиентов

Ответ будет содержать объект обработанных клиентов либо сообщение об ошибке ключами этого объекта будут Идентификаторы в экспортирующей системе external_id и под каждым ключом будет описание что произошло, если при импорте не будет ошибок, то атрибут success будет содержать true, а в атрибуте data будет массив с объектом который был импортирован, если при импорте произошла ошибка, то атрибут success будет содержать false, а в атрибуте data будут указаны ошибки

Например так

{
    "success": true,
    "data": {
        "external_id_1": {
          "success": true,
          "data": {}
        },
        "external_id_2": {
          "success": false,
          "data": {}
        }
    }
}

# Пример

Запрос

[
    {
        "id": "jqLbQR3be8jlJZIh4dBrUCyyIhFzuAKK",
        "external_id": "68",
        "account_number": 68,
        "username": "Василий Тестовый",
        "type": "fiz",
        "email": "ognev@baitek.org",
        "phones": [
            "+7(908)328-08-32"
        ],
        "requisites": {
            "inn": 1234512345,
            "kpp": 1234512345,
            "correspondent_account": 1234512345,
            "account_number": 1234512345,
            "bik": 1234512345,
            "bank_name": 1234512345
        },
        "addresses": [
            {
                "id": 1234512345,
                "external_id": null,
                "city": "Сыктывкар",
                "street": "Кутузова",
                "house": "21",
                "entrance": "2",
                "floor": "1",
                "room": "1",
                "loyalty_system": false,
                "str": "город Сыктывкар улица Кутузова дом 21",
                "district_id": 1
            }
        ],
        "legal_address": {
            "str": "г. Сыктывкар,ул. Кутузова,д. 21"
        },
        "product_price_list": [
            {
                "product_id": "78e66cef-ae2c-11e6-9bf1-f8a9634f667f",
                "external_product_id": 36,
                "price": 101,
                "active": false
            }
        ],
        "loyalty_system_is_active": true
    }
]

Ответ

{
    "success": true,
    "data": {
        "jqLbQR3be8jlJZIh4dBrUCyyIhFzuAKK": {
            "success": true,
            "data": [
                {
                    "id": 68,
                    "external_id": "jqLbQR3be8jlJZIh4dBrUCyyIhFzuAKK",
                    "username": "Василий Тестовый",
                    "comment": null,
                    "email": "ognev@baitek.org",
                    "account_number": 68,
                    "type": "fiz",
                    "phones": [
                        "9083280832"
                    ],
                    "addresses": [
                        {
                            "id": 2647,
                            "external_id": null,
                            "name": "Кутузова, д. 21, эт. 1, кв./оф. 1, под. 2, г. Сыктывкар – Орбита ближняя (Париж)",
                            "city": "Сыктывкар",
                            "street": "Кутузова",
                            "house": "21",
                            "room": "1",
                            "entrance": "2",
                            "floor": "1",
                            "loyalty_system": false,
                            "district_id": 1,
                            "str": "Кутузова, д. 21, эт. 1, кв./оф. 1, под. 2, г. Сыктывкар   Орбита ближняя (Париж)"
                        }
                    ],
                    "requisites": {
                        "bank_account": {
                            "inn": "1234512345",
                            "kpp": "1234512345",
                            "account_number": "1234512345",
                            "correspondent_account": "1234512345",
                            "bik": "1234512345",
                            "bank_name": "1234512345"
                        }
                    },
                    "legal_address": [
                        "г. Сыктывкар,ул. Кутузова,д. 21"
                    ],
                    "product_price_list": {
                        "36": {
                            "product_id": 36,
                            "external_product_id": null,
                            "price": "101.00",
                            "active": false
                        }
                    },
                    "coins_amount": 800,
                    "loyalty_system_is_active": true
                }
            ]
        }
    }
}