Перейти к основному содержимому

Административный интерфейс

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).
skipкол-во заказов, которые нужно пропустить. (число, по умолчанию - 0)
descобратное направление сортировки по ID заказа - наверху будет самый новый (булево, по умолчанию - false)
isArchiveФлаг "Архивности заказа", где 0 - активный заказ (не архивный), 1 - архивный заказ.

Внимание!

По умолчанию количество возвращаемых записей ограничено 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Тип оплаты
requisiteIdИдентификатор реквизита, привязанного к типу платежа заказа
deliveryCostСтоимость доставки
shipmentDateДата отгрузки
userNameИмя покупателя
userFullNameИмя организации
basketIdИдентификатор корзины
basketNameНазвание корзины
managerIdid менеджера , если заказ был создан менеджером
userEmailЭлектронная почта покупателя
userCodeВнутренний код пользователя
userMobileКонтактный телефон пользователя
wholeOrderOnlyПризнак - 'Получить заказ целиком'
code"Ячейка заказа", если подключена опция "Заказы: При обработке выводить пустую колонку для вывода дополнительной информации"
isDeleteПризнак "удаленный заказ"
positionsСписок позиций заказа.
notesСписок заметок заказа.
clientOrderNumberНомер заказа во внутренней системе учета клиента
isOfficialDistributorПризнак официального дистрибьютора: true - да, false - нет. (если предоставлен поставщиком)
itemsCписок (массив) заказов, удовлетворяющих заданным фильтрам. Массив представляет собой список заказов, который был бы ответом запроса без использования параметра format со значением p.
------
countКоличество заказов, удовлетворяющих заданным фильтрам
ПолеОписание
idУникальный идентификатор позиции в портале
codeКод позиции (произвольное значение)
brandИмя производителя.
brandFixОчищенное имя производителя
numberНомер детали (код производителя).
numberFix"Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
routeIdИдентификатор маршрута склада с которого производится заказ.
distributorIdИдентификатор поставщика с которого производится заказ.
distributorNameИмя поставщика с которого производится заказ.
distributorTypeТип поставщика: 20 -прайсовый, 22 - онлайн, 21 - дилерский прайс лист
distributorOrderIdЕсли был выполнен заказ по API из ПУ поставщику средствами платформы ABCP, данное поле будет содержать номер заказа у поставщика.
distributorOrderViewЕсли был выполнен заказ по API из ПУ поставщику средствами платформы ABCP, данное поле будет содержать закодированную информацию по отправленной позиции
supplierCodeКод поставки от Вашего поставщика, которому вы из ПУ отправляете заказ . В данном случае код поставки НЕ является ID маршрута поставщика, а содержит в себе информацию о коде поставки, который передает вам ваш поставщик. Тестирование online поставщика. Настройки поставщика. adkulan.kz (online). Поставщики - Google Chrome.jpg
dsRouteIdМаршрут поставщика
itemKeyКод позиции. Необходим для добавления товара в корзину. Внимание! Не является уникальным идентификатором! Параметр из результатов search/article. Необходимо указывать при добавлении в заказ товаров от online-поставщиков для возможности дальнейшего перезаказа на сайте поставщика из ПУ.
descriptionОписание детали.
quantityЗаказываемое количество
quantityFinalИтоговое заказываемое количество
isDeleteпризнак удаленной позиции
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С
isDeleteПризнак "удаленная позиция"
noReturnпризнак невозвратности позици 1- нельзя вернуть, 0 - можно вернуть
locationsFullCodesсистемное поле ( коды ячеек хранения в ТС)
garageCarIdИдентификатор автомобиля из гаража
vinQueryIdsЕсли format=additional. Содержит массив идентификаторов vin-запросов Vinqu. Если позиция добавлена в заказ по ссылке из vin-запроса.

Узел notes содержит массив объектов вида:

ПолеОписание
idУникальный идентификатор заметки
dateДата создания
authorИмя автора(сотрудника) создавшего заметку
valueТекст заметки

Получение информации о заказе​

Операция: cp/order

Метод: GET

Принимает в качестве параметра онлайн-номер заказа. Возвращает информацию о заказе (в т. ч. список позиций заказа).

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

ПараметрОписание
userlogin*Имя API-администратора
userpsw*md5-хэш пароля API-администратора
number*Онлайн-номер заказа
internalNumberНомер заказа в учетной системе (например, в 1С). Используется только, если в параметрах запроса не задан number.
withDeletedПризнак, возвращать ли в ответе удаленные заказы и позиции
formatФормат ответа. Доступные значения:

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

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Тип оплаты
requisiteIdИдентификатор реквизита, привязанного к типу платежа заказа.
deliveryCostСтоимость доставки
shipmentDateДата отгрузки
basketIdИдентификатор корзины
basketNameНазвание корзины
managerIdid менеджера, если заказ был создан менеджером
additionalМожет хранить в себе инфо об id сотрудника, который оформил заказ на клиента, суммарный вес, признак только весь заказ и многое другое.
userEmailЭлектронная почта покупателя
userCodeВнутренний код пользователя
code"Ячейка заказа", если подключена опция "Заказы: При обработке выводить пустую колонку для вывода дополнительной информации"
wholeOrderOnlyПризнак - 'Получить заказ целиком'
isDeleteПризнак "удаленный заказ"
positionsСписок позиций заказа.
notesСписок заметок заказа.
clientOrderNumberНомер заказа клиента в его внутренней системе учета
isOfficialDistributorПризнак официального дистрибьютора: true - да, false - нет. (если предоставлен поставщиком)

Узел positions содержит массив объектов вида:

ПолеОписание
idУникальный идентификатор позиции в портале
codeКод позиции (произвольное значение)
brandИмя производителя.
brandFixОчищенное имя производителя
numberНомер детали (код производителя).
numberFix"Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
routeIdИдентификатор маршрута склада с которого производится заказ.
distributorIdИдентификатор поставщика с которого производится заказ.
distributorNameИмя поставщика с которого производится заказ.
distributorTypeТи поставщика:20 - прайсовый, 21- дилерский прайс лист, 22- онлайн поставщик
distributorOrderIdЕсли был выполнен перезаказ у поставщика средствами платформы ABCP, данное поле будет содержать номер заказа у поставщика.
distributorOrderViewЕсли был выполнен заказ по API из ПУ поставщику средствами платформы ABCP, данное поле будет содержать закодированную информацию по отправленной позиции
supplierCodeКод поставки от Вашего поставщика, которому вы из ПУ отправляете заказ . В данном случае код поставки НЕ является ID маршрута поставщика, а содержит в себе информацию о коде поставки, который передает вам ваш поставщик.
dsRouteIdID маршрута поставщика
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[0]=469961941&positionsId[1]=162283919

Метод возвращает объект вида:

positions - представляет собой узел, который содержит информацию по принятым positionsId, в которых в свою очередь содержится инфо по статусам

ПолеОписание
idId позиции
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Идентификатор офиса самовывоза
paymentTypeIdИдентификатор типа оплаты (изменения возможны только если нет привязок платежей)
basketIdНеобязательный параметр - идентификатор корзины при использовании мультикорзины
guestOrderNameНеобязательный параметр - имя клиента для оформления заказа от имени Гостя. Для корректного оформления заказа под гостем должны быть указаны параметры guestOrderName и guestOrderMobile.
guestOrderMobileНеобязательный параметр - контактный телефон клиента для оформления заказа от имени Гостя. (в формате 70000000000). Для корректного оформления заказа под гостем должны быть указаны параметры guestOrderName и guestOrderMobile.
shipmentDateДата отгрузки.
deliveryCostСтоимость доставки. Необязательный параметр
paidПризнак может иметь значение 0 или 1 (false, true). 1 = заказ оплачен онлайн. Необязательный параметр.
deliveryAddressIdЧисло. Идентификатор адреса доставки. Если нужно создать новый адрес, то нужно передать "-1" и в параметре deliveryAddress новый адрес доставки.
deliveryAddressТекст. Адрес доставки, в случае, когда необходимо сразу создать новый адрес нужно в deliveryAddressId передавать "-1" + адрес доставки
managerIdid менеджера по заказу
positions*Список позиций заказа.
notesСписок заметок заказа.
clientOrderNumberНомер заказа в системе учета клиента

