# Импорт клиентов
# Запрос для импорта нескольких клиентов
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 | false | Реквизиты |
| loyalty_system_is_active | boolean | false | Включена ли система лояльности для клиента |
| legal_address | object | true | Юридический адрес |
| comment | string | false | Комментарий к клиенту - для внутреннего пользования(клиент не фидит этого комментария) |
| type | range in 'org', 'fiz' | false | Тип клиента org - организация(юридическо лицо или ИП) fiz - физическое лицо |
| 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
}
]
}
}
}