Содержание
- 1 API ABCP - Административный интерфейс
- 1.1 Заказы
- 1.2 Заказ поставщику
- 1.3 Финансы
- 1.3.1 Обновление баланса клиента
- 1.3.2 Обновление лимита кредита клиента
- 1.3.3 Обновление финансовой информации клиента
- 1.3.4 Получение информации об оплатах из финмодуля
- 1.3.5 Получение информации о привязках платежей из модуля Финансы
- 1.3.6 Получение списка online платежей
- 1.3.7 Добавление оплат
- 1.3.8 Удаление привязки оплаты
- 1.3.9 Операция привязки по ранее добавленному платежу
- 1.3.10 Операция возврата платежа
- 1.3.11 Операция удаления оплат
- 1.3.12 Получение списка чеков
- 1.4 Пользователи
- 1.4.1 Получение списка пользователей
- 1.4.2 Создание пользователя
- 1.4.3 Получение списка профилей
- 1.4.4 Обновление профиля
- 1.4.5 Обновление данных пользователя
- 1.4.6 Получение списка адресов доставки
- 1.4.7 Получение клиентских настроек SMS
- 1.4.8 Получение клиентских опций
- 1.4.9 Редактирование клиентских опций
- 1.5 Зоны адресов
- 1.6 Получение списка сотрудников
- 1.7 Обновление данных сотрудника
- 1.8 Получение списка статусов
- 1.9 Получение справочника брендов
- 1.10 Получение справочника групп брендов
- 1.11 Поставщики
- 1.11.1 Получение списка поставщиков
- 1.11.2 Изменение статуса поставщика
- 1.11.3 Загрузка прайс-листа поставщика
- 1.11.4 Копирование поставщика
- 1.11.5 Удаление/отключение поставщика
- 1.11.6 Получение списка маршрутов поставщика
- 1.11.7 Обновление данных маршрута поставщика
- 1.11.8 Изменение статуса маршрута поставщика
- 1.11.9 Создание маршрута поставщика
- 1.11.10 Удаление маршрута поставщика
- 1.11.11 Подключение поставщиков к офису
- 1.11.12 Получение поставщиков офиса
- 1.11.13 Получение акций
- 1.11.14 Редактирование акций
- 1.12 Гараж
- 1.13 Получение списка настроек платёжных систем
- 1.14 Получение ссылки на оплату заказа
- 1.15 Получение ссылки на пополнение баланса
- 1.16 Каталоги в товарных группах
- 1.17 Пользовательские каталоги
- 1.18 Получение данных из истории операций
API ABCP - Административный интерфейс
Все методы в данном разделе доступны ТОЛЬКО специальному пользователю со статусом API-администратор.
Данные для подключения к АПИ в роли API-администратора доступны на странице Настройки 🠊 Система 🠊 Данные для доступа к API (страница доступна только для администратора)
Заказы
Получение списка заказов
Операция: cp/orders
Метод: GET
Принимает в качестве параметров условия фильтрации заказов. Возвращает список заказов (в т.ч. список позиций заказа).
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| dateCreatedStart | Начальная дата размещения заказа в формате ГГГГ-ММ-ДД ЧЧ:мм:СС |
| dateCreatedEnd | Конечная дата размещения заказа в формате ГГГГ-ММ-ДД ЧЧ:мм:СС |
| dateUpdatedStart | Начальная дата последнего обновления заказа в формате ГГГГ-ММ-ДД ЧЧ:мм:СС |
| dateUpdatedEnd | Конечная дата последнего обновления заказа в формате ГГГГ-ММ-ДД ЧЧ:мм:СС |
| numbers | Массив номеров заказов |
| internalNumbers | Массив номеров заказов в учетной системе (например, в 1С). Используется только, если в параметрах запроса не задан numbers. |
| statusCode | Код статус позиции заказа (один или массив кодов). Будут выбраны заказы содержащие хотя бы одну позицию в данном статусе. |
| officeId | Идентификатор офиса (в ответе по параметру могут быть отфильтрованы заказы где этот офис выбран как самовывоз или если это офис клиента или если менеджер клиента, сделавшего заказ, относится к данному офису) |
| distributorOrderId | Идентификатор заказа у поставщика. В результате вернутся все заказы которые были отправлены поставщику под этим номером. |
| isCanceled | Флаг "Запрос на удаление позиции". 0 - запрос не был отправлен, 1 - запрос отправлен, 2 - запрос отклонен менеджером. |
| distributorId | Идентификатор (один или массив идентификаторов) поставщика. В результате вернутся все заказы, содержащие хотя бы одну позицию от указанного поставщика. |
| userId | Идентификатор клиента (покупателя). В результате вернутся все заказы, сделанные указанным клиентом. |
| withDeleted | Признак, возвращать ли в ответе удаленные заказы и позиции |
| format | Формат ответа. Доступные значения:
|
| limit | Количество возвращаемых записей заказов (число, по умолчанию - 1000).
Чтобы получить информацию о количестве записей используйте параметр format со значением p |
| skip | кол-во заказов, которые нужно пропустить. (число, по умолчанию - 0) |
| desc | обратное направление сортировки по ID заказа - наверху будет самый новый (булево, по умолчанию - false) |
| isArchive | Флаг "Архивности заказа", где 0 - активный заказ (не архивный), 1 - архивный заказ.
(По умолчанию возвращаются не архивные заказы. Если указать параметр 'isArchive=1', возвращаются заказы только из архива) |
Если указан только параметр dateCreatedStart/dateUpdatedStart, будут выбраны все заказы начиная с этой даты. При указании фильтра по дате обновления, будут выбраны как новые заказы, так и обновленные, попадающие под действие фильтра.
Внимание!
По умолчанию количество возвращаемых записей ограничено 1000. Чтобы определить конкретное количество, используйте параметр format со значением p.
Если в запросе нет фильтра по дате, то, по умолчанию, ставится фильтр createdDate за последние 30 дней.
Пример запроса
https://demo.public.api.abcp.ru/cp/orders?userlogin=username&userpsw=md5pass&dateUpdatedStart=2013-08-02 00:00:00&statusCode=56233
Метод возвращает массив объектов вида:
| Поле | Описание |
|---|---|
| number | Онлайн-номер заказа в портале |
| internalNumber | Номер заказа в учетной системе (например, в 1С) |
| userId | Идентификатор клиента на сайте |
| positionsQuantity | Количество позиций |
| sum | Сумма заказа |
| date | Дата заказа |
| dateUpdated | Дата обновления |
| comment | Комментарий к заказу |
| debt | Долг по оплате заказа |
| profileId | Идентификатор профиля клиента сделавшего заказ |
| paid | Признак равен 1 или true, если заказ был успешно оплачен онлайн на сайте. |
| deliveryAddressId | Идентификатор адреса доставки |
| deliveryAddress | Адрес доставки |
| deliveryOfficeId | Идентификатор офиса самовывоза |
| deliveryOffice | Офис самовывоза |
| deliveryTypeId | Идентификатор типа доставки |
| deliveryType | Тип доставки |
| paymentTypeId | Идентификатор типа оплаты |
| paymentType | Тип оплаты |
| deliveryCost | Стоимость доставки |
| shipmentDate | Дата отгрузки |
| userName | Имя покупателя |
| userFullName | Имя организации |
| basketId | Идентификатор корзины |
| basketName | Название корзины |
| managerId | id менеджера , если заказ был создан менеджером |
| userEmail | Электронная почта покупателя |
| userCode | Внутренний код пользователя |
| userMobile | Контактный телефон пользователя |
| wholeOrderOnly | Признак - 'Получить заказ целиком' |
| code | "Ячейка заказа", если подключена опция "Заказы: При обработке выводить пустую колонку для вывода дополнительной информации" |
| isDelete | Признак "удаленный заказ" |
| positions | Список позиций заказа. |
| notes | Список заметок заказа. |
| clientOrderNumber | Номер заказа во внутренней системе учета клиента |
| isOfficialDistributor | Признак официального дистрибьютора: true - да, false - нет. (если предоставлен поставщиком) |
При использовании параметра format со значением p ответ на запрос содержит поля:
| items | Cписок (массив) заказов, удовлетворяющих заданным фильтрам. Массив представляет собой список заказов, который был бы ответом запроса без использования параметра format со значением p. |
|---|---|
| count | Количество заказов, удовлетворяющих заданным фильтрам |
Узел positions содержит массив объектов вида:
Узел notes содержит массив объектов вида:
| Поле | Описание |
|---|---|
| id | Уникальный идентификатор заметки |
| date | Дата создания |
| author | Имя автора(сотрудника) создавшего заметку |
| value | Текст заметки |
Получение информации о заказе
Операция: cp/order
Метод: GET
Принимает в качестве параметра онлайн-номер заказа. Возвращает информацию о заказе (в т. ч. список позиций заказа).
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| number | Онлайн-номер заказа |
| internalNumber | Номер заказа в учетной системе (например, в 1С). Используется только, если в параметрах запроса не задан number. |
| withDeleted | Признак, возвращать ли в ответе удаленные заказы и позиции |
| format | Формат ответа. Доступные значения: additional - к заказу будет дописан массив additional, содержащий данные клиента при гостевом заказе. |
Пример запроса
https://demo.public.api.abcp.ru/cp/order?userlogin=username&userpsw=md5pass&number=75892367
Метод возвращает объект вида:
| Поле | Описание |
|---|---|
| number | Онлайн-номер заказа в портале |
| internalNumber | Номер заказа в учетной системе (например, в 1С) |
| userId | Идентификатор клиента на сайте |
| userName | Имя клиента |
| userFullName | Имя организации |
| positionsQuantity | Количество позиций |
| sum | Сумма заказа |
| date | Дата заказа |
| comment | Комментарий к заказу |
| debt | Долг по оплате заказа |
| paid | Признак равен 1 или true, если заказ был успешно оплачен онлайн на сайте. |
| dateUpdated | Дата обновления |
| profileId | Идентификатор профиля клиента сделавшего заказ |
| deliveryAddressId | Идентификатор адреса доставки |
| deliveryAddress | Адрес доставки |
| deliveryOfficeId | Идентификатор офиса самовывоза |
| deliveryOffice | Офис самовывоза |
| deliveryTypeId | Идентификатор типа доставки |
| deliveryType | Тип доставки |
| paymentTypeId | Идентификатор типа оплаты |
| paymentType | Тип оплаты |
| deliveryCost | Стоимость доставки |
| shipmentDate | Дата отгрузки |
| basketId | Идентификатор корзины |
| basketName | Название корзины |
| managerId | id менеджера , если заказ был создан менеджером |
| additional | Может хранить в себе инфо об id сотрудника который оформил заказ на клиента, суммарный вес, признак только весь заказ и многое другое.
Если заказ был выполнен под гостем, может содержать данные гостя, которые он указал при заказе. |
| userEmail | Электронная почта покупателя |
| userCode | Внутренний код пользователя |
| code | "Ячейка заказа", если подключена опция "Заказы: При обработке выводить пустую колонку для вывода дополнительной информации" |
| wholeOrderOnly | Признак - 'Получить заказ целиком' |
| isDelete | Признак "удаленный заказ" |
| positions | Список позиций заказа. |
| notes | Список заметок заказа. |
| clientOrderNumber | Номер заказа клиента в его внутренней системе учета |
| isOfficialDistributor | Признак официального дистрибьютора: true - да, false - нет. (если предоставлен поставщиком) |
Узел notes содержит массив объектов описанных здесь
Узел positions содержит массив объектов вида:
| Поле | Описание |
|---|---|
| id | Уникальный идентификатор позиции в портале |
| code | Код позиции (произвольное значение) |
| brand | Имя производителя. |
| brandFix | Очищеное имя производителя |
| number | Номер детали (код производителя). |
| numberFix | "Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/". |
| routeId | Идентификатор маршрута склада с которого производится заказ. |
| distributorId | Идентификатор поставщика с которого производится заказ. |
| distributorName | Имя поставщика с которого производится заказ. |
| distributorType | Ти поставщика:20 - прайсовый, 21- дилерский прайс лист, 22- онлайн поставщик |
| distributorOrderId | Если был выполнен перезаказ у поставщика средствами платформы ABCP, данное поле будет содержать номер заказа у поставщика. |
| distributorOrderView | Если был выполнен заказ по API из ПУ поставщику средствами платформы ABCP, данное поле будет содержать закодированную информацию по отправленной позиции |
| supplierCode | Код поставки от Вашего поставщика, которому вы из ПУ отправляете заказ . В данном случае код поставки НЕ является ID маршрута поставщика, а содержит в себе информацию о коде поставки, который передает вам ваш поставщик. |
| dsRouteId | ID маршрута поставщика |
| locationsFullCodes | системное поле ( коды ячеек хранения в ТС) |
| itemKey | Код позиции. Внимание! Не является уникальным идентификатором! Параметр из результатов search/article. Необходимо указывать при добавлении в заказ товаров от online-поставщиков для возможности дальнейшего перезаказа на сайте поставщика из ПУ. |
| description | Описание детали. |
| quantity | Заказываемое количество |
| quantityFinal | Итоговое количество |
| priceIn | Цена поставщика за единицу товара |
| priceOut | Цена продажи за единицу товара |
| oldPriceOut | Начальная цена продажи за единицу товара до внесения изменений |
| priceRate | Курс перевода цены в валюту сайта |
| priceInSiteCurrency | Цена ПРОДАЖИ в валюте сайта |
| currencyInId | Идентификатор валюты покупки (1-Российский рубль 2- Евро 3- Доллар США 4- Гривна Украины 5- Литовский лит 6- Белорусский рубль (до 1 июля 2016) 7- Казахстанский тенге 8- Латвийский лат 9- Японская иена 10- Китайский юань 11- Армянский драм 12- Киргизский сом 13- Азербайджанский манат 14- Белорусский рубль) |
| currencyOutId | Идентификатор валюты продажи (1-Российский рубль 2- Евро 3- Доллар США 4- Гривна Украины 5- Литовский лит 6- Белорусский рубль (до 1 июля 2016) 7- Казахстанский тенге 8- Латвийский лат 9- Японская иена 10- Китайский юань 11- Армянский драм 12- Киргизский сом 13- Азербайджанский манат 14- Белорусский рубль) |
| deadline | Срок поставки в часах |
| deadlineMax | Гарантированный срок поставки в часах |
| comment | Комментарий к позиции |
| commentAnswer | Ответ на комментарий к позиции |
| status | Статус позиции заказа |
| statusCode | Код статуса позиции заказа |
| statusChangeDate | Дата изменения статуса |
| isCanceled | Флаг "Запрос на удаление позиции".0 - запрос не был отправлен, 1 - запрос отправлен, 2 - запрос отклонен менеджером. |
| dateUpdated | Дата обновления |
| lineReference | Дополнительная информация (если было разделение позиции в ПУ то splitPositionId - id позиции от которой отделили текущую) |
| weight | Вес товара |
| volume | объем товара |
| articleCode | Внутренний код детали (присутствует только при условии что код выгружается в прайсе поставщика), используется как правило для синхронизации с 1С |
| garageCarId | Идентификатор автомобиля из гаража |
| isDelete | Признак "удаленная позиция" |
| noReturn | признак невозвратности позиции: 1 - нельзя вернуть, 0 - вернуть можно |
| vinQueryIds | Массив идентификаторов vin-запросов Vinqu. Если позиция добавлена в заказ по ссылке из vin-запроса. |
Получение истории изменений статуса позиции заказа
Операция: cp/order/statusHistory
Метод: GET
Принимает в качестве параметра id позиции заказа. Возвращает информацию об истории изменений статуса позиции заказа.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| positionId | Номер позиции заказа |
Пример запроса
https://demo.public.api.abcp.ru/cp/order/statusHistory?userlogin=username&userpsw=md5pass&positionId=123456789
Метод возвращает объект вида:
| Поле | Описание |
|---|---|
| statusCode | Идентификационный номер статуса |
| status | Название статуса |
| datetime | Дата и время изменения статуса |
| managerId | Идентификационный номер автора изменения |
| managerName | Имя автора изменения |
Пакетное получение истории изменений статусов позиций заказов
Операция: cp/orders/statusHistory
Метод: GET
Принимает в качестве параметра массив id позиций заказа. Позиции могут быть из разных заказов. Возвращает информацию об истории изменений статуса позиций заказов.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| positionsId | Массив id позиций заказа |
Пример запроса
https://demo.public.api.abcp.ru/cp/orders/statusHistory?userlogin=username&userpsw=md5pass&&positionsId%5B0%5D=469961941&positionsId%5B1%5D=162283919
Метод возвращает объект вида:
positions - представляет собой узел, который содержит информацию по принятым positionsId, в которых в свою очередь содержится инфо по статусам
| Поле | Описание |
|---|---|
| id | Id позиции |
| statusCode | Идентификационный номер статуса |
| status | Название статуса |
| datetime | Дата и время изменения статуса |
| managerId | Идентификационный номер автора изменения |
| managerName | Имя автора изменения |
Достать заказ из архива
Операция: cp/orders/fromArchive
Метод: POST
Метод предназначен для извлечения заказов из архива.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя пользователя в системе |
| userpsw | md5-хэш пароля пользователя в системе |
| orders | Массив номеров заказов, которые нужно достать из архива |
Пример запроса
https://demo.public.api.abcp.ru/cp/orders/fromArchive
Тело POST запроса
userlogin=username&userpsw=md5pass&orders[0]=123456789&orders[1]=987654321
Описание ответа
Метод возвращает статус 200 в случае успешного выполнения операции.
Иначе возвращается статус отличный от 200 и объект с полями:
| Параметр | Описание |
|---|---|
| errorCode | Код ошибки |
| errorMessage | Текст сообщения об ошибке |
Вернуть заказ в архив
Операция: cp/orders/toArchive
Метод: POST
Метод предназначен для возврата заказов в архив.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя пользователя в системе |
| userpsw | md5-хэш пароля пользователя в системе |
| dateTime | Перенос всех заказов в архив до указанной даты. Дата в формате ГГГГ-ММ-ДД |
Пример запроса
https://demo.public.api.abcp.ru/cp/orders/toArchive
Тело POST запроса
userlogin=username&userpsw=md5pass&dateTime=2023-09-30
Описание ответа
Метод возвращает статус 200 в случае успешного выполнения операции.
Иначе возвращается статус отличный от 200 и объект с полями:
| Параметр | Описание |
|---|---|
| errorCode | Код ошибки |
| errorMessage | Текст сообщения об ошибке |
Сохранение заказа
Операция: cp/order
Метод: POST
Универсальный метод сохранения. Принимает в качестве параметра объект описывающий заказ. Для создания заказа от имени Гостя, необходимо передавать корректно заполненные параметры: guestOrderName и guestOrderMobile или guestOrderEmail, в зависимости от обязательности полей "Мобильный" или "Email" в форме создания гостевого заказа.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| order | Объект описывающий заказ |
| clientOrderNumber | Необязательный параметр - номер заказа в системе учета клиента |
Объект описывающий заказ содержит следующие поля
| Поле | Описание |
|---|---|
| number | Онлайн-номер заказа в портале |
| internalNumber | Внутренний номер заказа в учетной системе (например, в 1С) |
| userId | Идентификатор клиента на сайте, для которого создается заказ |
| date | Дата заказа |
| comment | Комментарий к заказу |
| deliveryTypeId | Тип доставки (изменения возможны только если нет привязок платежей) |
| deliveryOfficeId | Идентификатор офиса самовывоза |
| basketId | Необязательный параметр - идентификатор корзины при использовании мультикорзины |
| guestOrderName | Необязательный параметр - имя клиента для оформления заказа от имени Гостя. Для корректного оформления заказа под гостем должны быть указаны параметры guestOrderName и guestOrderMobile. |
| guestOrderMobile | Необязательный параметр - контактный телефон клиента для оформления заказа от имени Гостя. (в формате 70000000000). Для корректного оформления заказа под гостем должны быть указаны параметры guestOrderName и guestOrderMobile. |
| shipmentDate | Дата отгрузки. |
| deliveryCost | Стоимость доставки. Необязательный параметр |
| paid | Признак может иметь значение 0 или 1 (false, true). 1 = заказ оплачен онлайн. Необязательный параметр. |
| deliveryAddressId | Число. Идентификатор адреса доставки. Если нужно создать новый адрес, то нужно передать "-1" и в параметре deliveryAddress новый адрес доставки. |
| deliveryAddress | Текст. Адрес доставки, в случае, когда необходимо сразу создать новый адрес нужно в deliveryAddressId передавать "-1" + адрес доставки |
| managerId | id менеджера по заказу |
| positions | Список позиций заказа. |
| notes | Список заметок заказа. |
| clientOrderNumber | Номер заказа в системе учета клиента |
Если передан онлайн-номер, заказ будет отредактирован. Если передан внутренний номер заказа в учетной системе, портал попробует найти заказ с этим номером и при наличии отредактирует его, иначе - создаст новый заказ. Если не передан ни онлайн-номер, ни внутренний номер, метод вернет ошибку. Для корректного оформления заказа на имя гостя должны быть переданы параметры guestOrderName и guestOrderMobile или guestOrderEmail. В случае редактирования, все поля кроме number или internalNumber являются необязательными - указанные будут изменены. В случае создания нового заказа, поля internalNumber, userId, date и positions являются обязательными. Параметр userId (или guestOrderName и guestOrderMobile или guestOrderEmail для гостевого заказа) будет использоваться только при создании заказа, при редактировании будет проигнорирован (сменить владельца заказа невозможно).
Узел positions содержит массив объектов вида:
| Поле | Описание |
|---|---|
| id | Уникальный идентификатор позиции в портале |
| code | Код позиции (произвольное значение) |
| brand | Имя производителя. |
| number | Номер детали (код производителя). |
| description | Описание детали. |
| quantity | Заказываемое количество |
| quantityFinal | Итоговое количество |
| priceIn | Цена поставщика за единицу товара |
| priceOut | Цена продажи за единицу товара |
| priceRate | Курс перевода цены в валюту сайта |
| deadline | Срок поставки в часах |
| deadlineMax | Гарантированный срок поставки в часах |
| deadlineInfo | Текстовый срок поставки |
| routeId | Идентификатор маршрута склада с которого производится заказ. Значение нужно брать из поля supplierCode операции поиска search/articles |
| supplierCode | Код склада поставщика, которому Вы отправляете заказ (НЕ ID маршрута). Его необходимо указывать только при редактировании заказа, если вы хотите его переопределить. В иных случаях значение заполняется автоматически на основе переданного itemKey. При создании заказа параметр передавать не нужно. Если в имеющемся заказе значение будет пустым, то такую позицию нельзя будет отправить в заказ онлайн поставщику. |
| itemKey | Код позиции. Необходим для добавления товара в корзину. Внимание! Не является уникальным идентификатором! Параметр из результатов search/article. Необходимо указывать при добавлении в заказ товаров от online-поставщиков для возможности дальнейшего перезаказа на сайте поставщика из ПУ. |
| comment | Комментарий к позиции |
| commentAnswer | Ответ на комментарий к позиции, "Ваш ответ" |
| statusCode | Код статуса позиции заказа |
| articleCode | Внутренний код детали |
| garageCarId | Идентификатор автомобиля из гаража |
| delete | если передать значение 1, позиция будет удалена, в остальных случаях устанавливать не надо. |
| isCanceled | Может принимать следующие значения: 0 - удаление не запрашивалось; 1 - клиентом запрошено удаление; 2 - в удалении отказано менеджером |
| vinQueryIds | Массив числовых идентификаторов vin-запросов Vinqu. Необязательный параметр. |
Особенности передачи параметра priceRate при работе с поставщиками, у которых валюта отличается от валюты сайта:
- Если передан параметр
priceRate- для расчёта используется он (независимо от настроек). - Если
priceRateне передан, но включена хотя бы одна из опций:- "Корректировка цены"
- "Отключить обновление цены и наличия". - курс берётся из
itemKey(данные изsearch/articles).
- Если
priceRateне передан и обе опции отключены - используется курс по умолчанию из настроек валют реселлера (курс ЦБ РФ или фиксированный курс).
Узел notes содержит массив объектов вида:
| Поле | Описание |
|---|---|
| id | Идентификатор заметки |
| employeeId | Идентификатор сотрудника от имени которого создастся заметка. Если значение пустое или не корректное - в качестве автора будет "API администратор" |
| value | Текст заметки. |
Заметки можно только добавить либо удалить. Для удаления - необходимо передать идентификатор заметки и пустое значение для поля value. Для добавления - необходимо указать value. employeeId - если нужно указать конкретного сотрудника а не "API администратора"
В случае редактирования заказа, могут быть указаны только позиции и поля, которые требуют изменения. В случае создания заказа, должны быть указаны все позиции со всеми полями (кроме полей comment, supplierCode и itemKey). При редактировании позиций обязательна передача параметра id. Если параметр id не передан, будет добавлена новая позиция. При добавлении позиции необходимо задать ей минимальные обязательные параметры для возможности дальнейшей работы с ней: бренд, номер, код статуса, количество, цену, код склада поставщика, идентификатор маршрута, сроки поставки. Для удаления позиции необходимо указать ей quantity 0 или установить параметр delete в значение 1.
Пример запроса
https://demo.public.api.abcp.ru/cp/order
Параметры POST
userlogin=username&userpsw=md5pass&order[number]=5623478&order[internalNumber]=786593&order[positions][0][statusCode]=15&order[positions][0][id]=653463&order[positions][0][quantity]=10&order[notes][0][value]=текст заметки
Метод возвращает объект вида:
| Поле | Описание |
|---|---|
| number | Онлайн-номер заказа в портале |
| internalNumber | Номер заказа в учетной системе (например, в 1С) |
| userId | Идентификатор клиента на сайте, для которого создается заказ |
| positionsQuantity | Количество позиций |
| sum | Сумма заказа |
| date | Дата заказа |
| debt | Долг по оплате заказа |
| paid | Признак равен 1 или true, если заказ был успешно оплачен онлайн на сайте. |
| comment | Комментарий к заказу |
| dateUpdated | Дата обновления |
| profileId | Идентификатор профиля клиента сделавшего заказ |
| deliveryAddressId | Идентификатор адреса доставки |
| deliveryAddress | Адрес доставки |
| deliveryOfficeId | Идентификатор офиса самовывоза |
| deliveryOffice | Офис самовывоза |
| deliveryTypeId | Идентификатор типа доставки |
| deliveryType | Тип доставки |
| paymentTypeId | Идентификатор типа оплаты |
| paymentType | Тип оплаты |
| deliveryCost | Стоимость доставки |
| managerId | id менеджера , если заказ был создан менеджером |
| userCode | Внутренний код пользователя |
| code | "Ячейка заказа", если подключена опция "Заказы: При обработке выводить пустую колонку для вывода дополнительной информации" |
| positions | Список позиций заказа. |
Узел positions содержит массив объектов вида:
| Поле | Описание |
|---|---|
| id | Уникальный идентификатор позиции в портале |
| code | Код позиции (произвольное значение) |
| brand | Имя производителя. |
| number | Номер детали (код производителя). |
| numberFix | "Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/". |
| routeId | Идентификатор маршрута склада с которого производится заказ. |
| distributorId | Идентификатор поставщика с которого производится заказ. |
| distributorName | Имя поставщика с которого производится заказ. |
| supplierCode | (УСТАРЕЛО используйте для чтения значение dsRouteId) Код склада поставщика. |
| dsRouteId | Код склада поставщика. Если в имеющемся заказе значение будет пустым, то такую позицию нельзя будет отправить в заказ онлайн поставщику. |
| itemKey | Код позиции. Необходим для добавления товара в корзину. Внимание! Не является уникальным идентификатором! Параметр из результатов search/article. Необходимо указывать при добавлении в заказ товаров от online-поставщиков для возможности дальнейшего перезаказа на сайте поставщика из ПУ. |
| description | Описание детали. |
| quantity | Заказываемое количество |
| quantityFinal | Итоговое количество |
| priceIn | Цена поставщика за единицу товара |
| priceOut | Цена продажи за единицу товара |
| oldPriceOut | Начальная цена продажи за единицу товара до внесения изменений |
| priceRate | Курс перевода цены в валюту сайта |
| deadline | Срок поставки в часах |
| deadlineMax | Гарантированный срок поставки в часах |
| comment | Комментарий к позиции |
| commentAnswer | Ответ на комментарий к позиции |
| status | Статус позиции заказа |
| statusCode | Код статуса позиции заказа |
| isCanceled | Флаг "Запрос на удаление позиции" |
| dateUpdated | Дата обновления |
| lineReference | Дополнительная информация (если было разделение позиции в ПУ то splitPositionId - id позиции от которой отделили текущую) |
| weight | Вес товара |
| articleCode | Внутренний код детали (присутствует только при условии что код выгружается в прайсе поставщика), используется как правило для синхронизации с 1С |
| garageCarId | Идентификатор автомобиля из гаража |
| currencyInId | Идентификатор валюты покупки (1-Российский рубль 2- Евро 3- Доллар США 4- Гривна Украины 5- Литовский лит 6- Белорусский рубль (до 1 июля 2016) 7- Казахстанский тенге 8- Латвийский лат 9- Японская иена 10- Китайский юань 11- Армянский драм 12- Киргизский сом 13- Азербайджанский манат 14- Белорусский рубль) |
| currencyOutId | Идентификатор валюты продажи (1-Российский рубль 2- Евро 3- Доллар США 4- Гривна Украины 5- Литовский лит 6- Белорусский рубль (до 1 июля 2016) 7- Казахстанский тенге 8- Латвийский лат 9- Японская иена 10- Китайский юань 11- Армянский драм 12- Киргизский сом 13- Азербайджанский манат 14- Белорусский рубль) |
| vinQueryIds | Массив числовых идентификаторов vin-запросов Vinqu. Необязательный параметр. |
При возникновении ошибки в процессе сохранения заказа, помимо ответа с актуальным содержимым текущего заказа, будет возвращен узел errors, содержащий описание возникшей ошибки.
Объединение заказов
Данная операция работает только в случае использования на сайте опции Заказы: вручную объединять заказы в ПУ
Операция работает аналогично ручному объединению через ПУ, имеет лимит на объединение не более 50 позиций за раз. Статистика вызовов в этой операции относится к операции "orders".
Пересчитываются сроки позиций, которые переносятся в другой заказ относительно даты нового заказа, чтобы дата "Ожидается" в новом заказе по возможности была та же, что в старом, которую клиент видит в ЛК. Если старый завершенный заказ объединить с новым, то срок пересчитается до 0, и дата "Ожидается" сравняется с датой заказа.
Операция: cp/order/merge
Метод: POST
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| orderId | Номер основного заказа, в который в итоге нужно объединить указанные позиции |
| positionIds | Массив ID позиций разных заказов, которые нужно объединить в один |
Пример запроса
https://demo.public.api.abcp.ru/cp/order/merge
Параметры POST
userlogin=username&userpsw=md5pass&orderId=5623478&positionIds[0]=11111&positionIds[1]=222222
Метод возвращает объект вида:
| Поле | Описание |
|---|---|
| number | Онлайн-номер заказа в портале |
| internalNumber | Номер заказа в учетной системе (например, в 1С) |
| userId | Идентификатор клиента на сайте, для которого создается заказ |
| positionsQuantity | Количество позиций |
| sum | Сумма заказа |
| date | Дата заказа |
| debt | Долг по оплате заказа |
| paid | Признак равен 1 или true, если заказ был успешно оплачен онлайн на сайте. |
| comment | Комментарий к заказу |
| dateUpdated | Дата обновления |
| profileId | Идентификатор профиля клиента сделавшего заказ |
| deliveryAddressId | Идентификатор адреса доставки |
| deliveryAddress | Адрес доставки |
| deliveryOfficeId | Идентификатор офиса самовывоза |
| deliveryOffice | Офис самовывоза |
| deliveryTypeId | Идентификатор типа доставки |
| deliveryType | Тип доставки |
| paymentTypeId | Идентификатор типа оплаты |
| paymentType | Тип оплаты |
| deliveryCost | Стоимость доставки |
| managerId | id менеджера , если заказ был создан менеджером |
| userCode | Внутренний код пользователя |
| code | "Ячейка заказа", если подключена опция "Заказы: При обработке выводить пустую колонку для вывода дополнительной информации" |
| positions | Список позиций заказа. |
Узел positions содержит массив объектов вида:
| Поле | Описание |
|---|---|
| id | Уникальный идентификатор позиции в портале |
| code | Код позиции (произвольное значение) |
| brand | Имя производителя. |
| number | Номер детали (код производителя). |
| numberFix | "Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/". |
| routeId | Идентификатор маршрута склада с которого производится заказ. |
| distributorId | Идентификатор поставщика с которого производится заказ. |
| distributorName | Имя поставщика с которого производится заказ. |
| supplierCode | (УСТАРЕЛО используйте для чтения значение dsRouteId) Код склада поставщика. |
| dsRouteId | Код склада поставщика. Если в имеющемся заказе значение будет пустым, то такую позицию нельзя будет отправить в заказ онлайн поставщику. |
| itemKey | Код позиции. Необходим для добавления товара в корзину. Внимание! Не является уникальным идентификатором! Параметр из результатов search/article. Необходимо указывать при добавлении в заказ товаров от online-поставщиков для возможности дальнейшего перезаказа на сайте поставщика из ПУ. |
| description | Описание детали. |
| quantity | Заказываемое количество |
| quantityFinal | Итоговое количество |
| priceIn | Цена поставщика за единицу товара |
| priceOut | Цена продажи за единицу товара |
| oldPriceOut | Начальная цена продажи за единицу товара до внесения изменений |
| priceRate | Курс перевода цены в валюту сайта |
| deadline | Срок поставки в часах |
| deadlineMax | Гарантированный срок поставки в часах |
| comment | Комментарий к позиции |
| commentAnswer | Ответ на комментарий к позиции |
| status | Статус позиции заказа |
| statusCode | Код статуса позиции заказа |
| isCanceled | Флаг "Запрос на удаление позиции" |
| dateUpdated | Дата обновления |
| lineReference | Дополнительная информация (если было разделение позиции в ПУ то splitPositionId - id позиции от которой отделили текущую) |
| weight | Вес товара |
| articleCode | Внутренний код детали (присутствует только при условии что код выгружается в прайсе поставщика), используется как правило для синхронизации с 1С |
| garageCarId | Идентификатор автомобиля из гаража |
| currencyInId | Идентификатор валюты покупки (1-Российский рубль 2- Евро 3- Доллар США 4- Гривна Украины 5- Литовский лит 6- Белорусский рубль (до 1 июля 2016) 7- Казахстанский тенге 8- Латвийский лат 9- Японская иена 10- Китайский юань 11- Армянский драм 12- Киргизский сом 13- Азербайджанский манат 14- Белорусский рубль) |
| currencyOutId | Идентификатор валюты продажи (1-Российский рубль 2- Евро 3- Доллар США 4- Гривна Украины 5- Литовский лит 6- Белорусский рубль (до 1 июля 2016) 7- Казахстанский тенге 8- Латвийский лат 9- Японская иена 10- Китайский юань 11- Армянский драм 12- Киргизский сом 13- Азербайджанский манат 14- Белорусский рубль) |
| vinQueryIds | Массив числовых идентификаторов vin-запросов Vinqu. Необязательный параметр. |
Заказ поставщику
Получение параметров для отправки online-заказа поставщику
Операция: cp/orders/online
Метод: GET
Это вспомогательная операция, которую необходимо выполнять перед отправкой online-заказа поставщику. Если для поставщика есть дополнительные параметры заказа или позиций заказа, то в ответ вы получите набор данных. На их основании нужно составить API запрос для отправки заказа. Если вы уже определились с какими параметрами будете отправлять заказы поставщику, то эту операцию вызывать нет необходимости, можно сразу переходить к методу отправки заказа.
Идентификаторы позиций, которые необходимо передавать в запросе, должны принадлежать одному поставщику. Т.е. за один API запрос операции cp/orders/online можно отправить позиции только одного поставщика. Если вам необходимо отправить позиции для двух поставщиков, то необходимо предварительно сгруппировать идентификаторы позиций и выполнить два запроса к cp/orders/online по каждому из поставщиков.
Кол-во идентификаторов позиций в одном запросе ограничено. За один API запрос отправить в заказ можно не более 20 позиций для сторонних поставщиков. Для поставщиков работающих на платформе ABCP ограничение - 100 позиций.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| positionIds | Массив идентификаторов позиций, которые нужно отправить поставщику |
| orderParams[shipmentAddress] | Необязательный параметр. Идентификатор адреса доставки, если не используется самовывоз. Актуально для некоторых поставщиков, которые передают список адресов доставки в параметре shipmentAddress и используют даты отгрузки shipmentDate. В зависимости от переданного id адреса вы получите в ответ корректные даты отгрузки. Если вы не знаете идентификатор адреса доставки, то сначала выполните запрос без него, возьмите нужное значение из fieldName: shipmentAddress -> enum -> value. После этого повторно отправьте запрос уже с указанием orderParams[shipmentAddress]=ID_адреса. |
Параметры ответа
Возвращает карту параметров для заказа и позиции отдельно. У всех поставщиков набор параметров разный. У некоторых поставщиков может не быть параметров заказа или позиций.
| Параметр | Тип | Описание |
|---|---|---|
| orderParams | array | Массив объектов параметров заказа поставщика. |
| positionParams | array | Массив объектов параметров позиции поставщика. |
Объект параметра заказа поставщику:
Объект enum параметра заказа поставщика:
| Параметр | Тип | Описание |
|---|---|---|
| value | string | Значение параметра. |
| name | string | Название для отображения. |
| selected | bool | Если true, значит это значение параметра задано по умолчанию. |
Объект параметра позиции поставщика:
| Параметр | Тип | Описание | ||||||
|---|---|---|---|---|---|---|---|---|
| fieldName | string | Название параметра, который должен быть передан в запрос для отправки заказа поставщику. | ||||||
| type | string | Тип параметра. Возможные варианты: string, bool. Описание типов:
| ||||||
| name | string | Название параметра для отображения в интерфейсе. | ||||||
| description | string | Описание параметра для отображения в интерфейсе. |
Пример запроса
https://demo.public.api.abcp.ru/cp/orders/online?userlogin=username&userpsw=md5pass&positionIds[]=151056634&positionIds[]=151056635Пример ответа
{
"orderParams": [
{
"fieldName": "shipmentAddress",
"type": "enum",
"name": "Адрес доставки",
"description": "",
"value": "",
"enum": [
{
"value": "0",
"name": "Выберите адрес доставки или укажите другой адрес ниже",
"selected": false
},
{
"value": "77333",
"name": "Москва, ул. Ленина 1",
"selected": false
}
]
},
{
"fieldName": "comment",
"type": "text",
"name": "Комментарий",
"description": "",
"value": "",
"enum": []
},
{
"fieldName": "deliveryType",
"type": "enum",
"name": "Тип отгрузки*",
"description": "",
"value": "",
"enum": [
{
"value": "3",
"name": "Доставка",
"selected": false
},
{
"value": "2",
"name": "Самовывоз",
"selected": false
}
]
},
{
"fieldName": "deliveryDate",
"type": "datepicker",
"name": "Дата доставки*",
"description": "",
"value": "",
"enum": []
},
{
"fieldName": "deliveryTime",
"type": "enum",
"name": "Время доставки*",
"description": "",
"value": "",
"enum": [
{
"value": "1",
"name": "до 15:00",
"selected": false
},
{
"value": "2",
"name": "после 15:00",
"selected": false
}
]
},
{
"fieldName": "contactName",
"type": "string",
"name": "Контактное лицо",
"description": "",
"value": "",
"enum": []
}
],
"positionParams": [
{
"fieldName": "comment",
"type": "string",
"name": "Комментарий",
"description": ""
}
]
}
Отправка online-заказа поставщику
Операция: cp/orders/online
Метод: POST
Идентификаторы позиций, которые необходимо передавать в запросе, должны принадлежать одному поставщику. Т.е. за один API запрос операции cp/orders/online можно отправить позиции только одного поставщика. Если вам необходимо отправить позиции для двух поставщиков, то необходимо предварительно сгруппировать идентификаторы позиций и выполнить два запроса к cp/orders/online по каждому из поставщиков.
Кол-во идентификаторов позиций в одном запросе ограничено. За один API запрос отправить в заказ можно не более 20 позиций для сторонних поставщиков. Для поставщиков работающих на платформе ABCP ограничение - 100 позиций.
В ответ вы можете получить один или несколько созданных заказов.
Отправка заказа аналогична отправке из панели управления. Если заказ оформлен успешно, то результат фиксируется в панели управления, чекбокс заменятся на номер заказа поставщика и его статус (если поставщик поддерживает передачу статуса). Если настроена синхронизация статусов, она также активируется для отправленных позиций.
Внимание! При работе с API поставщика, в большинстве случаев используется общая корзина при работе с сайтом поставщика и при работе с API. При отправке заказа поставщику последовательно выполняются запросы по предварительной очистке корзины, добавлению товара в корзину, чтение и отправка её в заказ. Очень важно не допустить параллельной отправки разных позиций одному поставщику. Так же в момент отправки заказа поставщику не должна производиться отправка заказов из панели управления abcp и работа с корзиной на сайте поставщика. В противном случае вы можете получить некорректные заказы, ошибки и задвоенные заказы с одинаковыми товарами.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| orderParams | Массив параметров заказа, который нужно сформировать на основе операции "Получение параметров для отправки online-заказа поставщику". Если у поставщика нет параметров заказа, то параметр orderParams необязательный. |
| positions | Массив данных с позициями заказов. Структура одного элемента массива в таблице ниже. |
Объект позиции заказа
| Параметр | Описание |
|---|---|
| id | Идентификатор отправляемой позциии заказа. |
| positionParams | Массив параметров позиции, который нужно сформировать на основе операции "Получение параметров для отправки online-заказа поставщику". Если у поставщика нет параметров для позиций заказа, то параметр positionParams необязательный. |
Параметры ответа
В ответе приходит массив заказов.
Объект заказа поставщика:
| Параметр | Тип | Описание |
|---|---|---|
| number | string | Номер заказа. |
| status | string | Текстовое описание состояния заказа. Будет описание ошибки или что заказ оформлен успешно. |
| date | string | Дата создания заказа [ГГГГ-ММ-ДД ЧЧ:ММ:СС]. |
| positions | array | Массив объектов позиций. |
Объект позиции заказа поставщика:
| Параметр | Тип | Описание |
|---|---|---|
| reference | string | В этом поле возвращается идентификатор позиции, которую вы отправляли. |
| id | int | Идентификатор позиции поставщика. Значение возвращается только для поставщиков работающих на платформе ABCP, для остальных будет возвращаться ноль. |
| brand | string | Бренд детали. |
| number | string | Артикул детали. |
| numberFix | string | Артикул детали, без спец. символов. |
| description | string | Описание детали. |
| supplierCode | string | Код маршрута поставщика. |
| quantity | int | Заказанное кол-во деталей. |
| price | float | Цена заказанной детали, в валюте сайта. Здесь может быть старая цена, по которой позиция отправлялась поставщику. Так и новая цена, которую поставщик передал, в случае её изменения. Для разных поставщиков разное поведение, поэтому цену можно использовать только в информационных целях, использовать её для финансовых расчётов недопустимо. Актуальную цену можно узнать обратившись к серверу поставщика через его API напрямую. |
| status | array | Массив результатов отправки позиции. Здесь могут передаваться ошибки, если они возникают в ходе отправки заказа. А также предупреждения об изменении цены и т.д. |
| confirmSend | bool | Если true значит позиция заказана у поставщика. Если false - значит произошла ошибка. Внимание! Даже если произошла ошибка, то заказ всё равно может быть создан на стороне поставщика. Мы опираемся на ответ, который получили или не получили от них. Если мы получили некорректный ответ или не дождались ответа от сервера поставщика, то считаем что заказ не создан. Не отправляйте запросы на отправку заказа поставщику повторно, пока не убедитесь в его отсутствии на стороне поставщика. Если сервер поставщика "завис" в момент запроса, то заказ может быть создан даже через несколько минут после отправки запроса. Не допускайте автоматизированной отправки дублей по заказам! |
Пример запроса
https://demo.public.api.abcp.ru/cp/orders/onlineПараметры POST Запрос сформирован на основе примера ответа операции "Получение параметров для отправки online-заказа поставщику".
orderParams[shipmentAddress]=77333&orderParams[comment]=Мой комментарий к заказу&orderParams[deliveryType]=3&orderParams[deliveryDate]=2020-06-26&orderParams[deliveryTime]=2&orderParams[contactName]=Иванов Иван&positions[0][id]=151056634&positions[0][positionParams][comment]=Мой комментарий к позиции 151056634&positions[1][id]=151056635&positions[1][positionParams][comment]=Мой комментарий к позиции 151056635Пример ответа
[
{
"number": "49685780",
"status": "Принят",
"date": "2020-06-26 12:10:16",
"positions": [
{
"reference": "151056634",
"id": 153014210,
"brand": "Febi",
"number": "01089",
"numberFix": "01089",
"description": "Антифриз зелёно-синий 1,5L VW-Audi",
"supplierCode": "27185",
"quantity": 1,
"price": 350,
"status": [
"Позиция успешно добавлена в корзину",
"Изменение цены 370 -> 350",
"Позиция успешно отправлена в заказ"
],
"confirmSend": true
}
]
},
{
"number": "с ошибкой #1",
"status": "Статус заказа не определен",
"date": "2020-06-26 12:10:16",
"positions": [
{
"reference": "151056635",
"id": 0,
"brand": "Mahle/Knecht",
"number": "OC90",
"numberFix": "OC90",
"description": "Фильтр масляный Opel",
"supplierCode": "27185",
"quantity": 10,
"price": 92,
"status": [
"Позиция успешно добавлена в корзину",
"Ошибка при отправке заказа: Нет нужного кол-ва"
],
"confirmSend": false
}
]
}
]
Пример ответа с общей ошибкой
{
"errorCode": 200,
"errorMessage": "Позиция 151056635 уже была отправлена поставщику в заказ ранее."
}
Финансы
Обновление баланса клиента
Операция: cp/finance/userBalance
Метод: POST
Изменяет баланс клиента. Принимает в качестве параметра текущий баланс пользователя (float) в валюте сайта и идентификатор пользователя на сайте. Идентификатор пользователя - это уникальное значение для всей системы, которое может не совпадать со значением поля "Код клиента" в карточке клиента. Узнать его можно, либо из URL карточки клиента, например, https://cp.abcp.ru/?page=customers&customerId=353169&action=editCustomer - в данном случае идентификатор клиента это значение параметра customerId, а именно, 353169; либо, при использовании синхронизации пользователей с помощью операции GET cp/users, идентификатор пользователя возвращается в поле userId.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| userId | Идентификатор пользователя на сайте, для которого обновляется баланс. |
| balance | Значение баланса в валюте сайта |
| inStopList | Признак нахождения клиента в стоп-листе (необязательный параметр) |
Пример запроса
https://demo.public.api.abcp.ru/cp/finance/userBalance
Параметры POST
userlogin=username&userpsw=md5pass&userId=5623478&balance=189.19
В случае успешного обновления баланса, метода возвращает актуальное значение баланса:
| Поле | Описание |
|---|---|
| userId | Идентификатор клиента на сайте. |
| balance | Текущий баланс клиента. |
| inStopList | Признак нахождения клиента в стоп-листе |
Обновление лимита кредита клиента
Операция: cp/finance/creditLimit
Метод: POST
Изменяет лимит кредита клиента. Принимает в качестве параметра текущий лимит кредита пользователя (float) в валюте сайта и идентификатор пользователя на сайте.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| userId | Идентификатор пользователя на сайте, для которого обновляется баланс. |
| creditLimit | Значение лимита кредита в валюте сайта |
Пример запроса
https://demo.public.api.abcp.ru/cp/finance/creditLimit
Параметры POST
userlogin=username&userpsw=md5pass&userId=5623478&creditLimit=10000
В случае успешного обновления баланса, метода возвращает актуальное значение лимита кредита:
| Поле | Описание |
|---|---|
| userId | Идентификатор клиента на сайте. |
| creditLimit | Значение лимита кредита в валюте сайта |
Обновление финансовой информации клиента
Операция: cp/finance/userInfo
Метод: POST
Изменяет финансовую информацию клиента. Принимает в качестве параметров идентификатор пользователя на сайте и финансовую информацию пользователя.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| userId | Идентификатор пользователя на сайте, для которого обновляется баланс |
| balance | Текущий баланс клиента |
| creditLimit | Значение лимита кредита в валюте сайта |
| inStopList | Признак нахождения клиента в стоп-листе |
| payDelay | Отсрочка платежа(в днях) |
| overdueSaldo | Просроченная задолженность |
Обязательно наличие как минимум одного из полей (balance, creditLimit, inStopList, payDelay, overdueSaldo).
Пример запроса
https://demo.public.api.abcp.ru/cp/finance/userInfo
Параметры POST
userlogin=username&userpsw=md5pass&userId=5623478&balance=10000&creditLimit=2000&inStopList=0&payDelay=4&overdueSaldo=6500
В случае успешного обновления, метод возвращает актуальное значение финансовой информации пользователя:
| Поле | Описание |
|---|---|
| userId | Идентификатор клиента на сайте |
| balance | Текущий баланс клиента |
| creditLimit | Значение лимита кредита в валюте сайта |
| inStopList | Признак нахождения клиента в стоп-листе |
| payDelay | Отсрочка платежа(в днях) |
| overdueSaldo | Просроченная задолженность |
| stoplistDateTime | Дата попадания в стоп-лист |
Получение информации об оплатах из финмодуля
Операция: cp/finance/payments
Метод: GET
Возвращает список оплат из финмодуля.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| userId | Идентификатор пользователя на сайте |
| paymentNumber | Номер платежа |
| createDateTimeStart | Начальный порог даты создания платежа формат ГГГГ-ММ-ДД ЧЧ:ММ:СС |
| createDateTimeEnd | Конечный порог даты создания платежа формат ГГГГ-ММ-ДД ЧЧ:ММ:СС |
Параметры paymentNumber, userId необязательные. Если указан paymentNumber, то createDateTimeStart и createDateTimeEnd могут не указываться. Если интервал дат выбран больше года, то в ответе получаем ошибку "Сократите диапазон дат и выполните запрос снова. Диапазон не должен превышать 1 год."
Пример запроса
https://demo.public.api.abcp.ru/cp/finance/payments?userlogin=username&userpsw=md5pass&userId=5623478&paymentNumber=НАЛ00032
Метод возвращает массив объектов вида:
| Поле | Описание |
|---|---|
| paymentId | Уникальный идентификатор платежа |
| paymentNumber | номер платежа |
| paymentTypeId | id типа платежа |
| createDateTime | дата платежа |
| paymentType | Тип платежа |
| paymentTypeCode | Код типа платежа: 0 - Безналичный, 1 - Электронный, 2 - Наличный |
| amount | сумма платежа |
| rest | остаток |
| editorId | id сотрудника,кем платеж был внесен/изменен.Если платеж был внесен автоматически (электронный) то значение параметра "0" |
| userId | Идентификатор клиента на сайте |
| comment | комментарий к платежу |
| onlinePaymentId | ID онлайн-оплаты |
| komtetCheckId | id чека, больше 0, если по платежу был создан чек. |
Получение информации о привязках платежей из модуля Финансы
Операция: cp/finance/paymentOrderLinks
Метод: GET
Возвращает список привязок платежей из модуля Финансы.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| paymentNumbers | массив с номерами платежей |
| orderIds | массив с номерами заказов,если передать orderIds[]=0 и диапазон дат, то можно получить список возвратов за период |
| userId | Идентификатор пользователя на сайте |
| DateTimeStart | Начальный порог даты создания привязки формат ГГГГ-ММ-ДД ЧЧ:ММ:СС |
| DateTimeEnd | Конечный порог даты создания привязки формат ГГГГ-ММ-ДД ЧЧ:ММ:СС |
При запросе указывать либо paymentNumbers либо orderIds либо userId с DateTimeStart и DateTimeEnd.
Пример запроса
https://demo.public.api.abcp.ru/cp/finance/paymentOrderLinks?userlogin=username&userpsw=md5pass&paymentNumbers[]=НАЛ00032
Метод возвращает массив объектов вида:
| Поле | Описание |
|---|---|
| paymentLinkId | id привязки платежа |
| paymentId | id платежа |
| createDateTime | дата/время создания привязки платежа формат ГГГГ-ММ-ДД ЧЧ:ММ:СС |
| orderId | номер заказа (если номер заказа "0" - значит это Возврат средств) |
| amount | сумма платежа |
| editorId | id сотрудника, добавившего привязку. Если параметр равен "0", то привязка автоматическая. |
| paymentNumber | номер платежа из ПУ в виде "НАЛ00010" |
В запросе возможно фильтровать по paymentId или orderId с возможностью передавать массив платежей или заказов.
Получение списка online платежей
Операция: cp/onlinePayments
Метод: GET
Возвращает список online платежей. Обязательные параметры только userlogin и userpsw.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| filter | массив с параметрами фильтра |
Допустимые параметры фильтра
| Параметр | Описание |
|---|---|
| dateStart | Дата начало периода для выбора платежей. Формат: ГГГГ-ММ-ДД или ГГГГ-ММ-ДД ЧЧ:ММ:СС |
| dateEnd | Дата конца периода для выбора платежей. Формат: ГГГГ-ММ-ДД или ГГГГ-ММ-ДД ЧЧ:ММ:СС |
| customerIds | Массив идентификаторов клиентов. Не более 100 штук в одном запросе. |
| paymentMethodId | Идентификатор платежной системы. Получить можно из cp/users/profiles или в панели управления. |
| statusIds | Массив идентификаторов статусов платежей:
1 - Начата 2 - Завершена 3 - Неудача 4 - В обработке |
| orderIds | Массив идентификаторов заказов. Не более 100 штук в одном запросе. |
Если в запросе параметры filter[dateStart] и filter[dateEnd] не переданы, то вернутся платежи за последние 7 дней.
Пример запроса
https://demo.public.api.abcp.ru/cp/onlinePayments?userlogin=username&userpsw=md5pass&filter[dateStart]=2018-10-01&filter[dateEnd]=2018-10-05&filter[customerIds][]=507186&filter[statusIds][]=1&filter[orderIds][]=22668371&filter[orderIds][]=15368959
Метод возвращает массив объектов вида:
| Поле | Описание |
|---|---|
| id | Идентификатор платежа |
| dateTime | Дата и время платежа в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС |
| orderId | номер заказа |
| paymentStatusId | Идентификатор статуса платежа. |
| paymentStatusName | Название статуса платежа. |
| customerId | Идентификатор клиента. |
| customerName | Имя клиента или сотрудника. |
| paymentMethodId | Идентификатор платежной системы. |
| paymentMethodName | Название платежной системы. |
| amount | Сумма платежа. |
| commission | Комиссия платежа. |
| comment | Комментарий. |
Добавление оплат
Операция: cp/finance/payments
Метод: POST
Добавляет платежи клиентам. Возвращает массив добавленных платежей.
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| payments | Массив с оплатами |
| linkPayments | Параметр, отвечающий за автоматическую привязку платежей к заказам. 0 - не привязывать, 1 - привязывать |
Массив оплат payments должен содержать следующие поля
| Параметр | Описание |
|---|---|
| userId | Идентификатор пользователя на сайте, которому добавляется оплата |
| paymentNumber | Номер платежа, максимум 64 символа. Необязательный параметр. Если передан пустой, то номер генерируется автоматически по маске переданного типа платежа |
| createDateTime | Дата и время платежа, в формате ГГГГ-ММ-ДД чч:мм:сс (например 2018-01-01 00:00:00) |
| paymentTypeId | Id типа платежа |
| amount | Сумма платежа |
| comment | Комментарий к платежу (не обязательное) |
| editorId | Id сотрудника, которым был внесён платёж (не обязательное) |
Пример запроса
https://demo.public.api.abcp.ru/cp/finance/payments
Тело POST запроса
userlogin=username&userpsw=md5pass&payments[0][userId]=1&payments[0][paymentTypeId]=1&payments[0][amount]=10&payments[0][createDateTime]=2018-11-16 16:04:00&payments[0][paymentNumber]=НАЛ00111&payments[1][userId]=1&payments[1][paymentTypeId]=2&payments[1][amount]=2&payments[1][paymentNumber]=НАЛ00002&payments[1][createDateTime]=2018-11-16 16:05:00
Метод возвращает массив содержащий информацию о добавленных платежах:
| Поле | Описание |
|---|---|
| paymentNumber | Номер платежа |
| paymentTypeId | Id типа платежа |
| createDateTime | Дата платежа |
| paymentType | Тип платежа |
| paymentTypeCode | Код типа платежа: 0 - Безналичный, 1 - Электронный, 2 - Наличный |
| amount | Сумма платежа |
| rest | Остаток |
| editorId | Id сотрудника, которым был внесён платёж. Если платёж был внесен автоматически(электронный), то значение параметра "0" |
| userId | Идентификатор клиента на сайте |
| comment | Комментарий к платежу |
| onlinePaymentId | ID онлайн-оплаты |
| paymentId | ID созданного платежа |
Удаление привязки оплаты
Операция: cp/finance/deleteLinkPayments
Метод: POST
Удаляет привязку оплаты, увеличивает долг заказу, к которому была сделана привязка, на сумму удаляемой привязки, увеличивает остаток оплаты на сумму удаляемой привязки, клиенту пересчитывает сальдо и долг по заказам.
Внимание!
С помощью одного запроса данная операция позволяет удалить только одну привязку. Массовое удаление недоступно.
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| paymentLinkId | Id привязки, которую нужно удалить. |
Пример запроса
https://demo.public.api.abcp.ru/cp/finance/deleteLinkPayments
Тело POST запроса
userlogin=username&userpsw=md5pass&paymentLinkId=Id
В случае успешного удаления привязки, метода возвращает возвращается в формате текст/plain и содержит строку:
successfully deleted {paymentLinkId}
где {paymentLinkId} — идентификатор удаленной привязки.
Операция привязки по ранее добавленному платежу
Операция: cp/finance/paymentOrderLink
Метод: POST
Позволяет осуществлять привязку ранее созданного платежа
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| paymentId | id платежа. |
| orderId | id заказа по которому делается привязка. |
| amount | Сумма привязки. |
Пример запроса
https://demo.public.api.abcp.ru/cp/finance/paymentOrderLink
Тело POST запроса
userlogin=username&userpsw=md5pass&paymentId=1221&orderId=44997785&amount=1500
Метод возвращает объект вида:
| Поле | Описание |
|---|---|
| paymentLinkId | id привязки платежа |
| paymentId | id платежа |
| paymentNumber | номер платежа из ПУ в виде "НАЛ00010" |
| createDateTime | дата/время создания привязки платежа формат ГГГГ-ММ-ДД ЧЧ:ММ:СС |
| orderId | номер заказа |
| amount | сумма платежа |
| editorId | id сотрудника, добавившего привязку. |
Операция возврата платежа
Операция: cp/finance/paymentRefund
Метод: POST
Позволяет осуществлять возврат ранее созданного платежа
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| refundPaymentId | id платежа |
| refundAmount | Сумма возврата. |
Пример запроса
https://demo.public.api.abcp.ru/cp/finance/paymentRefund
Тело POST запроса
userlogin=username&userpsw=md5pass&refundPaymentId=1221&refundAmount=1500
Метод возвращает объект вида:
| Поле | Описание |
|---|---|
| paymentLinkId | id привязки платежа |
| paymentId | id платежа |
| paymentNumber | номер платежа из ПУ в виде "НАЛ00010" |
| createDateTime | дата/время создания привязки платежа формат ГГГГ-ММ-ДД ЧЧ:ММ:СС |
| amount | сумма платежа |
| editorId | id сотрудника, добавившего привязку. |
Операция удаления оплат
Операция: cp/finance/deletePayments
Метод: POST
Удаляет платежи клиентам. Уменьшает баланс/увеличивает долг. Возвращает либо статус успешного удаления либо ошибку (не удалены привязки, электронный платеж удалить нельзя).
С помощью одного запроса данная операция позволяет удалить только один платеж. Массовое удаление недоступно.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| paymentId | Id платежа, который нужно удалить |
| deleteLink | (необязательный) Параметр, отвечающий за автоматическое удаление привязки платежей . 0 - не удалять, 1 - удалять
По умолчанию, если не передан 0 - не удалять |
Пример запроса
https://demo.public.api.abcp.ru/cp/finance/deletePayments
Тело POST запроса
userlogin=username&userpsw=md5pass&paymentId=1221
Получение списка чеков
Операция: komtet/getChecks
Метод: GET
Позволяет получить данные о чеках Комтет.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| shopId | ID магазина |
| queueId | ID очереди |
| dateCreatedStart | Начальная дата создания чека в формате ГГГГ-ММ-ДД. |
| dateCreatedEnd | Конечная дата создания чека в формате ГГГГ-ММ-ДД. |
| calculationMethod | Способ расчета: 0 - Предоплата 100%, 1 - Предоплата, 2 - Полный расчет, 3 - Аванс, 4 - Частичный расчет и кредит, 5 - Оплата кредита, 6 - Передача в кредит. |
| printPaperCheck | Был ли запрос печати бумажного чека: 0 - Нет, 1 - Да. |
| vat | Налог: 5 - Без НДС, 0 - НДС по ставке 0%, 3 - НДС чека по расчетной ставке 10/110, 4 - НДС чека по расчетной ставке 20/120. |
| calculationSubject | Предмет расчета: 0 -товар, 1 - работа, 2 - услуга, 3 - платеж. |
| paymentType | Оплата: 0 - Безналичными, 1 - Наличными, 2 - Предоплата, 3 - Постоплата, 4 - Встречное предоставление. |
| type | Тип чека: 0 - чек, 1- чек коррекции. |
| taxSystem | Система налогообложения: 0 - ОСН, 1 - УСН доход, 2 - УСН доход - расход, 3 - ЕНВД, 4 - ЕСН, 5 - Патент. |
| intent | Направление платежа: 0 - Приход, 1 - Расход, 2 - Возврат прихода, 3 - Возврат расхода. |
| fiscalization | Фискализирован: 0 - Нет, 1 - Да. |
| employeeId | id сотрудника, отправившего чек. |
| clientId | id клиента. |
| start | Отсчет чеков |
| rowsOnPage | Количество "на странице" |
Пример запроса
https://demo.public.api.abcp.ru/komtet/getChecks? userlogin=username&userpsw=md5pass&employeeId=1221
Метод возвращает объект вида:
| Поле | Описание |
|---|---|
| id | id чека |
| resellerId | системный код сайта в системе |
| type | Тип чека: 0 - чек, 1- чек коррекции. |
| queueId | ID очереди |
| shopId | ID магазина |
| clientId | id клиента. |
| clientEmail | контакт клиента в чеке |
| taxSystem | Система налогообложения: 0 - ОСН, 1 - УСН доход, 2 - УСН доход - расход, 3 - ЕНВД, 4 - ЕСН, 5 - Патент. |
| vat | Налог: 5 - Без НДС, 0 - НДС по ставке 0%, 3 - НДС чека по расчетной ставке 10/110, 4 - НДС чека по расчетной ставке 20/120. |
| intent | Направление платежа: 0 - Приход, 1 - Расход, 2 - Возврат прихода, 3 - Возврат расхода. |
| calculationMethod | Способ расчета: 0 - Предоплата 100%, 1 - Предоплата, 2 - Полный расчет, 3 - Аванс, 4 - Частичный расчет и кредит, 5 - Оплата кредита, 6 - Передача в кредит. |
| calculationSubject | Предмет расчета: 0 -товар, 1 - работа, 2 - услуга, 3 - платеж. |
| printPaperCheck | Был ли запрос печати бумажного чека: 0 - Нет, 1 - Да. |
| paymentAmount | Сумма чека |
| advanceAmount | Сумма аванса |
| paymentType | Оплата: 0 - Безналичными, 1 - Наличными, 2 - Предоплата, 3 - Постоплата, 4 - Встречное предоставление. |
| cashierName | Имя кассира |
| cashierINN | ИНН кассира |
| correctionType | Тип чека коррекции: 0 - Коррекция прихода, 1 - Коррекция расхода |
| correctionDate | Дата |
| correctionNumber | Номер чека коррекции |
| correctionDescription | Описание коррекции |
| printerName | Название принтера |
| isSent | |
| fiscalization | Фискализирован: 0 - Нет, 1 - Да. |
| paymentId | |
| data | |
| positions |
Узел positions содержит массив объектов вида:
| Поле | Описание |
|---|---|
| id | системный ID позиции чека |
| resellerId | системный код сайта в системе |
| checkId | ID чека |
| name | Название позиции чека |
| cost | Стоимость позиции чека |
| quantity | Количество, шт |
| sum | Сумма |
| discount | Скидка |
| orderPositionId | ID позиции заказа, по которой пробит чек |
| data |
Пользователи
Получение списка пользователей
Операция: cp/users
Метод: GET
Принимает в качестве параметров условия фильтрации клиентов. Возвращает список клиентов.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| dateRegistredStart | Начальная дата регистрации в формате ГГГГ-ММ-ДД ЧЧ:мм:СС |
| dateRegistredEnd | Конечная дата регистрации в формате ГГГГ-ММ-ДД ЧЧ:мм:СС |
| dateUpdatedStart | Начальная дата последнего обновления в формате ГГГГ-ММ-ДД ЧЧ:мм:СС |
| dateUpdatedEnd | Конечная дата последнего обновления в формате ГГГГ-ММ-ДД ЧЧ:мм:СС |
| state | Состояние клиента. Значения:
0 - ожидает регистрации, 1 - зарегистрированный, 2 - удаленный. |
| customerStatus | Идентификатор статуса покупателя, если указать 0 - будут выбраны пользователи без статуса |
| customersIds | Массив идентификаторов покупателей |
| marketType | Тип регистрации. Значение от 1 до 2:
1 - Розница 2 - Опт |
| phone | Номер телефона клиента |
| E-mail клиента | |
| organizationName | Название организации контрагента. Если указано, будут выбраны все клиенты, название которых начинается с переданной строки. Минимальный размер длины параметра - 4 символа. |
| safeMode | "Безопасный режим" для клиентов не имеющих поддержки формата JSON. Может принимать значения 0,1 или 2. При включении (1), адреса доставки в ответе будут возвращаться в виде массива объектов с полями "id" и "name", а не как "ключ - значение". При включении (2), адреса доставки и список офисов в ответе будут возвращаться в виде массива объектов с полями "id" и "name", а не как "ключ - значение". |
| format | Формат ответа. Доступные значения:
|
| pickupState | Признак запрета отображения Самовывоза для клиента |
| limit | Количество возвращаемых записей клиентов(число, по умолчанию - 1000).
Чтобы получить информацию о количестве записей используйте параметр format со значением p |
| skip | кол-во клиентов, которые нужно пропустить. (число, по умолчанию - 0) |
| desc | обратное направление сортировки (булево, по умолчанию - false) |
Если указан только параметр dateRegistredStart/dateUpdatedStart, будут выбраны все пользователи, зарегистрированные начиная с этой даты. При указании фильтра по дате обновления, будут выбраны как новые пользователи, так и обновленные, попадающие под действие фильтра.
Внимание! По умолчанию количество возвращаемых записей ограничено 1000. Чтобы определить конкретное количество, используйте параметр format со значением p.
Пример запроса
https://demo.public.api.abcp.ru/cp/users?userlogin=username&userpsw=md5pass&dateUpdatedStart=2013-08-02 00:00:00&state=0 или https://demo.public.api.abcp.ru/cp/users?userlogin=username&userpsw=md5pass&customersIds[]=574823&customersIds[]=86954&customersIds[]=56234786 или https://demo.public.api.abcp.ru/cp/users?userlogin=username&userpsw=md5pass&customersIds[0]=574823&customersIds[1]=86954&customersIds[2]=56234786
Метод (кроме запуска с использованием параметра format со значением p) возвращает массив объектов вида:
| Параметр | Описание |
|---|---|
| userId | Идентификатор пользователя |
| marketType | Тип регистрации. Значение от 1 до 2:
|
| business | Тип организации. Значение от 1 до 6:
|
| Адрес электронной почты | |
| name | Имя |
| secondName | Отчество |
| surname | Фамилия |
| birthDate | Дата рождения, формат YYYY-MM-DD |
| regionId | Код региона |
| city | Город |
| countryCode | Код страны |
| phone | Номер телефона |
| enableSms | Производится ли отправка SMS клиенту |
| mobile | Номер мобильного телефона |
| memberOfClub | Название автоклуба |
| excludeCart | Исключить позиции корзины из расчета блокировки при достижении лимита кредита |
| icq | ICQ UIN |
| skype | Skype |
| state | Состояние аккаунта. Значения:
0 - ожидает регистрации, 1 - зарегистрированный, 2 - удаленный. |
| registrationDate | Дата регистрации аккаунта. |
| updateTime | Дата последнего обновления аккаунта. |
| profileId | Идентификатор профиля |
| organizationName | Наименование организации |
| organizationForm | Правовая форма организации. Варианты:
|
| organizationOfficialName | Наименование по регистрации (без правовой формы юр. лица) |
| inn | ИНН |
| kpp | КПП |
| ogrn | ОГРН |
| okpo | ОКПО |
| organizationOfficialAddress | Юридический адрес организации |
| bankName | Наименование банка |
| bik | БИК банка |
| bin | БИН юридических лиц и ИП для пользователей с Казахстана |
| correspondentAccount | Корреспондентский счет банка |
| organizationAccount | Расчетный счет организации |
| customerStatus | Идентификатор статуса покупателя |
| deliveryAddress | Адреса доставки (массив, где ключи - id адресов) |
| comment | Комментарий пользователя |
| employeeId | Идентификатор личного менеджера |
| clientServiceEmployeeId | Идентификатор личного менеджера клиентской службы (дополнительная опция) |
| clientServiceEmployee2Id | Второй идентификатор личного менеджера клиентской службы (дополнительная опция) |
| clientServiceEmployee3Id | Третий идентификатор личного менеджера клиентской службы (дополнительная опция) |
| clientServiceEmployee4Id | Четвертый идентификатор личного менеджера клиентской службы (дополнительная опция) |
| balance | Ручной баланс клиента, заполняется по API извне. |
| debt | Долг по заказам клиента |
| saldo | = (Долг по заказам) - (Непривязанные платежи) |
| creditLimit | Текущий лимит кредита клиента |
| inStopList | Флаг "В стоп-листе" |
| payDelay | Отсрочка платежа |
| overdueSaldo | Просроченная задолженность |
| stopListDateIn | Дата попадания в стоп-лист (если inStopList = 1) в формате YYYY-MM-DD |
| offices | Массив офисов, к которым привязан клиент |
| baskets | Массив корзин (мультикорзина) |
| managerComment | комментарий менеджера из поля "Комментарий менеджера:" карточки клиента |
| defaultOffice | Идентификатор офиса клиента по умолчанию. |
| businessName | тип организации из поля "Тип:" в буквенном обозначении (Автопарк, Дистрибьютор, Магазин и т.д.). карточки клиента |
| userCode | Внутренний код пользователя |
| pickupState | Признак запрета Самовывоза для клиента |
| items | Cписок (массив) клиентов, удовлетворяющих заданным фильтрам (поле отображается при использовании параметра format со значением p). |
| count | Количество клиентов, удовлетворяющих заданным фильтрам (поле отображается при использовании параметра format со значением p) |
При использовании параметра format со значением p ответ на запрос содержит поля:
| items | Cписок (массив) клиентов, удовлетворяющих заданным фильтрам. Массив представляет собой список пользователей, который был бы ответом запроса без использования параметра format со значением p. |
|---|---|
| count | Количество клиентов, удовлетворяющих заданным фильтрам |
Создание пользователя
Операция: cp/user/new
Метод: POST
Принимает параметры для регистрации пользователя. Осуществляет регистрацию нового пользователя в системе. Возвращает статус выполнения операции регистрации, учетные данные нового пользователя, а так же сообщение об ошибке в случае возникновения таковой.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| marketType | Тип регистрации:
|
| filialId | Код филиала (если имеются) |
| name | Имя |
| secondName | Отчество |
| surname | Фамилия |
| password | Пароль |
| birthDate | Дата рождения, формат YYYY-MM-DD |
| mobile | Номер мобильного телефона |
| memberOfClub | Название автоклуба |
| office | Идентификатор офиса |
| Адрес электронной почты | |
| icq | ICQ UIN |
| skype | Skype |
| regionId | Код региона |
| city | Город |
| countryCode | Код страны |
| organizationName | Наименование организации |
| business | Тип организации. Принимает следующие значения:
-1 - Розница (соответствует обычному физ. лицу) 0 - Опт 1 - Опт: Автосервис 2 - Опт: Магазин 3 - Опт: Автопарк 5 - Опт: Интернет-магазин 10 - Опт: Другое 11 - Опт: Автосервис + Магазин 12 - Опт: Дистрибьютор |
| organizationForm | Правовая форма организации. Варианты:
|
| organizationOfficialName | Наименование по регистрации (без правовой формы юр. лица) |
| inn | ИНН |
| kpp | КПП |
| ogrn | ОГРН |
| organizationOfficialAddress | Юридический адрес организации |
| bankName | Наименование банка |
| bik | БИК банка |
| bin | БИН юридических лиц и ИП для пользователей с Казахстана |
| correspondentAccount | Корреспондентский счет банка |
| organizationAccount | Расчетный счет организации |
| deliveryAddress | Адрес доставки |
| deliveryAddressZone | Идентификатор зоны адреса доставки |
| comment | Комментарий |
| profileId | Идентификатор профиля. Если не указан, будет выставлен профиль по умолчанию для соответствующего типа регистрации (опт или розница). |
| pickupState | Запрет самовывоза для клиента. 0 - запретить самовывоз, 1- разрешить самовывоз. Параметр актуален только если у вас на сайте включена опция: "Корзина: запрет самовывоза определенным клиентам". |
| userCode | Внутренний код пользователя |
| individualReturnPeriod | Индивидуальный срок возврата товара (дни). Параметр актуален только если у вас на сайте включена опция: "Показать в карточке клиента поле для указания индивидуального срока возврата". |
Пример запроса
https://demo.public.api.abcp.ru/cp/user/new
Параметры POST
marketType=1&name=Василий&surname=Васильев&password=12345&mobile=79000000000&email=vasya@mail.ru®ionId=77&city=Москва&deliveryAddress=ул. Ленина, д.2&comment=
Поля ответа
| Поле | Описание |
|---|---|
| status | Статус выполнения операции |
| userCode | Внутренний код пользователя. Необходим для активации. |
| activationCode | Код активации, если включена |
| errorMessages | Массив сообщений об ошибках, если статус = 0 |
| activationEmailSend | Если используется опция "Регистрация: активация", нужно добавить в запрос этот параметр со значением "1", чтобы создаваемому клиенту пришло письмо с кодом активации. |
Получение списка профилей
Операция: cp/users/profiles
Метод: GET
Возвращает список всех профилей.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| profileId | Идентификатор профиля. Необязательный параметр. По умолчанию возвращаются все профили. |
| skip | Кол-во профилей, которые нужно пропустить. Необязательный параметр. По умолчанию: 0. |
| limit | Кол-во профилей в ответе. Необязательный параметр. Допустимые значения от 1 до 100. По умолчанию возвращаются все профили. |
| format | Формат ответа. Необязательное значение Может принимать значения: "distributors" - выводить информацию по наценкам на поставщиков; "brands" - выводить информацию по наценкам на поставщиков и бренды. |
Пример запроса
https://demo.public.api.abcp.ru/cp/users/profiles?userlogin=username&userpsw=md5pass
Метод возвращает массив объектов вида:
| Параметр | Описание |
|---|---|
| profileId | Идентификатор профиля |
| code | Код профиля |
| name | Наименование профиля |
| comment | Комментарий |
| priceUp | Наценка, % |
| paymentMethods | Платежные системы |
| paymentTypes | Типы платежей |
| matrixPriceUps | Наценки от стоимости товара |
| excludedBrands | Исключенные из поиска бренды |
| excludedProductGroups | Исключенные из поиска группы товаров |
| distributorsPriceUps | Наценки по поставщикам (выводится если format установлен в значение distributors или brands) |
| baseProfileId | Идентификатор базового профиля (возвращается только при подключении опции Профили: использовать групповое сохранение) |
Узел paymentMethods содержит массив объектов вида:
| Параметр | Описание |
|---|---|
| id | Идентификатор платежной системы |
| name | Наименование платежной системы |
| isEnabled | Признак включения платежной системы для клиентов этого профиля |
Узел matrixPriceUps содержит массив объектов вида:
| Параметр | Описание |
|---|---|
| from | Цена от |
| to | Цена до |
| priceUp | Наценка |
| fixedMarkup | Фикс. надбавка |
Узел distributorsPriceUps содержит массив объектов вида:
| Параметр | Описание |
|---|---|
| id | Идентификатор поставщика |
| name | Наименование поставщика |
| isEnabled | Признак включения поставщика для клиентов этого профиля |
| priceUp | Наценка на поставщика |
| brandsPriceUps | Наценки на бренды поставщика (выводится, если format выставлен в значение brands) |
| isPricePriceupDisabled | Выкл. наценку в зависимости от цены товара (false — Нет, true — Да) |
Узел brandsPriceUps содержит массив объектов вида:
| Параметр | Описание |
|---|---|
| name | Название бренда |
| priceUp | Наценка на поставщика |
Обновление профиля
Операция: cp/users/profile
Метод: POST
Изменяет профиль. Принимает в качестве параметров идентификатор профиля на сайте и всю информацию о профиле, возвращаемую операцией cp/users/profiles в формате brands. Работает только при выключенной опции Профили: использовать групповое сохранение, иначе возвращает ошибку.
Если не указать идентификатор профиля, будет создан новый. В данном случае, обязательными параметрами будут name и priceUp.
При необходимости создать профиль - сначала нужно его создать, а затем задать ему настройки, то есть выполнять 2 операции пошагово.
При создании профиля невозможно использовать имя и код существующих профилей.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| profileId | Идентификатор профиля |
| code | Код профиля |
| name | Наименование профиля |
| comment | Комментарий |
| priceUp | Наценка, % |
| paymentMethods | Платежные системы |
| paymentTypes | Типы платежей |
| matrixPriceUps | Наценки от стоимости товара |
| distributorsPriceUps | Наценки по поставщикам |
Обязательно наличие как минимум одного из полей (code, name, comment, priceUp, paymentMethods, paymentTypes, matrixPriceUps, distributorsPriceUps).
Пример запроса
https://demo.public.api.abcp.ru/cp/users/profile
Тело POST запроса
userlogin=username&userpsw=md5pass&profileId=12345&priceUp=13
Узел paymentMethods содержит массив объектов вида:
| Параметр | Описание |
|---|---|
| id | Идентификатор платежной системы |
| isEnabled | Признак включения платежной системы для клиентов этого профиля |
Пример тела запроса для исключения платёжной системы из профиля:
&paymentMethods[0][id]=id&paymentMethods[0][isEnabled]=0
Узел paymentTypes содержит массив объектов вида:
| Параметр | Описание |
|---|---|
| id | Идентификатор типа платежа |
| isEnabled | Признак включения типа платежа для клиентов этого профиля (допустимые значения: 0 и 1) |
Узел matrixPriceUps содержит массив объектов вида:
| Параметр | Описание |
|---|---|
| from | Цена от |
| to | Цена до |
| priceUp | Наценка |
| fixedMarkup | Фикс. надбавка |
Узел distributorsPriceUps содержит массив объектов вида:
| Параметр | Описание |
|---|---|
| id | Идентификатор поставщика |
| name | Наименование поставщика |
| isEnabled | Признак включения поставщика для клиентов этого профиля (допустимые значения: 0 и 1) |
| priceUp | Наценка на поставщика |
| brandsPriceUps | Наценки на бренды поставщика |
| groupsPriceUps | Наценки на группу товаров по любому бренду |
| brandsAndGroupsPriceUps | Наценки на бренды и группу товаров одновременно |
| isPricePriceupDisabled | Выкл. наценку в зависимости от цены товара (0 — Нет, 1 — Да) |
Узел brandsPriceUps не обязателен, если он отсутствует, то наценки по брендам не изменяются.
Внимание! Если передается узел brandsPriceUps, то все наценки по брендам удаляются и заполняются из переданных параметров.
Узел brandsPriceUps содержит массив объектов вида:
| Параметр | Описание |
|---|---|
| name | Название бренда |
| priceUp | Наценка на поставщика |
| groupName | Название группы товаров |
| isOnlyOneUsed | Признак "Единственная применяемая наценка, true / false |
Узел groupsPriceUps содержит массив объектов вида:
| Параметр | Описание |
|---|---|
| priceUp | Наценка на поставщика |
| groupName | Название группы товаров |
| isOnlyOneUsed | Признак "Единственная применяемая наценка, true / false |
Узел brandsAndGroupsPriceUps содержит массив объектов вида:
| Параметр | Описание |
|---|---|
| brandName | Название бренда |
| priceUp | Наценка на поставщика |
| groupName | Название группы товаров |
| isOnlyOneUsed | Признак "Единственная применяемая наценка, true / false |
В случае успешного обновления, метод возвращает актуальную информацию о профиле (формат узлов тотже):
| Параметр | Описание |
|---|---|
| profileId | Идентификатор профиля |
| code | Код профиля |
| name | Наименование профиля |
| comment | Комментарий |
| priceUp | Наценка, % |
| paymentMethods | Платежные системы |
| paymentTypes | Массив подключенных к профилю id типов платежей |
| excludedBrands | Исключенные из поиска бренды |
| excludedProductGroups | Исключенные из поиска группы товаров |
| matrixPriceUps | Наценки от стоимости товара |
| distributorsPriceUps | Наценки по поставщикам |
Обновление данных пользователя
Операция: cp/user
Метод: POST
Осуществляет обновление данных пользователя, присланных в запросе.
При изменении данных пользователя необязательно передавать все параметры. Используйте в запросе только те данные, которые вы собираетесь изменить.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| userId | Идентификатор изменяемого клиента |
| business | Тип организации. Принимает следующие значения:
-1 - Розница (соответствует обычному физ. лицу) 0 - Опт 1 - Опт: Автопарк 2 - Опт: Автосервис 3 - Опт: Автосервис + Магазин 4 - Опт: Дистрибьютор 5 - Опт: Интернет-магазин 6 - Опт: Магазин |
| Адрес электронной почты | |
| name | Имя |
| secondName | Отчество |
| surname | Фамилия |
| password | Необязательный параметр. Предназначен для изменения пароля пользователя |
| birthDate | Дата рождения, формат YYYY-MM-DD |
| city | Город |
| countryCode | Код страны |
| phone [устарел, не используется] | Номер телефона |
| mobile | Номер мобильного телефона |
| icq | ICQ UIN |
| skype | Skype |
| enableSms | Производится ли отправка SMS клиенту |
| state | Состояние аккаунта. Значения:
0 - ожидает регистрации, 1 - зарегистрированный, 2 - удаленный. |
| profileId | Идентификатор профиля |
| organizationName | Наименование организации |
| organizationForm | Правовая форма организации. Варианты:
|
| organizationOfficialName | Наименование по регистрации (без правовой формы юр. лица) |
| inn | ИНН |
| kpp | КПП |
| ogrn | ОГРН |
| organizationOfficialAddress | Юридический адрес организации |
| bankName | Наименование банка |
| bik | БИК банка |
| bin | БИН юридических лиц и ИП для пользователей с Казахстана |
| correspondentAccount | Корреспондентский счет банка |
| organizationAccount | Расчетный счет организации |
| deliveryAddress | Адреса доставки (массив, где ключи - id адресов). Если передать пустой параметр deliveryAddress, то все адреса клиента будут удалены! Если необходимо добавить новый адрес, то используйте в качестве ключа любое отрицательное число, например deliveryAddress[-1] = 'Здесь новый адрес'. Если Вы изменяете один из адресов, то необходимо передать все имеющиеся адреса клиента. Если этого не сделать, то не переданные адреса клиента будут удалены. |
| deliveryAddressZone | Массив, где ключи - id адресов доставки, а значения - id зон. Если параметр не передан, то ничего не меняется, если есть новый адрес доставки, то он добавляется с пустой зоной. Если параметр передан с пустым значением, то все зоны адресов клиента будут очищены (записано пустое значение). Если передаются новые адреса доставки через отрицательные индексы (deliveryAddress[-1]='Москва Пушкинская д.1'), то можно указать такой же параметр и для зоны (deliveryAddressZone[-1] = 7788. Если меняется хотя бы одна зона, то необходимо передать все имеющиеся зоны адресов клиента. Если этого не сделать, то не переданные зоны адреса клиента будут очищены. |
| baskets | Корзины клиента (массив, где ключи - id корзин). Если передать пустой параметр baskets, то все корзины клиента будут удалены! Если необходимо добавить новую корзину, то используйте в качестве ключа любое отрицательное число, например baskets[-1] = 'Здесь новое название корзины'. Если Вы изменяете одну из корзин, то необходимо передать все имеющиеся корзины клиента. Если этого не сделать, то не переданные корзины клиента будут удалены. |
| basketsDeliveryAddress | Связки корзины и адреса доставки(массив, где ключи - id корзин). Обновятся только переданные связки "корзина - Адрес доставки". Чтобы убрать привязку корзины и адреса нужно передать значение параметра = "0". |
| comment | Комментарий пользователя |
| managerComment | Комментарий менеджера |
| managerId | Идентификатор менеджера. Если передать managerId=0, то менеджер в карточке клиента удалится. |
| userCode | Внутренний код пользователя |
| clientServiceEmployeeId | Идентификатор личного менеджера клиентской службы (дополнительная опция). Если передать clientServiceEmployeeId=0, то менеджер клиентской службы в карточке клиента удалится. |
| clientServiceEmployee2Id | Второй идентификатор личного менеджера клиентской службы (дополнительная опция). Если передать clientServiceEmployee2Id=0, то менеджер клиентской службы в карточке клиента удалится. |
| clientServiceEmployee3Id | Третий идентификатор личного менеджера клиентской службы (дополнительная опция). Если передать clientServiceEmployee3Id=0, то менеджер клиентской службы в карточке клиента удалится. |
| clientServiceEmployee4Id | Четвертый идентификатор личного менеджера клиентской службы (дополнительная опция). Если передать clientServiceEmployee4Id=0, то менеджер клиентской службы в карточке клиента удалится. |
| office | Массив идентификаторов офисов, к которым необходимо подключить клиента. Если идентификатор офиса, к одному из которых подключен клиент, не будет передан, то он будет отключен. Передать пустой параметр office нельзя, т.к. клиент должен быть подключен минимум к одному офису. Параметр актуален только если у вас на сайте включена опция: "Офисы: включить привязку к клиентам". |
| defaultOffice | Идентификатор офиса по умолчанию. Переданное значение должно быть в массиве параметра office. Параметр актуален только если у вас на сайте включена опция: "Офисы: выбрать офис по умолчанию для клиента". |
| info | "Информация" в личном кабинете. В поле допустимо использование html-тегов. max 4000 символов. Закладка появляется только если есть данные в поле info для клиента. |
| safeMode | "Безопасный режим" для клиентов не имеющих поддержки формата JSON. Может принимать значения 0 или 1. При включении (1), адреса доставки в ответе будут возвращаться в виде массива объектов с полями "id" и "name", а не как "ключ - значение". При включении (2), адреса доставки и список офисов в ответе будут возвращаться в виде массива объектов с полями "id" и "name", а не как "ключ - значение". |
| pickupState | Запрет самовывоза для клиента. 0 - запретить самовывоз, 1- разрешить самовывоз. Параметр актуален только если у вас на сайте включена опция: "Корзина: запрет самовывоза определенным клиентам". |
| individualReturnPeriod | Индивидуальный срок возврата товара (дни). Параметр актуален только если у вас на сайте включена опция: "Показать в карточке клиента поле для указания индивидуального срока возврата". |
Пример запроса
https://demo.public.api.abcp.ru/cp/user
Параметры POST
userlogin=username&userpsw=md5pass&userId=12345&profileId=23456&managerId=34567&office[0]=45678&office[1]=56789
Метод возвращает набор узлов вида:
| Поле | Описание |
|---|---|
| userId | Идентификатор пользователя в системе ABCP. |
| business | Тип организации. Значение от 1 до 6:
|
| Адрес электронной почты | |
| name | Имя |
| secondName | Отчество |
| surname | Фамилия |
| birthDate | Дата рождения, формат YYYY-MM-DD |
| city | Город |
| countryCode | Код страны |
| phone [устарел, не используется] | Номер телефона |
| mobile | Номер мобильного телефона |
| enableSms | Производится ли отправка SMS клиенту |
| icq | ICQ UIN |
| skype | Skype |
| state | Состояние аккаунта. Значения:
0 - ожидает регистрации, 1 - зарегистрированный, 2 - удаленный. |
| profileId | Идентификатор профиля |
| organizationName | Наименование организации |
| organizationForm | Правовая форма организации. Варианты:
|
| organizationOfficialName | Наименование по регистрации (без правовой формы юр. лица) |
| inn | ИНН |
| kpp | КПП |
| ogrn | ОГРН |
| organizationOfficialAddress | Юридический адрес организации |
| bankName | Наименование банка |
| bik | БИК банка |
| bin | БИН юридических лиц и ИП для пользователей с Казахстана |
| correspondentAccount | Корреспондентский счет банка |
| organizationAccount | Расчетный счет организации |
| deliveryAddress | Адреса доставки (массив, где ключи - id адресов) |
| comment | Комментарий пользователя |
| managerComment | Комментарий менеджера |
| managerId | Идентификатор менеджера |
| userCode | Внутренний код пользователя |
| clientServiceEmployeeId | Идентификатор личного менеджера клиентской службы (дополнительная опция) |
| clientServiceEmployee2Id | Второй идентификатор личного менеджера клиентской службы (дополнительная опция) |
| clientServiceEmployee3Id | Третий идентификатор личного менеджера клиентской службы (дополнительная опция) |
| clientServiceEmployee4Id | Четвертый идентификатор личного менеджера клиентской службы (дополнительная опция) |
| office | Массив идентификаторов офисов |
| defaultOffice | Идентификатор офиса по умолчанию. Параметр отображается только если у вас на сайте включена опция: "Офисы: выбрать офис по умолчанию для клиента". |
| baskets | Массив корзин клиента в формате "идентификатор - имя корзины" |
| basketsDeliveryAddress | Связки корзины и адреса доставки в формате "идентификатор корзины - идентификатор адреса доставки". |
| info | "Информация" в личном кабинете. В поле допустимо использование html-тегов. Закладка появляется только если есть данные в поле info для клиента. |
| pickupState | Запрет Самовывоза для клиента |
Получение списка адресов доставки
Операция: cp/user/shipmentAddresses
Метод: GET
Возвращает список доступных адресов доставки. Идентификатор адреса доставки необходим при отправке заказа.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| userId | Идентификатор клиента |
Пример запроса
https://demo.public.api.abcp.ru/cp/user/shipmentAddresses?userlogin=username&userpsw=md5pass&userId=5427194
Поля ответа
Метод возвращает набор узлов вида:
| Поле | Описание |
|---|---|
| id | Идентификатор адреса доставки. |
| name | Адрес доставки. |
| zoneId | Идентификатор зоны, если указан для адреса. |
| zoneName | Имя зоны адресов доставки. |
Получение клиентских настроек SMS
Операция: cp/user/smsSettings
Метод: GET
Возвращает настройки SMS клиента.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| userIds | Идентификаторы клиентов (массив) |
Пример запроса
https://demo.public.api.abcp.ru/cp/user/smsSettings?userlogin=username&userpsw=md5pass&userIds[]=25624625&userIds[]=25624789
Поля ответа
Метод возвращает набор узлов вида:
| Поле | Описание |
|---|---|
| userId | Системный код клиента. |
| enableSms | 1 или 0 - доступна ли клиенту отправка sms в целом (задается менеджером в общих настройках клиента). |
| isCustomersNotificationEnabled | 1 или 0 - активировал ли клиент отправку sms (задается клиентом при отправке заказа, и отображается в карточке клиента "Настройка сообщений"). |
Получение клиентских опций
Операция: cp/user/options
Метод: GET
Возвращает клиентские опции.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| userIds | Системные id клиентов. Необязательный параметр. Если не передать, вернутся опции всех клиентов. |
Пример запроса
https://demo.public.api.abcp.ru/cp/user/options?userlogin=username&userpsw=md5pass&userIds[]=861437&userIds[]=9973711
Поля ответа
Метод возвращает набор узлов вида:
| Поле | Описание |
|---|---|
| userId | Системный id клиента |
| availablePaymentTypeMode | 0 при опции "Доступные типы платежей" = "Из профиля"
1 при опции "Доступные типы платежей" = "Заданы вручную". |
| enabledPaymentTypeIds | массив id типов платежей. Может быть пустым. |
Редактирование клиентских опций
Операция: cp/user/options
Метод: POST
Редактирует клиентские опции.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| userId | Системный id клиента |
| availablePaymentTypeMode | 0 для установки опции "Доступные типы платежей" = "Из профиля"
1 для установки опции "Доступные типы платежей" = "Заданы вручную" |
| enabledPaymentTypeIds | массив id типов платежей. Может быть пустым. |
Пример запроса
https://demo.public.api.abcp.ru/cp/user/options
Тело POST запроса
userlogin=username&userpsw=md5pass&userId=861437&availablePaymentTypeMode=1&enabledPaymentTypeIds[]=1379
Поля ответа
Метод возвращает набор узлов вида:
| Поле | Описание |
|---|---|
| userId | Системный id клиента |
| availablePaymentTypeMode | 0 при опции "Доступные типы платежей" = "Из профиля"
1 при опции "Доступные типы платежей" = "Заданы вручную". |
| enabledPaymentTypeIds | массив id типов платежей. Может быть пустым. |
Зоны адресов
Получение списка зон адресов доставки
Операция: /cp/user/shipmentAddressZones
Метод: GET
Возвращает список зон адресов доставки.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
Пример запроса
https://demo.public.api.abcp.ru/cp/user/shipmentAddressZones?userlogin=username&userpsw=md5pass
Поля ответа
Метод возвращает набор узлов вида:
| Поле | Описание |
|---|---|
| id | Идентификатор зоны адресов доставки. |
| name | Название зоны адресов доставки. |
| isOnDay[1...7] | Признак, установлено ли крайнее время работы в указанный день недели. 1 - пн., ... 7 - вс. |
| stopTimeDay[1...7] | Крайнее время работы в указанный день недели. 1 - пн., ... 7 - вс. |
| deadline | Минимальный срок доставки для зоны, в днях |
Получение одной зоны адресов доставки
Операция: /cp/user/shipmentAddressZones/{id}
Метод: GET
Возвращает одну зону адресов доставки по указанному уникальному идентификатору.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| id | Уникальный идентификатор зоны адресов доставки |
Пример запроса
https://demo.public.api.abcp.ru/cp/user/shipmentAddressZones/15?userlogin=username&userpsw=md5pass
Поля ответа
Метод возвращает узел вида:
| Поле | Описание |
|---|---|
| id | Идентификатор зоны адресов доставки. |
| name | Название зоны адресов доставки. |
| isOnDay[1...7] | Признак, установлено ли крайнее время работы в указанный день недели. 1 - пн., ... 7 - вс. |
| stopTimeDay[1...7] | Крайнее время работы в указанный день недели. 1 - пн., ... 7 - вс. |
| deadline | Минимальный срок доставки для зоны, в днях |
Сохранение зон адресов доставки
Операция: /cp/user/shipmentAddressZones
Метод: POST
Универсальный метод добавления и обновления зон адресов доставки.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| zones | Массив объектов зон адресов доставки |
Узел zones содержит массив объектов зон адресов доставки со следующими полями:
| Параметр | Описание |
|---|---|
| id | Идентификатор изменяемой зоны адресов доставки. Если пустой или равен нулю, то создается новая запись с зоной адресов доставки. Если меняется хотя бы одна зона, то необходимо передать все имеющиеся зоны адресов клиента. Если этого не сделать, то не переданные зоны будут удалены. |
| name | Название зоны адресов доставки |
| isOnDay[1...7] | Признак, установлено ли крайнее время работы в указанный день недели. 1 - пн., ... 7 - вс. |
| stopTimeDay[1...7] | Крайнее время работы в указанный день недели в формате "23:59". 1 - пн., ... 7 - вс. |
| deadline | Минимальный срок доставки для зоны, в днях |
| excludeDay[1...7] | Доступность дня недели для отгрузки 1 - пн., ... 7 - вс. принимает значения 0 или 1. |
Пример запроса
https://demo.public.api.abcp.ru/cp/user/shipmentAddressZones
Тело POST запроса
userlogin=username&userpsw=md5pass&zones[0][id]=123&zones[0][name]=Москва&zones[0][isOnDay1]=1&zones[0][stopTimeDay1]=16:30&zones[0][isOnDay2]=1&zones[0][stopTimeDay2]=15:30&zones[0][excludeDay3]=1
Поля ответа
Метод возвращает набор узлов вида:
| Поле | Описание |
|---|---|
| id | Идентификатор зоны адресов доставки. |
| name | Название зоны адресов доставки. |
| isOnDay[1...7] | Признак, установлено ли крайнее время работы в указанный день недели. 1 - пн., ... 7 - вс. |
| stopTimeDay[1...7] | Крайнее время работы в указанный день недели. 1 - пн., ... 7 - вс. |
| excludeDay[1...7] | Доступность дня недели для отгрузки 1 - пн., ... 7 - вс. принимает значения 0 или 1. |
| deadline | Минимальный срок доставки для зоны, в днях |
Создание новой зоны адресов доставки
Операция: /cp/user/shipmentAddressZones/new
Метод: POST
Метод создания одной зоны адресов доставки.
Параметры запроса
Параметры запроса передаются в виде json-объекта в теле запроса. json-объект содержит следующие поля:
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| name | Название зоны адресов доставки. |
| isOnDay[1...7] | Признак, установлено ли крайнее время работы в указанный день недели. 1 - пн., ... 7 - вс. |
| stopTimeDay[1...7] | Крайнее время работы в указанный день недели. 1 - пн., ... 7 - вс. |
| deadline | Минимальный срок доставки для зоны, в днях |
Пример запроса
https://demo.public.api.abcp.ru/cp/user/shipmentAddressZones/new
Тело POST запроса
userlogin=username&userpsw=md5pass&name=зона1&isOnDay1=1&stopTimeDay1=7
Поля ответа
Метод возвращает узел с созданной зоной адресов доставки вида:
| Поле | Описание |
|---|---|
| id | Идентификатор зоны адресов доставки. |
| name | Название зоны адресов доставки. |
| isOnDay[1...7] | Признак, установлено ли крайнее время работы в указанный день недели. 1 - пн., ... 7 - вс. |
| stopTimeDay[1...7] | Крайнее время работы в указанный день недели. 1 - пн., ... 7 - вс. |
| deadline | Минимальный срок доставки для зоны, в днях |
Обновление зоны адресов доставки
Операция: /cp/user/shipmentAddressZones/{id}/update
Метод: POST
Метод обновления данных одной зоны адресов доставки.
Параметры запроса
Идентификатор обновляемой зоны передаётся явно в URI запроса. Параметры запроса передаются в виде json-объекта в теле запроса. json-объект содержит следующие поля:
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| name | Название зоны адресов доставки. |
| isOnDay[1...7] | Признак, установлено ли крайнее время работы в указанный день недели. 1 - пн., ... 7 - вс. |
| stopTimeDay[1...7] | Крайнее время работы в указанный день недели. 1 - пн., ... 7 - вс. |
| deadline | Минимальный срок доставки для зоны, в днях |
Пример запроса
https://demo.public.api.abcp.ru/cp/user/shipmentAddressZones/400/update
Тело POST запроса
userlogin=username&userpsw=md5pass&name=зона1&isOnDay1=1&stopTimeDay1=7&deadline=24
Поля ответа
Метод возвращает узел с обновлённой зоной адресов доставки вида:
| Поле | Описание |
|---|---|
| id | Идентификатор зоны адресов доставки. |
| name | Название зоны адресов доставки. |
| isOnDay[1...7] | Признак, установлено ли крайнее время работы в указанный день недели. 1 - пн., ... 7 - вс. |
| stopTimeDay[1...7] | Крайнее время работы в указанный день недели. 1 - пн., ... 7 - вс. |
| deadline | Минимальный срок доставки для зоны, в днях |
Удаление зоны адресов доставки
Операция: /cp/user/shipmentAddressZones/{id}/delete
Метод: POST
Метод удаления зоны адресов доставки.
Параметры запроса
Идентификатор обновляемой зоны передаётся явно в URI запроса.
Пример запроса
https://demo.public.api.abcp.ru/cp/user/shipmentAddressZones/400/delete
Ответ
Метод возвращает статус 200, если удаление прошло успешно, и статус отличный от 200 с описанием ошибки, если при удалении зоны возникли проблемы.
Получение списка сотрудников
Операция: cp/managers
Метод: GET
Возвращает список менеджеров.
Параметры запроса
| Параметр | Обязательность | Описание |
|---|---|---|
| userlogin | Да | Имя API-администратора |
| userpsw | Да | md5-хэш пароля API-администратора |
| withDeleted | Нет | Признак "Удаленного сотрудника". Может принимать значения 0 или 1 (по умолчанию - 0). В значении 0 - в результаты поиска отображаются активные сотрудники. В значении 1 - результаты поиска дополняются данными удалённых сотрудников. |
Пример запроса
https://demo.public.api.abcp.ru/cp/managers?userlogin=username&userpsw=md5pass
Метод возвращает массив объектов вида:
| Параметр | Описание |
|---|---|
| id | Идентификатор сотрудника |
| resellerId | Идентификатор реселлера |
| typeId | Тип сотрудника |
| typeName | Наименование типа |
| firstName | Имя сотрудника |
| lastName | Фамилия сотрудника |
| phone | Телефон |
| icq | ICQ |
| skype | Skype |
| sip | SIP номер |
| comment | Комментарий |
| contractorId | Идентификатор пользователя сотрудника |
| bossId | Идентификатор руководителя сотрудника |
| bossName | Имя руководителя сотрудника |
| officeName | Название офиса |
| officeId | Идентификатор офиса |
| allowLogin | Флаг разрешения входа на сайт |
| allowLoginToCP | Флаг разрешения входа в Панель управления |
| isFranchiseeLogin | Флаг франчайзи |
| isDelete | Флаг удаленного сотрудника |
| isService | Флаг сотрудника сервиса |
| mobile | Мобильный телефон |
| photo | Фотография |
| photoVersion | Версия фотографии |
Обновление данных сотрудника
Операция: cp/manager
Метод: POST
Обновление данных сотрудника.
При изменении данных сотрудника необязательно передавать все параметры. Используйте в запросе только те данные, которые вы собираетесь изменить.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| id | Идентификатор сотрудника (обязательное поле) |
| typeId | Идентификатор должности сотрудника |
| firstName | Имя сотрудника |
| lastName | Фамилия сотрудника |
| Адрес ящика электронной почты | |
| phone | Номер телефона |
| mobile | Номер мобильного телефона |
| SIP | SIP номер |
| comment | Комментарий |
| bossId | Идентификатор руководителя |
| officeId | Идентификатор офиса |
Пример запроса
https://demo.public.api.abcp.ru/cp/manager
Тело POST запроса
userlogin=username&userpsw=md5pass&id=12345&firstName=4503
Метод возвращает массив объектов вида:
| Параметр | Описание |
|---|---|
| id | Идентификатор сотрудника |
| resellerId | Идентификатор реселлера |
| typeId | Тип сотрудника |
| typeName | Наименование типа |
| firstName | Имя сотрудника |
| lastName | Фамилия сотрудника |
| phone | Телефон |
| icq | ICQ |
| sip | sip номер |
| skype | Skype |
| comment | Комментарий |
| contractorId | Идентификатор пользователя сотрудника |
| bossId | Идентификатор руководителя сотрудника |
| bossName | Имя руководителя сотрудника |
| officeName | Название офиса |
| officeId | Идентификатор офиса |
| allowLogin | Флаг разрешения входа на сайт |
| allowLoginToCP | Флаг разрешения входа в Панель управления |
| isFranchiseeLogin | Флаг франчайзи |
| isDelete | Флаг удаленного сотрудника |
| isService | Флаг сотрудника сервиса |
| mobile | Мобильный телефон |
| photo | Фотография |
| photoVersion | Версия фотографии |
Получение списка статусов
Операция: cp/statuses
Метод: GET
Возвращает список всех статусов позиций заказов.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
Пример запроса
https://demo.public.api.abcp.ru/cp/statuses?userlogin=username&userpsw=md5pass
Метод возвращает массив объектов вида:
| Параметр | Описание |
|---|---|
| id | Идентификатор статуса (он же statusCode) |
| name | Имя статуса |
| comment | Описание для клиента |
| notify | Флаг "Уведомить клиента" |
| paid | Флаг "Статус после оплаты заказа" |
| startDelivery | Флаг "Начальный статус доставки/списания" |
| delivery | Флаг "Статус доставки/списания" |
| placingOrder | Флаг "Статус после размещения заказа у поставщика" |
| color | Цвет статуса |
Получение справочника брендов
Операция: cp/articles/brands
Метод: GET
Возвращает список всех брендов зарегистрированных в системе с их синонимами.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
Пример запроса
https://demo.public.api.abcp.ru/cp/articles/brands?userlogin=username&userpsw=md5pass
Метод возвращает массив объектов вида:
| Параметр | Описание |
|---|---|
| name | Имя бренда |
| aliases | Массив, содержащий список синонимов текущего бренда |
Получение справочника групп брендов
Операция: cp/articles/brandGroups
Метод: GET
Возвращает список всех групп брендов зарегистрированных в системе.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
Пример запроса
https://demo.public.api.abcp.ru/cp/articles/brandGroups?userlogin=username&userpsw=md5pass
Метод возвращает массив объектов вида:
| Параметр | Описание |
|---|---|
| brands | Массив, содержащий список брендов, входящих в группу |
| name | Название группы (имя заглавного бренда) |
Поставщики
Получение списка поставщиков
Операция: cp/distributors
Метод: GET
Возвращает список всех поставщиков, подключенных в ПУ/Поставщики.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| distributors4mc | При передаче "1" возвращает дополнительно поставщиков 4mycar" |
Пример запроса
https://demo.public.api.abcp.ru/cp/distributors?userlogin=username&userpsw=md5pass
Метод возвращает массив объектов вида:
| Параметр | Описание |
|---|---|
| id | id поставщика |
| name | Имя поставщика |
| publicName | Публичное (измененное) имя поставщика |
| currencyDesignation | Валюта поставщика |
| isEnabled | Статус поставщика |
| updateTime | Последнее обновление (у онлайн поставщиков не выводится) |
| positionsNumber | Позиций в наличии |
| updateRateInDays | Норма обновления в днях для поставщика |
| email поставщика | |
| firstName | Имя |
| lastName | Фамилия |
| city | Город |
| phone | Телефон |
| mobile | Мобильный |
| organizationForm | Правовая форма организации. |
| organizationOfficialName | Наименование по регистрации (без правовой формы юр. лица) |
| inn | ИНН |
| kpp | КПП |
| organizationOfficialAddress | Юридический адрес организации |
| bankName | Наименование банка |
| bik | БИК банка |
| correspondentAccount | Корреспондентский счет банка |
| organizationAccount | Расчетный счет организации |
| description | Описание |
| contractor | Контрагент поставщика. Содержит поля: id - идентификатор, name - имя. Значение null - если контрагент не прикреплен. |
Изменение статуса поставщика
Операция: cp/distributor/status
Метод: POST
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| distributorId | Id поставщика |
| status | 1 - Вкл. \ 0 - Выкл. |
Пример запроса
https://demo.public.api.abcp.ru/cp/distributor/status
Тело POST запроса
userlogin=username&userpsw=md5pass&status=1
Метод возвращает объект вида:
| Параметр | Описание |
|---|---|
| status | Статус выполнения операции. В случае успешного выполнения возвращает 1. |
| errorMessage | Сообщение об ошибке(если она есть). |
Загрузка прайс-листа поставщика
Операция: cp/distributor/pricelistUpdate
Метод: POST
В ПУ, в разделе "Поставщики"/"Обн."/"Конфигурация прайс-листа" предварительно настраивается конфигурация загружаемого прайс-листа. Специальных требований к прайс-листу нет, есть только обычные: наличие колонок с ценой, брендом, каталожным номером, описанием, наличием. На вкладке "Загрузка прайс-листа" может быть выбран любой способ загрузки.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| distributorId | Id поставщика |
| uploadFile | файл прайс-листа переданный в multipart/form-data |
| fileTypeId | Необязательный параметр - идентификатор типа файла. Если не передаётся, то по умолчанию равен 1.
Список принимаемых значений: 1 - полный ассортимент |
Пояснение: если загружается полный ассортимент, то вся загруженная ранее информация удаляется.
Пример запроса
curl -i -X POST -H "Content-Type: multipart/form-data" -F "userlogin=username" -F "userpsw=md5pass" -F "distributorId=369645" -F "uploadFile=@/home/user/pricelist.xlsx" https://demo.public.api.abcp.ru/cp/distributor/pricelistUpdate
Примеры скриптов для выполнения операции
- Windows - СКАЧАТЬ После скачивания необходимо распаковать zip архив в любую папку. Открыть файл windows/upload.vbs для редактирования в Блокноте и указать в самом верху свои логин и пароль API администратора, а также хост для обращения к API. Сохраните и закройте его. После этого, откройте файл start_full.bat для редактирования в Блокноте. Вторым аргументом необходимо указать id поставщика для обновления, а третьим аргументом - путь к файлу прайс-листа. Путь к файлу может быть полным, например: "C:\Users\Admin\my_price.xls". Или относительным, например: ".\my_price.xls", если прайс-лист лежит в той же папке где и скрипт загрузки. Сохраните и закройте файл. Теперь вы можете запустить файл start_full.bat двойным кликом, чтобы прайс-лист был загружен.
- Linux - СКАЧАТЬ После скачивания необходимо распаковать zip архив в любую папку. Отредактируйте файл posix/update_price.sh указав в блоке Config свои логин и пароль API администратора, а также хост для обращения к API. Для запуска используйте консоль:
sh /home/user/update_price.sh 369645 '/home/user/my_price.csv'
где первый аргумент: 369645 - id поставщика, второй аргумент - путь к файлу прайс-листа.
или
sh /home/user/update_price.sh 369645 '/home/user/my_price.csv'
Необходимо наличие установленной библиотеки curl.
Метод возвращает объект вида:
| Параметр | Описание |
|---|---|
| status | Статус выполнения операции. В случае успешного выполнения возвращает 1. |
| message | Сообщение о результатах работы. |
Копирование поставщика
Операция: cp/distributor/copy
Метод: POST
Cоздает нового прайсового поставщика с полностью идентичными настройками - валюта прайса, настройки колонок, конфигурация брендов, правил для артикулов и описаний в прайсах, конфигурация цен прайса, конфигурация наличия, фильтрация прайса, доп. настройки и настройки маршрутОВ на основе заданного id шаблонного прайсового поставщика. Лимит по операции - не более 100 операций в сутки.
Создается такое же количество маршрутов, как в поставщике, с которого копируются настройки
Поставщик создается выключенным от сайта. Для его включения по API используйте операцию Изменение статуса поставщика
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| distributorId | ID поставщика, с которого будут скопированы настройки конфига и маршрутов |
| distributorName | Название для создаваемого поставщика - необязательное поле. Если не задавать наименование, то будет создан поставщик с названием от копируемого поставщика+ постфикса _Copy |
| withoutConfig | Необязательный параметр. Список принимаемых значений:
1-создастся поставщик со структурой по умолчанию, которую нужно самостоятельно задать/настроить (то есть идентично тому, как в ПУ с нуля создается поставщик) 0-конфигурация будет создана идентичная конфигу копируемого поставщика . Если не передаётся, то по умолчанию равен 0 |
Пример запроса
https://demo.public.api.abcp.ru/cp/distributor/copy
Тело POST запроса
userlogin=username&userpsw=md5pass&distributorId=4223356&distributorName=NEWпоставщик
Метод возвращает массив объектов вида:
| Параметр | Описание |
|---|---|
| id | id поставщика |
| name | Имя поставщика |
| publicName | Публичное (измененное) имя поставщика |
| currencyDesignation | Валюта поставщика |
| isEnabled | Статус поставщика |
| updateTime | Последнее обновление (у онлайн поставщиков не выводится) |
| positionsNumber | Позиций в наличии |
| updateRateInDays | Норма обновления в днях для поставщика |
| email поставщика | |
| firstName | Имя |
| lastName | Фамилия |
| city | Город |
| phone | Телефон |
| mobile | Мобильный |
| organizationForm | Правовая форма организации. |
| organizationOfficialName | Наименование по регистрации (без правовой формы юр. лица) |
| inn | ИНН |
| kpp | КПП |
| organizationOfficialAddress | Юридический адрес организации |
| bankName | Наименование банка |
| bik | БИК банка |
| correspondentAccount | Корреспондентский счет банка |
| organizationAccount | Расчетный счет организации |
| description | Описание |
| contractor | Контрагент поставщика. Содержит поля: id - идентификатор, name - имя. Значение null - если контрагент не прикреплен. |
| routes | массив созданных по поставщику маршрутов |
Узел routes содержит массив объектов вида:
| Параметр | Описание |
|---|---|
| id | id маршрута |
| deadline | Срок поставки (часов) |
| deadlineReplace | Текстовое значение для "Срока поставки" |
| isDeadlineReplaceFranchEnabled | Передавать текстовое значение для "Срока поставки" франчайзи |
| deadlineMax | Максимальный срок поставки (часов) |
| normalTimeStart | Начало рабочего времени |
| normalTimeEnd | Конец рабочего времени |
| normalDaysOfWeek | Стандартные дни недели |
| abnormalDeadline | Срок поставки (вне стандартного времени) |
| abnormalDeadlineMax | Максимальный срок поставки (вне стандартного времени) |
| p1 | P1 |
| p2 | P2 |
| pricePerKg | Стоимость 1КГ (в валюте поставщика) |
| priceUpAdded | Добавочная наценка |
| с1 | C1 |
| priceUpMin | Минимальная наценка |
| priceUpMax | Максимальная наценка |
| primaryPriceUpToContractor | Приоритетная (если выше) наценка для клиента |
| deliveryProbability | Вероятность поставки (в процентах) % |
| description | Краткое описание маршрута |
| enableColor | Выделять цветом |
| color | Цвет |
| isAbnormalColorEnabled | Выделять цветом в нерабочее время |
| abnormalColor | Цвет в нерабочее время |
| noReturn | Без возврата |
| supplierCodeEnabledList | Ограничить выдачу складами (массив) |
| supplierCodeDisabledList | Исключить позиции по складам (массив) |
| normalTimeDisplayOnly | Показывать только в стандартное время (false - Нет, true - Да) |
| disableOrderAbnormalTime | Блокировать отправку заказа в нестандартное время (false - Нет, true - Да) |
| notUseOnlineSupplierDeadline | Не использовать срок поставки online-поставщика (false - Нет, true - Да) |
Удаление/отключение поставщика
Операция: cp/distributor/delete
Метод: POST
Удаляет поставщика типа прайс-лист. Отключает онлайн-поставщика от сайта.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| distributorId | Идентификатор поставщика |
| franchiseeId | Необязательный параметр. ID франчайзи, от которого нужно отключить онлайн-поставщика |
Метод возвращает успешный результат выполнения операции в параметре result, либо errorCode и errorMessage для отображения ошибки.
Получение списка маршрутов поставщика
Операция: cp/routes
Метод: GET
Возвращает список всех маршрутов поставщика.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| distributorId | Идентификатор поставщика |
| withDisabled | Фильтр по статусу маршрутов:
• • |
Пример запроса
https://demo.public.api.abcp.ru/cp/routes?userlogin=username&userpsw=md5pass&distributorId=12345&withDisabled=0
Метод возвращает массив объектов вида:
| Параметр | Описание |
|---|---|
| id | id маршрута |
| deadline | Срок поставки (часов) |
| deadlineReplace | Текстовое значение для "Срока поставки" |
| isDeadlineReplaceFranchEnabled | Передавать текстовое значение для "Срока поставки" франчайзи |
| deadlineMax | Максимальный срок поставки (часов) |
| normalTimeStart | Начало рабочего времени |
| normalTimeEnd | Конец рабочего времени |
| normalDaysOfWeek | Стандартные дни недели |
| abnormalDeadline | Срок поставки (вне стандартного времени) |
| abnormalDeadlineMax | Максимальный срок поставки (вне стандартного времени) |
| p1 | P1 |
| p2 | P2 |
| pricePerKg | Стоимость 1КГ (в валюте поставщика) |
| priceUpAdded | Добавочная наценка |
| с1 | C1 |
| priceUpMin | Минимальная наценка |
| priceUpMax | Максимальная наценка |
| primaryPriceUpToContractor | Приоритетная (если выше) наценка для клиента |
| deliveryProbability | Вероятность поставки (в процентах) % |
| descriptionOfDeliveryProbability | Описание вероятности поставки |
| description | Краткое описание маршрута |
| enableColor | Выделять цветом |
| color | Цвет |
| isAbnormalColorEnabled | Выделять цветом в нерабочее время |
| abnormalColor | Цвет в нерабочее время |
| noReturn | Без возврата |
| distributorCode | Код поставщика ("человеко-читаемый" код, который может (но не должен) установить владелец сайта для прайса/поставщика). |
| supplierCodeEnabledList | Ограничить выдачу складами (массив) |
| supplierCodeDisabledList | Исключить позиции по складам (массив) |
| normalTimeDisplayOnly | Показывать только в стандартное время (false - Нет, true - Да) |
| disableOrderAbnormalTime | Блокировать отправку заказа в нестандартное время (false - Нет, true - Да) |
| notUseOnlineSupplierDeadline | Не использовать срок поставки online-поставщика (false - Нет, true - Да) |
| isActive | Статус маршрута (false - Неактивный , true - Активный) |
| offices | Массив Id офисов, которые привязаны к маршруту |
Обновление данных маршрута поставщика
Операция: cp/route
Метод: POST
Осуществляет обновление данных маршрута поставщика, присланных в запросе.
При изменении данных маршрута необязательно передавать все параметры. Используйте в запросе только те данные, которые вы собираетесь изменить.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| routeId | Идентификатор маршрута поставщика |
| deadline | Срок поставки (часов) |
| deadlineReplace | Текстовое значение для "Срока поставки" |
| isDeadlineReplaceFranchEnabled | Передавать текстовое значение для "Срока поставки" франчайзи |
| deadlineMax | Максимальный срок поставки (часов) |
| normalTimeStart | Начало рабочего времени |
| normalTimeEnd | Конец рабочего времени |
| normalDaysOfWeek | Стандартные дни недели |
| abnormalDeadline | Срок поставки (вне стандартного времени) |
| abnormalDeadlineMax | Максимальный срок поставки (вне стандартного времени) |
| p1 | P1 |
| p2 | P2 |
| pricePerKg | Стоимость 1КГ (в валюте поставщика) |
| priceUpAdded | Добавочная наценка |
| с1 | C1 |
| priceUpMin | Минимальная наценка |
| priceUpMax | Максимальная наценка |
| primaryPriceUpToContractor | Приоритетная (если выше) наценка для клиента |
| deliveryProbability | Вероятность поставки (в процентах) % |
| descriptionOfDeliveryProbability | Описание вероятности поставки (максимум 3000 символов) |
| description | Краткое описание маршрута |
| enableColor | Выделять цветом |
| color | Цвет |
| isAbnormalColorEnabled | Выделять цветом в нерабочее время |
| abnormalColor | Цвет в нерабочее время |
| noReturn | Без возврата |
| supplierCodeEnabledList | Ограничить выдачу складами (массив) |
| supplierCodeDisabledList | Исключить позиции по складам (массив) |
| normalTimeDisplayOnly | Показывать только в стандартное время (0 - Нет, 1 - Да) |
| disableOrderAbnormalTime | Блокировать отправку заказа в нестандартное время (0 - Нет, 1 - Да). "1" сохраняется только при normalTimeDisplayOnly=1. |
| notUseOnlineSupplierDeadline | Не использовать срок поставки online-поставщика (0 - Нет, 1 - Да) |
| offices | Массив Id офисов, которые привязаны к маршруту. Требует, чтобы была активна опция "Офисы: включить дополнительные настройки" |
Пример запроса
https://demo.public.api.abcp.ru/cp/route
Тело POST запроса
userlogin=username&userpsw=md5pass&routeId=12345&deadline=48
Метод возвращает массив с измененной информацией о маршруте:
| Параметр | Описание |
|---|---|
| id | id маршрута |
| deadline | Срок поставки (часов) |
| deadlineReplace | Текстовое значение для "Срока поставки" |
| isDeadlineReplaceFranchEnabled | Передавать текстовое значение для "Срока поставки" франчайзи |
| deadlineMax | Максимальный срок поставки (часов) |
| normalTimeStart | Начало рабочего времени |
| normalTimeEnd | Конец рабочего времени |
| normalDaysOfWeek | Стандартные дни недели |
| abnormalDeadline | Срок поставки (вне стандартного времени) |
| abnormalDeadlineMax | Максимальный срок поставки (вне стандартного времени) |
| p1 | P1 |
| p2 | P2 |
| pricePerKg | Стоимость 1КГ (в валюте поставщика) |
| priceUpAdded | Добавочная наценка |
| с1 | C1 |
| priceUpMin | Минимальная наценка |
| priceUpMax | Максимальная наценка |
| primaryPriceUpToContractor | Приоритетная (если выше) наценка для клиента |
| deliveryProbability | Вероятность поставки (в процентах) % |
| descriptionOfDeliveryProbability | Описание вероятности поставки |
| description | Краткое описание маршрута |
| enableColor | Выделять цветом |
| color | Цвет |
| isAbnormalColorEnabled | Выделять цветом в нерабочее время |
| abnormalColor | Цвет в нерабочее время |
| noReturn | Без возврата |
| supplierCodeEnabledList | Ограничить выдачу складами (массив) |
| supplierCodeDisabledList | Исключить позиции по складам (массив) |
| normalTimeDisplayOnly | Показывать только в стандартное время (false - Нет, true - Да) |
| disableOrderAbnormalTime | Блокировать отправку заказа в нестандартное время (false - Нет, true - Да) |
| notUseOnlineSupplierDeadline | Не использовать срок поставки online-поставщика (false - Нет, true - Да) |
| offices | Массив Id офисов, которые привязаны к маршруту |
Изменение статуса маршрута поставщика
Операция: cp/routes/status
Метод: POST
Изменяет статус маршрута поставщика
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя пользователя в системе |
| userpsw | md5-хэш пароля пользователя в системе |
| routeId | Идентификатор маршрута поставщика |
| status | Значение нового статуса (1-вкл., 0-выкл.) |
Пример запроса
https://demo.public.api.abcp.ru/cp/routes/status
Параметры POST
userlogin=username&userpsw=md5pass&routeId=12345&status=1
Поля ответа
Метод возвращает ответ:
| Поле | Описание |
|---|---|
| distributorRouteActive | Статус маршрута. Принимает значение true - включён, false - выключен |
В случае ошибки возвращает ответ:
| Поле | Описание |
|---|---|
| errorCode | Код ошибки |
| errorMessage | Текст сообщения об ошибке |
Создание маршрута поставщика
Операция: cp/route/create
Метод: POST
Операция позволяет создать маршрут для имеющегося поставщика
ВАЖНО: Для предотвращения ошибок, вледствие которых может быть создано множество маршрутов, существует лимит на создание: 5 маршрутов на1 поставщика. В случае его достижения Вам будет отображена ошибка ""Достигнуто ограничение на создание по API - для одного поставщика не более 5 маршрутов.""
Параметры запроса
Минимально необходимые поля для создания маршрута: логин API-администратора, пароль, Id поставщика для которого требуется создать маршрут. Но можно сразу при создании задавать необходимые параметры.
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| distributorId | ID поставщика, Для которого будет создан новый маршрут |
| deadline | Срок поставки (часов) |
| deadlineReplace | Текстовое значение для "Срока поставки" |
| isDeadlineReplaceFranchEnabled | Передавать текстовое значение для "Срока поставки" франчайзи |
| deadlineMax | Максимальный срок поставки (часов) |
| normalTimeStart | Начало рабочего времени |
| normalTimeEnd | Конец рабочего времени |
| normalDaysOfWeek | Стандартные дни недели |
| abnormalDeadline | Срок поставки (вне стандартного времени) |
| abnormalDeadlineMax | Максимальный срок поставки (вне стандартного времени) |
| p1 | P1 |
| p2 | P2 |
| pricePerKg | Стоимость 1КГ (в валюте поставщика) |
| priceUpAdded | Добавочная наценка |
| с1 | C1 |
| priceUpMin | Минимальная наценка |
| priceUpMax | Максимальная наценка |
| primaryPriceUpToContractor | Приоритетная (если выше) наценка для клиента |
| deliveryProbability | Вероятность поставки (в процентах) % |
| description | Краткое описание маршрута |
| enableColor | Выделять цветом |
| color | Цвет |
| isAbnormalColorEnabled | Выделять цветом в нерабочее время |
| abnormalColor | Цвет в нерабочее время |
| noReturn | Без возврата |
| supplierCodeEnabledList | Ограничить выдачу складами (массив) |
| supplierCodeDisabledList | Исключить позиции по складам (массив) |
| normalTimeDisplayOnly | Показывать только в стандартное время (false - Нет, true - Да) |
| disableOrderAbnormalTime | Блокировать отправку заказа в нестандартное время (false - Нет, true - Да) |
| notUseOnlineSupplierDeadline | Не использовать срок поставки online-поставщика (false - Нет, true - Да) |
| offices | Массив Id офисов, которые нужно привязать к маршруту при создании
Актуально только когда активная опция "Офисы: включить дополнительные настройки" |
Пример запроса
https://demo.public.api.abcp.ru/cp/route/create
Параметры POST
userlogin=username&userpsw=md5pass&distributorId=4223356&deadline=24
Метод возвращает массив объектов вида:
| Параметр | Описание |
|---|---|
| id | id маршрута |
| deadline | Срок поставки (часов) |
| deadlineReplace | Текстовое значение для "Срока поставки" |
| isDeadlineReplaceFranchEnabled | Передавать текстовое значение для "Срока поставки" франчайзи |
| deadlineMax | Максимальный срок поставки (часов) |
| normalTimeStart | Начало рабочего времени |
| normalTimeEnd | Конец рабочего времени |
| normalDaysOfWeek | Стандартные дни недели |
| abnormalDeadline | Срок поставки (вне стандартного времени) |
| abnormalDeadlineMax | Максимальный срок поставки (вне стандартного времени) |
| p1 | P1 |
| p2 | P2 |
| pricePerKg | Стоимость 1КГ (в валюте поставщика) |
| priceUpAdded | Добавочная наценка |
| с1 | C1 |
| priceUpMin | Минимальная наценка |
| priceUpMax | Максимальная наценка |
| primaryPriceUpToContractor | Приоритетная (если выше) наценка для клиента |
| deliveryProbability | Вероятность поставки (в процентах) % |
| description | Краткое описание маршрута |
| enableColor | Выделять цветом |
| color | Цвет |
| isAbnormalColorEnabled | Выделять цветом в нерабочее время |
| abnormalColor | Цвет в нерабочее время |
| noReturn | Без возврата |
| supplierCodeEnabledList | Ограничить выдачу складами (массив) |
| supplierCodeDisabledList | Исключить позиции по складам (массив) |
| normalTimeDisplayOnly | Показывать только в стандартное время (false - Нет, true - Да) |
| disableOrderAbnormalTime | Блокировать отправку заказа в нестандартное время (false - Нет, true - Да) |
| notUseOnlineSupplierDeadline | Не использовать срок поставки online-поставщика (false - Нет, true - Да) |
| offices | Массив Id офисов, которые привязаны к маршруту
Актуально только когда активная опция "Офисы: включить дополнительные настройки" |
Если в процессе загрузки возникли ошибки, возвращается статус отличный от 200 и объект с полями:
| Параметр | Описание |
|---|---|
| errorCode | Код ошибки |
| errorMessage | Текст сообщения об ошибке |
Удаление маршрута поставщика
Операция: cp/route/delete
Метод: POST
Удаляет маршрут поставщика.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя пользователя в системе |
| userpsw | md5-хэш пароля пользователя в системе |
| routeId | Идентификатор маршрута поставщика |
Пример запроса
https://demo.public.api.abcp.ru/cp/route/delete
Тело POST запроса
userlogin=username&userpsw=md5pass&routeId=12345
Поля ответа
Метод возвращает ответ:
| Поле | Описание |
|---|---|
| status | Статус удаления маршрута. Принимает значение 0 - произошла ошибка или 1, если все успешно. |
| errorMessage | Текст сообщения об ошибке при статусе 0. |
Подключение поставщиков к офису
Операция: cp/offices
Метод: POST
Подключение/отключение поставщиков к офисам
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| officeId | Идентификатор офиса. |
| distributors | Массив поставщиков, если параметр не передан или содержит пустое значение - отключаются все поставщики указанного офиса. |
Узел distributors - массив объектов с параметрами:
| Поле | Описание |
|---|---|
| id | Идентификатор поставщика |
| deadline | Срок поставки (час) |
При добавлении нового поставщика, необходимо также передать уже существующие привязки и для этого достаточно передать только Идентификаторы поставщиков. Сроки поставки существующих привязанных поставщиков не изменятся если не указать deadline.
Для обновления срока поставки уже существующей привязки поставщика достаточно указать новое значения для поля deadline.
Чтобы отключить поставщика(ов) от офиса, необходимо передать всех текущих, подключенных поставщиков кроме тех которых необходимо отключить.
Пример запроса
https://demo.public.api.abcp.ru/cp/offices
Тело POST запроса
userlogin=username&userpsw=md5pass&officeId=123&distributors[0][id]=456&distributors[0][deadline]=1&distributors[1][id]=1504361&distributors[1][deadline]=3
Метод возвращает объект вида:
| Поле | Описание |
|---|---|
| status | Принимает значение 0 - произошла ошибка или 1, если все успешно. |
| errorMessage | Текст сообщения об ошибке при статусе 0. |
| оfficeId | Идентификатор офиса |
| оfficeName | Название офиса |
| distributors | Массив подключенных поставщиков |
Узел distributors - массив объектов с параметрами:
| Поле | Описание |
|---|---|
| id | Идентификатор поставщика |
| name | Название поставщика |
| deadline | Срок поставки (час) |
Получение поставщиков офиса
Операция: cp/offices
Метод: GET
Возвращает информацию о подключенных поставщиках
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| officeId | Идентификатор офиса. Если параметр не указан то в ответе возвращаются данные по всем офисам |
Пример запроса
https://demo.public.api.abcp.ru/cp/offices?userlogin=username&userpsw=md5pass&officeId=123
Метод возвращает объект вида:
| Поле | Описание |
|---|---|
| status | Принимает значение 0 - произошла ошибка или 1, если все успешно. |
| errorMessage | Текст сообщения об ошибке при статусе 0. |
| offices | Массив объектов офисов |
Узел offices - массив объектов с параметрами:
| Поле | Описание |
|---|---|
| оfficeId | Идентификатор офиса |
| оfficeName | Название офиса |
| distributors | Массив подключенных поставщиков |
Узел distributors - массив объектов с параметрами:
| Поле | Описание |
|---|---|
| id | Идентификатор поставщика |
| name | Название поставщика |
| deadline | Срок поставки (час) |
Получение акций
Операция: cp/distributors/notes
Метод: GET
Возвращает список акций поставщиков
Параметры запроса
| Параметр | Описание | Комментарий |
|---|---|---|
| userlogin | Имя API-администратора | Обязательный |
| userpsw | md5-хэш пароля API-администратора | Обязательный |
| distributorIds | Массив поставщиков | Не обязательный. Если не передать, ищем по всем поставщикам, подключенным к сайту |
| isActive | Состояние. true - включено, false - выключено | Не обязательный. Если не передать, ищем любое состояние |
Пример запроса
https://demo.public.api.abcp.ru/cp/distributors/notes?userlogin=username&userpsw=md5pass&distributorId[0]=123123&distributorId[1]=775545
Метод возвращает массив объектов вида:
| Параметр | Описание |
|---|---|
| id | id акции |
| brand | Бренд. Может быть пустым |
| distributorId | ID поставщика |
| isActive | 1 / true - вкл, 0 / false - выкл |
| color | Например FB6363. Может быть пустым |
| routes | Маршруты через запятую или -1 |
| profiles | Профили через запятуб или -1 |
| notes | Массив заметок по локалям |
notes возвращает массив объектов вида:
| Параметр | Описание |
|---|---|
| locale | Код локали, например, ru_RU |
| text | Текст заметки с html |
Пример ответа
[
{
"id": XXX,
"brand": "",
"distributorId": YYY,
"isActive": true,
"color": "",
"routes": "-1",
"profiles": "-1",
"notes": [
{
"locale": "ru_RU",
"text": "текст"
}
]
}
]
Редактирование акций
Операция: cp/distributors/notes
Метод: POST
Универсальный метод сохранения акций поставщиков. Операция атомарная. Если есть ошибки, откатываем всё, выдаем список ошибок.
Параметры запроса
| Параметр | Описание | Коммент |
|---|---|---|
| userlogin | Имя API-администратора | Обязательный |
| userpsw | md5-хэш пароля API-администратора | Обязательный |
| note | массив акций | Максимум 2 000 акций |
Массив note содержит набор элементов вида:
| Параметр | Описание | Коммент |
|---|---|---|
| id | id заметки | Если передать id, будет отредактирована заметка с этим id.
Если id не передан, создается новая акция |
| distributorId | ID поставщика | Если передан id заметки, то не учитывается.
Если id заметки не передан, создается акция у переданного поставщика |
| isActive | 1 / true - вкл, 0 / false - выкл | |
| color | Например FB6363. Может быть пустым | Если передать пустой параметр, стирается сохраненное значение. |
| routes | Маршруты через запятую или -1 | -1 значит "все маршруты" |
| profiles | Профили через запятую или -1 | -1 значит "все профили" |
| notes | Массив заметок по локалям | |
| locale | Код локали | Обязательный, например, ru_RU |
| text | Текст заметки | Обязательный |
| isDelete | Если передать 1 / true, акция с переданным id удалится.
Без id (новая акиця) с переданным true не создастся. |
Тело POST запроса
userlogin=username&userpsw=md5pass¬e[0][distributorId]=XXX¬e[0][isActive]=1¬e[0][routes]=-1¬e[0][profiles]=-1¬e[0][notes][0][locale]=ru_RU¬e[0][notes][0][text]=текст
Гараж
Получение автомобилей из гаража пользователя
Операция: cp/users/garage
Метод: GET
Возвращает список всех автомобилей из гаража пользователя.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| userId | Идентификатор пользователя на сайте |
Пример запроса
http://api.demo.abcp.ru/cp/users/garage?userlogin=username&userpsw=md5pass&userId=525002
Поля ответа
| Поле | Описание |
|---|---|
| garageCarId | Идентификатор автомобиля в гараже |
| manufacturer | Марка автомобиля |
| model | Модель автомобиля |
| modification | Модификация автомобиля |
| vin | VIN номер |
| frame | FRAME номер |
| mileage | Пробег |
| year | Год изготовления |
| vehicleRegPlate | Госномер |
Получение списка обновлённых автомобилей в гараже
Операция: cp/garage
Метод: GET
Возвращает информацию об автомобилях, в которые были внесены изменения за определённый период времени. Если не переданы параметры dateUpdatedStart и dateUpdatedEnd, то будет предоставлена информация за последний месяц.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| dateUpdatedStart | Начальная дата последнего обновления в формате ГГГГ-ММ-ДД ЧЧ:мм:СС (необязательный) |
| dateUpdatedEnd | Конечная дата последнего обновления заказа в формате ГГГГ-ММ-ДД ЧЧ:мм:СС (необязательный) |
Пример запроса
https://demo.public.api.abcp.ru/cp/garage?userlogin=username&userpsw=md5pass&dateUpdatedStart=2020-02-28%2014:00:24&dateUpdatedEnd=2020-03-20%2023:00:24
Метод возвращает массив объектов вида:
| Поле | Описание |
|---|---|
| id | Идентификатор автомобиля в гараже |
| userId | Идентификатор пользователя |
| name | Название автомобиля (пользовательское) |
| comment | Комментарий (пользовательский) |
| year | Год выпуска автомобиля |
| vin | VIN-код автомобиля |
| frame | Номер кузова автомобиля |
| mileage | Пробег автомобиля |
| manufacturerId | Идентификатор марки автомобиля |
| manufacturer | Название марки автомобиля |
| modelId | Идентификатор модели автомобиля |
| model | Название модели автомобиля |
| modificationId | Идентификатор модификации автомобиля |
| modification | Название модификации автомобиля |
| dateUpdated | Дата последнего обновления автомобиля в гараже |
| vehicleRegPlate | Государственный номер автомобиля |
Получение списка настроек платёжных систем
Операция: cp/payments/getPaymentMethodSettings
Метод: GET
Возвращает настройки платёжных систем. Если не указывать доп. параметры, то будут возвращены все существующие настройки для всех платёжных систем (активных и отключенных).
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| onlyEnabled | если true, то будет возвращён список только включенных настроек ПС |
| onlyDisabled | если true, то будет возвращён список только выключенных настроек ПС |
| paymentMethodId | id конкретной платёжной системы для которой нужно получить настройки
Возможные id: 2 - RBK Money 4 - Банковский перевод 5 - Газпромбанк 10 - Оплата по счету 11 - Epay Казкоммерцбанк 12 - АПК ПР(ASSIST) 13 - ACQUIRO PAY 14 - ОАО "Сбербанк России" 17 - Arca 18 - RBK Money New 19 - PayPal 20 - Liqpay 21 - Tinkoff Bank 22 - Payguide Acquirer 23 - PayKeeper 24 - CloudPayments 25 - PayOnline 26 - ЮKassa 28 - ОАО "Сбербанк России" - Казахстан 29 - bePaid.by 30 - Idram 31 - Telr |
Пример запроса
https://demo.public.api.abcp.ru/cp/payments/getPaymentMethodSettings/?userlogin=username&userpsw=md5pass
Метод возвращает массив объектов вида:
| Поле | Описание |
|---|---|
| id | Идентификатор настроек |
| paymentMethodId | Идентификатор платёжной системы |
| resellerId | Идентификатор реселлера |
| description | Описание настроек |
| customSettings | Уникальные настройки платёжной системы в формате Json |
| isEnabled | Активна ли данная настройка |
| commissionPercentForTransfer | Процент комиссии платежной системы |
Получение ссылки на оплату заказа
Операция: cp/payment/token
Метод: GET
Возвращает ссылку для оплаты заказа.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| number | Онлайн-номер заказа |
Пример запроса
https://demo.public.api.abcp.ru/cp/payment/token/?userlogin=username&userpsw=md5pass&number=20000
Метод возвращает объект с одним полем.
| Поле | Описание |
|---|---|
| paymentLink | Ссылка на оплату |
Получение ссылки на пополнение баланса
Операция: cp/payment/top-balance-link
Метод: GET
Возвращает ссылку для пополнения баланса.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| clientId | Идентификатор клиента |
| amount | Сумма пополнения баланса |
Пример запроса
https://demo.public.api.abcp.ru/cp/payment/top-balance-link/?userlogin=username&userpsw=md5pass&clientId=1000&amount=20000
Метод возвращает объект с одним полем.
| Поле | Описание |
|---|---|
| paymentLink | Ссылка на пополнение баланса |
Каталоги в товарных группах
Каталоги в товарных группах через API - отдельная услуга, для подключения необходимо связаться с отделом продаж ABCP
Общая информация по каталогам и использованию операций
ABCP разрабатывает и поддерживает десятки каталогов в товарных группах. Новые каталоги добавляются регулярно, информация в текущих каталогах тоже обновляется непрерывно. В настоящий момент (17.07.2025) разработан 101 каталог c 600292 товарами. Все каталоги доступны на сайтах клиентов ABCP, кроме этого, имеется возможность интегрировать каталоги на ваш сайт через API.
- На странице каталога в товарной группе на вашем сайте вы используете для запросов в API ABCP идентификатор товарной группы для доступа к информации по каталогу. Полный список идентификаторов каталогов в товарных группах ABCP вы можете посмотреть в этом документе;
- По идентификатору запрашиваете информацию о каталоге (например, oils), используя метод /cp/catalog/info (документация ниже). Получаете список фильтров, их типы, значения и отображаете на странице каталога;
- Пользователь вашего сайта указывает нужные ему значения, например Motul + 5w40;
- При помощи операции /cp/catalog/search (документация ниже) вы отправляете запрос в API ABCP и получаете список арткулов, которые удовлетворяют переданным фильтрам. По списку полученных артикулов вы осуществляете поиск предложений на своих складах (или у ваших поставщиков), формируете результат для клиента и отображаете его в результатах подбора по каталогу. Для отображения результатов поиска используете операцию /cp/articles/info/batch (документация ниже)
Примеры реализации
Получение информации по одному каталогу
Операция: /cp/catalog/info
Метод: GET
Метод позволяет получить информацию по одному каталогу. Передаётся идентификатор каталога, в ответе список фильтров, тип фильтра, возможные значения фильтров.
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| goods_group | Идентификатор товарной группы (полный список) |
| locale | Локаль, по-умолчанию (если значение не передано) - ru_RU |
Пример запроса
https://demo.public.api.abcp.ru/cp/catalog/info?goods_group=oils&userlogin=username&userpsw=md5pass
Пример ответа (сокращено для лучшего восприятия)
{
"goods_group":"oils",
"descr":"масла ДВС",
"brands":[
{
"brand":"Ravenol",
"is_popular":true,
"sort_order":0
},
{
"brand":"Castrol",
"is_popular":true,
"sort_order":1
},
{
"brand":"MOTUL",
"is_popular":true,
"sort_order":2
},
{
"brand":"Liqui moly",
"is_popular":true,
"sort_order":3
},
{
"brand":"Mobil",
"is_popular":true,
"sort_order":4
}
],
"criterias":[
{
"property":"oil_type",
"value_type":"list",
"value_count":"one",
"descr":"Состав масла",
"descr_full":"<span>Минеральное масло фактически добывается из земли – это просто очищенная сырая нефть. Синтетическое масло (полностью синтетическое или полусинтетика) создается в лаборатории. </span>",
"is_required":true,
"is_enable":true,
"is_extended":false,
"is_minimized":false,
"allow_multiple":true,
"sort_order":1,
"two_column_view":false,
"values":[
{
"key":"fully_synthetic",
"value":"синтетика",
"is_popular":false
},
{
"key":"semi_synthetic",
"value":"полусинтетика",
"is_popular":false
},
{
"key":"mineral",
"value":"минеральное",
"is_popular":false
}
]
},
{
"property":"viscosity",
"value_type":"list",
"value_count":"one",
"descr":"Вязкость",
"descr_full":"<strong><strong><span>Международный уровень классификации </span><strong>SAE J300</strong><span>.</span><br /></strong></strong>\r\n<div id=\"yandex_ad\"> Эта классификация подразделяет моторные масла 12 классов от 0W до 60: 6 зимних (0W, 5W, 10W, 15W, 20W, 25W) и 6 летних (10, 20, 30, 40, 50, 60) классов вязкости. </div>\r\n Буква W перед цифрой означает, что масло приспособлено к работе при низкой температуре (Winter - зима). Для этих масел кроме минимальной вязкости при 100°C дополнительно дается температурный предел прокачиваемости масла в холодных условиях. Предельная температура прокачиваемости означает минимальную температуру, при которой насос двигателя в состоянии подавать масло в систему смазки. Это значение температуры можно рассматривать как минимальную температуру, при которой возможен безопасный пуск двигателя. <br /> Всесезонные масла обозначаются сдвоенным номером, первый из которых указывает максимальные значения динамической вязкости масла при отрицательных температурах и гарантирует пусковые свойства, а второй - определяет характерный для соответствующего класса вязкости летнего масла диапазон кинематической вязкости при 100°С и динамической вязкости при 150°С. <strong><br /></strong>",
"is_required":true,
"is_enable":true,
"is_extended":false,
"is_minimized":false,
"allow_multiple":true,
"sort_order":0,
"two_column_view":true,
"values":[
{
"key":"5W-30",
"value":"",
"is_popular":true
},
{
"key":"10W-40",
"value":"",
"is_popular":true
},
{
"key":"5W-40",
"value":"",
"is_popular":true
},
{
"key":"15W-40",
"value":"",
"is_popular":false
}
]
},
{
"property":"acea_spec",
"value_type":"list",
"value_count":"many",
"descr":"Спецификация ACEA",
"descr_full":"<span>Классификация </span><strong>ACEA - Association des Constructeurs Europeens de L'Automobile</strong><span>(Ассоциация Европейских Производителей Автомобилей). </span><span><br />Классификация \"<strong>ACEA European Oil Sequences for Service Fill Oils 1998</strong>\" состоит из трех классов последовательности испытаний - A, B, E. Каждый класс в свою очередь подразделяется на категории, обозначенные арабскими цифрами. Далее указывается год введения в действие, а также может быть указание на второе, более позднее, издание данной нормы. <br /> <strong>А - бензиновые двигатели</strong> (А1, А2, A3 и A5); <br /> <strong>В - дизельные двигатели</strong> малой мощности, устанавливаемые на легковые и грузовые автомобили малой мощности (В1, В2, ВЗ, В4 и B5); <br /> <strong>Е - дизельные двигатели</strong> для тяжелого транспорта (Е1, Е2, ЕЗ, Е4, Е5 и Е7). <br /> Цифра после буквы обозначает уровень требований. Чем больше номер, тем выше требования. Исключениями являются уровни А1 и В1, которые относятся к маслам с малой вязкостью, т. н. \"топливосберегающим\". Класс В4 в основном совпадает с классом В2, но дополнен испытаниями на двигателях с непосредственным впрыском топлива.<br /></span>",
"is_required":false,
"is_enable":true,
"is_extended":false,
"is_minimized":true,
"allow_multiple":true,
"sort_order":3,
"two_column_view":true,
"values":[
{
"key":"A3",
"value":"",
"is_popular":true
},
{
"key":"B4",
"value":"",
"is_popular":true
},
{
"key":"C3",
"value":"",
"is_popular":true
},
{
"key":"B3",
"value":"",
"is_popular":true
},
{
"key":"E7",
"value":"",
"is_popular":true
}
]
},
{
"property":"liquid_volume",
"value_type":"range",
"value_count":"one",
"values":{
"min":0,
"max":1000
},
"descr":"Объём, л.",
"descr_full":"",
"is_required":true,
"is_enable":true,
"is_extended":false,
"is_minimized":false,
"allow_multiple":true,
"sort_order":6,
"two_column_view":false
}
]
}
Описание ответа
| Объект | Описание |
|---|---|
| descr | Локализованное наименование товарной группы |
| brands | Массив брендов каталога. Описание одного элемента массива: brand - наименование, is_popular - признак популярности бренда, sort_order - порядок сортировки. Список брендов для блока над фильтрами каталога (is_popular:"true" отображаются сразу, остальные после открытия полного списка брендов. На своём сайте вы можете изменить поведение на то, которое считаете лучшим. |
| goods_group | Идентификатор товарной группы (полный список) |
| criterias | Массив с фильтрами, их свойствами (которые определяют поведение на фронте) и возможными значениями. property - идентификатор свойства, используется для запроса через операцию /cp/catalog/search списка артикулов, который удовлетворяет переданным значениям свойств; value_type - тип значения для отображения в каталоге. Возможны варианты: list - список значений (много "чекбоксов", например, тип масла) или range - диапазон значений (например, объём масла в упаковке); descr - локализованное описание свойства; descr_full - расширенное локализованное описание (для пользователей, с описанием фильтра и значений); is_minimized - нужно ли по-умолчанию отрисовывать фильтр "свёрнутым"; allow_multiple - если true И value_type:"list", то отображаем значения "чекбоксами", иначе "радио"; sort_order - порядок фильтра при отображении в блоке фильтров; two_column_view - если true, то значения фильтров можно отрисовывать в 2 колонки (короткие, например, вязкость); values - массив со списком возможных значений, key используется как выбранное значение фильтра в /cp/catalog/search, value - - для отображения пользователю на фронте. Если value_type:"range", то вместо списка значений содержится информация о минимальном и максимальном значении; is_popular аналогично списку брендов, отображать ли значение сразу или прятать под "спойлер"; |
Получение списка артикулов по переданным значениям фильтров
Операция: /cp/catalog/search
Метод: POST
Метод возвращает список артикулов, которые удовлетворяют переданным фильтрам (из операции /cp/catalog/info)
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| goods_group | Идентификатор товарной группы (полный список) |
| properties | Массив передаваемых значений фильтров, properties[key][0]=value, properties[key][0]=value и так далее, где key - идентификатор соответствующего свойства из массива criterias операции /cp/catalog/info, а value - идентификатор значения (которое выбрал пользователь в каталоге в блоке фильтров); |
| skip, limit | Сколько записей пропустить и сколько вернуть в ответе |
| locale | Локаль, по-умолчанию (если значение не передано) - ru_RU |
Пример запроса
https://demo.public.api.abcp.ru/cp/catalog/search
Тело POST запроса
userlogin=username&userpsw=md5pass&goods_group=oils&properties[brands][0]=Shell&properties[viscosity][0]=5W-40
Пример ответа
{
"articles":[
{
"brand":"Shell",
"number":"550051529",
"alt_number":"550040295",
"alt_out_number":"550040295",
"rating":29884
},
{
"brand":"Shell",
"number":"550055905",
"alt_number":null,
"alt_out_number":null,
"rating":21322
},
{
"brand":"Shell",
"number":"550051580",
"alt_number":null,
"alt_out_number":null,
"rating":9775
},
{
"brand":"Shell",
"number":"550058241",
"alt_number":null,
"alt_out_number":null,
"rating":8084
},
{
"brand":"Shell",
"number":"550051497",
"alt_number":null,
"alt_out_number":null,
"rating":7795
}
],
"count":118
}
Описание ответа
| Объект | Описание |
|---|---|
| articles | Массив с парами бренд+номер, которые удовлетворяют переданным параметрам фильтрации. |
| count | Общее количество записей, которые удовлетворяют переданным параметрам фильтрации |
Пакетное получение информации об артикулах
Операция: /cp/articles/info/batch
Метод: POST
Возвращает массив локализованных карточек товара (как в методе articles/info)
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| articles | Массив деталей, по которым необходимо получить информацию в формате brand - number. Максимум 100 деталей. |
| locale | Локаль, по-умолчанию (если значение не передано) - ru_RU |
Пример запроса
https://demo.public.api.abcp.ru/cp/articles/info/batch
Тело POST запроса
userlogin=username&userpsw=md5pass&articles[0][number]=550051529&articles[0][brand]=Shell&articles[1][number]=3148675&articles[1][brand]=LUKOIL
Пример ответа
[
{
"brand":"Shell",
"descr":"Масло моторное синтетика 5W-40 4 л.",
"images":[
{
"name":"099abad5db73fb63e1a2c04dea3d62ff0b254e0002.jpeg",
"order":0
}
],
"images_count":1,
"number":"550051529",
"properties":{
"EAN-13":"5011987055711",
"Высота, мм":"300",
"Вязкость":"5W-40",
"Длина, мм":"232",
"Допуски производителей":[
"MB 229.3",
"Renault RN 0700",
"Renault RN 0710",
"VW 502 00",
"VW 505 00"
],
"Масса, кг":"3.56",
"Модель":"Helix HX8 5W-40",
"Объем упаковки, л":"6.8",
"Объём, л.":"4",
"Описание":"Масло моторное синтетика 5W-40 4 л.",
"Состав масла":"синтетика",
"Спецификация API":[
"SN",
"SN+"
],
"Тип ёмкости":"Канистра пластиковая",
"Товарная группа":"масла ДВС",
"Ширина, мм":"98"
}
},
{
"brand":"LUKOIL",
"descr":"Масло моторное синтетическое 5W-40 4 л.",
"images":[
{
"name":"0952f1108d975488197379b8060fa749c4d2d00002.jpeg",
"order":0
}
],
"images_count":1,
"number":"3148675",
"properties":{
"EAN-13":"4670027146140",
"Высота, мм":"318",
"Вязкость":"5W-40",
"Длина, мм":"188",
"Допуски производителей":[
"BMW Longlife-01",
"FIAT 9.55535-N2",
"FIAT 9.55535-Z2",
"GM-LL-B-025",
"PORSCHE A40",
"PSA B71 2296"
],
"Масса, кг":"3.68",
"Модель":"GENESIS ARMORTECH 5W-40",
"Объем упаковки, л":"7.5",
"Объём, л.":"4",
"Описание":"Масло моторное синтетическое 5W-40 4 л.",
"Состав масла":"синтетика",
"Спецификация ACEA":[
"A3",
"B3",
"B4"
],
"Спецификация API":[
"CF",
"SN"
],
"Тип ёмкости":"Канистра пластиковая",
"Товарная группа":"масла ДВС",
"Ширина, мм":"126"
}
}
]
Описание ответа (элементов массива в ответе)
| Параметр | Описание |
|---|---|
| brand | Имя производителя |
| number | Искомый номер детали |
| descr | Локализованное описание детали |
| images | Массив с именами файлов изображений деталей. В массиве указаны имена файлов расположенных по адресу https://pubimg.4mycar.ru/images/ |
| images_count | Количество изображений деталей |
| properties | Локализованный массив свойств детали: описание, вес, объем и т.п. |
Пользовательские каталоги
Загрузка каталога из файла
Операция: /cp/usercatalogs/{catalogId}/upload
Метод: POST
Загружает файл со структурой каталога.
Дополнительно загружает архив с изображениями (необязательно).
Параметры запроса
| Параметр | Описание |
|---|---|
| userlogin | Имя API-администратора |
| userpsw | md5-хэш пароля API-администратора |
| catalogId | Идентификатор каталога |
| file | Файл структуры каталога переданный в multipart/form-data |
| encoding | Необязательный параметр. Кодировка загружаемого файла. Доступно два значения: "windows-1251" и "utf-8". По умолчанию равен "windows-1251". |
| deleteOldMode | Необязательный параметр. Режим удаления старой структуры. По умолчанию равен 0. Может принимать значения 0 - не удалять, 1 - удалить ранее залитые товары, 2 - удалить ранее залитые ветви и товары. |
| imageUploadMode | Необязательный параметр. Режим загрузки изображений к каталогу. По умолчанию равен 0. Может принимать значения 0 - не загружать, 1 - загрузка по URL в поле PIC, 2 - загрузить из архива. |
| imagesArchive | Необязательный параметр. Файл архива изображений переданный в multipart/form-data. |
Пример запроса
curl -i -X POST -H "Content-Type: multipart/form-data" -F "file=@/home/user/mycatalog.txt" https://demo.public.api.abcp.ru/cp/usercatalogs/17334/upload?userlogin=username&userpsw=md5pass
Описание ответа
Метод возвращает статус 200, если файл с каталогом принят на загрузку.
Если в процессе загрузки возникли ошибки, возвращается статус отличный от 200 и объект с полями:
| Параметр | Описание |
|---|---|
| errorCode | Код ошибки |
| errorMessage | Текст сообщения об ошибке |
Получение данных из истории операций
Операция: cp/actionsHistory
Метод: GET
Операция позволяет получить данные из истории операций. На данный момент возможно получить "Запрос на восстановление пароля", с помощью события password_recovery_request.
Внимание!
- Если параметры
dateTimeStartиdateTimeEndне указаны, метод возвращает данные за последние 7 дней. - Если в периоде больше, чем 7 дней, возвращаются только за 7 дней от
dateTimeStart
Параметры запроса
| Параметр | Обязательность | Описание |
|---|---|---|
| userlogin | Да | Имя пользователя в системе |
| userpsw | Да | md5-хэш пароля пользователя в системе |
| action | Да | Событие истории операций (password_recovery_request) |
| dateTimeStart | Нет | Фильтр по дате/времени "от" в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС |
| dateTimeEnd | Нет | Фильтр по дате/времени "до" в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС |
Пример запроса
https://demo.public.api.abcp.ru/cp/actionsHistory?userlogin=admin&userpsw=md5pass&action=password_recovery_request
Поля ответа
| Поле | Описание |
|---|---|
| author | Автор инициатор |
| ip | IP-адрес автора инициатора |
| date | Дата и время запроса на восстановление пароля |
| customerId | Системный код клиента (нередактируемый) |
| customerCode | Редактируемый код клиента |
| Email, для которого был запрос |