Узел 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. Необязательный параметр.
  1. Если передан параметр priceRate - для расчёта используется он (независимо от настроек).
  2. Если priceRate не передан, но включена хотя бы одна из опций:
  3. *"Корректировка цены"
  4. *"Отключить обновление цены и наличия". - курс берётся из itemKey (данные из search/articles).
  5. Если priceRate не передан и обе опции отключены - используется курс по умолчанию из настроек валют реселлера (курс ЦБ РФ или фиксированный курс).

Узел notes содержит массив объектов вида:

ПолеОписание
idИдентификатор заметки
employeeIdИдентификатор сотрудника от имени которого создастся заметка. Если значение пустое или не корректное - в качестве автора будет "API администратор"
valueТекст заметки.

В случае редактирования заказа, могут быть указаны только позиции и поля, которые требуют изменения. В случае создания заказа, должны быть указаны все позиции со всеми полями (кроме полей comment, supplierCode и itemKey). При редактировании позиций обязательна передача параметра id. Если параметр id не передан, будет добавлена новая позиция. При добавлении позиции необходимо задать ей минимальные обязательные параметры для возможности дальнейшей работы с ней: бренд, номер, код статуса, количество, цену, код склада поставщика, идентификатор маршрута, сроки поставки. Для удаления позиции необходимо указать ей quantity 0 или установить параметр delete в значение 1.

warning

Не выполняйте данную операцию параллельно в несколько потоков при создании заказов. В данном варианте использования необходимо выполнять ее только последовательно

warning

При большом количестве позиций настоятельно рекомендуется сохранять пакетами не более чем по 100 позиций

warning

Для этой операции существует ограничение на 500 позиций для одного заказа. При попытке добавить большее количество позиций, операция для этих позиций завершится с ошибкой

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

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Стоимость доставки
managerIdid менеджера , если заказ был создан менеджером
userCodeВнутренний код пользователя
code"Ячейка заказа", если подключена опция "Заказы: При обработке выводить пустую колонку для вывода дополнительной информации"
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. Необязательный параметр.

Объединение заказов​

Данная операция работает только в случае использования на сайте опции Заказы: вручную объединять заказы в ПУ

Операция работает аналогично ручному объединению через ПУ, имеет лимит на объединение не более 50 позиций за раз. Статистика вызовов в этой операции относится к операции "orders". Photo 2024-04-18 18-57-46.jpg

Пересчитываются сроки позиций, которые переносятся в другой заказ относительно даты нового заказа, чтобы дата "Ожидается" в новом заказе по возможности была та же, что в старом, которую клиент видит в ЛК. Если старый завершенный заказ объединить с новым, то срок пересчитается до 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Стоимость доставки
managerIdid менеджера , если заказ был создан менеджером
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_адреса.

Возвращает карту параметров для заказа и позиции отдельно. У всех поставщиков набор параметров разный. У некоторых поставщиков может не быть параметров заказа или позиций.

ПараметрТипОписание
orderParamsarrayМассив объектов параметров заказа поставщика.
positionParamsarrayМассив объектов параметров позиции поставщика.

Объект enum параметра заказа поставщика:

ПараметрТипОписание
valuestringЗначение параметра.
namestringНазвание для отображения.
selectedboolЕсли true, значит это значение параметра задано по умолчанию.

Объект параметра позиции поставщика:

ПараметрТипОписание
fieldNamestringНазвание параметра, который должен быть передан в запрос для отправки заказа поставщику
typestringНазвание параметра, который должен быть передан в запрос для отправки заказа поставщику
namestringНазвание параметра для отображения в интерфейсе
descriptionstringОписание параметра для отображения в интерфейсе

Вариант type:

ПараметрЭлемент формы
stringТекстовое значение с одной строкой.
boolБулевый тип. Возможные значение true/false или 1/0.

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

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 необязательный.

В ответе приходит массив заказов.

Объект заказа поставщика:

ПараметрТипОписание
numberstringНомер заказа.
statusstringТекстовое описание состояния заказа. Будет описание ошибки или что заказ оформлен успешно.
datestringДата создания заказа [ГГГГ-ММ-ДД ЧЧ:ММ:СС].
positionsarrayМассив объектов позиций.
ПараметрТипОписание
referencestringВ этом поле возвращается идентификатор позиции, которую вы отправляли.
idintИдентификатор позиции поставщика. Значение возвращается только для поставщиков работающих на платформе ABCP, для остальных будет возвращаться ноль.
brandstringБренд детали.
numberstringАртикул детали.
numberFixstringАртикул детали, без спец. символов.
descriptionstringОписание детали.
supplierCodestringКод маршрута поставщика.
quantityintЗаказанное кол-во деталей.
pricefloatЦена заказанной детали, в валюте сайта. Здесь может быть старая цена, по которой позиция отправлялась поставщику. Так и новая цена, которую поставщик передал, в случае её изменения. Для разных поставщиков разное поведение, поэтому цену можно использовать только в информационных целях, использовать её для финансовых расчётов недопустимо. Актуальную цену можно узнать обратившись к серверу поставщика через его API напрямую.
statusarrayМассив результатов отправки позиции. Здесь могут передаваться ошибки, если они возникают в ходе отправки заказа. А также предупреждения об изменении цены и т.д.
confirmSendboolЕсли 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Просроченная задолженность

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

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Конечный порог даты создания платежа формат ГГГГ-ММ-ДД ЧЧ:ММ:СС

Пример запроса https://demo.public.api.abcp.ru/cp/finance/payments?userlogin=username&userpsw=md5pass&userId=5623478&paymentNumber=НАЛ00032

Метод возвращает массив объектов вида:

ПолеОписание
paymentIdУникальный идентификатор платежа
paymentNumberномер платежа
paymentTypeIdid типа платежа
createDateTimeдата платежа
paymentTypeТип платежа
paymentTypeCodeКод типа платежа: 0 - Безналичный, 1 - Электронный, 2 - Наличный
amountсумма платежа
restостаток
editorIdid сотрудника, кем платеж был внесен/изменен. Если платеж был внесен автоматически (электронный), то значение параметра "0"
userIdИдентификатор клиента на сайте
commentкомментарий к платежу
onlinePaymentIdID онлайн-оплаты
komtetCheckIdid чека, больше 0, если по платежу был создан чек.

Получение информации о привязках платежей из модуля Финансы​

Операция: cp/finance/paymentOrderLinks

Метод: GET

Возвращает список привязок платежей из модуля Финансы.

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

ПараметрОписание
userlogin*Имя API-администратора
userpsw*md5-хэш пароля API-администратора
paymentNumbersмассив с номерами платежей
orderIdsмассив с номерами заказов, если передать orderIds[]=0 и диапазон дат, то можно получить список возвратов за период
userIdИдентификатор пользователя на сайте
DateTimeStartНачальный порог даты создания привязки формат ГГГГ-ММ-ДД ЧЧ:ММ:СС
DateTimeEndКонечный порог даты создания привязки формат ГГГГ-ММ-ДД ЧЧ:ММ:СС

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

https://demo.public.api.abcp.ru/cp/finance/paymentOrderLinks?userlogin=username&userpsw=md5pass&paymentNumbers[]=НАЛ00032

Метод возвращает массив объектов вида:

ПолеОписание
paymentLinkIdid привязки платежа
paymentIdid платежа
createDateTimeдата/время создания привязки платежа формат ГГГГ-ММ-ДД ЧЧ:ММ:СС
orderIdномер заказа (если номер заказа "0" - значит это Возврат средств)
amountсумма платежа
editorIdid сотрудника, добавившего привязку. Если параметр равен "0", то привязка автоматическая.
paymentNumberномер платежа из ПУ в виде "НАЛ00010"

Получение списка online платежей​

Операция: cp/onlinePayments

Метод: GET

Возвращает список online платежей. Обязательные параметры только userlogin и userpsw.

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

ПараметрОписание
userlogin*Имя API-администратора
userpsw*md5-хэш пароля API-администратора
filterмассив с параметрами фильтра
ПараметрОписание
dateStartДата начало периода для выбора платежей. Формат: ГГГГ-ММ-ДД или ГГГГ-ММ-ДД ЧЧ:ММ:СС
dateEndДата конца периода для выбора платежей. Формат: ГГГГ-ММ-ДД или ГГГГ-ММ-ДД ЧЧ:ММ:СС
customerIdsМассив идентификаторов клиентов. Не более 100 штук в одном запросе.
paymentMethodIdИдентификатор платежной системы. Получить можно из cp/users/profiles или в панели управления.
statusIdsМассив идентификаторов статусов платежей:
orderIdsМассив идентификаторов заказов. Не более 100 штук в одном запросе.

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

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 - привязывать
ПараметрОписание
userId*Идентификатор пользователя на сайте, которому добавляется оплата
paymentNumberНомер платежа, максимум 64 символа. Необязательный параметр. Если передан пустой, то номер генерируется автоматически по маске переданного типа платежа
createDateTime*Дата и время платежа, в формате ГГГГ-ММ-ДД чч:мм:сс (например 2018-01-01 00:00:00)
paymentTypeId*Id типа платежа
amount*Сумма платежа
commentКомментарий к платежу (не обязательное)
editorIdId сотрудника, которым был внесён платёж (не обязательное)
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Номер платежа
paymentTypeIdId типа платежа
createDateTimeДата платежа
paymentTypeТип платежа
paymentTypeCodeКод типа платежа: 0 - Безналичный, 1 - Электронный, 2 - Наличный
amountСумма платежа
restОстаток
editorIdId сотрудника, которым был внесён платёж. Если платёж был внесен автоматически(электронный), то значение параметра "0"
userIdИдентификатор клиента на сайте
commentКомментарий к платежу
onlinePaymentIdID онлайн-оплаты
paymentIdID созданного платежа

Удаление привязки оплаты​

Операция: 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

Метод возвращает объект вида:

ПолеОписание
paymentLinkIdid привязки платежа
paymentIdid платежа
paymentNumberномер платежа из ПУ в виде "НАЛ00010"
createDateTimeдата/время создания привязки платежа формат ГГГГ-ММ-ДД ЧЧ:ММ:СС
orderIdномер заказа
amountсумма платежа
editorIdid сотрудника, добавившего привязку.

Операция возврата платежа​

Операция: 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

Метод возвращает объект вида:

ПолеОписание
paymentLinkIdid привязки платежа
paymentIdid платежа
paymentNumberномер платежа из ПУ в виде "НАЛ00010"
createDateTimeдата/время создания привязки платежа формат ГГГГ-ММ-ДД ЧЧ:ММ:СС
amountсумма платежа
editorIdid сотрудника, добавившего привязку.

Операция удаления оплат​

Операция: cp/finance/deletePayments

Метод: POST

Удаляет платежи клиентам. Уменьшает баланс/увеличивает долг. Возвращает либо статус успешного удаления либо ошибку (не удалены привязки, электронный платеж удалить нельзя).

С помощью одного запроса данная операция позволяет удалить только один платеж. Массовое удаление недоступно.

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

ПараметрОписание
userlogin*Имя API-администратора
userpsw*md5-хэш пароля API-администратора
paymentId*Id платежа, который нужно удалить
deleteLink(необязательный) Параметр, отвечающий за автоматическое удаление привязки платежей . 0 - не удалять, 1 - удалять
https://demo.public.api.abcp.ru/cp/finance/deletePayments

Тело POST запроса

userlogin=username&userpsw=md5pass&paymentId=1221

Получение списка чеков​

Операция: komtet/getChecks

Метод: GET

Позволяет получить данные о чеках Комтет.

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

ПараметрОписание
userlogin*Имя API-администратора
userpsw*md5-хэш пароля API-администратора
shopIdID магазина
queueIdID очереди
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 - Да.
employeeIdid сотрудника, отправившего чек.
clientIdid клиента.
startОтсчет чеков
rowsOnPageКоличество "на странице"

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

https://demo.public.api.abcp.ru/komtet/getChecks?userlogin=username&userpsw=md5pass&employeeId=1221

Метод возвращает объект вида:

ПолеОписание
idid чека
resellerIdсистемный код сайта в системе
typeТип чека: 0 - чек, 1- чек коррекции.
queueIdID очереди
shopIdID магазина
clientIdid клиента.
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системный код сайта в системе
checkIdID чека
nameНазвание позиции чека
costСтоимость позиции чека
quantityКоличество, шт.
sumСумма
discountСкидка
orderPositionIdID позиции заказа, по которой пробит чек
data

Получение списка реквизитов​

Операция: cp/requisites

Метод: GET

Возвращает список реквизитов реселлера (Настройка → Финансы → Реквизиты).

Реквизит возвращается по одной записи на каждую локаль. Один и тот же id может встречаться в ответе несколько раз с разными значениями полей locale и name.

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

ПараметрОписание
userlogin*Имя API-администратора
userpsw*md5-хэш пароля API-администратора

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

https://demo.public.api.abcp.ru/cp/requisites?userlogin=username&userpsw=md5pass

Метод возвращает массив объектов вида:

ПолеОписание
idid реквизита
nameНаименование реквизита
organizationNameНазвание организации
directorГенеральный директор
accountantБухгалтер
phoneТелефон
emailEmail
legalAddressЮридический адрес
actualAddressФактический адрес
innИНН
kppКПП
ogrnОГРН (ОГРНИП)
okpoОКПО
bankNameНаименование банка
bikБИК банка
correspondentAccountКорреспондентский счёт
organizationAccountРасчётный счёт
binБИН юридических лиц и ИП для пользователей с Казахстана
kbeКБЕ (код бенефициара, Казахстан)
okedОКЭД (Казахстан)
certificateGosRegСвидетельство о государственной регистрации
certificateNdsСвидетельство о постановке на учёт по НДС
yurOrgTypeТип организации
vatПризнак использования НДС: 1 - да, 0 - нет
vatValueВеличина НДС (ставка, %)
localeЛокаль реквизита в формате language[_territory], например, ru_RU

Поля bin, kbe, oked, certificateGosReg, certificateNds, yurOrgType заполняются только для локалей, где они используются. Для остальных возвращается пустая строка.

Пользователи​

Получение списка пользователей​

Операция: cp/users

Метод: GET

Принимает в качестве параметров условия фильтрации клиентов. Возвращает список клиентов.

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

ПараметрОписание
userlogin*Имя API-администратора
userpsw*md5-хэш пароля API-администратора
dateRegistredStartНачальная дата регистрации в формате ГГГГ-ММ-ДД ЧЧ:мм:СС
dateRegistredEndКонечная дата регистрации в формате ГГГГ-ММ-ДД ЧЧ:мм:СС
dateUpdatedStartНачальная дата последнего обновления в формате ГГГГ-ММ-ДД ЧЧ:мм:СС
dateUpdatedEndКонечная дата последнего обновления в формате ГГГГ-ММ-ДД ЧЧ:мм:СС
stateСостояние клиента. Значения:
customerStatusИдентификатор статуса покупателя, если указать 0 - будут выбраны пользователи без статуса
customersIdsМассив идентификаторов покупателей
marketTypeТип регистрации. Значение от 1 до 2:
phoneНомер телефона клиента
emailE-mail клиента
organizationNameНазвание организации контрагента. Если указано, будут выбраны все клиенты, название которых начинается с переданной строки. Минимальный размер длины параметра - 4 символа.
safeMode"Безопасный режим" для клиентов не имеющих поддержки формата JSON. Может принимать значения 0,1 или 2. При включении (1), адреса доставки в ответе будут возвращаться в виде массива объектов с полями "id" и "name", а не как "ключ - значение". При включении (2), адреса доставки и список офисов в ответе будут возвращаться в виде массива объектов с полями "id" и "name", а не как "ключ - значение".
formatФормат ответа. Доступные значения:
pickupStateПризнак запрета отображения Самовывоза для клиента
limitКоличество возвращаемых записей клиентов(число, по умолчанию - 1000).
skipкол-во клиентов, которые нужно пропустить. (число, по умолчанию - 0)
descобратное направление сортировки (булево, по умолчанию - false)

Внимание! По умолчанию количество возвращаемых записей ограничено 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:
emailАдрес электронной почты
nameИмя
secondNameОтчество
surnameФамилия
birthDateДата рождения, формат YYYY-MM-DD
regionIdКод региона
cityГород
countryCodeКод страны
phoneНомер телефона
enableSmsПроизводится ли отправка SMS клиенту
mobileНомер мобильного телефона
memberOfClubНазвание автоклуба
excludeCartИсключить позиции корзины из расчета блокировки при достижении лимита кредита
icqICQ UIN
skypeSkype
stateСостояние аккаунта. Значения:
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Список (массив) клиентов, удовлетворяющих заданным фильтрам (поле отображается при использовании параметра format со значением p).
countКоличество клиентов, удовлетворяющих заданным фильтрам (поле отображается при использовании параметра format со значением p)

При использовании параметра format со значением p ответ на запрос содержит поля:

itemsСписок (массив) клиентов, удовлетворяющих заданным фильтрам. Массив представляет собой список пользователей, который был бы ответом запроса без использования параметра format со значением p.
countКоличество клиентов, удовлетворяющих заданным фильтрам

Создание пользователя​

Операция: cp/user/new

Метод: POST

Принимает параметры для регистрации пользователя. Осуществляет регистрацию нового пользователя в системе. Возвращает статус выполнения операции регистрации, учетные данные нового пользователя, а так же сообщение об ошибке в случае возникновения таковой.

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

ПараметрОписание
userlogin*Имя API-администратора
userpsw*md5-хэш пароля API-администратора
name*Имя
password*Пароль
mobile*Номер мобильного телефона
office*Идентификатор офиса
marketTypeТип регистрации:
filialIdКод филиала (если имеются)
secondNameОтчество
surnameФамилия
birthDateДата рождения, формат YYYY-MM-DD
memberOfClubНазвание автоклуба
emailАдрес электронной почты
icqICQ UIN
skypeSkype
regionIdКод региона
cityГород
countryCodeКод страны
organizationNameНаименование организации
businessТип организации. Принимает следующие значения:
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=vasya5434534@mail.com&regionId=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Идентификатор базового профиля (возвращается только при подключении опции Профили: использовать групповое сохранение)
ПараметрОписание
idИдентификатор платежной системы
nameНаименование платежной системы
isEnabledПризнак включения платежной системы для клиентов этого профиля
ПараметрОписание
fromЦена от
toЦена до
priceUpНаценка
fixedMarkupФикс. надбавка
ПараметрОписание
idИдентификатор поставщика
nameНаименование поставщика
isEnabledПризнак включения поставщика для клиентов этого профиля
priceUpНаценка на поставщика
brandsPriceUpsНаценки на бренды поставщика (выводится, если format выставлен в значение brands)
isPricePriceupDisabledВыкл. наценку в зависимости от цены товара (false — Нет, true — Да)
ПараметрОписание
nameНазвание бренда. "-1" = "Все бренды"
priceUpНаценка на поставщика
isOnlyOneUsedПризнак "Единственная применяемая наценка", true / false

Обновление профиля​

Операция: 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Наценки по поставщикам

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

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)
ПараметрОписание
fromЦена от
toЦена до
priceUpНаценка
fixedMarkupФикс. надбавка
ПараметрОписание
idИдентификатор поставщика
nameНаименование поставщика
isEnabledПризнак включения поставщика для клиентов этого профиля (допустимые значения: 0 и 1)
priceUpНаценка на поставщика
brandsPriceUpsНаценки на бренды поставщика
groupsPriceUpsНаценки на группу товаров по любому бренду
brandsAndGroupsPriceUpsНаценки на бренды и группу товаров одновременно
isPricePriceupDisabledВыкл. наценку в зависимости от цены товара (0 — Нет, 1 — Да)

Внимание! Если передается узел brandsPriceUps, то все наценки по брендам удаляются и заполняются из переданных параметров.

Узел brandsPriceUps содержит массив объектов вида:

ПараметрОписание
nameНазвание бренда. "-1" = "Все бренды"
priceUpНаценка на поставщика
groupNameНазвание группы товаров
isOnlyOneUsedПризнак "Единственная применяемая наценка, true / false
ПараметрОписание
priceUpНаценка на поставщика
groupNameНазвание группы товаров
isOnlyOneUsedПризнак "Единственная применяемая наценка, true / false
ПараметрОписание
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Тип организации. Принимает следующие значения:
emailАдрес электронной почты
nameИмя
secondNameОтчество
surnameФамилия
passwordНеобязательный параметр. Предназначен для изменения пароля пользователя
birthDateДата рождения, формат YYYY-MM-DD
cityГород
countryCodeКод страны
phone [устарел, не используется]Номер телефона
mobileНомер мобильного телефона
icqICQ UIN
skypeSkype
enableSmsПроизводится ли отправка SMS клиенту
stateСостояние аккаунта. Значения:
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:
emailАдрес электронной почты
nameИмя
secondNameОтчество
surnameФамилия
birthDateДата рождения, формат YYYY-MM-DD
cityГород
countryCodeКод страны
phone [устарел, не используется]Номер телефона
mobileНомер мобильного телефона
enableSmsПроизводится ли отправка SMS клиенту
icqICQ UIN
skypeSkype
stateСостояние аккаунта. Значения:
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Системный код клиента.
enableSms1 или 0 - доступна ли клиенту отправка sms в целом (задается менеджером в общих настройках клиента).
isCustomersNotificationEnabled1 или 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 клиента
availablePaymentTypeMode0 при опции "Доступные типы платежей" = "Из профиля"
enabledPaymentTypeIdsмассив id типов платежей. Может быть пустым.

Редактирование клиентских опций​

Операция: cp/user/options

Метод: POST

Редактирует клиентские опции.

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

ПараметрОписание
userlogin*Имя API-администратора
userpsw*md5-хэш пароля API-администратора
userId*Системный id клиента
availablePaymentTypeMode0 для установки опции "Доступные типы платежей" = "Из профиля"
enabledPaymentTypeIdsмассив id типов платежей. Может быть пустым.

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

[https://demo.public.api.abcp.ru/cp/user/options](https://demo.public.api.abcp.ru/cp/user/options?userlogin=username&userpsw=md5pass&userId=861437&availablePaymentTypeMode=1&enabledPaymentTypeIds)

Тело POST запроса

userlogin=username&userpsw=md5pass&userId=861437&availablePaymentTypeMode=1&enabledPaymentTypeIds[]=1379

Поля ответа

Метод возвращает набор узлов вида:

ПолеОписание
userIdСистемный id клиента
availablePaymentTypeMode0 при опции "Доступные типы платежей" = "Из профиля"
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](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

Метод: POST

Универсальный метод добавления и обновления зон адресов доставки.

warning

Если вы изменяете одну из зон, необходимо передать данные и по всем остальным имеющимся зонам тоже. Если этого не сделать, то непереданные зоны будут удалены.

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

ПараметрОписание
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](https://demo.public.api.abcp.ru/cp/user/shipmentAddressZones?userlogin=username&userpsw=md5pass)

Тело 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](https://demo.public.api.abcp.ru/cp/user/shipmentAddressZones?userlogin=username&userpsw=md5pass)

Тело 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Минимальный срок доставки для зоны, в днях

Обязательно наличие как минимум одного из полей (name, isOnDay, stopTimeDay, deadline).

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

[https://demo.public.api.abcp.ru/cp/user/shipmentAddressZones/400/update](https://demo.public.api.abcp.ru/cp/user/shipmentAddressZones?userlogin=username&userpsw=md5pass)

Тело 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 запроса.

ПараметрОписание
userlogin*Имя API-администратора
userpsw*md5-хэш пароля API-администратора

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

[https://demo.public.api.abcp.ru/cp/user/shipmentAddressZones/400/delete](https://demo.public.api.abcp.ru/cp/user/shipmentAddressZones?userlogin=username&userpsw=md5pass)

Ответ

Метод возвращает статус 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Фамилия сотрудника
emailE-mail
phoneТелефон
icqICQ
skypeSkype
sipSIP номер
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Фамилия сотрудника
emailАдрес ящика электронной почты
phoneНомер телефона
mobileНомер мобильного телефона
SIPSIP номер
commentКомментарий
bossIdИдентификатор руководителя
officeIdИдентификатор офиса

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

[https://demo.public.api.abcp.ru/cp/manager](https://demo.public.api.abcp.ru/cp/manager?userlogin=username&userpsw=md5pass&id=12345&firstName=4503)

Тело POST запроса

userlogin=username&userpsw=md5pass&id=12345&firstName=4503

Метод возвращает массив объектов вида:

ПараметрОписание
idИдентификатор сотрудника
resellerIdИдентификатор реселлера
typeIdТип сотрудника
typeNameНаименование типа
firstNameИмя сотрудника
lastNameФамилия сотрудника
emailE-mail
phoneТелефон
icqICQ
sipsip номер
skypeSkype
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

Метод возвращает массив объектов вида:

ПараметрОписание
idid поставщика
nameИмя поставщика
publicNameПубличное (измененное) имя поставщика
currencyDesignationВалюта поставщика
isEnabledСтатус поставщика
updateTimeПоследнее обновление (у онлайн поставщиков не выводится)
positionsNumberПозиций в наличии
updateRateInDaysНорма обновления в днях для поставщика
emailemail поставщика
firstNameИмя
lastNameФамилия
cityГород
phoneТелефон
mobileМобильный
organizationFormПравовая форма организации.
organizationOfficialNameНаименование по регистрации (без правовой формы юр. лица)
innИНН
kppКПП
organizationOfficialAddressЮридический адрес организации
bankNameНаименование банка
bikБИК банка
correspondentAccountКорреспондентский счет банка
organizationAccountРасчетный счет организации
descriptionОписание
contractorКонтрагент поставщика. Содержит поля: id - идентификатор, name - имя. Значение null - если контрагент не прикреплен.

Сохранение информации о поставщике​

Операция: cp/distributor

Метод: POST

Сохраняет реселлерские наименование (publicName) и/или описание (description) поставщика. Обновляется только переданное поле, непереданное остаётся без изменений.

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

ПараметрОписание
userlogin*Имя API-администратора
userpsw*md5-хэш пароля API-администратора
distributor[id]*Id поставщика
distributor[publicName]Реселлерское наименование поставщика. Не может быть пустым. Обязателен, если не передан distributor[description]
distributor[description]Реселлерское описание поставщика. Обязателен, если не передан distributor[publicName]

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

https://demo.public.api.abcp.ru/cp/distributor

Тело POST запроса

userlogin=username&userpsw=md5pass&distributor[id]=1111111&distributor[publicName]=Своё название поставщика&distributor[description]=Описание поставщика

Метод возвращает объект вида:

ПараметрОписание
successtrue при успешном сохранении
distributorОбъект поставщика после сохранения

Узел distributor содержит объект вида:

ПараметрОписание
idid поставщика
nameОригинальное наименование поставщика
publicNameРеселлерское наименование поставщика
descriptionРеселлерское описание поставщика

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

{
"success": true,
"distributor": {
"id": 1111111,
"name": "Название поставщика",
"publicName": "Своё название поставщика",
"description": "Описание поставщика"
}
}

В случае ошибки возвращается errorCode и errorMessage для отображения ошибки.

Изменение статуса поставщика​

Операция: cp/distributor/status

Метод: POST

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

ПараметрОписание
userlogin*Имя API-администратора
userpsw*md5-хэш пароля API-администратора
distributorId*Id поставщика
status*1 - Вкл. \ 0 - Выкл.

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

[https://demo.public.api.abcp.ru/cp/distributor/status](https://demo.public.api.abcp.ru/cp/distributor/status?userlogin=username&userpsw=md5pass&status=1)

Тело 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.
warning

Для этой операции необходимо использовать медиа-тип multipart/form-data.

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

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.

Проект на GitHub

Метод возвращает объект вида:

ПараметрОписание
statusСтатус выполнения операции. В случае успешного выполнения возвращает 1.
messageСообщение о результатах работы.

Копирование поставщика​

Операция: cp/distributor/copy

Метод: POST

Создает нового прайсового поставщика с полностью идентичными настройками - валюта прайса, настройки колонок, конфигурация брендов, правил для артикулов и описаний в прайсах, конфигурация цен прайса, конфигурация наличия, фильтрация прайса, доп. настройки и настройки маршрутОВ на основе заданного id шаблонного прайсового поставщика. Лимит по операции - не более 100 операций в сутки.

Создается такое же количество маршрутов, как в поставщике, с которого копируются настройки

Поставщик создается выключенным от сайта. Для его включения по API используйте операцию Изменение статуса поставщика

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

ПараметрОписание
userlogin*Имя API-администратора
userpsw*md5-хэш пароля API-администратора
distributorId*ID поставщика, с которого будут скопированы настройки конфига и маршрутов
distributorNameНазвание для создаваемого поставщика - необязательное поле. Если не задавать наименование, то будет создан поставщик с названием от копируемого поставщика+ постфикса _Copy
withoutConfigНеобязательный параметр. Список принимаемых значений:

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

https://demo.public.api.abcp.ru/cp/distributor/copy

Тело POST запроса

userlogin=username&userpsw=md5pass&distributorId=4223356&distributorName=NEWпоставщик

Метод возвращает массив объектов вида:

ПараметрОписание
idid поставщика
nameИмя поставщика
publicNameПубличное (измененное) имя поставщика
currencyDesignationВалюта поставщика
isEnabledСтатус поставщика
updateTimeПоследнее обновление (у онлайн поставщиков не выводится)
positionsNumberПозиций в наличии
updateRateInDaysНорма обновления в днях для поставщика
emailemail поставщика
firstNameИмя
lastNameФамилия
cityГород
phoneТелефон
mobileМобильный
organizationFormПравовая форма организации.
organizationOfficialNameНаименование по регистрации (без правовой формы юр. лица)
innИНН
kppКПП
organizationOfficialAddressЮридический адрес организации
bankNameНаименование банка
bikБИК банка
correspondentAccountКорреспондентский счет банка
organizationAccountРасчетный счет организации
descriptionОписание
contractorКонтрагент поставщика. Содержит поля: id - идентификатор, name - имя. Значение null - если контрагент не прикреплен.
routesмассив созданных по поставщику маршрутов

Узел routes содержит массив объектов вида:

ПараметрОписание
idid маршрута
deadlineСрок поставки (часов)
deadlineReplaceТекстовое значение для "Срока поставки"
isDeadlineReplaceFranchEnabledПередавать текстовое значение для "Срока поставки" франчайзи
deadlineMaxМаксимальный срок поставки (часов)
normalTimeStartНачало рабочего времени
normalTimeEndКонец рабочего времени
normalDaysOfWeekСтандартные дни недели
abnormalDeadlineСрок поставки (вне стандартного времени)
abnormalDeadlineMaxМаксимальный срок поставки (вне стандартного времени)
p1P1
p2P2
pricePerKgСтоимость 1КГ (в валюте поставщика)
priceUpAddedДобавочная наценка
с1C1
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

Метод возвращает массив объектов вида:

ПараметрОписание
idid маршрута
deadlineСрок поставки (часов)
deadlineReplaceТекстовое значение для "Срока поставки"
isDeadlineReplaceFranchEnabledПередавать текстовое значение для "Срока поставки" франчайзи
deadlineMaxМаксимальный срок поставки (часов)
normalTimeStartНачало рабочего времени
normalTimeEndКонец рабочего времени
normalDaysOfWeekСтандартные дни недели
abnormalDeadlineСрок поставки (вне стандартного времени)
abnormalDeadlineMaxМаксимальный срок поставки (вне стандартного времени)
p1P1
p2P2
pricePerKgСтоимость 1КГ (в валюте поставщика)
priceUpAddedДобавочная наценка
с1C1
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Максимальный срок поставки (вне стандартного времени)
p1P1
p2P2
pricePerKgСтоимость 1КГ (в валюте поставщика)
priceUpAddedДобавочная наценка
с1C1
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](https://demo.public.api.abcp.ru/cp/route?userlogin=username&userpsw=md5pass&routeId=12345&deadline=48)

Тело POST запроса

userlogin=username&userpsw=md5pass&routeId=12345&deadline=48

Метод возвращает массив с измененной информацией о маршруте:

ПараметрОписание
idid маршрута
deadlineСрок поставки (часов)
deadlineReplaceТекстовое значение для "Срока поставки"
isDeadlineReplaceFranchEnabledПередавать текстовое значение для "Срока поставки" франчайзи
deadlineMaxМаксимальный срок поставки (часов)
normalTimeStartНачало рабочего времени
normalTimeEndКонец рабочего времени
normalDaysOfWeekСтандартные дни недели
abnormalDeadlineСрок поставки (вне стандартного времени)
abnormalDeadlineMaxМаксимальный срок поставки (вне стандартного времени)
p1P1
p2P2
pricePerKgСтоимость 1КГ (в валюте поставщика)
priceUpAddedДобавочная наценка
с1C1
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](https://demo.public.api.abcp.ru/cp/routes?userlogin=username&userpsw=md5pass&distributorId=12345)

Параметры 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Максимальный срок поставки (вне стандартного времени)
p1P1
p2P2
pricePerKgСтоимость 1КГ (в валюте поставщика)
priceUpAddedДобавочная наценка
с1C1
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

Метод возвращает массив объектов вида:

ПараметрОписание
idid маршрута
deadlineСрок поставки (часов)
deadlineReplaceТекстовое значение для "Срока поставки"
isDeadlineReplaceFranchEnabledПередавать текстовое значение для "Срока поставки" франчайзи
deadlineMaxМаксимальный срок поставки (часов)
normalTimeStartНачало рабочего времени
normalTimeEndКонец рабочего времени
normalDaysOfWeekСтандартные дни недели
abnormalDeadlineСрок поставки (вне стандартного времени)
abnormalDeadlineMaxМаксимальный срок поставки (вне стандартного времени)
p1P1
p2P2
pricePerKgСтоимость 1КГ (в валюте поставщика)
priceUpAddedДобавочная наценка
с1C1
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Массив поставщиков, если параметр не передан или содержит пустое значение - отключаются все поставщики указанного офиса.
ПолеОписание
idИдентификатор поставщика
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.
officeIdИдентификатор офиса
officeNameНазвание офиса
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Массив объектов офисов
ПолеОписание
оfficeIdИдентификатор офиса
оfficeNameНазвание офиса
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

Метод возвращает массив объектов вида:

ПараметрОписание
idid акции
brandБренд. Может быть пустым
distributorIdID поставщика
isActive1 / 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 содержит набор элементов вида:

ПараметрОписаниеКоммент
idid заметкиЕсли передать id, будет отредактирована заметка с этим id.
distributorIdID поставщикаЕсли передан id заметки, то не учитывается.
isActive1 / true - вкл, 0 / false - выкл
colorНапример FB6363. Может быть пустымЕсли передать пустой параметр, стирается сохраненное значение.
routesМаршруты через запятую или -1-1 значит "все маршруты"
profilesПрофили через запятую или -1-1 значит "все профили"
notesМассив заметок по локалям
localeКод локалиОбязательный, например, ru_RU
textТекст заметкиОбязательный
isDeleteЕсли передать 1 / true, акция с переданным id удалится.

Тело POST запроса

userlogin=username&userpsw=md5pass&note[0][distributorId]=XXX&note[0][isActive]=1&note[0][routes]=-1&note[0][profiles]=-1&note[0][notes][0][locale]=ru_RU&note[0][notes][0][text]=текст

Гараж​

Получение автомобилей из гаража пользователя​

Операция: cp/users/garage

Метод: GET

Возвращает список всех автомобилей из гаража пользователя.

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

ПараметрОписание
userlogin*Имя API-администратора
userpsw*md5-хэш пароля API-администратора
userId*Идентификатор пользователя на сайте

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

`https://api.demo.abcp.ru/cp/users/garage?userlogin=username&userpsw=md5pass&userId=525002`

Поля ответа

ПолеОписание
garageCarIdИдентификатор автомобиля в гараже
manufacturerМарка автомобиля
modelМодель автомобиля
modificationМодификация автомобиля
vinVIN номер
frameFRAME номер
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Год выпуска автомобиля
vinVIN-код автомобиля
frameНомер кузова автомобиля
mileageПробег автомобиля
manufacturerIdИдентификатор марки автомобиля
manufacturerНазвание марки автомобиля
modelIdИдентификатор модели автомобиля
modelНазвание модели автомобиля
modificationIdИдентификатор модификации автомобиля
modificationНазвание модификации автомобиля
dateUpdatedДата последнего обновления автомобиля в гараже
vehicleRegPlateГосударственный номер автомобиля

Получение списка настроек платёжных систем​

Операция: cp/payments/getPaymentMethodSettings

Метод: GET

Возвращает настройки платёжных систем. Если не указывать доп. параметры, то будут возвращены все существующие настройки для всех платёжных систем (активных и отключенных).

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

ПараметрОписание
userlogin*Имя API-администратора
userpsw*md5-хэш пароля API-администратора
onlyEnabledесли true, то будет возвращён список только включенных настроек ПС
onlyDisabledесли true, то будет возвращён список только выключенных настроек ПС
paymentMethodIdid конкретной платёжной системы для которой нужно получить настройки

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

[https://demo.public.api.abcp.ru/cp/payments/getPaymentMethodSettings/?userlogin=username&userpsw=md5pass](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Идентификатор настроек
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Ссылка на пополнение баланса

Каталоги в товарных группах​

warning

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

Общая информация по каталогам и использованию операций​

ABCP разрабатывает и поддерживает десятки каталогов в товарных группах. Новые каталоги добавляются регулярно, информация в текущих каталогах тоже обновляется непрерывно. В настоящий момент (14.09.2026) разработан 103 каталога с 835105 товарами. Все каталоги доступны на сайтах клиентов ABCP, кроме этого, имеется возможность интегрировать каталоги на ваш сайт через API.

RoGxWurZWO.png

  1. На странице каталога в товарной группе на вашем сайте вы используете для запросов в API ABCP идентификатор товарной группы для доступа к информации по каталогу. Полный список идентификаторов каталогов в товарных группах ABCP вы можете посмотреть в этом документе;
  2. По идентификатору запрашиваете информацию о каталоге (например, oils), используя метод /cp/catalog/info (документация ниже). Получаете список фильтров, их типы, значения и отображаете на странице каталога;
  3. Пользователь вашего сайта указывает нужные ему значения, например Motul + 5w40;
  4. При помощи операции /cp/catalog/search (документация ниже) вы отправляете запрос в API ABCP и получаете список артикулов, которые удовлетворяют переданным фильтрам. По списку полученных артикулов вы осуществляете поиск предложений на своих складах (или у ваших поставщиков), формируете результат для клиента и отображаете его в результатах подбора по каталогу. Для отображения результатов поиска используете операцию /cp/articles/info/batch (документация ниже)

Примеры реализации​

  1. на платформе ABCP
  2. реализация через API через описанные ниже методы

Получение информации по одному каталогу​

Операция: /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":"Минеральное масло фактически добывается из земли – это просто очищенная сырая нефть. Синтетическое масло (полностью синтетическое или полусинтетика) создается в лаборатории.",
"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":"Международный уровень классификацииSAE J300. Эта классификация подразделяет моторные масла12 классов от 0W до 60:6 зимних(0W, 5W, 10W, 15W, 20W, 25W) и6 летних(10, 20, 30, 40, 50, 60) классов вязкости.Буква W перед цифрой означает, что масло приспособлено к работе при низкой температуре (Winter - зима). Для этих масел кроме минимальной вязкости при 100C дополнительно дается температурный предел прокачиваемости масла в холодных условиях. Предельная температура прокачиваемости означает минимальную температуру, при которой насос двигателя в состоянии подавать масло в систему смазки. Это значение температуры можно рассматривать как минимальную температуру, при которой возможен безопасный пуск двигателя.",
"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":"Классификация ACEA - Association des Constructeurs Europeens de L'Automobile(Ассоциация Европейских Производителей Автомобилей). Классификация \"ACEA European Oil Sequences for Service Fill Oils 1998\" состоит из трех классов последовательности испытаний - A, B, E. Каждый класс в свою очередь подразделяется на категории, обозначенные арабскими цифрами. Далее указывается год введения в действие, а также может быть указание на второе, более позднее, издание данной нормы. А - бензиновые двигатели (А1, А2, A3 и A5); В - дизельные двигатели малой мощности, устанавливаемые на легковые и грузовые автомобили малой мощности (В1, В2, ВЗ, В4 и B5); Е - дизельные двигатели для тяжелого транспорта (Е1, Е2, ЕЗ, Е4, Е5 и Е7). Цифра после буквы обозначает уровень требований. Чем больше номер, тем выше требования. Исключениями являются уровни А1 и В1, которые относятся к маслам с малой вязкостью, т. н. \"топливосберегающим\". Класс В4 в основном совпадает с классом В2, но дополнен испытаниями на двигателях с непосредственным впрыском топлива.",
"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Массив брендов каталога. Описание одного элемента массива:
goods_groupИдентификатор товарной группы (полный список)
criteriasМассив с фильтрами, их свойствами (которые определяют поведение на фронте) и возможными значениями.

Получение списка артикулов по переданным значениям фильтров​

Операция: /cp/catalog/search

Метод: POST

Метод возвращает список артикулов, которые удовлетворяют переданным фильтрам (из операции /cp/catalog/info)

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

ПараметрОписание
userlogin*Имя API-администратора
userpsw*md5-хэш пароля API-администратора
goods_group*Идентификатор товарной группы (полный список)
propertiesМассив передаваемых значений фильтров, properties[key][0]=value,properties[key][1]=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://imgcdn.abcp.ru/p/
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 и объект с полями. Параметры ответа:

ПараметрОписание
taskIdИдентификатор задачи
errorCodeКод ошибки
errorMessageТекст сообщения об ошибке

Статус импорта/экспорта каталога​

Операция: /cp/usercatalogs/{catalogId}/tasks/{taskId}/status

Метод: GET

Возвращает статус задачи импорта/экспорта.

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

ПараметрОписание
userlogin*Имя API-администратора
userpsw*md5-хэш пароля API-администратора
catalogId*Идентификатор каталога
taskId*Идентификатор задачи

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

https://demo.public.api.abcp.ru/cp/usercatalogs/12345/tasks/98765/status?userlogin=username&userpsw=md5pass

Описание ответа

Метод возвращает статус задачи экспорта/импорта. Если в процессе загрузки возникли ошибки, возвращается описание ошибки.

Параметры ответа:

ПараметрОписание
idИдентификатор задачи
catalogIdИдентификатор каталога
type1 - экспорт, 2 - импорт
status1 - новая задача, 2 - в работе, 3 - завершена
result200 - успешно, 500 - ошибка
errorОписание ошибки
noticesТекст сообщения об ошибке, подробное описание

Получение данных из истории операций​

Операция: 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Автор инициатор
ipIP-адрес автора инициатора
dateДата и время запроса на восстановление пароля
customerIdСистемный код клиента (нередактируемый)
customerCodeРедактируемый код клиента
emailEmail, для которого был запрос

Информация о товарах​

Карточка идентифицируется связкой бренд + номер + локаль. Если локаль не передана, используется локаль реселлера по умолчанию.

Импорт и экспорт выполняются асинхронно через задачи: метод создаёт задачу и возвращает её идентификатор (taskId), а результат запрашивается отдельно по этому идентификатору.

Добавление / обновление карточки товара​

Операция: cp/productCards

Метод: POST

Создаёт карточку товара либо обновляет существующую. Если карточка с такой связкой бренд + номер + локаль уже создана - переданные поля обновляются. При обновлении передавать все параметры необязательно: переданное поле перезаписывает текущее значение, непереданное - остаётся без изменений.

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

ПараметрОписание
userlogin*Имя API-администратора
userpsw*md5-хэш пароля API-администратора
brand*Название бренда
number*Номер артикула
localeЛокаль в формате language[_territory], например, ru_RU. По умолчанию — локаль реселлера
description*Краткое описание. Обязательно при создании новой карточки. При обновлении - только если требуется изменить
descriptionExtРасширенное описание
seoTitleТег title страницы карточки
seoKeywordsТег keywords
seoDescriptionТег description
marketplaceDescriptionОписание для маркетплейсов

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

curl -i -X POST -d "userlogin=username&userpsw=md5pass&brand=Febi&number=01089&description=Антифриз" https://demo.public.api.abcp.ru/cp/productCards

Метод возвращает объект карточки в актуальном состоянии:

ПолеОписание
brandНазвание бренда
numberНомер артикула
localeЛокаль карточки
propertiesОбъект с описаниями и SEO-полями карточки

Узел properties содержит объект вида:

ПолеОписание
descriptionКраткое описание
descriptionExtРасширенное описание
seoTitleТег title
seoKeywordsТег keywords
seoDescriptionТег description
marketplaceDescriptionОписание для маркетплейсов

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

{
"brand": "Febi",
"number": "01089",
"locale": "ru_RU",
"properties": {
"description": "Антифриз",
"descriptionExt": "Антифриз Febi 01089",
"seoTitle": "Антифриз Febi 01089",
"seoKeywords": "антифриз, Febi, 01089",
"seoDescription": "Антифриз Febi 01089 в наличии. Доставка по России.",
"marketplaceDescription": "Антифриз Febi 01089 концентрат"
}
}

Описание ответа

Метод возвращает статус 200 и объект карточки. Иначе возвращается статус отличный от 200 и объект с полем errorMessage:

СтатусerrorMessageУсловие
400Incorrect login or password!Некорректные логин/пароль
400Missing required parameter: XXXXXXОтсутствует обязательный параметр (brand, number, а также description при создании)
400Brand XXXXXX not foundБренд не найден в справочнике
403Article cards limit exceededДостигнут лимит карточек по услуге (при создании новой)

Поиск карточек товаров​

Операция: cp/productCards/search

Метод: GET

Возвращает список карточек товаров с постраничной навигацией. Поддерживает фильтрацию по бренду, номеру и локали. Без фильтров возвращаются все карточки реселлера.

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

ПараметрОписание
userlogin*Имя API-администратора
userpsw*md5-хэш пароля API-администратора
brandФильтр по бренду
numberФильтр по номеру артикула
localeЛокаль в формате language[_territory], например, ru_RU. По умолчанию - локаль реселлера
limitКоличество карточек на странице (число, по умолчанию - 100, максимум - 1000)
skipКоличество карточек, которое нужно пропустить от начала выборки (число, по умолчанию — 0)

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

`https://demo.public.api.abcp.ru/cp/productCards/search?userlogin=username&userpsw=md5pass&brand=Febi&limit=100&skip=0`

Метод возвращает объект вида:

ПолеОписание
articleCardsМассив карточек товаров, удовлетворяющих фильтрам
totalCountОбщее количество карточек, подходящих под фильтр, во всей выборке (не только на текущей странице)

Узел articleCards содержит массив объектов вида:

ПолеОписание
brandНазвание бренда
numberНомер артикула
localeЛокаль карточки
propertiesОбъект с описаниями и SEO-полями карточки (состав полей см. в методе cp/productCards)

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

{
"articleCards": [
{
"brand": "Febi",
"number": "01089",
"locale": "ru_RU",
"properties": {
"description": "Антифриз",
"descriptionExt": "Антифриз Febi 01089",
"seoTitle": "Антифриз Febi 01089",
"seoKeywords": "антифриз, Febi, 01089",
"seoDescription": "Антифриз Febi 01089 в наличии. Доставка по России.",
"marketplaceDescription": "Антифриз Febi 01089 концентрат"
}
}
],
"totalCount": 5
}

Если под фильтр ничего не подошло - возвращается пустой массив articleCards и totalCount равен 0.

Описание ответа

СтатусerrorMessageУсловие
400Incorrect login or password!Некорректные логин/пароль
400Invalid pagination parameterskip или limit некорректны (не число или отрицательное)

Удаление карточки товара​

Операция: cp/productCards/delete

Метод: POST

Удаляет карточку товара по связке бренд + номер + локаль.

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

ПараметрОписание
userlogin*Имя API-администратора
userpsw*md5-хэш пароля API-администратора
brand*Название бренда
number*Номер артикула
locale*Локаль в формате language[_territory], например, ru_RU

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

curl -i -X POST -d "userlogin=username&userpsw=md5pass&brand=Febi&number=01089&locale=ru_RU" https://demo.public.api.abcp.ru/cp/productCards/delete

Метод возвращает объект вида:

ПолеОписание
statusРезультат удаления (success)

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

{
"status": "success"
}

Если карточки с указанной связкой не существовало, метод всё равно возвращает статус 200.

Описание ответа

СтатусerrorMessageУсловие
400Incorrect login or password!Некорректные логин/пароль
400Missing required parameter: XXXXXXОтсутствует обязательный параметр (brand, number, locale)

Импорт карточек товаров файлом​

Операция: cp/productCards/import

Метод: POST

Массово создаёт и обновляет карточки товаров из загруженного файла (xls/xlsx). Метод принимает файл в обработку и возвращает идентификатор задачи (taskId). Результат загрузки запрашивается отдельно методом cp/productCards/file/status по полученному taskId.

Пока предыдущая задача импорта не завершена, новая не создаётся - метод возвращает статус текущей задачи. Новые карточки добавляются в пределах лимита по услуге; карточки сверх лимита не добавляются.

warning

Так как запрос отправляется в формате multipart/form-data, параметры авторизации userlogin и userpsw необходимо передавать в query-строке URL, а не в теле формы. Остальные параметры (file, locale, updateMode) передаются в теле как form-data.

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

ПараметрОписание
userlogin*Имя API-администратора (передаётся в query-строке URL)
userpsw*md5-хэш пароля API-администратора (передаётся в query-строке URL)
file*Файл с карточками в формате xls или xlsx, переданный в multipart/form-data. Структура файла аналогична файлу группового добавления в ПУ
localeЛокаль, применяемая ко всем карточкам файла, в формате language[_territory], например, ru_RU. По умолчанию — локаль реселлера
updateModeРежим обработки существующих карточек (по умолчанию 0). 0 — обновлять существующие и добавлять новые; 1 — не обновлять существующие (добавлять только новые); 2 — удалить все существующие карточки перед загрузкой в пределах указанной локали

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

curl -i -X POST -H "Content-Type: multipart/form-data" -F "file=@/home/user/cards.xlsx" -F "locale=ru_RU" -F "updateMode=0" "https://demo.public.api.abcp.ru/cp/productCards/import?userlogin=username&userpsw=md5pass"

Метод возвращает объект вида:

ПолеОписание
taskIdИдентификатор созданной задачи импорта

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

{
"taskId": 162041
}

Описание ответа

СтатусerrorMessage / ответУсловие
400Incorrect login or password!Некорректные логин/пароль
400Request body is not a valid multipart formТело запроса не является корректной multipart-формой
400Missing required parameter: fileФайл не приложен
400File must be in xls or xlsx formatРасширение файла не xls/xlsx
400Invalid updateMode value: XXXXXXupdateMode вне диапазона 0-2
200{ "status": "processing", "message": "Import already in progress" }Предыдущая задача импорта ещё не завершена — новая не создаётся

Экспорт карточек товаров в файл​

Операция: cp/productCards/export

Метод: POST

Формирует файл (xlsx) со всеми карточками товаров реселлера по указанной локали. Метод ставит задачу на формирование файла и возвращает идентификатор задачи (taskId). Готовый файл запрашивается методом cp/productCards/export/file по полученному taskId.

Пока предыдущая задача экспорта не завершена, новая не создаётся — метод возвращает статус текущей задачи.

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

ПараметрОписание
userlogin*Имя API-администратора
userpsw*md5-хэш пароля API-администратора
localeЛокаль, по которой выгружаются карточки, в формате language[_territory], например, ru_RU. По умолчанию — локаль реселлера

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

curl -i -X POST -d "userlogin=username&userpsw=md5pass&locale=ru_RU" https://demo.public.api.abcp.ru/cp/productCards/export

Метод возвращает объект вида:

ПолеОписание
taskIdИдентификатор созданной задачи экспорта

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

{
"taskId": 162042
}

Описание ответа

СтатусerrorMessage / ответУсловие
400Incorrect login or password!Некорректные логин/пароль
200{ "status": "processing", "message": "Export already in progress" }Предыдущая задача экспорта ещё не завершена — новая не создаётся

Получение статуса задачи (импорт / экспорт)​

Операция: cp/productCards/file/status

Метод: GET

Возвращает статус и результат задачи по переданному идентификатору. Для задачи импорта в ответе возвращаются счётчики обработанных карточек, для задачи экспорта — статус прогресса или готовности.

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

ПараметрОписание
userlogin*Имя API-администратора
userpsw*md5-хэш пароля API-администратора
taskId*Идентификатор задачи, полученный при запуске импорта или экспорта

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

`https://demo.public.api.abcp.ru/cp/productCards/file/status?userlogin=username&userpsw=md5pass&taskId=162041`

Метод возвращает объект вида:

ПолеОписание
statusТекущий статус: processing — в обработке, done — завершено
addedДобавлено карточек. Возвращается для задачи импорта
updatedОбновлено карточек. Возвращается для задачи импорта
skippedПропущено строк из-за ошибок валидации. Возвращается для задачи импорта

Для задачи импорта, пока задача не завершена, поля added / updated / skipped равны 0.

Пример ответа (импорт завершён):

{
"status": "done",
"added": 5,
"updated": 3,
"skipped": 1
}

Пример ответа (экспорт завершён):

{
"status": "done"
}

Описание ответа

СтатусerrorMessageУсловие
400Incorrect login or password!Некорректные логин/пароль
400Missing required parameter: taskIdНе передан taskId
404Task not foundЗадача с переданным taskId не найдена

Получение файла экспорта​

Операция: cp/productCards/export/file

Метод: GET

Возвращает готовый файл (xlsx) по завершённой задаче экспорта. Если файл ещё формируется, возвращается статус processing. Готовность можно также проверить методом cp/productCards/file/status.

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

ПараметрОписание
userlogin*Имя API-администратора
userpsw*md5-хэш пароля API-администратора
taskId*Идентификатор задачи экспорта, полученный при запуске экспорта

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

`https://demo.public.api.abcp.ru/cp/productCards/export/file?userlogin=username&userpsw=md5pass&taskId=162042`

Описание ответа

Если файл готов, метод возвращает сам файл (xlsx) на скачивание. Если файл ещё формируется, возвращается объект:

{ "status": "processing" }.

СтатусerrorMessage / ответУсловие
400Incorrect login or password!Некорректные логин/пароль
400Missing required parameter: taskIdНе передан taskId
404Task not foundЗадача с переданным taskId не найдена
200{ "status": "processing" }Файл ещё формируется (задача не завершена)
warning

Документация обновляется