Открыть главное меню

API:Docs: различия между версиями

Строка 5: Строка 5:
  
 
[[API.TS.Client]]
 
[[API.TS.Client]]
 +
 +
[[API.TS.Admin]]
  
 
[[APIVINQU]]
 
[[APIVINQU]]
Строка 2764: Строка 2766:
 
  |Массив изображений товара (при включенном формате i). В массиве указаны имена файлов расположенных по адресу http://pubimg.4mycar.ru/images/
 
  |Массив изображений товара (при включенном формате i). В массиве указаны имена файлов расположенных по адресу http://pubimg.4mycar.ru/images/
 
  |}
 
  |}
<span id="tecdoc"></span>
+
<!-- |-
 
+
  !directorFullName
===Административный интерфейс===
+
  |ФИО директора -->
Все методы в данном разделе доступны только специальному пользователю со статусом API-администратор.
 
Для получения учетных данных авторизации Вам необходимо отправить заявку в техническую поддержку.
 
 
 
<span id="cp-order"></span>
 
====Работа с заказами====
 
Как узнать statusCode для статусов на сайте?
 
 
 
#через специальную операцию [[API:Docs#.D0.9F.D0.BE.D0.BB.D1.83.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_.D1.81.D0.BF.D0.B8.D1.81.D0.BA.D0.B0_.D1.81.D1.82.D0.B0.D1.82.D1.83.D1.81.D0.BE.D0.B2|"Получение списка статусов"]], где id и есть тот самый statusCode
 
#в ПУ на странице Настройки/Статусы открыть на редактирование интересующий статус. statusCode будет в строке адреса после &edit=
 
 
 
<span id="cp_order_get"></span>
 
=====Получение информации о  заказе=====
 
'''Операция: cp/order'''<br />
 
'''Метод: GET'''
 
 
 
Принимает в качестве параметра онлайн-номер заказа.
 
Возвращает информацию о заказе (в т.ч. список позиций заказа).
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!number
 
|Онлайн-номер заказа
 
|-
 
!internalNumber
 
|Номер заказа в учетной системе (например, в 1С). Используется только, если в параметрах запроса не задан number.
 
|-
 
!format
 
|Формат ответа. Доступные значения: additional - к заказу будет дописан массив additional, содержащий данные клиента при гостевом заказе.
 
|}
 
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/cp/order?userlogin=username&userpsw=md5pass&number=75892367
 
 
 
Метод возвращает объект вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!number
 
|Онлайн-номер заказа в портале
 
|-
 
!internalNumber
 
|Номер заказа в учетной системе (например, в 1С)
 
|-
 
!userId
 
|Идентификатор клиента на сайте
 
|-
 
!userName
 
|Имя клиента
 
|-
 
!userFullName
 
|Имя организации
 
|-
 
!positionsQuantity
 
|Количество позиций
 
|-
 
!sum
 
|Сумма заказа
 
|-
 
!date
 
|Дата заказа
 
|-
 
!comment
 
|Комментарий к заказу
 
|-
 
!debt
 
|Долг по оплате заказа
 
|-
 
!dateUpdated
 
|Дата обновления
 
|-
 
!profileId
 
|Идентификатор профиля клиента сделавшего заказ
 
|-
 
!deliveryAddressId
 
|Идентификатор адреса доставки
 
|-
 
!deliveryAddress
 
|Адрес доставки
 
|-
 
!deliveryOfficeId
 
|Идентификатор офиса самовывоза
 
|-
 
!deliveryOffice
 
|Офис самовывоза
 
|-
 
!deliveryTypeId
 
|Идентификатор типа доставки
 
|-
 
!deliveryType
 
|Тип доставки
 
|-
 
!paymentTypeId
 
|Идентификатор типа оплаты
 
|-
 
!paymentType
 
|Тип оплаты
 
|-
 
!deliveryCost
 
|Стоимость доставки
 
|-
 
!shipmentDate
 
|Дата отгрузки
 
|-
 
!basketId
 
|Идентификатор корзины
 
|-
 
!basketName
 
|Название корзины
 
|-
 
!managerId
 
|id менеджера , если заказ был создан менеджером
 
|-
 
!userCode
 
|Внутренний код пользователя
 
|-
 
!wholeOrderOnly
 
|Признак - 'Получить заказ целиком'
 
|-
 
!positions
 
|Список позиций заказа.
 
|-
 
!notes
 
|Список заметок заказа.
 
|}
 
 
 
Узел notes содержит массив объектов [[API:Docs#order_notes_fields|описанных здесь]]
 
 
 
Узел positions содержит массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Уникальный идентификатор позиции в портале
 
|-
 
!code
 
|Код позиции (произвольное значение)
 
|-
 
!brand
 
|Имя производителя.
 
|-
 
!number
 
|Номер детали (код производителя).
 
|-
 
!numberFix
 
|"Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
 
|-
 
!routeId
 
|Идентификатор маршрута склада с которого производится заказ.
 
|-
 
!distributorId
 
|Идентификатор поставщика с которого производится заказ.
 
|-
 
!distributorName
 
|Имя поставщика с которого производится заказ.
 
|-
 
!distributorOrderId
 
|Если был выполнен перезаказ у поставщика средствами платформы ABCP, данное поле будет содержать номер заказа у поставщика.
 
|-
 
!supplierCode
 
|Код поставки. Параметр из результатов search/article. Необходимо указывать при добавлении в заказ товаров от online-поставщиков для возможности дальнейшего перезаказа на сайте поставщика из ПУ.
 
|-
 
!itemKey
 
|Код позиции. '''Внимание! Не является уникальным идентификатором!''' Параметр из результатов search/article. Необходимо указывать при добавлении в заказ товаров от online-поставщиков для возможности дальнейшего перезаказа на сайте поставщика из ПУ.
 
|-
 
!description
 
|Описание детали.
 
|-
 
!quantity
 
|Заказываемое количество
 
|-
 
!quantityFinal
 
|Итоговое количество
 
|-
 
!priceIn
 
|Цена поставщика за единицу товара
 
|-
 
!priceOut
 
|Цена продажи за единицу товара
 
|-
 
!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
 
|Код статуса позиции заказа
 
|-
 
!isCanceled
 
|Флаг "Запрос на удаление позиции"
 
|-
 
!dateUpdated
 
|Дата обновления
 
|-
 
!lineReference
 
|Дополнительная информация
 
|-
 
!weight
 
|Вес товара
 
|-
 
!articleCode
 
|Внутренний код детали (присутствует только при условии что код выгружается в прайсе поставщика), используется как правило для синхронизации с 1С
 
|-
 
!vinQueryIds
 
|Массив идентификаторов vin-запросов Vinqu. Если позиция добавлена в заказ по ссылке из vin-запроса.
 
|}
 
 
 
=====Получение истории изменений статуса позиции заказа=====
 
'''Операция: cp/order/statusHistory'''<br />
 
'''Метод: GET'''
 
 
 
Принимает в качестве параметра id позиции заказа.
 
Возвращает информацию об истории изменений статуса позиции заказа.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!positionId
 
|Номер позиции заказа
 
|}
 
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/cp/order/statusHistory?userlogin=username&userpsw=md5pass&positionId=123456789
 
 
 
Метод возвращает объект вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!statusCode
 
|Идентификационный номер статуса
 
|-
 
!status
 
|Название статуса
 
|-
 
!datetime
 
|Дата и время изменения статуса
 
|-
 
!managerId
 
|Идентификационный номер автора изменения
 
|-
 
!managerName
 
|Имя автора изменения
 
|}
 
 
 
<span id="cp_order_post"></span>
 
 
 
=====Сохранение заказа=====
 
'''Операция: cp/order'''<br />
 
'''Метод: POST'''
 
 
 
Универсальный метод сохранения.
 
Принимает в качестве параметра объект описывающий заказ.
 
Для создания заказа от имени Гостя, необходимо передавать корректно заполненные параметры: '''guestOrderName''' и '''guestOrderMobile''' или '''guestOrderEmail''', в зависимости от обязательности полей "Мобильный" или "Email" в форме создания гостевого заказа. 
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!order
 
|Объект описывающий заказ
 
|}
 
 
 
Объект описывающий заказ содержит следующие поля
 
 
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!number
 
|Онлайн-номер заказа в портале
 
|-
 
!internalNumber
 
|Внутренний номер заказа в учетной системе (например, в 1С)
 
|-
 
!userId
 
|Идентификатор клиента на сайте, для которого создается заказ
 
|-
 
!date
 
|Дата заказа
 
|-
 
!comment
 
|Комментарий к заказу
 
|-
 
!deliveryTypeId
 
|Тип доставки (изменения возможны только если нет привязок платежей)
 
|-
 
!deliveryOfficeId
 
|Идентификатор офиса самовывоза
 
|-
 
!basketId
 
|Необязательный параметр - идентификатор корзины при использовании мультикорзины
 
|-
 
!guestOrderName
 
|Необязательный параметр - имя клиента для оформления заказа от имени Гостя. Для корректного оформления заказа под гостем должны быть указаны параметры guestOrderName и guestOrderMobile.
 
|-
 
!guestOrderMobile
 
|Необязательный параметр - контактный телефон клиента для оформления заказа от имени Гостя. (в формате 70000000000). Для корректного оформления заказа под гостем должны быть указаны параметры guestOrderName и guestOrderMobile.
 
|-
 
!shipmentDate
 
|Дата отгрузки.
 
|-
 
!positions
 
|Список позиций заказа.
 
|-
 
!notes
 
|Список заметок заказа.
 
|}
 
 
 
Если передан онлайн-номер, заказ будет отредактирован.
 
Если передан внутренний номер заказа в учетной системе, портал попробует найти заказ с этим номером и при наличии отредактирует его, иначе - создаст новый заказ.
 
Если не передан ни онлайн-номер, ни внутренний номер, метод вернет ошибку.
 
Для корректного оформления заказа на имя гостя должны быть переданы параметры guestOrderName и guestOrderMobile или guestOrderEmail.
 
В случае редактирования, все поля кроме number или internalNumber являются необязательными - указанные будут изменены.
 
В случае создания нового заказа, поля internalNumber, userId, date и positions являются обязательными.
 
Параметр userId (или guestOrderName и guestOrderMobile или guestOrderEmail для гостевого заказа) будет использоваться только при создании заказа, при редактировании будет проигнорирован (сменить владельца заказа невозможно).
 
 
 
Узел positions содержит массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Уникальный идентификатор позиции в портале
 
|-
 
!code
 
|Код позиции (произвольное значение)
 
|-
 
!brand
 
|Имя производителя.
 
|-
 
!number
 
|Номер детали (код производителя).
 
|-
 
!description
 
|Описание детали.
 
|-
 
!quantity
 
|Заказываемое количество
 
|-
 
!quantityFinal
 
|Итоговое количество
 
|-
 
!priceIn
 
|Цена поставщика за единицу товара
 
|-
 
!priceOut
 
|Цена продажи за единицу товара
 
|-
 
!priceRate
 
|Курс перевода цены в валюту сайта
 
|-
 
!deadline
 
|Срок поставки в часах
 
|-
 
!deadlineMax
 
|Гарантированный срок поставки в часах
 
|-
 
!routeId
 
|Идентификатор маршрута склада с которого производится заказ. Значение нужно брать из поля supplierCode операции поиска search/articles
 
|-
 
!supplierCode
 
|Код склада поставщика. Его необходимо указывать только при редактировании заказа, если вы хотите его переопределить. В иных случаях значение заполняется автоматически на основе переданного itemKey. При создании заказа параметр передавать не нужно. Если в имеющемся заказе значение будет пустым, то такую позицию нельзя будет отправить в заказ онлайн поставщику.
 
|-
 
!itemKey
 
|Код позиции. Необходим для добавления товара в корзину. '''Внимание! Не является уникальным идентификатором!''' Параметр из результатов search/article. Необходимо указывать при добавлении в заказ товаров от online-поставщиков для возможности дальнейшего перезаказа на сайте поставщика из ПУ.
 
|-
 
!comment
 
|Комментарий к позиции
 
|-
 
!commentAnswer
 
|Ответ на комментарий к позиции, "Ваш ответ"
 
|-
 
!statusCode
 
|Код статуса позиции заказа
 
|-
 
!articleCode
 
|Внутренний код детали
 
|-
 
!delete
 
|если передать значение 1, позиция будет удалена, в остальных случаях устанавливать не надо.
 
|}
 
 
 
Узел notes содержит массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор заметки
 
|-
 
!employeeId
 
|Идентификатор сотрудника от имени которого создастся заметка. Если значение пустое или не корректное - в качестве автора будет "API администратор"
 
|-
 
!value
 
|Текст заметки.
 
|}
 
 
 
Заметки можно только добавить либо удалить.
 
Для удаления - необходимо передать идентификатор заметки и пустое значение для поля value.
 
Для добавления - необходимо указать value. employeeId - если нужно указать конкретного сотрудника а не "API администратора"
 
 
 
В случае редактирования заказа, могут быть указаны только позиции и поля, которые требуют изменения.
 
В случае создания заказа, должны быть указаны все позиции со всеми полями (кроме полей comment, supplierCode и itemKey).
 
При редактировании позиций обязательна передача параметра id.
 
Если параметр id не передан, будет добавлена новая позиция.
 
При добавлении позиции все поля (кроме полей comment, supplierCode и itemKey) для нее являются обязательными.
 
Для удаления позиции необходимо указать ей количество 0 или установить параметр delete в значение 1.
 
 
 
 
 
{{Внимание|Не выполняйте данную операцию параллельно в несколько потоков при создании заказов. В данном варианте использования необходимо выполнять ее только последовательно}}
 
 
 
{{Внимание|При большом количестве позиций настоятельно рекомендуется сохранять пакетами не более чем по 100 позиций}}
 
 
 
{{Внимание|Для этой операции существует ограничение на 1000 позиций для одного заказа. При попытке добавить большее количество позиций, операция для этих позиций завершится с ошибкой}}
 
 
 
'''Пример запроса'''
 
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]=текст заметки
 
 
 
Метод возвращает объект вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!number
 
|Онлайн-номер заказа в портале
 
|-
 
!internalNumber
 
|Номер заказа в учетной системе (например, в 1С)
 
|-
 
!userId
 
|Идентификатор клиента на сайте, для которого создается заказ
 
|-
 
!positionsQuantity
 
|Количество позиций
 
|-
 
!sum
 
|Сумма заказа
 
|-
 
!date
 
|Дата заказа
 
|-
 
!debt
 
|Долг по оплате заказа
 
|-
 
!comment
 
|Комментарий к заказу
 
|-
 
!dateUpdated
 
|Дата обновления
 
|-
 
!profileId
 
|Идентификатор профиля клиента сделавшего заказ
 
|-
 
!deliveryAddressId
 
|Идентификатор адреса доставки
 
|-
 
!deliveryAddress
 
|Адрес доставки
 
|-
 
!deliveryOfficeId
 
|Идентификатор офиса самовывоза
 
|-
 
!deliveryOffice
 
|Офис самовывоза
 
|-
 
!deliveryTypeId
 
|Идентификатор типа доставки
 
|-
 
!deliveryType
 
|Тип доставки
 
|-
 
!paymentTypeId
 
|Идентификатор типа оплаты
 
|-
 
!paymentType
 
|Тип оплаты
 
|-
 
!deliveryCost
 
|Стоимость доставки
 
|-
 
!managerId
 
|id менеджера , если заказ был создан менеджером
 
|-
 
!userCode
 
|Внутренний код пользователя
 
|-
 
!positions
 
|Список позиций заказа.
 
|}
 
 
 
Узел positions содержит массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Уникальный идентификатор позиции в портале
 
|-
 
!code
 
|Код позиции (произвольное значение)
 
|-
 
!brand
 
|Имя производителя.
 
|-
 
!number
 
|Номер детали (код производителя).
 
|-
 
!numberFix
 
|"Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
 
|-
 
!routeId
 
|Идентификатор маршрута склада с которого производится заказ.
 
|-
 
!distributorId
 
|Идентификатор поставщика с которого производится заказ.
 
|-
 
!distributorName
 
|Имя поставщика с которого производится заказ.
 
|-
 
!supplierCode
 
|(УСТАРЕЛО используйте для чтения значение dsRouteId)  Код склада поставщика.
 
|-
 
!dsRouteId
 
|Код склада поставщика. Если в имеющемся заказе значение будет пустым, то такую позицию нельзя будет отправить в заказ онлайн поставщику.
 
|-
 
!itemKey
 
|Код позиции. Необходим для добавления товара в корзину. '''Внимание! Не является уникальным идентификатором!''' Параметр из результатов search/article. Необходимо указывать при добавлении в заказ товаров от online-поставщиков для возможности дальнейшего перезаказа на сайте поставщика из ПУ.
 
|-
 
!description
 
|Описание детали.
 
|-
 
!quantity
 
|Заказываемое количество
 
|-
 
!quantityFinal
 
|Итоговое количество
 
|-
 
!priceIn
 
|Цена поставщика за единицу товара
 
|-
 
!priceOut
 
|Цена продажи за единицу товара
 
|-
 
!priceRate
 
|Курс перевода цены в валюту сайта
 
|-
 
!deadline
 
|Срок поставки в часах
 
|-
 
!deadlineMax
 
|Гарантированный срок поставки в часах
 
|-
 
!comment
 
|Комментарий к позиции
 
|-
 
!commentAnswer
 
|Ответ на комментарий к позиции
 
|-
 
!status
 
|Статус позиции заказа
 
|-
 
!statusCode
 
|Код статуса позиции заказа
 
|-
 
!isCanceled
 
|Флаг "Запрос на удаление позиции"
 
|-
 
!dateUpdated
 
|Дата обновления
 
|-
 
!lineReference
 
|Дополнительная информация
 
|-
 
!weight
 
|Вес товара
 
|-
 
!articleCode
 
|Внутренний код детали (присутствует только при условии что код выгружается в прайсе поставщика), используется как правило для синхронизации с 1С
 
|-
 
!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- Белорусский рубль)
 
|}
 
 
 
При возникновении ошибки в процессе сохранения заказа, помимо ответа с актуальным содержимым текущего заказа, будет возвращен узел errors, содержащий описание возникшей ошибки.
 
 
 
<span id="cp_orders"></span>
 
 
 
=====Получение списка заказов=====
 
'''Операция: cp/orders'''<br />
 
'''Метод: GET'''
 
 
 
Принимает в качестве параметров условия фильтрации заказов.
 
Возвращает список заказов (в т.ч. список позиций заказа).
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!dateCreatedStart
 
|Начальная дата размещения заказа в формате ГГГГ-ММ-ДД ЧЧ:мм:СС
 
|-
 
!dateCreatedEnd
 
|Конечная дата размещения заказа в формате ГГГГ-ММ-ДД ЧЧ:мм:СС
 
|-
 
!dateUpdatedStart
 
|Начальная дата последнего обновления заказа в формате ГГГГ-ММ-ДД ЧЧ:мм:СС
 
|-
 
!dateUpdatedEnd
 
|Конечная дата последнего обновления заказа в формате ГГГГ-ММ-ДД ЧЧ:мм:СС
 
|-
 
!numbers
 
|Массив номеров заказов
 
|-
 
!internalNumbers
 
|Массив номеров заказов в учетной системе (например, в 1С). Используется только, если в параметрах запроса не задан numbers.
 
|-
 
!statusCode
 
|Код статус позиции заказа (один или массив кодов). Будут выбраны заказы содержащие хотя бы одну позицию в данном статусе.
 
|-
 
!officeId
 
|Идентификатор офиса (в ответе по параметру могут быть отфильтрованы заказы где этот офис выбран как самовывоз или если это офис  клиента или если менеджер клиента, сделавшего заказ, относится к данному офису)
 
|-
 
!distributorOrderId
 
|Идентификатор заказа у поставщика. В результате вернутся все заказы которые были отправлены поставщику под этим номером.
 
|-
 
!isCanceled
 
|Флаг "Запрос на удаление позиции".
 
|-
 
!distributorId
 
|Идентификатор (один или массив идентификаторов) поставщика. В результате вернутся все заказы, содержащие хотя бы одну позицию от указанного поставщика.
 
|-
 
!format
 
|Формат ответа. Доступные значения:
 
 
 
*additional - дописывает к заказу данные клиента при гостевом заказе; к позициям добавляет значение '''vinQueryIds''' (см. ниже)
 
*short - сокращенный вариант отображения без содержимого позиций заказов
 
*count - возвращает '''только количество заказов''' по заданным условиям
 
*status_only - возвращает только номер заказа, а в узле позиций: id, statusCode, brand, number, numberFix, code
 
|}
 
 
 
Если указан только параметр dateCreatedStart/dateUpdatedStart, будут выбраны все заказы начиная с этой даты.
 
При указании фильтра по дате обновления, будут выбраны как новые заказы, так и обновленные, попадающие под действие фильтра.
 
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/cp/orders?userlogin=username&userpsw=md5pass&dateUpdatedStart=2013-08-02 00:00:00&statusCode=56233
 
 
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!number
 
|Онлайн-номер заказа в портале
 
|-
 
!internalNumber
 
|Номер заказа в учетной системе (например, в 1С)
 
|-
 
!userId
 
|Идентификатор клиента на сайте
 
|-
 
!positionsQuantity
 
|Количество позиций
 
|-
 
!sum
 
|Сумма заказа
 
|-
 
!date
 
|Дата заказа
 
|-
 
!dateUpdated
 
|Дата обновления
 
|-
 
!comment
 
|Комментарий к заказу
 
|-
 
!debt
 
|Долг по оплате заказа
 
|-
 
!profileId
 
|Идентификатор профиля клиента сделавшего заказ
 
|-
 
!deliveryAddressId
 
|Идентификатор адреса доставки
 
|-
 
!deliveryAddress
 
|Адрес доставки
 
|-
 
!deliveryOfficeId
 
|Идентификатор офиса самовывоза
 
|-
 
!deliveryOffice
 
|Офис самовывоза
 
|-
 
!deliveryTypeId
 
|Идентификатор типа доставки
 
|-
 
!deliveryType
 
|Тип доставки
 
|-
 
!paymentTypeId
 
|Идентификатор типа оплаты
 
|-
 
!paymentType
 
|Тип оплаты
 
|-
 
!deliveryCost
 
|Стоимость доставки
 
|-
 
!shipmentDate
 
|Дата отгрузки
 
|-
 
!userName
 
|Имя покупателя
 
|-
 
!userFullName
 
|Имя организации
 
|-
 
!basketId
 
|Идентификатор корзины
 
|-
 
!basketName
 
|Название корзины
 
|-
 
!managerId
 
|id менеджера , если заказ был создан менеджером
 
|-
 
!userCode
 
|Внутренний код пользователя
 
|-
 
!wholeOrderOnly
 
|Признак - 'Получить заказ целиком'
 
|-
 
!positions
 
|Список позиций заказа.
 
|-
 
!notes
 
|Список заметок заказа.
 
|}
 
 
 
Узел positions содержит массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Уникальный идентификатор позиции в портале
 
|-
 
!code
 
|Код позиции (произвольное значение)
 
|-
 
!brand
 
|Имя производителя.
 
|-
 
!number
 
|Номер детали (код производителя).
 
|-
 
!numberFix
 
|"Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
 
|-
 
!routeId
 
|Идентификатор маршрута склада с которого производится заказ.
 
|-
 
!distributorId
 
|Идентификатор поставщика с которого производится заказ.
 
|-
 
!distributorName
 
|Имя поставщика с которого производится заказ.
 
|-
 
!distributorOrderId
 
|Если был выполнен перезаказ у поставщика средствами платформы ABCP, данное поле будет содержать номер заказа у поставщика.
 
|-
 
!supplierCode
 
|Код поставки. Параметр из результатов search/article. Необходимо указывать при добавлении в заказ товаров от online-поставщиков для возможности дальнейшего перезаказа на сайте поставщика из ПУ.
 
|-
 
!dsRouteId
 
|Маршрут поставщика
 
|-
 
!itemKey
 
|Код позиции. Необходим для добавления товара в корзину. '''Внимание! Не является уникальным идентификатором!''' Параметр из результатов search/article. Необходимо указывать при добавлении в заказ товаров от online-поставщиков для возможности дальнейшего перезаказа на сайте поставщика из ПУ.
 
|-
 
!description
 
|Описание детали.
 
|-
 
!quantity
 
|Заказываемое количество
 
|-
 
!quantityFinal
 
|Итоговое заказываемое количество
 
|-
 
!priceIn
 
|Цена поставщика за единицу товара
 
|-
 
!priceOut
 
|Цена продажи за единицу товара
 
|-
 
!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
 
|Код статуса позиции заказа
 
|-
 
!isCanceled
 
|Флаг "Запрос на удаление позиции"
 
|-
 
!dateUpdated
 
|Дата обновления
 
|-
 
!lineReference
 
|Дополнительная информация
 
|-
 
!weight
 
|Вес товара
 
|-
 
!articleCode
 
|Внутренний код детали (присутствует только при условии что код выгружается в прайсе поставщика), используется как правило для синхронизации с 1С
 
|-
 
!vinQueryIds
 
|Если '''format=additional'''. Содержит массив идентификаторов vin-запросов Vinqu. Если позиция добавлена в заказ по ссылке из vin-запроса.
 
|}
 
<span id="order_notes_fields"></span>
 
Узел notes содержит массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Уникальный идентификатор заметки
 
|-
 
!date
 
|Дата создания
 
|-
 
!author
 
|Имя автора(сотрудника) создавшего заметку
 
|-
 
!value
 
|Текст заметки
 
|}
 
 
 
<span id="getCpOrdersOnline"></span>
 
 
 
=====Получение параметров для отправки online-заказа поставщику=====
 
'''Операция: cp/orders/online'''<br />
 
'''Метод: GET'''
 
 
 
Это вспомогательная операция, которую необходимо выполнять перед отправкой online-заказа поставщику. Если для поставщика есть дополнительные параметры заказа или позиций заказа, то в ответ вы получите набор данных. На их основании нужно составить API запрос для отправки заказа. Если вы уже определились с какими параметрами будете отправлять заказы поставщику, то эту операцию вызывать нет необходимости, можно сразу переходить к методу отправки заказа.
 
 
 
Идентификаторы позиций, которые необходимо передавать в запросе, должны принадлежать одному поставщику. Т.е. за один API запрос операции cp/orders/online можно отправить позиции только одного поставщика. Если вам необходимо отправить позиции для двух поставщиков, то необходимо предварительно сгруппировать идентификаторы позиций и выполнить два запроса к cp/orders/online по каждому из поставщиков.
 
 
 
Кол-во идентификаторов позиций в одном запросе ограничено. За один API запрос отправить в заказ можно не более 20 позиций для сторонних поставщиков. Для поставщиков работающих на платформе ABCP ограничение - 100 позиций.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!positionIds
 
|Массив идентификаторов позиций, которые нужно отправить поставщику
 
|}
 
 
 
'''Параметры ответа'''
 
 
 
Возвращает карту параметров для заказа и позиции отдельно. У всех поставщиков набор параметров разный. У некоторых поставщиков может не быть параметров заказа или позиций.
 
 
 
{| class="wikitable"
 
!Параметр
 
!Тип
 
!Описание
 
|-
 
!orderParams
 
|array
 
|Массив объектов параметров заказа поставщика.
 
|-
 
!positionParams
 
|array
 
|Массив объектов параметров позиции поставщика.
 
|}
 
 
 
Объект параметра заказа поставщику:
 
 
 
{| class="wikitable"
 
!Параметр
 
!Тип
 
!Описание
 
|-
 
!fieldName
 
|string
 
|Название параметра, который должен быть передан в запрос для отправки заказа поставщику.
 
|-
 
!type
 
|string
 
|Тип параметра. Возможные варианты: '''enum''', '''string''', '''text''', '''bool''', '''datepicker'''. Описание типов:
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!enum
 
|Перечисляемый тип. Для параметра заказа этого типа передается массив enum, в котором указаны возможные значения этого параметра. Структура enum описана в таблице ниже.
 
|-
 
!string
 
|Текстовое значение с одной строкой.
 
|-
 
!text
 
|Текстовое значение с несколькими строками.
 
|-
 
!bool
 
|Булевый тип. Возможные значение true/false или 1/0.
 
|-
 
!datepicker
 
|Поле для передачи даты в формате ГГГГ-ММ-ДД.
 
|}
 
|-
 
!name
 
|string
 
|Название параметра.
 
|-
 
!description
 
|string
 
|Описание параметра.
 
|-
 
!value
 
|string
 
|Значение параметра по умолчанию, используется для всех типов параметров, кроме '''enum'''. Доступно для некоторых поставщиков в соответствии с вашими настройками заданных в панели управления ABCP.
 
|-
 
!enum
 
|array
 
|Массив объектов enum параметра заказа. Для остальных типов параметров - пустой массив.
 
|}
 
 
 
Объект enum параметра заказа поставщика:
 
 
 
{| class="wikitable"
 
!Параметр
 
!Тип
 
!Описание
 
|-
 
!value
 
|string
 
|Значение параметра.
 
|-
 
!name
 
|string
 
|Название для отображения.
 
|-
 
!selected
 
|bool
 
|Если true, значит это значение параметра задано по умолчанию.
 
|}
 
 
 
Объект параметра позиции поставщика:
 
 
 
{| class="wikitable"
 
!Параметр
 
!Тип
 
!Описание
 
|-
 
!fieldName
 
|string
 
|Название параметра, который должен быть передан в запрос для отправки заказа поставщику.
 
|-
 
!type
 
|string
 
|Тип параметра. Возможные варианты: '''string''', '''bool'''. Описание типов:
 
{| class="wikitable"
 
!Параметр
 
!Элемент формы
 
|-
 
!string
 
|Текстовое значение с одной строкой.
 
|-
 
!bool
 
|Булевый тип. Возможные значение true/false или 1/0.
 
|}
 
|-
 
!name
 
|string
 
|Название параметра для отображения в интерфейсе.
 
|-
 
!description
 
|string
 
|Описание параметра для отображения в интерфейсе.
 
|}
 
 
 
'''Пример запроса'''
 
<source>
 
https://demo.public.api.abcp.ru/cp/orders/online?userlogin=username&userpsw=md5pass&positionIds[]=151056634&positionIds[]=151056635
 
</source>
 
 
 
'''Пример ответа'''
 
<source lang="json" style="font-size: 90%; max-height: 300px; overflow-y: auto;">
 
{
 
    "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": ""
 
        }
 
    ]
 
}
 
</source>
 
 
 
<span id="postCpOrdersOnline"></span>
 
=====Отправка online-заказа поставщику=====
 
'''Операция: cp/orders/online'''<br />
 
'''Метод: POST'''
 
 
 
Идентификаторы позиций, которые необходимо передавать в запросе, должны принадлежать одному поставщику. Т.е. за один API запрос операции cp/orders/online можно отправить позиции только одного поставщика. Если вам необходимо отправить позиции для двух поставщиков, то необходимо предварительно сгруппировать идентификаторы позиций и выполнить два запроса к cp/orders/online по каждому из поставщиков.
 
 
 
Кол-во идентификаторов позиций в одном запросе ограничено. За один API запрос отправить в заказ можно не более 20 позиций для сторонних поставщиков. Для поставщиков работающих на платформе ABCP ограничение - 100 позиций.
 
 
 
В ответ вы можете получить один или несколько созданных заказов.
 
 
 
Отправка заказа аналогична отправке из панели управления. Если заказ оформлен успешно, то результат фиксируется в панели управления, чекбокс заменятся на номер заказа поставщика и его статус (если поставщик поддерживает передачу статуса). Если настроена синхронизация статусов, она также активируется для отправленных позиций.
 
 
 
'''Внимание!''' При работе с API поставщика, в большинстве случаев используется общая корзина при работе с сайтом поставщика и при работе с API. При отправке заказа поставщику последовательно выполняются запросы по предварительной очистке корзины, добавлению товара в корзину, чтение и отправка её в заказ. Очень важно не допустить параллельной отправки разных позиций одному поставщику. Так же в момент отправки заказа поставщику не должна производиться отправка заказов из панели управления abcp и работа с корзиной на сайте поставщика. В противном случае вы можете получить некорректные заказы, ошибки и задвоенные заказы с одинаковыми товарами.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!orderParams
 
|Массив параметров заказа, который нужно сформировать на основе операции "Получение параметров для отправки online-заказа поставщику". Если у поставщика нет параметров заказа, то параметр orderParams необязательный.
 
|-
 
!positions
 
|Массив данных с позициями заказов. Структура одного элемента массива в таблице ниже.
 
|}
 
 
 
Объект позиции заказа
 
 
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!id
 
|Идентификатор отправляемой позциии заказа.
 
|-
 
!positionParams
 
|Массив параметров позиции, который нужно сформировать на основе операции "Получение параметров для отправки online-заказа поставщику". Если у поставщика нет параметров для позиций заказа, то параметр positionParams необязательный.
 
|}
 
 
 
'''Параметры ответа'''
 
 
 
В ответе приходит массив заказов.
 
 
 
Объект заказа поставщика:
 
 
 
{| class="wikitable"
 
!Параметр
 
!Тип
 
!Описание
 
|-
 
!number
 
|string
 
|Номер заказа.
 
|-
 
!status
 
|string
 
|Текстовое описание состояния заказа. Будет описание ошибки или что заказ оформлен успешно.
 
|-
 
!date
 
|string
 
|Дата создания заказа [ГГГГ-ММ-ДД ЧЧ:ММ:СС].
 
|-
 
!positions
 
|array
 
|Массив объектов позиций.
 
|}
 
 
 
Объект позиции заказа поставщика:
 
 
 
{| class="wikitable"
 
!Параметр
 
!Тип
 
!Описание
 
|-
 
!reference
 
|string
 
|В этом поле возвращается идентификатор позиции, которую вы отправляли.
 
|-
 
!id
 
|int
 
|Идентификатор позиции поставщика. Значение возвращается только для поставщиков работающих на платформе ABCP, для остальных будет возвращаться ноль.
 
|-
 
!brand
 
|string
 
|Бренд детали.
 
|-
 
!number
 
|string
 
|Артикул детали.
 
|-
 
!numberFix
 
|string
 
|Артикул детали, без спец. символов.
 
|-
 
!description
 
|string
 
|Описание детали.
 
|-
 
!supplierCode
 
|string
 
|Код маршрута поставщика.
 
|-
 
!quantity
 
|int
 
|Заказанное кол-во деталей.
 
|-
 
!price
 
|float
 
|Цена заказанной детали, в валюте сайта. Здесь может быть старая цена, по которой позиция отправлялась поставщику. Так и новая цена, которую поставщик передал, в случае её изменения. Для разных поставщиков разное поведение, поэтому цену можно использовать только в информационных целях, использовать её для финансовых расчётов недопустимо. Актуальную цену можно узнать обратившись к серверу поставщика через его API напрямую.
 
|-
 
!status
 
|array
 
|Массив результатов отправки позиции. Здесь могут передаваться ошибки, если они возникают в ходе отправки заказа. А также предупреждения об изменении цены и т.д.
 
|-
 
!confirmSend
 
|bool
 
|Если '''true''' значит позиция заказана у поставщика. Если false - значит произошла ошибка. '''Внимание!''' Даже если произошла ошибка, то заказ всё равно может быть создан на стороне поставщика. Мы опираемся на ответ, который получили или не получили от них. Если мы получили некорректный ответ или не дождались ответа от сервера поставщика, то считаем что заказ не создан. Не отправляйте запросы на отправку заказа поставщику повторно, пока не убедитесь в его отсутствии на стороне поставщика. Если сервер поставщика "завис" в момент запроса, то заказ может быть создан даже через несколько минут после отправки запроса. Не допускайте автоматизированной отправки дублей по заказам!
 
|}
 
 
 
'''Пример запроса'''
 
<source>https://demo.public.api.abcp.ru/cp/orders/online</source>
 
 
 
'''Параметры POST'''
 
 
 
Запрос сформирован на основе примера ответа операции "Получение параметров для отправки online-заказа поставщику".
 
<source>
 
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
 
</source>
 
 
 
'''Пример ответа'''
 
<source lang="json" style="font-size: 90%; max-height: 300px; overflow-y: auto;">
 
[
 
    {
 
        "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
 
            }
 
        ]
 
    }
 
]
 
</source>
 
 
 
 
 
'''Пример ответа с общей ошибкой'''
 
<source lang="json" style="font-size: 90%;">
 
{
 
    "errorCode": 200,
 
    "errorMessage": "Позиция 151056635 уже была отправлена поставщику в заказ ранее."
 
}
 
</source>
 
 
 
====Финансовая информация====
 
<span id="finance"></span>
 
=====Обновление баланса клиента=====
 
'''Операция: cp/finance/userBalance'''<br />
 
'''Метод: POST'''
 
 
 
Изменяет баланс клиента.
 
Принимает в качестве параметра текущий баланс пользователя (float) в валюте сайта и идентификатор пользователя на сайте.
 
'''Идентификатор пользователя''' - это уникальное значение для всей системы, которое может не совпадать со значением поля "Код клиента" в карточке клиента.
 
Узнать его можно, либо из URL карточки клиента, например, http://cp.abcp.ru/?page=customers&customerId=353169&action=editCustomer - в данном случае идентификатор клиента это значение параметра customerId, а именно, 353169; либо, при использовании синхронизации пользователей с помощью операции [[#Получение списка пользователей|GET cp/users]], идентификатор пользователя возвращается в поле userId.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!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
 
 
 
В случае успешного обновления баланса, метода возвращает актуальное значение баланса:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!userId
 
|Идентификатор клиента на сайте.
 
|-
 
!balance
 
|Текущий баланс клиента.
 
|-
 
!inStopList
 
|Признак нахождения клиента в стоп-листе
 
|}
 
 
 
=====Обновление лимита кредита клиента=====
 
'''Операция: cp/finance/creditLimit'''<br />
 
'''Метод: POST'''
 
 
 
Изменяет лимит кредита клиента.
 
Принимает в качестве параметра текущий лимит кредита пользователя (float) в валюте сайта и идентификатор пользователя на сайте.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!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
 
 
 
В случае успешного обновления баланса, метода возвращает актуальное значение лимита кредита:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!userId
 
|Идентификатор клиента на сайте.
 
|-
 
!creditLimit
 
|Значение лимита кредита в валюте сайта
 
|}
 
 
 
=====Обновление финансовой информации клиента=====
 
'''Операция: cp/finance/userInfo'''<br />
 
'''Метод: POST'''
 
 
 
Изменяет финансовую информацию клиента.
 
Принимает в качестве параметров идентификатор пользователя на сайте и финансовую информацию пользователя.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!userId
 
|Идентификатор пользователя на сайте, для которого обновляется  баланс
 
|-
 
!balance
 
|Текущий баланс клиента
 
|-
 
!creditLimit
 
|Значение лимита кредита в валюте сайта
 
|-
 
!inStopList
 
|Признак нахождения клиента в стоп-листе
 
|-
 
!payDelay
 
|Отсрочка платежа(в днях)
 
|-
 
!overdueSaldo
 
|Просроченный баланс
 
|}
 
 
 
Обязательно наличие как минимум одного из полей (balance, creditLimit, inStopList, payDelay, overdueSaldo).
 
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/cp/finance/userInfo
 
 
 
'''Параметры POST'''
 
userlogin=username&userpsw=md5pass&userId=5623478&balance=10000&creditLimit=2000&inStopList=0&payDelay=4&overdueSaldo=6500
 
 
 
В случае успешного обновления, метод возвращает актуальное значение финансовой информации пользователя:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!userId
 
|Идентификатор клиента на сайте
 
|-
 
!balance
 
|Текущий баланс клиента
 
|-
 
!creditLimit
 
|Значение лимита кредита в валюте сайта
 
|-
 
!inStopList
 
|Признак нахождения клиента в стоп-листе
 
|-
 
!payDelay
 
|Отсрочка платежа(в днях)
 
|-
 
!overdueSaldo
 
|Просроченный баланс
 
|-
 
!stoplistDateTime
 
|Дата попадания в стоп-лист
 
|}
 
 
 
=====Получение информации об оплатах из финмодуля=====
 
'''Операция: cp/finance/payments'''<br />
 
'''Метод: GET'''
 
Возвращает список оплат из финмодуля.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!userId
 
|Идентификатор пользователя на сайте
 
|-
 
!paymentNumber
 
|Номер платежа
 
|-
 
!createDateTimeStart
 
|Начальный порог даты создания платежа формат ГГГГ-ММ-ДД ЧЧ:ММ:СС
 
|-
 
!createDateTimeEnd
 
|Конечный порог даты создания платежа формат ГГГГ-ММ-ДД ЧЧ:ММ:СС
 
|}
 
Параметры paymentNumber, userId необязательные.
 
Если указан paymentNumber, то createDateTimeStart и createDateTimeEnd могут не указываться.
 
Если интервал дат выбран больше года, то в ответе получаем ошибку "Сократите диапазон дат и выполните запрос снова. Диапазон не должен превышать 1 год."
 
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/cp/finance/payments?userlogin=username&userpsw=md5pass&userId=5623478&paymentNumber=НАЛ00032
 
 
 
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!paymentId
 
|Уникальный идентификатор платежа
 
|-
 
!paymentNumber
 
|номер платежа
 
|-
 
!paymentTypeId
 
|id типа платежа
 
|-
 
!createDateTime
 
|дата платежа
 
|-
 
!paymentType
 
|Тип платежа
 
|-
 
!paymentTypeCode
 
|Код типа платежа: 0 - Безналичный, 1 - Электронный, 2 - Наличный
 
|-
 
!amount
 
|сумма платежа
 
|-
 
!rest
 
|остаток
 
|-
 
!editorId
 
|id сотрудника,кем платеж был внесен/изменен.Если платеж был внесен автоматически (электронный) то значение параметра "0"
 
|-
 
!userId
 
|Идентификатор клиента на сайте
 
|-
 
!comment
 
|комментарий к платежу
 
|-
 
!onlinePaymentId
 
|ID онлайн-оплаты
 
|-
 
!komtetCheckId
 
|id чека, больше 0, если по платежу был создан чек.
 
|}
 
 
 
=====Получение информации о привязках платежей из модуля Финансы=====
 
'''Операция: cp/finance/paymentOrderLinks'''<br />
 
'''Метод: GET'''
 
Возвращает список привязок платежей из модуля Финансы.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!paymentNumbers
 
|массив с номерами платежей
 
|-
 
!orderIds
 
|массив с номерами заказов
 
|-
 
!userId
 
|Идентификатор пользователя на сайте
 
|-
 
!DateTimeStart
 
|Начальный порог даты создания привязки формат ГГГГ-ММ-ДД ЧЧ:ММ:СС
 
|-
 
!DateTimeEnd
 
|Конечный порог даты создания привязки формат ГГГГ-ММ-ДД ЧЧ:ММ:СС
 
|}
 
 
 
При запросе указывать  либо paymentNumbers либо orderIds  либо userId с DateTimeStart и  DateTimeEnd.
 
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/cp/finance/paymentOrderLinks?userlogin=username&userpsw=md5pass&paymentNumbers[]=НАЛ00032
 
 
 
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!paymentLinkId
 
|id привязки платежа
 
|-
 
!paymentId
 
|id платежа
 
|-
 
!createDateTime
 
|дата/время создания привязки платежа формат ГГГГ-ММ-ДД ЧЧ:ММ:СС
 
|-
 
!orderId
 
|номер заказа (если номер заказа "0" - значит это Возврат средств)
 
|-
 
!amount
 
|сумма платежа
 
|-
 
!editorId
 
|id сотрудника, добавившего привязку. Если параметр равен "0", то привязка автоматическая.
 
|-
 
!paymentNumber
 
|номер платежа из ПУ в виде "НАЛ00010"
 
|}
 
В запросе возможно  фильтровать по paymentId или orderId с возможностью передавать массив платежей или заказов.
 
 
 
<span id="cp_onlinePayments"></span>
 
 
 
=====Получение списка online платежей=====
 
'''Операция: cp/onlinePayments'''<br />
 
'''Метод: GET'''
 
Возвращает список online платежей. Обязательные параметры только userlogin и userpsw.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!filter
 
|массив с параметрами фильтра
 
|}
 
 
 
'''Допустимые параметры фильтра'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!dateStart
 
|Дата начало периода для выбора платежей. Формат: ГГГГ-ММ-ДД
 
|-
 
!dateEnd
 
|Дата конца периода для выбора платежей. Формат: ГГГГ-ММ-ДД
 
|-
 
!customerIds
 
|Массив идентификаторов клиентов. Не более 100 штук в одном запросе.
 
|-
 
!paymentMethodId
 
|Идентификатор платежной системы. Получить можно из cp/users/profiles или в панели управления.
 
|-
 
!statusIds
 
|Массив идентификаторов статусов платежей:<br />1 - Начата<br />2 - Завершена<br />3 - Неудача<br />4 - В обработке
 
|-
 
!orderIds
 
|Массив идентификаторов заказов. Не более 100 штук в одном запросе.
 
|}
 
 
 
Если в запросе параметры filter[dateStart] и filter[dateEnd] не переданы, то вернутся платежи за последние 7 дней.
 
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/cp/onlinePayments?userlogin=username&userpsw=md5pass&filter[dateStart]=2018-10-01&filter[dateEnd]=2018-10-05&filter[customerIds][]=507186&filter[statusIds][]=1&filter[orderIds][]=22668371&filter[orderIds][]=15368959
 
 
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор платежа
 
|-
 
!dateTime
 
|Дата и время платежа в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС
 
|-
 
!orderId
 
|номер заказа
 
|-
 
!paymentStatusId
 
|Идентификатор статуса платежа.
 
|-
 
!paymentStatusName
 
|Название статуса платежа.
 
|-
 
!customerId
 
|Идентификатор клиента.
 
|-
 
!customerName
 
|Имя клиента или сотрудника.
 
|-
 
!paymentMethodId
 
|Идентификатор платежной системы.
 
|-
 
!paymentMethodName
 
|Название платежной системы.
 
|-
 
!amount
 
|Сумма платежа.
 
|-
 
!commission
 
|Комиссия платежа.
 
|-
 
!comment
 
|Комментарий.
 
|}
 
<span id="addPayments_cpFinancePayments"></span>
 
=====Добавление оплат=====
 
'''Операция: cp/finance/payments'''<br />
 
'''Метод: POST'''
 
 
 
Добавляет платежи клиентам. Возвращает массив добавленных платежей.
 
 
 
{| class="wikitable"
 
|+ style="text-align:left" |Параметры запроса
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!payments
 
|Массив с оплатами
 
|-
 
!linkPayments
 
|Параметр, отвечающий за автоматическую привязку платежей к заказам. 0 - не привязывать, 1 - привязывать
 
|}
 
 
 
Массив оплат payments должен содержать следующие поля
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userId
 
|Идентификатор пользователя на сайте, которому добавляется оплата
 
|-
 
!paymentNumber
 
|Номер платежа, максимум 64 символа. Необязательный параметр. Если передан пустой, то номер генерируется автоматически по маске переданного типа платежа
 
|-
 
!createDateTime
 
|Дата и время платежа, в формате ГГГГ-ММ-ДД чч:мм:сс (например 2018-01-01 00:00:00)
 
|-
 
!paymentTypeId
 
|Id типа платежа
 
|-
 
!amount
 
|Сумма платежа
 
|-
 
!comment
 
|Комментарий к платежу (не обязательное)
 
|-
 
!editorId
 
|Id сотрудника, которым был внесён платёж (не обязательное)
 
|}
 
 
 
'''Пример запроса'''
 
<pre>
 
https://demo.public.api.abcp.ru/cp/finance/payments?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
 
</pre>
 
 
 
Метод возвращает массив содержащий информацию о добавленных платежах:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!paymentNumber
 
|Номер платежа
 
|-
 
!paymentTypeId
 
|Id типа платежа
 
|-
 
!createDateTime
 
|Дата платежа
 
|-
 
!paymentType
 
|Тип платежа
 
|-
 
!paymentTypeCode
 
|Код типа платежа: 0 - Безналичный, 1 - Электронный, 2 - Наличный
 
|-
 
!amount
 
|Сумма платежа
 
|-
 
!rest
 
|Остаток
 
|-
 
!editorId
 
|Id сотрудника, которым был внесён платёж. Если платёж был внесен автоматически(электронный), то значение параметра "0"
 
|-
 
!userId
 
|Идентификатор клиента на сайте
 
|-
 
!comment
 
|Комментарий к платежу
 
|-
 
!onlinePaymentId
 
|ID онлайн-оплаты
 
|-
 
!paymentId
 
|ID созданного платежа
 
|}
 
<span id="cpFinanceDelLinkPayments"></span>
 
 
 
=====Удаление привязки оплаты=====
 
'''Операция: cp/finance/deleteLinkPayments'''<br />
 
'''Метод: POST'''
 
 
 
Удаляет привязку оплаты, увеличивает долг заказу, к которому была сделана привязка, на сумму удаляемой привязки, увеличивает остаток оплаты на сумму удаляемой привязки, клиенту пересчитывает сальдо и долг по заказам.
 
 
 
'''Внимание!'''
 
 
 
С помощью одного запроса данная операция позволяет удалить только одну привязку. Массовое удаление недоступно.
 
 
 
{| class="wikitable"
 
|+ style="text-align:left" |Параметры запроса
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!paymentLinkId
 
|Id привязки, которую нужно удалить.
 
|}
 
 
 
'''Пример запроса'''
 
<pre>
 
https://demo.public.api.abcp.ru/cp/finance/deleteLinkPayments?userlogin=username&userpsw=md5pass&paymentLinkId=Id
 
</pre>
 
 
 
 
 
=====Операция привязки по ранее добавленному платежу=====
 
'''Операция: cp/finance/paymentOrderLink'''<br />
 
'''Метод: POST'''
 
 
 
Позволяет осуществлять привязку ранее созданного платежа
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!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
 
 
 
Метод возвращает объект вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!paymentLinkId
 
|id привязки платежа
 
|-
 
!paymentId
 
|id платежа
 
|-
 
!paymentNumber
 
|номер платежа из ПУ в виде "НАЛ00010"
 
|-
 
!createDateTime
 
|дата/время создания привязки платежа формат ГГГГ-ММ-ДД ЧЧ:ММ:СС
 
|-
 
!orderId
 
|номер заказа
 
|-
 
!amount
 
|сумма платежа
 
|-
 
!editorId
 
|id сотрудника, добавившего привязку.
 
|}
 
=====Операция возврата платежа=====
 
'''Операция: cp/finance/paymentRefund'''<br />
 
'''Метод: POST'''
 
 
 
Позволяет осуществлять возврат ранее созданного платежа
 
 
 
'''Параметры запроса'''
 
 
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!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
 
 
 
Метод возвращает объект вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!paymentLinkId
 
|id привязки платежа
 
|-
 
!paymentId
 
|id платежа
 
|-
 
!paymentNumber
 
|номер платежа из ПУ в виде "НАЛ00010"
 
|-
 
!createDateTime
 
|дата/время создания привязки платежа формат ГГГГ-ММ-ДД ЧЧ:ММ:СС
 
|-
 
!amount
 
|сумма платежа
 
|-
 
!editorId
 
|id сотрудника, добавившего привязку.
 
|}
 
====Пользователи====
 
 
 
=====Создание пользователя=====
 
'''Операция: cp/user/new'''<br />
 
'''Метод: POST'''
 
 
 
<!--
 
 
 
 
 
ВНИМАНИЕ, КОЛЛЕГИ!
 
При внесении изменений в данный метод, КАТЕГОРИЧЕСКИ необходимо дополнить массив GetFormFieldsOperation::$formToRequestMap
 
 
 
 
 
-->
 
Принимает параметры для регистрации пользователя.
 
Осуществляет регистрацию нового пользователя в системе.
 
Возвращает статус выполнения операции регистрации, учетные данные нового пользователя, а так же сообщение об ошибке в случае возникновения таковой.
 
 
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!marketType
 
|Тип регистрации:
 
 
 
#Розница
 
#Опт
 
|-
 
!filialId
 
|Код филиала (если имеются)
 
|-
 
!name
 
|Имя
 
|-
 
!secondName
 
|Отчество
 
|-
 
!surname
 
|Фамилия
 
|-
 
!password
 
|Пароль
 
|-
 
!birthDate
 
|Дата рождения, формат YYYY-MM-DD
 
|-
 
!mobile
 
|Номер мобильного телефона
 
|-
 
!memberOfClub
 
|Название автоклуба
 
|-
 
!office
 
|Идентификатор офиса
 
|-
 
!email
 
|Адрес электронной почты
 
|-
 
!icq
 
|ICQ UIN
 
|-
 
!skype
 
|Skype
 
|-
 
!regionId
 
|Код региона
 
|-
 
!city
 
|Город
 
|-
 
!organizationName
 
|Наименование организации
 
|-
 
!business
 
|Тип организации. Значение от 1 до 3:
 
 
 
#Автосервис
 
#Автомагазин
 
#Собственный автопарк
 
|-
 
!organizationForm
 
|Правовая форма организации. Варианты:
 
 
 
*ООО
 
*ОАО
 
*ЗАО
 
*ТОО
 
*АО
 
*ЧП
 
*ПБОЮЛ
 
|-
 
!organizationOfficialName
 
|Наименование по регистрации (без правовой формы юр. лица)
 
|-
 
!inn
 
|ИНН
 
|-
 
!kpp
 
|КПП
 
|-
 
!ogrn
 
|ОГРН
 
|-
 
!organizationOfficialAddress
 
|Юридический адрес организации
 
<!-- |-
 
  !directorFullName
 
  |ФИО директора -->
 
|-
 
!bankName
 
|Наименование банка
 
|-
 
!bik
 
|БИК банка
 
|-
 
!correspondentAccount
 
|Корреспондентский счет банка
 
|-
 
!organizationAccount
 
|Расчетный счет организации
 
|-
 
!deliveryAddress
 
|Адрес доставки
 
|-
 
!comment
 
|Комментарий
 
|-
 
!profileId
 
|Идентификатор профиля. Если не указан, будет выставлен профиль по умолчанию для соответствующего типа регистрации (опт или розница).
 
|}
 
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/cp/user/new
 
 
 
'''Параметры POST'''
 
marketType=1&name=Василий&surname=Васильев&password=12345&mobile=79000000000&email=vasya@mail.ru&regionId=77&city=Москва&deliveryAddress=ул. Ленина, д.2&comment=
 
 
 
'''Поля ответа'''
 
 
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!status
 
|Статус выполнения операции
 
|-
 
!userCode
 
|Внутренний код пользователя. Необходим для активации.
 
|-
 
!activationCode
 
|Код активации, если включена
 
|-
 
!errorMessage
 
|Массив сообщений об ошибках, если статус = 0
 
|-
 
!activationEmailSend
 
|Если используется опция "Регистрация: активация", нужно добавить в запрос этот параметр со значением "1", чтобы создаваемому клиенту пришло письмо с кодом активации.
 
|}
 
 
 
=====Получение списка пользователей=====
 
'''Операция: cp/users'''<br />
 
'''Метод: GET'''
 
 
 
Принимает в качестве параметров условия фильтрации клиентов.
 
Возвращает список клиентов.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!dateRegistredStart
 
|Начальная дата регистрации в формате ГГГГ-ММ-ДД ЧЧ:мм:СС
 
|-
 
!dateRegistredEnd
 
|Конечная дата регистрации в формате ГГГГ-ММ-ДД ЧЧ:мм:СС
 
|-
 
!dateUpdatedStart
 
|Начальная дата последнего обновления в формате ГГГГ-ММ-ДД ЧЧ:мм:СС
 
|-
 
!dateUpdatedEnd
 
|Конечная дата последнего обновления в формате ГГГГ-ММ-ДД ЧЧ:мм:СС
 
|-
 
!state
 
|Состояние клиента. Значения:<br />
 
-1 - отклоненный,<br /> 0 - ожидает регистрации,<br /> 1 - зарегистрированный,<br /> 2 - удаленный.
 
|-
 
!customerStatus
 
|Идентификатор статуса покупателя, если указать 0 - будут выбраны пользователи без статуса
 
|-
 
!customersIds
 
|Массив идентификаторов покупателей
 
|-
 
!marketType
 
|Тип регистрации. Значение от 1 до 2:<br />1 - Розница<br />2 - Опт
 
|-
 
!phone
 
|Номер телефона клиента
 
|-
 
!email
 
|E-mail клиента
 
|-
 
!safeMode
 
|"Безопасный режим" для клиентов не имеющих поддержки формата JSON. Может принимать значения 0 или 1. При включении (1), адреса доставки в ответе будут возвращаться в виде массива объектов с полями "id"  и "name", а не как "ключ - значение".
 
|}
 
 
 
Если указан только параметр dateRegistredStart/dateUpdatedStart, будут выбраны все пользователи, зарегистрированные начиная с этой даты.
 
При указании фильтра по дате обновления, будут выбраны как новые пользователи, так и обновленные, попадающие под действие фильтра.
 
 
 
'''Пример запроса'''
 
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
 
 
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userId
 
|Идентификатор пользователя
 
|-
 
!marketType
 
|Тип регистрации. Значение от 1 до 2:
 
 
 
#Розница
 
#Опт
 
|-
 
!business
 
|Тип организации. Значение от 1 до 6:
 
 
 
#Автопарк
 
#Автосервис
 
#Автосервис + Магазин
 
#Дистрибьютор
 
#Интернет-магазин
 
#Магазин
 
|-
 
!email
 
|Адрес электронной почты
 
|-
 
!name
 
|Имя
 
|-
 
!secondName
 
|Отчество
 
|-
 
!surname
 
|Фамилия
 
|-
 
!birthDate
 
|Дата рождения, формат YYYY-MM-DD
 
|-
 
!regionId
 
|Код региона
 
|-
 
!city
 
|Город
 
|-
 
!phone
 
|Номер телефона
 
|-
 
!mobile
 
|Номер мобильного телефона
 
|-
 
!memberOfClub
 
|Название автоклуба
 
|-
 
!excludeCart
 
|Исключить позиции корзины из расчета блокировки при достижении лимита кредита
 
|-
 
!icq
 
|ICQ UIN
 
|-
 
!skype
 
|Skype
 
|-
 
!state
 
|Состояние аккаунта. Значения: <br />
 
-1 - отклоненный,<br /> 0 - ожидает регистрации,<br /> 1 - зарегистрированный,<br /> 2 - удаленный.
 
|-
 
!registrationDate
 
|Дата регистрации аккаунта.
 
|-
 
!updateTime
 
|Дата последнего обновления аккаунта.
 
|-
 
!profileId
 
|Идентификатор профиля
 
|-
 
!organizationName
 
|Наименование организации
 
|-
 
!organizationForm
 
|Правовая форма организации. Варианты:
 
 
 
*ООО
 
*ОАО
 
*ЗАО
 
*ТОО
 
*АО
 
*ЧП
 
*ПБОЮЛ
 
|-
 
!organizationOfficialName
 
|Наименование по регистрации (без правовой формы юр. лица)
 
|-
 
!inn
 
|ИНН
 
|-
 
!kpp
 
|КПП
 
|-
 
!ogrn
 
|ОГРН
 
|-
 
!okpo
 
|ОКПО
 
|-
 
!organizationOfficialAddress
 
|Юридический адрес организации
 
|-
 
!bankName
 
|Наименование банка
 
|-
 
!bik
 
|БИК банка
 
|-
 
!correspondentAccount
 
|Корреспондентский счет банка
 
|-
 
!organizationAccount
 
|Расчетный счет организации
 
|-
 
!customerStatus
 
|Идентификатор статуса покупателя
 
|-
 
!deliveryAddress
 
|Адреса доставки (массив, где ключи - id адресов)
 
|-
 
!comment
 
|Комментарий пользователя
 
|-
 
!employeeId
 
|Идентификатор личного менеджера
 
|-
 
!clientServiceEmployeeId
 
|Идентификатор личного менеджера клиентской службы (дополнительная опция)
 
|-
 
!clientServiceEmployee2Id
 
|Второй идентификатор личного менеджера клиентской службы (дополнительная опция)
 
|-
 
!clientServiceEmployee3Id
 
|Третий идентификатор личного менеджера клиентской службы (дополнительная опция)
 
|-
 
!clientServiceEmployee4Id
 
|Четвертый идентификатор личного менеджера клиентской службы (дополнительная опция)
 
|-
 
!balance
 
|Текущий баланс клиента
 
|-
 
!creditLimit
 
|Текущий лимит кредита клиента
 
|-
 
!inStopList
 
|Флаг "В стоп-листе"
 
|-
 
!payDelay
 
|Отсрочка платежа
 
|-
 
!overdueSaldo
 
|Просроченный баланс
 
|-
 
!stopListDateIn
 
|Дата попадания в стоп-лист (если inStopList = 1) в формате YYYY-MM-DD
 
|-
 
!offices
 
|Массив офисов, к которым привязан клиент
 
|-
 
!baskets
 
|Массив корзин (мультикорзина)
 
|-
 
!managerComment
 
|комментарий менеджера из поля "Комментарий менеджера:" карточки клиента
 
|-
 
!businessName
 
|тип организации из поля "Тип:" в буквенном обозначении (Автопарк, Дистрибьютор, Магазин и т.д.). карточки клиента
 
|-
 
!userCode
 
|Внутренний код пользователя
 
|}
 
 
 
<span id="cp_users_profiles"></span>
 
 
 
=====Получение списка профилей=====
 
'''Операция: cp/users/profiles'''<br />
 
'''Метод: GET'''
 
 
 
Возвращает список всех профилей.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!format
 
|Формат ответа. Необязательное значение Может принимать значения: "distributors" - выводить информацию по наценкам на поставщиков; "brands" - выводить информацию по наценкам на поставщиков и бренды.
 
|}
 
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/cp/users/profiles?userlogin=username&userpsw=md5pass
 
 
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!profileId
 
|Идентификатор профиля
 
|-
 
!code
 
|Код профиля
 
|-
 
!name
 
|Наименование профиля
 
|-
 
!comment
 
|Комментарий
 
|-
 
!priceUp
 
|Наценка, %
 
|-
 
!paymentMethods
 
|Платежные системы
 
|-
 
!matrixPriceUps
 
|Наценки от стоимости товара
 
|-
 
!distributorsPriceUps
 
|Наценки по поставщикам (выводится если format установлен в значение distributors или brands)
 
|-
 
!baseProfileId
 
|Идентификатор базового профиля (возвращается только при подключении опции ''Профили: использовать групповое сохранение'')
 
|}
 
 
 
Узел paymentMethods содержит массив объектов вида:
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!id
 
|Идентификатор платежной системы
 
|-
 
!name
 
|Наименование платежной системы
 
|-
 
!isEnabled
 
|Признак включения платежной системы для клиентов этого профиля
 
|}
 
 
 
Узел matrixPriceUps содержит массив объектов вида:
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!from
 
|Цена от
 
|-
 
!to
 
|Цена до
 
|-
 
!priceUp
 
|Наценка
 
|}
 
 
 
Узел distributorsPriceUps содержит массив объектов вида:
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!id
 
|Идентификатор поставщика
 
|-
 
!name
 
|Наименование поставщика
 
|-
 
!isEnabled
 
|Признак включения поставщика для клиентов этого профиля
 
|-
 
!priceUp
 
|Наценка на поставщика
 
|-
 
!brandsPriceUps
 
|Наценки на бренды поставщика (выводится, если format выставлен в значение brands)
 
|}
 
 
 
Узел brandsPriceUps содержит массив объектов вида:
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!name
 
|Название бренда
 
|-
 
!priceUp
 
|Наценка на поставщика
 
|}
 
 
 
<span id="cp_user"></span>
 
 
 
=====Обновление профиля=====
 
'''Операция: cp/users/profile'''<br />
 
'''Метод: POST'''
 
 
 
Изменяет профиль.
 
Принимает в качестве параметров идентификатор профиля на сайте и всю информацию о профиле, возвращаемую операцией cp/users/profiles в формате brands.
 
Работает только при выключенной опции ''Профили: использовать групповое сохранение'', иначе возвращает ошибку.
 
Если не указать идентификатор профиля, будет создан новый. В данном случае, обязательными параметрами будут name и priceUp. При создании профиля невозможно использовать имя и код существующих профилей.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!profileId
 
|Идентификатор профиля
 
|-
 
!code
 
|Код профиля
 
|-
 
!name
 
|Наименование профиля
 
|-
 
!comment
 
|Комментарий
 
|-
 
!priceUp
 
|Наценка, %
 
|-
 
!paymentMethods
 
|Платежные системы
 
|-
 
!matrixPriceUps
 
|Наценки от стоимости товара
 
|-
 
!distributorsPriceUps
 
|Наценки по поставщикам
 
|}
 
Обязательно наличие как минимум одного из полей (code, name, comment, priceUp, paymentMethods, matrixPriceUps, distributorsPriceUps).
 
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/cp/users/profile?userlogin=username&userpsw=md5pass&profileId=12345&priceUp=13
 
 
 
Узел paymentMethods содержит массив объектов вида:
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!id
 
|Идентификатор платежной системы
 
|-
 
!isEnabled
 
|Признак включения платежной системы для клиентов этого профиля
 
|}
 
 
 
Узел matrixPriceUps содержит массив объектов вида:
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!from
 
|Цена от
 
|-
 
!to
 
|Цена до
 
|-
 
!priceUp
 
|Наценка
 
|}
 
 
 
Узел distributorsPriceUps содержит массив объектов вида:
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!id
 
|Идентификатор поставщика
 
|-
 
!isEnabled
 
|Признак включения поставщика для клиентов этого профиля (допустимые значения: 0 и 1)
 
|-
 
!priceUp
 
|Наценка на поставщика
 
|-
 
!brandsPriceUps
 
|Наценки на бренды поставщика
 
|}
 
 
 
Узел brandsPriceUps не обязателен, если он отсутствует, то наценки по брендам не изменяются.
 
 
 
***Внимание!*** Если передается узел brandsPriceUps, то все наценки по брендам удаляются и заполняются из переданных параметров.
 
 
 
Узел brandsPriceUps содержит массив объектов вида:
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!name
 
|Название бренда
 
|-
 
!priceUp
 
|Наценка на поставщика
 
|}
 
 
 
В случае успешного обновления, метод возвращает актуальную информацию о профиле (формат узлов тотже):
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!profileId
 
|Идентификатор профиля
 
|-
 
!code
 
|Код профиля
 
|-
 
!name
 
|Наименование профиля
 
|-
 
!comment
 
|Комментарий
 
|-
 
!priceUp
 
|Наценка, %
 
|-
 
!paymentMethods
 
|Платежные системы
 
|-
 
!matrixPriceUps
 
|Наценки от стоимости товара
 
|-
 
!distributorsPriceUps
 
|Наценки по поставщикам
 
|}
 
 
 
 
 
<span id="cp_user"></span>
 
 
 
=====Обновление данных пользователя=====
 
'''Операция: cp/user'''<br />
 
'''Метод: POST'''
 
 
 
Осуществляет обновление данных пользователя, присланных в запросе.
 
 
 
При изменении данных пользователя необязательно передавать все параметры. Используйте в запросе только те данные, которые вы собираетесь изменить.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!userId
 
|Идентификатор изменяемого клиента
 
|-
 
!business
 
|Тип организации. Значение от 1 до 6:<br />-1 физлицо<br />1 Автопарк<br />2 Автосервис<br />3 Автосервис + Магазин<br />4 Дистрибьютор<br />5 Интернет-магазин<br />6 Магазин
 
|-
 
!email
 
|Адрес электронной почты
 
|-
 
!name
 
|Имя
 
|-
 
!secondName
 
|Отчество
 
|-
 
!surname
 
|Фамилия
 
|-
 
!password
 
|Необязательный параметр. Предназначен для изменения пароля пользователя
 
|-
 
!birthDate
 
|Дата рождения, формат YYYY-MM-DD
 
|-
 
!city
 
|Город
 
|-
 
!phone [устарел, не используется]
 
|Номер телефона
 
|-
 
!mobile
 
|Номер мобильного телефона
 
|-
 
!icq
 
|ICQ UIN
 
|-
 
!skype
 
|Skype
 
|-
 
!state
 
|Состояние аккаунта. Значения: <br />
 
-1 - отклоненный,<br /> 0 - ожидает регистрации,<br /> 1 - зарегистрированный,<br /> 2 - удаленный.
 
|-
 
!profileId
 
|Идентификатор профиля
 
|-
 
!organizationName
 
|Наименование организации
 
|-
 
!organizationForm
 
|Правовая форма организации. Варианты:
 
 
 
*ООО
 
*ОАО
 
*ЗАО
 
*ТОО
 
*АО
 
*ЧП
 
*ПБОЮЛ
 
|-
 
!organizationOfficialName
 
|Наименование по регистрации (без правовой формы юр. лица)
 
|-
 
!inn
 
|ИНН
 
|-
 
!kpp
 
|КПП
 
|-
 
!ogrn
 
|ОГРН
 
|-
 
!organizationOfficialAddress
 
|Юридический адрес организации
 
|-
 
!bankName
 
|Наименование банка
 
|-
 
!bik
 
|БИК банка
 
|-
 
!correspondentAccount
 
|Корреспондентский счет банка
 
|-
 
!organizationAccount
 
|Расчетный счет организации
 
|-
 
!deliveryAddress
 
|Адреса доставки (массив, где ключи - id адресов). Если передать пустой параметр deliveryAddress, то все адреса клиента будут удалены! Если необходимо добавить новый адрес, то используйте в качестве ключа любое отрицательное число, например deliveryAddress[-1] = 'Здесь новый адрес'. Если Вы изменяете один из адресов, то необходимо передать все имеющиеся адреса клиента. Если этого не сделать, то не переданные адреса клиента будут удалены.
 
|-
 
!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 нельзя, т.к. клиент должен быть подключен минимум к одному офису. Параметр актуален только если у вас на сайте включена опция: "Офисы: включить привязку к клиентам".
 
|-
 
!info
 
|"Информация" в личном кабинете. В поле допустимо использование html-тегов.  max 4000 символов. Закладка появляется только если есть данные в поле info для клиента.
 
|-
 
!safeMode
 
|"Безопасный режим" для клиентов не имеющих поддержки формата JSON. Может принимать значения 0 или 1. При включении (1), адреса доставки в ответе будут возвращаться в виде массива объектов с полями "id"  и "name", а не как "ключ - значение".
 
|}
 
 
 
 
 
'''Пример запроса'''
 
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
 
 
 
Метод возвращает набор узлов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!userId
 
|Идентификатор пользователя в системе ABCP.
 
|-
 
!business
 
|Тип организации. Значение от 1 до 6:
 
 
 
#Автопарк
 
#Автосервис
 
#Автосервис + Магазин
 
#Дистрибьютор
 
#Интернет-магазин
 
#Магазин
 
|-
 
!email
 
|Адрес электронной почты
 
|-
 
!name
 
|Имя
 
|-
 
!secondName
 
|Отчество
 
|-
 
!surname
 
|Фамилия
 
|-
 
!birthDate
 
|Дата рождения, формат YYYY-MM-DD
 
|-
 
!city
 
|Город
 
|-
 
!phone [устарел, не используется]
 
|Номер телефона
 
|-
 
!mobile
 
|Номер мобильного телефона
 
|-
 
!icq
 
|ICQ UIN
 
|-
 
!skype
 
|Skype
 
|-
 
!state
 
|Состояние аккаунта. Значения: <br />
 
-1 - отклоненный,<br /> 0 - ожидает регистрации,<br /> 1 - зарегистрированный,<br /> 2 - удаленный.
 
|-
 
!profileId
 
|Идентификатор профиля
 
|-
 
!organizationName
 
|Наименование организации
 
|-
 
!organizationForm
 
|Правовая форма организации. Варианты:
 
 
 
*ООО
 
*ОАО
 
*ЗАО
 
*ТОО
 
*АО
 
*ЧП
 
*ПБОЮЛ
 
|-
 
!organizationOfficialName
 
|Наименование по регистрации (без правовой формы юр. лица)
 
|-
 
!inn
 
|ИНН
 
|-
 
!kpp
 
|КПП
 
|-
 
!ogrn
 
|ОГРН
 
|-
 
!organizationOfficialAddress
 
|Юридический адрес организации
 
|-
 
!bankName
 
|Наименование банка
 
|-
 
!bik
 
|БИК банка
 
|-
 
!correspondentAccount
 
|Корреспондентский счет банка
 
|-
 
!organizationAccount
 
|Расчетный счет организации
 
|-
 
!deliveryAddress
 
|Адреса доставки (массив, где ключи - id адресов)
 
|-
 
!comment
 
|Комментарий пользователя
 
|-
 
!managerComment
 
|Комментарий менеджера
 
|-
 
!managerId
 
|Идентификатор менеджера
 
|-
 
!userCode
 
|Внутренний код пользователя
 
|-
 
!clientServiceEmployeeId
 
|Идентификатор личного менеджера клиентской службы (дополнительная опция)
 
|-
 
!clientServiceEmployee2Id
 
|Второй идентификатор личного менеджера клиентской службы (дополнительная опция)
 
|-
 
!clientServiceEmployee3Id
 
|Третий идентификатор личного менеджера клиентской службы (дополнительная опция)
 
|-
 
!clientServiceEmployee4Id
 
|Четвертый идентификатор личного менеджера клиентской службы (дополнительная опция)
 
|-
 
!office
 
|Массив идентификаторов офисов
 
|-
 
!baskets
 
|Массив корзин клиента в формате "идентификатор - имя корзины"
 
|-
 
!basketsDeliveryAddress
 
|Связки корзины и адреса доставки в формате "идентификатор корзины - идентификатор адреса доставки".
 
|-
 
!info
 
|"Информация" в личном кабинете. В поле допустимо использование html-тегов. Закладка появляется только если есть данные в поле info для клиента.
 
|}
 
 
 
<span id="cp_users_garage"></span>
 
 
 
=====Получение списка адресов доставки=====
 
'''Операция: cp/user/shipmentAddresses'''<br />
 
'''Метод: GET'''
 
 
 
Возвращает список доступных адресов доставки.
 
Идентификатор адреса доставки необходим при отправке заказа.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!userId
 
|Идентификатор клиента
 
|}
 
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/cp/user/shipmentAddresses?userlogin=username&userpsw=md5pass&userId=5427194
 
 
 
'''Поля ответа'''
 
 
 
Метод возвращает набор узлов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор адреса доставки.
 
|-
 
!name
 
|Адрес доставки.
 
|}
 
 
 
=====Получение клиентских настроек SMS=====
 
'''Операция: cp/user/smsSettings'''<br />
 
'''Метод: GET'''
 
 
 
Возвращает настройки SMS клиента.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!userIds
 
|Идентификаторы клиентов (массив)
 
|}
 
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/cp/user/smsSettings?userlogin=username&userpsw=md5pass&userIds[]=25624625&userIds[]=25624789
 
 
 
'''Поля ответа'''
 
 
 
Метод возвращает набор узлов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!userId
 
|Системный код клиента.
 
|-
 
!enableSms
 
|1 или 0 - доступна ли клиенту отправка sms в целом (задается менеджером в общих настройках клиента).
 
|-
 
!isCustomersNotificationEnabled
 
|1 или 0 - активировал ли клиент отправку sms (задается клиентом при отправке заказа, и отображается в карточке клиента "Настройка сообщений").
 
|-
 
|}
 
 
 
====Сотрудники====
 
=====Получение списка сотрудников=====
 
'''Операция: cp/managers'''<br />
 
'''Метод: GET'''
 
 
 
 
 
Возвращает список менеджеров.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|}
 
 
 
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/cp/managers?userlogin=username&userpsw=md5pass
 
 
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!id
 
|Идентификатор сотрудника
 
|-
 
!resellerId
 
|Идентификатор реселлера
 
|-
 
!typeId
 
|Тип сотрудника
 
|-
 
!typeName
 
|Наименование типа
 
|-
 
!firstName
 
|Имя сотрудника
 
|-
 
!lastName
 
|Фамилия сотрудника
 
|-
 
!email
 
|E-mail
 
|-
 
!phone
 
|Телефон
 
|-
 
!icq
 
|ICQ
 
|-
 
!skype
 
|Skype
 
|-
 
!comment
 
|Комментарий
 
|-
 
!contractorId
 
|Идентификатор пользователя сотрудника
 
|-
 
!bossId
 
|Идентификатор руководителя сотрудника
 
|-
 
!bossName
 
|Имя руководителя сотрудника
 
|-
 
!officeName
 
|Название офиса
 
|-
 
!officeId
 
|Идентификатор офиса
 
|-
 
!allowLogin
 
|Флаг разрешения входа на сайт
 
|-
 
!allowLoginToCP
 
|Флаг разрешения входа в Панель управления
 
|-
 
!isFranchiseeLogin
 
|Флаг франчайзи
 
|-
 
!isDelete
 
|Флаг удаленного сотрудника
 
|-
 
!isService
 
|Флаг сотрудника сервиса
 
|-
 
!mobile
 
|Мобильный телефон
 
|-
 
!photo
 
|Фотография
 
|-
 
!photoVersion
 
|Версия фотографии
 
|}
 
====Статусы====
 
<span id="statuses_list"></span>
 
=====Получение списка статусов=====
 
'''Операция: cp/statuses'''<br />
 
'''Метод: GET'''
 
 
 
Возвращает список всех статусов позиций заказов.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|}
 
 
 
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/cp/statuses?userlogin=username&userpsw=md5pass
 
 
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!id
 
|Идентификатор статуса (он же statusCode)
 
|-
 
!name
 
|Имя статуса
 
|-
 
!comment
 
|Описание для клиента
 
|-
 
!notify
 
|Флаг "Уведомить клиента"
 
|-
 
!paid
 
|Флаг "Статус после оплаты заказа"
 
|-
 
!startDelivery
 
|Флаг "Начальный статус доставки/списания"
 
|-
 
!delivery
 
|Флаг "Статус доставки/списания"
 
|-
 
!placingOrder
 
|Флаг "Статус после размещения заказа у поставщика"
 
|-
 
!color
 
|Цвет статуса
 
|}
 
 
 
====Артикулы====
 
Доступ к данным операциям включается только после согласования.
 
 
 
<span id="cp_brands"></span>
 
=====Получение справочника брендов=====
 
'''Операция: cp/articles/brands'''<br />
 
'''Метод: GET'''
 
 
 
Возвращает список всех брендов зарегистрированных в системе с их синонимами.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|}
 
 
 
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/cp/articles/brands?userlogin=username&userpsw=md5pass
 
 
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!name
 
|Имя бренда
 
|-
 
!aliases
 
|Массив, содержащий список синонимов текущего бренда
 
|}
 
 
 
<span id="cp_crosses"></span>
 
 
 
====Поставщики====
 
 
 
<span id="cp_distributors"></span>
 
=====Получение списка поставщиков=====
 
'''Операция: cp/distributors'''<br />
 
'''Метод: GET'''
 
 
 
Возвращает список всех поставщиков, подключенных в ПУ/Поставщики.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!distributors4mc
 
|При передаче "1" возвращает дополнительно поставщиков 4mycar"
 
|}
 
 
 
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/cp/distributors?userlogin=username&userpsw=md5pass
 
 
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!id
 
|id поставщика
 
|-
 
!name
 
|Имя поставщика
 
|-
 
!publicName
 
|Публичное (измененное) имя поставщика
 
|-
 
!currencyDesignation
 
|Валюта поставщика
 
|-
 
!isEnabled
 
|Статус поставщика
 
|-
 
!updateTime
 
|Последнее обновление (у онлайн поставщиков не выводится)
 
|-
 
!positionsNumber
 
|Позиций в наличии
 
|-
 
!updateRateInDays
 
|Норма обновления в днях для поставщика
 
|-
 
!email
 
|email поставщика
 
|-
 
!firstName
 
|Имя
 
|-
 
!lastName
 
|Фамилия
 
|-
 
!city
 
|Город
 
|-
 
!phone
 
|Телефон
 
|-
 
!mobile
 
|Мобильный
 
|-
 
!organizationForm
 
|Правовая форма организации.
 
|-
 
!organizationOfficialName
 
|Наименование по регистрации (без правовой формы юр. лица)
 
|-
 
!inn
 
|ИНН
 
|-
 
!kpp
 
|КПП
 
|-
 
!organizationOfficialAddress
 
|Юридический адрес организации
 
|-
 
!bankName
 
|Наименование банка
 
|-
 
!bik
 
|БИК банка
 
|-
 
!correspondentAccount
 
|Корреспондентский счет банка
 
|-
 
!organizationAccount
 
|Расчетный счет организации
 
|-
 
!description
 
|Описание
 
|}
 
 
 
<span id="cp_crosses"></span>
 
 
 
=====Изменение статуса поставщика=====
 
'''Операция: cp/distributor/status'''<br />
 
'''Метод: POST'''
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!distributorId
 
|Id поставщика
 
|-
 
!status
 
|1 - Вкл. \ 0 - Выкл.
 
|}
 
 
 
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/cp/distributor/status?userlogin=username&userpsw=md5pass&status=1
 
 
 
Метод возвращает объект вида:
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!status
 
|Статус выполнения операции. В случае успешного выполнения возвращает 1.
 
|-
 
!errorMessage
 
|Сообщение об ошибке(если она есть).
 
|}
 
 
 
<span id="cp_distributor_pricelistUpdate"></span>
 
<span id="price_list_update"></span>
 
 
 
=====Загрузка прайс-листа поставщика=====
 
'''Операция: cp/distributor/pricelistUpdate'''<br />
 
'''Метод: POST'''<br />
 
В ПУ, в разделе "Поставщики"/"Обн."/"Конфигурация прайс-листа" предварительно [[ImportConfig|настраивается конфигурация]] загружаемого прайс-листа. Специальных требований к прайс-листу нет, есть только обычные: наличие колонок с ценой, брендом, каталожным номером, описанием, наличием. На вкладке "Загрузка прайс-листа" может быть выбран любой способ загрузки. <br />
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!distributorId
 
|Id поставщика
 
|-
 
!uploadFile
 
|файл прайс-листа переданный в multipart/form-data
 
|-
 
!fileTypeId
 
|Необязательный параметр - идентификатор типа файла. Если не передаётся, то по умолчанию равен 1.
 
Список принимаемых значений:<br />
 
 
 
'''1''' - полный ассортимент<br />
 
 
 
|}
 
'''''Пояснение:''''' если загружается полный ассортимент, то вся загруженная ранее информация удаляется. <br />
 
 
 
 
 
{{Внимание|Для этой операции необходимо использовать медиа-тип multipart/form-data.}}
 
 
 
'''Пример запроса'''
 
<pre>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</pre>
 
 
 
'''Примеры скриптов для выполнения операции'''
 
 
 
*Windows - [https://github.com/NodaSoftLtd/ABCP-PriceListUpdate-Helper/archive/master.zip СКАЧАТЬ] После скачивания необходимо распаковать zip архив в любую папку. Открыть файл windows/upload.vbs для редактирования в Блокноте и указать в самом верху свои логин и пароль API администратора, а также хост для обращения к API. Сохраните и закройте его. После этого, откройте файл start_full.bat для редактирования в Блокноте. Вторым аргументом необходимо указать id поставщика для обновления, а третьим аргументом - путь к файлу прайс-листа. Путь к файлу может быть полным, например: "C:\Users\Admin\my_price.xls". Или относительным, например: ".\my_price.xls", если прайс-лист лежит в той же папке где и скрипт загрузки. Сохраните и закройте файл. Теперь вы можете запустить файл start_full.bat двойным кликом, чтобы прайс-лист был загружен.
 
*Linux - [https://github.com/NodaSoftLtd/ABCP-PriceListUpdate-Helper/archive/master.zip СКАЧАТЬ] После скачивания необходимо распаковать 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.'''
 
 
 
[https://github.com/NodaSoftLtd/ABCP-PriceListUpdate-Helper Проект на GitHub]
 
 
 
Метод возвращает объект вида:
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!status
 
|Статус выполнения операции. В случае успешного выполнения возвращает 1.
 
|-
 
!message
 
|Сообщение о результатах работы.
 
|}
 
 
 
<span id="cp_routes"></span>
 
 
 
=====Получение списка маршрутов поставщика=====
 
'''Операция: cp/routes'''<br />
 
'''Метод: GET'''
 
 
 
Возвращает список всех маршрутов поставщика.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!distributorId
 
|Идентификатор поставщика
 
|}
 
 
 
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/cp/routes?userlogin=username&userpsw=md5pass&distributorId=12345
 
 
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!id
 
|id маршрута
 
|-
 
!deadline
 
|Срок поставки (часов)
 
|-
 
!deadlineReplace
 
|Текстовое значение для "Срока поставки"
 
|-
 
!isDeadlineReplaceFranchEnabled
 
|Передавать текстовое значение для "Срока поставки" франчайзи
 
|-
 
!deadlineMax
 
|Максимальный срок поставки (часов)
 
|-
 
!normalTimeStart
 
|Начало рабочего времени
 
|-
 
!normalTimeEnd
 
|Конец рабочего времени
 
|-
 
!normalDaysOfWeek
 
|Стандартные дни недели
 
|-
 
!abnormalDeadline
 
|Срок поставки (вне стандартного времени)
 
|-
 
!abnormalDeadlineMax
 
|Максимальный срок поставки (вне стандартного времени)
 
|-
 
!p1
 
|P1
 
|-
 
!p2
 
|P2
 
|-
 
!pricePerKg
 
|Стоимость 1КГ (в валюте поставщика)
 
|-
 
!priceUpAdded
 
|Добавочная наценка
 
|-
 
!с1
 
|C1
 
|-
 
!priceUpMin
 
|Минимальная наценка
 
|-
 
!priceUpMax
 
|Максимальная наценка
 
|-
 
!primaryPriceUpToContractor
 
|Приоритетная (если выше) наценка для клиента
 
|-
 
!deliveryProbability
 
|Вероятность поставки (в процентах) %
 
|-
 
!description
 
|Краткое описание маршрута
 
|-
 
!enableColor
 
|Выделять цветом
 
|-
 
!color
 
|Цвет
 
|-
 
!isAbnormalColorEnabled
 
|Выделять цветом в нерабочее время
 
|-
 
!abnormalColor
 
|Цвет в нерабочее время
 
|-
 
!noReturn
 
|Без возврата
 
|-
 
!supplierCodeEnabledList
 
|Ограничить выдачу складами (массив)
 
|-
 
!supplierCodeDisabledList
 
|Исключить позиции по складам (массив)
 
|-
 
!normalTimeDisplayOnly
 
|Показывать только в стандартное время (false - Нет, true - Да)
 
|-
 
!disableOrderAbnormalTime
 
|Блокировать отправку заказа в нестандартное время (false - Нет, true - Да)
 
|-
 
!notUseOnlineSupplierDeadline
 
|Не использовать срок поставки online-поставщика (false - Нет, true - Да)
 
|}
 
 
 
<span id="cp_route"></span>
 
 
 
=====Обновление данных маршрута поставщика=====
 
'''Операция: cp/route'''<br />
 
'''Метод: POST'''
 
 
 
Осуществляет обновление данных маршрута поставщика, присланных в запросе.<br />
 
При изменении данных маршрута необязательно передавать все параметры. Используйте в запросе только те данные, которые вы собираетесь изменить.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!routeId
 
|Идентификатор маршрута поставщика
 
|-
 
!deadline
 
|Срок поставки (часов)
 
|-
 
!deadlineReplace
 
|Текстовое значение для "Срока поставки"
 
|-
 
!isDeadlineReplaceFranchEnabled
 
|Передавать текстовое значение для "Срока поставки" франчайзи
 
|-
 
!deadlineMax
 
|Максимальный срок поставки (часов)
 
|-
 
!normalTimeStart
 
|Начало рабочего времени
 
|-
 
!normalTimeEnd
 
|Конец рабочего времени
 
|-
 
!normalDaysOfWeek
 
|Стандартные дни недели
 
|-
 
!abnormalDeadline
 
|Срок поставки (вне стандартного времени)
 
|-
 
!abnormalDeadlineMax
 
|Максимальный срок поставки (вне стандартного времени)
 
|-
 
!p1
 
|P1
 
|-
 
!p2
 
|P2
 
|-
 
!pricePerKg
 
|Стоимость 1КГ (в валюте поставщика)
 
|-
 
!priceUpAdded
 
|Добавочная наценка
 
|-
 
!с1
 
|C1
 
|-
 
!priceUpMin
 
|Минимальная наценка
 
|-
 
!priceUpMax
 
|Максимальная наценка
 
|-
 
!primaryPriceUpToContractor
 
|Приоритетная (если выше) наценка для клиента
 
|-
 
!deliveryProbability
 
|Вероятность поставки (в процентах) %
 
|-
 
!description
 
|Краткое описание маршрута
 
|-
 
!enableColor
 
|Выделять цветом
 
|-
 
!color
 
|Цвет
 
|-
 
!isAbnormalColorEnabled
 
|Выделять цветом в нерабочее время
 
|-
 
!abnormalColor
 
|Цвет в нерабочее время
 
|-
 
!noReturn
 
|Без возврата
 
|-
 
!supplierCodeEnabledList
 
|Ограничить выдачу складами (массив)
 
|-
 
!supplierCodeDisabledList
 
|Исключить позиции по складам (массив)
 
|-
 
!normalTimeDisplayOnly
 
|Показывать только в стандартное время (0 - Нет, 1 - Да)
 
|-
 
!disableOrderAbnormalTime
 
|Блокировать отправку заказа в нестандартное время (0 - Нет, 1 - Да). "1" сохраняется только при normalTimeDisplayOnly=1.
 
|-
 
!notUseOnlineSupplierDeadline
 
|Не использовать срок поставки online-поставщика (0 - Нет, 1 - Да)
 
|}
 
 
 
 
 
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/cp/route?userlogin=username&userpsw=md5pass&routeId=12345&deadline=48
 
 
 
Метод возвращает массив с измененной информацией о маршруте:
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!id
 
|id маршрута
 
|-
 
!deadline
 
|Срок поставки (часов)
 
|-
 
!deadlineReplace
 
|Текстовое значение для "Срока поставки"
 
|-
 
!isDeadlineReplaceFranchEnabled
 
|Передавать текстовое значение для "Срока поставки" франчайзи
 
|-
 
!deadlineMax
 
|Максимальный срок поставки (часов)
 
|-
 
!normalTimeStart
 
|Начало рабочего времени
 
|-
 
!normalTimeEnd
 
|Конец рабочего времени
 
|-
 
!normalDaysOfWeek
 
|Стандартные дни недели
 
|-
 
!abnormalDeadline
 
|Срок поставки (вне стандартного времени)
 
|-
 
!abnormalDeadlineMax
 
|Максимальный срок поставки (вне стандартного времени)
 
|-
 
!p1
 
|P1
 
|-
 
!p2
 
|P2
 
|-
 
!pricePerKg
 
|Стоимость 1КГ (в валюте поставщика)
 
|-
 
!priceUpAdded
 
|Добавочная наценка
 
|-
 
!с1
 
|C1
 
|-
 
!priceUpMin
 
|Минимальная наценка
 
|-
 
!priceUpMax
 
|Максимальная наценка
 
|-
 
!primaryPriceUpToContractor
 
|Приоритетная (если выше) наценка для клиента
 
|-
 
!deliveryProbability
 
|Вероятность поставки (в процентах) %
 
|-
 
!description
 
|Краткое описание маршрута
 
|-
 
!enableColor
 
|Выделять цветом
 
|-
 
!color
 
|Цвет
 
|-
 
!isAbnormalColorEnabled
 
|Выделять цветом в нерабочее время
 
|-
 
!abnormalColor
 
|Цвет в нерабочее время
 
|-
 
!noReturn
 
|Без возврата
 
|-
 
!supplierCodeEnabledList
 
|Ограничить выдачу складами (массив)
 
|-
 
!supplierCodeDisabledList
 
|Исключить позиции по складам (массив)
 
|-
 
!normalTimeDisplayOnly
 
|Показывать только в стандартное время (false - Нет, true - Да)
 
|-
 
!disableOrderAbnormalTime
 
|Блокировать отправку заказа в нестандартное время (false - Нет, true - Да)
 
|-
 
!notUseOnlineSupplierDeadline
 
|Не использовать срок поставки online-поставщика (false - Нет, true - Да)
 
|}
 
 
 
<span id="cp_route_delete"></span>
 
 
 
=====Удаление маршрута поставщика=====
 
'''Операция: cp/route/delete'''<br />
 
'''Метод: POST'''
 
 
 
Удаляет маршрут поставщика.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!routeId
 
|Идентификатор маршрута поставщика
 
|}
 
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/cp/route/delete
 
 
 
'''Параметры POST'''
 
userlogin=username&userpsw=md5pass&routeId=12345
 
 
 
'''Поля ответа'''
 
 
 
Метод возвращает ответ:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!status
 
|Статус удаления маршрута. Принимает значение 0 - произошла ошибка или 1, если все успешно.
 
|-
 
!errorMessage
 
|Текст сообщения об ошибке при статусе 0.
 
|}
 
 
 
 
 
<span id="cp_offices"></span>
 
====Офисы====
 
Операции для работы с офисами.
 
 
 
<span id="cp_offices_post"></span>
 
=====Подключение поставщиков к офису=====
 
'''Операция: cp/offices'''<br />
 
'''Метод: POST'''
 
 
 
Подключение/отключение поставщиков к офисам
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!officeId
 
|Идентификатор офиса.
 
|-
 
!distributors
 
|Массив поставщиков, если параметр не передан или содержит пустое значение - отключаются все поставщики указанного офиса.
 
|}
 
 
 
Узел distributors - массив объектов с параметрами:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор поставщика
 
|-
 
!deadline
 
|Срок поставки (час)
 
|}
 
 
 
При добавлении нового поставщика, необходимо также передать уже существующие привязки и для этого достаточно передать только Идентификаторы поставщиков. Сроки поставки существующих привязанных поставщиков не изменятся если не указать deadline.
 
 
 
Для обновления срока поставки уже существующей привязки поставщика достаточно указать новое значения для поля deadline.
 
 
 
Чтобы отключить поставщика(ов) от офиса, необходимо передать всех текущих, подключенных поставщиков кроме тех которых необходимо отключить.
 
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/cp/offices
 
 
 
Параметры POST
 
userlogin=username&userpsw=md5pass&officeId=123&distributors[0][id]=456&distributors[0][deadline]=1&distributors[1][id]=1504361&distributors[1][deadline]=3
 
 
 
Метод возвращает объект вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!status
 
|Принимает значение 0 - произошла ошибка или 1, если все успешно.
 
|-
 
!errorMessage
 
|Текст сообщения об ошибке при статусе 0.
 
|-
 
!оfficeId
 
|Идентификатор офиса
 
|-
 
!оfficeName
 
|Название офиса
 
|-
 
!distributors
 
|Массив подключенных поставщиков
 
|}
 
 
 
Узел distributors - массив объектов с параметрами:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор поставщика
 
|-
 
!name
 
|Название поставщика
 
|-
 
!deadline
 
|Срок поставки (час)
 
|}
 
 
 
<span id="cp_offices_get"></span>
 
 
 
=====Получение поставщиков офиса=====
 
'''Операция: cp/offices'''<br />
 
'''Метод: GET'''
 
 
 
Возвращает информацию о подключенных поставщиках
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!officeId
 
|Идентификатор офиса. Если параметр не указан то в ответе возвращаются данные по всем офисам
 
|}
 
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/cp/offices?userlogin=username&userpsw=md5pass&officeId=123
 
 
 
Метод возвращает объект вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!status
 
|Принимает значение 0 - произошла ошибка или 1, если все успешно.
 
|-
 
!errorMessage
 
|Текст сообщения об ошибке при статусе 0.
 
|- 
 
!offices
 
|Массив объектов офисов
 
|}
 
 
 
Узел offices - массив объектов с параметрами:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|- 
 
!оfficeId
 
|Идентификатор офиса
 
|-
 
!оfficeName
 
|Название офиса
 
|-
 
!distributors
 
|Массив подключенных поставщиков
 
|}
 
 
 
Узел distributors - массив объектов с параметрами:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор поставщика
 
|-
 
!name
 
|Название поставщика
 
|-
 
!deadline
 
|Срок поставки (час)
 
|}
 
 
 
=====Получение списка обновлённых автомобилей в гараже=====
 
'''Операция: cp/garage'''<br />
 
'''Метод: GET'''
 
 
 
Возвращает информацию об автомобилях, в которые были внесены изменения за определённый период времени.
 
Если не переданы параметры dateUpdatedStart и dateUpdatedEnd, то будет предоставлена информация за последний месяц.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!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
 
 
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|- 
 
!id
 
|Идентификатор автомобиля в гараже
 
|-
 
!userId
 
|Идентификатор пользователя
 
|-
 
!name
 
|Название автомобиля (пользовательское)
 
|-
 
!comment
 
|Комментарий (пользовательский)
 
|-
 
!year
 
|Год выпуска автомобиля
 
|-
 
!vin
 
|VIN-код автомобиля
 
|-
 
!frame
 
|Номер кузова автомобиля
 
|-
 
!mileage
 
|Пробег автомобиля
 
|-
 
!manufacturerId
 
|Идентификатор марки автомобиля
 
|-
 
!manufacturer
 
|Название марки автомобиля
 
|-
 
!modelId
 
|Идентификатор модели автомобиля
 
|-
 
!model
 
|Название модели автомобиля
 
|-
 
!modificationId
 
|Идентификатор модификации автомобиля
 
|-
 
!modification
 
|Название модификации автомобиля
 
|-
 
!dateUpdated
 
|Дата последнего обновления автомобиля в гараже
 
|-
 
!vehicleRegPlate
 
|Государственный номер автомобиля
 
|}<br />
 

Версия 15:34, 21 сентября 2020

vertical-align:middle;
Внимание!
Данная статья предназначена для технических специалистов, обладающих, как минимум, начальными знаниями о принципах работы протокола HTTP. Консультации по вопросам относящимся к стандартам HTTP осуществляться не будут.

Содержание

API.TecDoc

API.TS.Client

API.TS.Admin

APIVINQU

Общая информация

Доступ к публичному API осуществляется посредством HTTP-запросов и реализован с использованием принципов REST.

URL для веб-службы (адрес хоста) следует уточнять у менеджеров

Обмен осуществляется в кодировке UTF-8.

Для отладки вы можете воспользоваться расширением Advanced REST Client для обозревателя Google Chrome.

Запрос

Запросы на получение и запись данных осуществляются с помощью HTTP-методов GET и POST соответственно. В структуре сервиса имеется понятие операции. Операция указывается в качестве пути в URL. Параметры передаются как строка запроса HTTP (GET) или данными POST. Большая часть операций исполняется от имени конкретного пользователя и требует идентификации с помощью параметров userlogin (имя пользователя в системе) и userpsw (md5-хэш пароля пользователя). Md5-хэш можно сгенерировать выполнением функции (большая часть языков программирования имеет данную функцию в своем арсенале), либо воспользоваться online-генератором (например, md5x).

Внимание! При включенной опции "Франчайзи: разрешить одинаковые логины у разных франчайзи" могут присутствовать клиенты с одинаковым email и номером мобильного телефона. В этом случае в качестве имени нужно использовать код клиента (id).

Параметр shipmentAddress становится обязательным для заполнения. Получить идентификатор адреса доставки можно с помощью операции basket/shipmentAddresses, если она не возвращает никаких значений, то shipmentAddress - является необязательным параметром. Если не используете доставку на адрес, а пользуетесь самовывозом, то необходимо передать shipmentAddress=0.

Каждая операция может иметь список дополнительных параметров, определяемых контекстом операции. Например, вызов операции "Поиск детали по номеру" может выглядеть следующим образом:

https://demo.public.api.abcp.ru/search/articles/?userlogin=username&userpsw=md5pass&number=01089&brand=Febi

При использовании метода POST в HTTP-заголовке Content-Type необходимо передать медиа-тип данных запроса application/x-www-form-urlencoded и соответственно с данным типом сформировать тело HTTP-запроса.

В HTTP-заголовке Accept необходимо передать ожидаемый тип данных ответа. В настоящее время реализован только тип JSON, и, в любом случае, будет возвращен он. Тем не менее, при разработке клиента, необходимо учитывать указанную особенность и передавать заголовок Accept со значением application/json.

Ответ

В случае успешного исполнения операции, веб-служба вернет ответ с HTTP-кодом 200 и телом ответа в виде JSON. Формат ответа определяется каждой операцией. Пример результата успешного выполнения запроса:

 1 [
 2 	{
 3 		"brand": "Hepu",
 4 		"articleCode": "P999",
 5 		"articleCodeFix": "P999",
 6 		"articleId": "2854918",
 7 		"description": "Антифриз [синий] 1,5л.",
 8 		"availability": "-1",
 9 		"deliveryPeriod": 3,
10 		"price": 231,
11 		"weight": "0"
12 	},
13 	{
14 		"brand": "Febi",
15 		"articleCode": "01089",
16 		"articleCodeFix": "01089",
17 		"articleId": "37367",
18 		"description": "Антифриз 1.5 л синий",
19 		"availability": "1943",
20 		"deliveryPeriod": 3,
21 		"price": 233,
22 		"weight": "1.76"
23 	},
24 	{
25 		"brand": "Vaico Vemo",
26 		"articleCode": "V600020",
27 		"articleCodeFix": "V600020",
28 		"articleId": "4144961",
29 		"description": "Антифриз g-11 1.5л. концентрат",
30 		"availability": "-2",
31 		"deliveryPeriod": 3,
32 		"price": 235,
33 		"weight": "0"
34 	}
35 ]

Любой ответ с HTTP-кодом 400 и более является ошибочным, в теле содержит код ошибки и, как правило, текстовое сообщение описывающее причины возникшей ошибки также в виде JSON. Пример сообщения об ошибке:

1 {
2 	"errorCode": 102,
3 	"errorMessage": "User Authentication Error"
4 }

Типы ошибок

Код Описание
1 Ошибка синтаксиса запроса
2 Не найден обязательный параметр запроса
3 Неизвестная операция
4 Ошибка в параметре запроса
13 Неизвестная ошибка
102 Ошибка аутентификации пользователя
103 Доступ запрещен
104 Ошибка аутентификации сайта
201 Ошибка данных
202 Нарушение требования уникальности данных
301 Объект не найден
302 Ошибка кэша
303 Ресурс заблокирован

Операции

Поиск

Поиск брендов по номеру

Операция: search/brands
Метод: GET

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

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

Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе
number Искомый номер детали
useOnlineStocks Флаг "использовать online-склады". Может принимать значения 0 или 1 (не использовать и использовать соответственно; по умолчанию - 0). Если выключено, то в выдачу не будут попадать детали с online-складов, что позволит увеличить скорость ответа.
locale Локаль. Задается в формате language[_territory], например, ru_RU. По умолчанию используется локаль сайта.

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

https://demo.public.api.abcp.ru/search/brands/?userlogin=username&userpsw=md5pass&number=01089

Поля ответа

Поле Описание
brand Имя производителя.
number Код детали.
numberFix "Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
description Описание детали.
availability Флаг "Имеется ли в наличии".

Поиск детали по номеру и бренду

Операция: search/articles
Метод: GET

Осуществляет поиск по номеру детали и бренду. Возвращает массив найденных деталей. Так как один и тот же производитель может иметь несколько общепринятых наименований (например, GM и General Motors), система постарается это учесть, используя собственную базу синонимов брендов.


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

Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе
number Искомый номер детали
brand Фильтр по имени производителя
useOnlineStocks Флаг "использовать online-склады". Может принимать значения 0 или 1 (не использовать и использовать соответственно; по умолчанию - 0). Если выключено, то в выдачу не будут попадать детали с online-складов, что позволит увеличить скорость ответа.
disableOnlineFiltering Флаг "отключить фильтры online поставщиков". Может принимать значения 0 или 1 (по умолчанию - 0). Если передать 1, то в выдачу попадут все товары online поставщика, без учета фильтров: "Минимальная вероятность поставки", "Минимальное наличие", "Показывать только точное наличие", "Ограничить срок поставки, в часах". "Доверять кроссам" - при этом включается.
withOutAnalogs Флаг "исключить поиск по аналогам". По умолчанию - 0.

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

https://demo.public.api.abcp.ru/search/articles/?userlogin=username&userpsw=md5pass&number=01089&brand=Febi

Поля ответа

vertical-align:middle;
Информация
Для пользователя "API-администратор" по каждой позиции возвращается цена поставщика в поле priceIn в валюте сайта, в поле priceRate - коэффициент пересчета цены поставщика из валюты поставщика в валюту сайта, в поле price для администратора возвращается цена, рассчитанная для гостя.
Поле Описание
brand Имя производителя.
number Код детали.
numberFix "Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
description Описание детали.
availability Наличие детали на складе.
Отрицательные значения -1, -2 и -3 означают "неточное" наличие, которое на сайте выглядит как "+", "++" и "+++" соответственно.
Отрицательное значение -10 означает наличие "под заказ".
packing Мин. партия для заказа (кратность).
deliveryPeriod Срок поставки (в часах).
deliveryPeriodMax Максимальный срок поставки (в часах).
deadlineReplace Замена срока поставки (используется вместа срока поставки, если не заполнен максимальный срок поставки).
distributorCode Код поставщика ("человеко-читаемый" код, который может (но не должен) установить владелец сайта для прайса/поставщика).
supplierCode Код поставки. Необходим для добавления товара в корзину.
supplierColor Цвет поставщика (как в результатах поиска на сайте).
supplierDescription Описание поставщика (как в результатах поиска на сайте).
itemKey Код позиции. Необходим для добавления товара в корзину. Внимание! Не является уникальным идентификатором!Параметр "itemKey" обязателен для передачи заказа онлайн-поставщику, а также при передаче заказа от франчайзи к ГК.
price Цена в валюте сайта.
weight Вес одной единицы товара в килограммах.
volume Объем одной единицы товара.
deliveryProbability Вероятность поставки товара поставщика.
lastUpdateTime Время последнего обновления
additionalPrice Дополнительная цена в валюте сайта.
noReturn Флаг "Без возврата"
distributorId Идентификатор поставщика
grp Группа поставщика
code Внутренний код детали (присутствует только при условии что код выгружается в прайсе поставщика), используется как правило для синхронизации с 1С
nonliquid Признак неликвидности детали (присутствует только при условии выгрузки в прайсе поставщика)

Пакетный запрос без учета аналогов

Операция: search/batch
Метод: POST

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

Внимание! Данная операция не выполняет поиск по online-складам.

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

Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе
search Набор искомых деталей в формате brand - number. Максимум 100 деталей.

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

https://demo.public.api.abcp.ru/search/batch


Параметры POST

userlogin=username&userpsw=md5pass&search[0][number]=01089&search[0][brand]=Febi&search[1][number]=333305&search[1][brand]=Kyb

Поля ответа

vertical-align:middle;
Информация
Для пользователя "API-администратор" дополнительно по каждой позиции возвращается цена поставщика в поле priceIn, в поле price возвращается цена, рассчитанная для гостя.
Поле Описание
brand Имя производителя.
number Код детали.
numberFix "Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
description Описание детали.
availability Наличие детали на складе.
Отрицательные значения -1, -2 и -3 означают "неточное" наличие, которое на сайте выглядит как "+", "++" и "+++" соответственно.
Отрицательное значение -10 означает наличие "под заказ".
packing Мин. партия для заказа (кратность).
deliveryPeriod Срок поставки (в часах).
deliveryPeriodMax Максимальный срок поставки (в часах).
distributorCode Код поставщика ("человеко-читаемый" код, который может (но не должен) установить владелец сайта для прайса/поставщика).
supplierCode Код поставки. Необходим для добавления товара в корзину.
supplierColor Цвет поставщика (как в результатах поиска на сайте).
supplierDescription Описание поставщика (как в результатах поиска на сайте).
itemKey Код позиции. Необходим для добавления товара в корзину. Внимание! Не является уникальным идентификатором!Параметр "itemKey" обязателен для передачи заказа онлайн-поставщику, а также при передаче заказа от франчайзи к ГК.
price Цена в валюте сайта.
weight Вес одной единицы товара в килограммах.
volume Объем одной единицы товара.
deliveryProbability Вероятность поставки товара поставщика.
additionalPrice Дополнительная цена в валюте сайта.
noReturn Флаг "Без возврата"
grp Группа поставщика
code Внутренний код детали (присутствует только при условии что код выгружается в прайсе поставщика), используется как правило для синхронизации с 1С

История поиска

Операция: search/history
Метод: GET

Возвращает массив последних (не более 50) поисковых запросов текущего пользователя.

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

Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе

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

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


Поля ответа

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

Поле Описание
brand Имя производителя.
number Номер детали (код производителя).
numberFix "Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
description Описание детали.
datetime Дата и время поиска в формате ГГГГММДДччммсс.

Подсказки по поиску

Операция: search/tips
Метод: GET

Возвращает по части номера массив подходящих пар бренд - номер

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

Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе
number Номер (часть номера) детали
locale Локаль. Задается в формате language[_territory], например, ru_RU. По умолчанию используется локаль сайта.

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

https://demo.public.api.abcp.ru/search/tips?userlogin=username&userpsw=md5pass&number=0108


Поля ответа

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

Поле Описание
brand Имя производителя.
number Номер детали (код производителя).
description Описание запчасти

Поиск сопутствующих товаров

Операция: advices/
Метод: GET
Функция реализует механизм "с этим товаром покупают" на основе статистики покупки комплектов товаров. Типичный пример использования функции: покупатель выбрал масляный фильтр - система рекомендует остальные товары из набора для ТО. Или, покупатель выбрал левый передний амортизатор, система покажет правый передний. Осуществляет поиск сопутствующих товаров по запрашиваемой паре "Бренд-номер". Дополнительно можно передать параметр limit (рекомендуется = 5), ограничивающий выдачу рекомендаций.

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

Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе
brand Имя производителя
number Номер детали
limit необязательный параметр, ограничивающий выдачу

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

https://demo.public.api.abcp.ru/advices/?userlogin=username&userpsw=md5pass&brand=MB&number=A2058350147&limit=5

Поля ответа

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

Поле Описание
brand Имя производителя.
number Номер детали (код производителя).
total Количество заказов, в которых встречается данное сочетание товаров

Операция: advices/batch
Метод: POST
Функция реализует механизм "с этим товаром покупают" по нескольким товарам. Дополнительно можно передать параметр limit (рекомендуется = 5), ограничивающий выдачу рекомендаций. Параметры товаров передаются в виде JSON-массива articles из объектов с полями 'brand' и 'number'.

При использовании этой операции НЕОБХОДИМО! передавать заголовок Content-Type: application/json , а параметры передавать в теле запроса.


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

Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе
articles массив объектов, содержащих brand и number
limit необязательный параметр, ограничивающий выдачу

Пример запроса {"userlogin":"userlogin","userpsw":"userpsw","articles":[{"brand":"kyb","number":"331009"},{"brand":"Mobil","number":"152566"}],"limit":5}

Поля ответа

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

Поле Описание
brand Имя производителя.
number Номер детали (код производителя).
advices Массив объектов с полями: brand - имя производителя, number - номер детали, total - количество заказов, в которых встречается данное сочетание товаров

Корзина и заказы

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

Операция: basket/multibasket
Метод: GET

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

Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе

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

https://demo.public.api.abcp.ru/basket/multibasket?userlogin=XXXXXX&userpsw=XXXXXXX

Поля ответа

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

Поле Описание
id Идентификатор корзины
name Название корзины


Добавление товаров в корзину. Удаление товара из корзины

Операция: basket/add
Метод: POST

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

При добавлении brand - number - itemKey - supplierCode позиции, которая уже была ранее добавлена в корзину, значение quantity будет прибавлено к существующему.

Удаление позиции - при добавлении brand - number - itemKey - supplierCode позиции, которая уже была ранее добавлена в корзину, со значением quantity равным 0, позиция будет удалена из корзины. Для изменения количества рекомендуется удалять позицию и ее добавлять заново с требуемым количеством.


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

Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе
positions Набор добавляемых деталей в формате brand - number - itemKey - supplierCode или code с указанием добавляемого количества в поле quantity и комментария к позиции в поле comment
basketId Необязательный параметр - идентификатор корзины при использовании мультикорзины

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

https://demo.public.api.abcp.ru/basket/add


Параметры POST

userlogin=username&userpsw=md5pass&positions[0][number]=01089&positions[0][brand]=Febi&positions[0][supplierCode]=54325&positions[0][itemKey]=HFGJKfkdjghreiHJhfdjKhjskhfk&positions[0][quantity]=15&positions[1][number]=333305&positions[1][brand]=Kyb&positions[1][supplierCode]=87654&positions[1][itemKey]=HjfdksahGHHfsfkdjslajfnmra&positions[1][quantity]=4&positions[1][comment]=срочно!!!
или
userlogin=username&userpsw=md5pass&positions[0][code]=FE01089&positions[0][quantity]=15&positions[0][itemKey]=HFGJKfkdjghreiHJhfdjKhjskhfk&positions[1][code]=KY333305&positions[1][quantity]=4&positions[1][itemKey]=HjfdksahGHHfsfkdjslajfnmra&positions[1][comment]=срочно!!!

Поля ответа

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

Поле Описание
status Статус добавления пакета товаров. При возникновении ошибки добавления хотя бы в одной из позиций, параметр примет значение 0, иначе 1.
positions Список позиций со статусом выполнения операции.

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

Поле Описание
brand Имя производителя.
number Номер детали (код производителя).
numberFix "Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
code Код детали (уникальный код на сайте).
supplierCode Код поставки.
description Описание детали.
quantity Заказываемое количество
comment Комментарий к позиции.
status Статус добавления позиции в корзину. Принимает значение 0 - произошла ошибка или 1, если все успешно.
errorMessage Текст сообщения об ошибке при статусе 0

Очистка корзины

Операция: basket/clear
Метод: POST

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

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

Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе
basketId Необязательный параметр - идентификатор корзины при использовании мультикорзины

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

https://demo.public.api.abcp.ru/basket/clear

Параметры POST

userlogin=username&userpsw=md5pass

Поля ответа

Метод возвращает ответ:

Поле Описание
status Статус очистки корзины. Принимает значение 0 - произошла ошибка или 1, если все успешно.
errorMessage Текст сообщения об ошибке при статусе 0.

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

Операция: basket/content
Метод: GET

Возвращает список позиций, находящихся в корзине. Внимание! Если у вас подключена опция "Корзина: разрешать частичное оформление заказа". То в ответ веб-сервиса будут попадать только отмеченные позиции.

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

Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе
basketId Необязательный параметр - идентификатор корзины при использовании мультикорзины

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

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

Поля ответа

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

Поле Описание
brand Имя производителя.
number Номер детали (код производителя).
numberFix "Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
code Код детали (уникальный код на сайте).
supplierCode Код поставки.
itemKey Код позиции. Необходим для добавления товара в корзину. Внимание! Не является уникальным идентификатором!Параметр "itemKey" обязателен для передачи заказа онлайн-поставщику, а также при передаче заказа от франчайзи к ГК
description Описание детали.
price Цена за штуку
priceRate Курс перевода цены в валюту сайта
priceInSiteCurrency Цена ПРОДАЖИ в валюте сайта
quantity Заказываемое количество
deadline Срок поставки в часах
deadlineMax Максимальный срок поставки в часах
comment Комментарий к позиции.
status Статус позиции в корзине. Принимает значение 0 - при ошибке или 1, если все успешно.
positionId Номер позиции заказа.
packing Мин. партия для заказа (кратность).
errorMessage Текст сообщения об ошибке при статусе 0

Получение списка способов оплаты

Операция: basket/paymentMethods
Метод: GET

Возвращает список доступных способов оплаты. Идентификатор способа оплаты необходим при отправке заказа (при включенной опции "Корзина: показывать тип оплаты").

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

Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе

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

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

Поля ответа

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

Поле Описание
id Идентификатор способа оплаты.
name Способ оплаты.

Получение списка способов доставки

Операция: basket/shipmentMethods
Метод: GET

Возвращает список доступных способов доставки. Идентификатор способа доставки необходим при отправке заказа (при включенной опции "Корзина: показывать типы доставки").

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

Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе

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

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

Поля ответа

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

Поле Описание
id Идентификатор способа доставки.
name Способ доставки.

Получение списка офисов самовывоза

Операция: basket/shipmentOffices
Метод: GET

Возвращает список доступных офисов для самовывоза. Идентификатор офиса самовывоза при отправке заказа (при включенной опции "Заказы: показывать офисы при выборе самовывоза").

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

Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе
officesType Не обязательный параметр:
  • order - (используется по-умолчанию) возвращает офисы используемые для оформления заказа
  • registration - возвращает офисы используемые для регистрации пользователя при включенной опции "Офисы: включить привязку к клиентам"

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

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

Поля ответа

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

Поле Описание
id Идентификатор офиса
name Название офиса

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

Операция: basket/shipmentAddresses
Метод: GET

Возвращает список доступных адресов доставки. Идентификатор адреса доставки необходим при отправке заказа.

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

Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе

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

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

Поля ответа

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

Поле Описание
id Идентификатор адреса доставки.
name Адрес доставки.

Получение списка дат отгрузки

Операция: basket/shipmentDates
Метод: GET

Возвращает список доступных дат отгрузки. Дата отгрузки необходима при отправке заказа при включенной опции "Корзина: показывать дату отгрузки".

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

Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе
minDeadlineTime Минимальный срок поставки, в часах, среди всех позиций, которые вы собрались отправлять в заказ.
maxDeadlineTime Максимальный срок поставки, в часах, среди всех позиций, которые вы собрались отправлять в заказ.
shipmentAddress id адреса доставки. Необязательный параметр. Необходимо отправлять, если заказ будет оформлен с доставкой. Для подготовки доставки офисам может требоваться дополнительное время на сборку. При отправке параметра shipmentAddress получаем актуальные даты отгрузки с учетом времени комплектации в настройках офиса.


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

https://demo.public.api.abcp.ru/basket/shipmentDates?userlogin=username&userpsw=md5pass&minDeadlineTime=24&maxDeadlineTime=48

Поля ответа

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

Поле Описание
date Дата отгрузки в формате ГГГГ-ММ-ДД
name Дата отгрузки и день недели для отображения

Отправка корзины в заказ

Операция: basket/order
Метод: POST

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

Внимание изменения с 10 августа 2017! Параметр shipmentAddress становится обязательным для заполнения. Получить идентификатор адреса доставки можно с помощью операции basket/shipmentAddresses, если она не возвращает никаких значений, то shipmentAddress - является необязательным параметром. Если не используете доставку на адрес, а пользуетесь самовывозом, то необходимо передать shipmentAddress=0.

Внимание изменения с 09 июля 2018! Параметр shipmentDate становится обязательным, если Вы используете функционал "Дни отгрузки"(опция "Корзина: показывать дату отгрузки").

Внимание! Чтобы корректно использовать параметр positionIds, в ПУ должна быть включена опция "Корзина: разрешать частичное оформление заказа".


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

Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе
paymentMethod Идентификатор способа оплаты.
shipmentMethod Идентификатор способа доставки.
shipmentAddress Идентификатор адреса доставки.
shipmentOffice Идентификатор офиса самовывоза
shipmentDate Дата отгрузки.
comment Комментарий к заказу.
basketId Необязательный параметр - идентификатор корзины при использовании мультикорзины
wholeOrderOnly Признак - оформить заказ целиком. Принимаемые значения - 0/1. По умолчанию - 0.
positionIds Необязательный параметр - массив с номерами позиций заказа. Номера возвращает запрос basket/content

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

https://demo.public.api.abcp.ru/basket/order

Параметры POST

userlogin=username&userpsw=md5pass&paymentMethod=37&shipmentMethod=4323&shipmentAddress=788&shipmentDate=2012-12-21&comment=срочно

Поля ответа

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

Поле Описание
status Статус отправки корзины. При возникновении ошибки, параметр примет значение 0, иначе - 1.
errorMessage Текст сообщения об ошибке при статусе 0
orders Список созданных заказов со списком позиций.

Узел orders возвращает набор объектов вида:

Поле Описание
number Номер заказа в портале
status Статус заказа
statusCode Код статуса заказа
positionsQuantity Количество позиций
sum Сумма заказа
date Дата заказа
comment Комментарий к заказу
wholeOrderOnly Признак - оформить заказ целиком.
positions Список позиций заказа.

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

Поле Описание
brand Имя производителя.
number Номер детали (код производителя).
numberFix "Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
code Код детали (уникальный код на сайте).
supplierCode Код поставки.
itemKey Код позиции. Необходим для добавления товара в корзину. Внимание! Не является уникальным идентификатором!Параметр "itemKey" обязателен для передачи заказа онлайн-поставщику, а также при передаче заказа от франчайзи к ГК
description Описание детали.
quantity Заказываемое количество
price Цена за единицу товара
deadline Срок поставки в часах
deadlineMax Максимальный срок поставки в часах
comment Комментарий к позиции
status Статус позиции заказа
statusCode Код статуса позиции заказа
positionId Номер позиции заказа

Моментальный заказ

Операция: orders/instant
Метод: POST

Объединяет в себе операции basket/add и basket/order то есть, добавляет переданный в параметрах список товаров в корзину и сразу же отправляет их в заказ. У данной операции есть важная особенность - она не учитывает позиции, которые уже лежат в корзине, в заказ они не попадут и останутся в корзине пользователя. Использование данной операции оптимально при автоматическом перезаказе у клиентов платформы ABCP.

Возвращает статус операции, а так же список созданных заказов со списками позиций в каждом из них. Внимание! При отправке заказа могут возникнуть ошибки, при этом, часть позиций могут отправиться. Следовательно, независимо от статуса выполнения операции, необходимо проверять узел orders на наличие сформированных заказов.

Внимание изменения с 10 августа 2017! Параметр shipmentAddress становится обязательным для заполнения. Получить идентификатор адреса доставки можно с помощью операции basket/shipmentAddresses, если она не возвращает никаких значений, то shipmentAddress - является необязательным параметром. Если не используете доставку на адрес, а пользуетесь самовывозом, то необходимо передать shipmentAddress=0.

Внимание изменения с 09 июля 2018! Параметр shipmentDate становится обязательным, если Вы используете функционал "Дни отгрузки"(опция "Корзина: показывать дату отгрузки").

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

Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе
positions Набор добавляемых деталей в формате brand - number - itemKey - supplierCode или code с указанием добавляемого количества в поле quantity и комментария к позиции в поле comment
paymentMethod Идентификатор способа оплаты.
shipmentMethod Идентификатор способа доставки.
shipmentAddress Идентификатор адреса доставки.
shipmentOffice Идентификатор офиса самовывоза
shipmentDate Дата отгрузки.
comment Комментарий к заказу.
basketId Необязательный параметр - идентификатор корзины при использовании мультикорзины
wholeOrderOnly Признак - оформить заказ целиком. Принимаемые значения - 0/1. По умолчанию - 0.

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

https://demo.public.api.abcp.ru/orders/instant


Параметры POST

userlogin=username&userpsw=md5pass&positions[0][number]=01089&positions[0][brand]=Febi&positions[0][supplierCode]=54325&positions[0][itemKey]=HFGJKfkdjghreiHJhfdjKhjskhfk&positions[0][quantity]=15&positions[1][number]=333305&positions[1][brand]=Kyb&positions[1][supplierCode]=87654&positions[1][itemKey]=HjfdksahGHHfsfkdjslajfnmra&positions[1][quantity]=4&positions[1][comment]=срочно!!!&paymentMethod=37&shipmentMethod=4323&shipmentAddress=788&shipmentDate=2012-12-21&comment=срочно
или
userlogin=username&userpsw=md5pass&positions[0][code]=FE01089&positions[0][quantity]=15&positions[0][itemKey]=HFGJKfkdjghreiHJhfdjKhjskhfk&positions[1][code]=KY333305&positions[1][quantity]=4&positions[1][itemKey]=HjfdksahGHHfsfkdjslajfnmra&positions[1][comment]=срочно!!!&paymentMethod=37&shipmentMethod=4323&shipmentAddress=788&shipmentDate=2012-12-21&comment=срочно


Поля ответа

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

Поле Описание
status Статус отправки корзины. При возникновении ошибки, параметр примет значение 0, иначе - 1.
errorMessage Текст сообщения об ошибке при статусе 0
orders Список созданных заказов со списком позиций.

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

Поле Описание
number Номер заказа в портале
status Статус заказа
statusCode Код статуса заказа
positionsQuantity Количество позиций
sum Сумма заказа
date Дата заказа
comment Комментарий к заказу
wholeOrderOnly Признак - оформить заказ целиком.
positions Список позиций заказа.

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

Поле Описание
brand Имя производителя.
number Номер детали (код производителя).
numberFix "Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
code Код детали (уникальный код на сайте).
supplierCode Код поставки.
itemKey Код позиции. Необходим для добавления товара в корзину. Внимание! Не является уникальным идентификатором!Параметр "itemKey" обязателен для передачи заказа онлайн-поставщику, а также при передаче заказа от франчайзи к ГК
description Описание детали.
quantity Заказываемое количество
price Цена за единицу товара
deadline Срок поставки в часах
deadlineMax Максимальный срок поставки в часах
comment Комментарий к позиции
status Статус позиции заказа
statusCode Код статуса позиции заказа

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

Операция: orders/list
Метод: GET

Принимает список номеров заказов. Осуществляет получение статусов заказов и позиций внутри. Возвращает список заказов со списком позиций в каждом из них.

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

Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе
orders список номеров заказов

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

https://demo.public.api.abcp.ru/orders/list?userlogin=username&userpsw=md5pass&orders[0]=5642365&orders[1]=8765875

Поля ответа

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

Поле Описание
number Номер заказа в портале
status Статус заказа
statusId Идентификатор статуса заказа уникальный в рамках всей системы
statusCode Код статуса заказа
positionsQuantity Количество позиций
sum Сумма заказа
date Дата заказа
debt Долг по оплате заказа
comment Комментарий к заказу
positions Список позиций заказа.
notes Список заметок заказа.

Узел notes содержит массив объектов описанных здесь

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

Поле Описание
brand Имя производителя.
number Номер детали (код производителя).
numberFix "Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
code Код детали (уникальный код на сайте).
supplierCode Код поставки.
itemKey Код позиции. Внимание! Не является уникальным идентификатором! Параметр "itemKey" обязателен для передачи заказа онлайн-поставщику, а также при передаче заказа от франчайзи к ГК.
description Описание детали.
quantityOrdered Заказываемое количество
quantity Итоговое количество
price Цена за единицу товара
priceRate Курс перевода цены в валюту сайта
priceInSiteCurrency Цена ПРОДАЖИ в валюте сайта
deadline Срок поставки в часах
deadlineMax Максимальный срок поставки в часах
comment Комментарий к позиции
status Статус позиции заказа
statusId Идентификатор статуса позиции заказа уникальный в рамках всей системы
statusCode Код статуса позиции заказа

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

Операция: orders/
Метод: GET

Осуществляет получение списка всех заказов клиента по страницам. Сортировка по номеру заказа по убыванию, т.е. сначала передаются самые новые заказы.

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

Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе
format (необязательный) - формат вывода результата. По умолчанию отображается информация только по заказам. При значении p - к заказам добавляется информация по всем позициям.
skip (необязательный) - кол-во заказов, которые нужно пропустить. По умолчанию - 0.
limit (необязательный) - кол-во заказов, которые нужно отобразить за один раз. Допускается любое значение от 1 до 1000. По умолчанию - 100.

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

https://demo.public.api.abcp.ru/orders/?userlogin=username&userpsw=md5pass
https://demo.public.api.abcp.ru/orders/?userlogin=username&userpsw=md5pass&format=p&skip=10&limit=20

Поля ответа

Метод возвращает данные вида:

Поле Описание
count Кол-во всех заказов
items Массив с заказами

Свойства заказа:

Поле Описание
number Номер заказа в портале
status Статус заказа
statusCode Код статуса заказа
positionsQuantity Количество позиций
sum Сумма заказа
date Дата заказа
debt Долг по оплате заказа
deliveryCost Стоимость доставки
comment Комментарий к заказу
positions Список позиций заказа (если параметр format имеет значение p)

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

Поле Описание
brand Имя производителя.
number Номер детали (код производителя).
numberFix "Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
code Код детали (уникальный код на сайте).
supplierCode Код поставки.
itemKey Код позиции. Внимание! Не является уникальным идентификатором! Параметр "itemKey" обязателен для передачи заказа онлайн-поставщику, а также при передаче заказа от франчайзи к ГК.
description Описание детали.
quantityOrdered Заказываемое количество
quantity Итоговое количество
price Цена за единицу товара
deadline Срок поставки в часах
deadlineMax Максимальный срок поставки в часах
comment Комментарий к позиции
status Статус позиции заказа
statusCode Код статуса позиции заказа

Добавление адреса доставки

Операция: basket/shipmentAddress
Метод: POST

Для текущего покупателя добавляет "адрес доставки" и возвращает его идентификатор используемый в методе Отправка корзины в заказ

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

Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе
address Обязательный, строка содержащая адрес.

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

https://demo.public.api.abcp.ru/basket/shipmentAddress

Параметры POST

userlogin=username&userpsw=md5pass&address=Россия, г Москва, Пролетарский пр-кт

Поля ответа

Поле Описание
shipmentAddressId Идентификатор адреса доставки.

Получение опций корзины

Операция: basket/options
Метод: GET

Возвращает значение некоторых опций Корзины.

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

Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе

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

https://demo.public.api.abcp.ru/basket/options

Поля ответа

Поле options содержащее массив со списком:

Поле Описание
disallow_new_shipment_address Значение опции "Корзина: запрещать создание нового адреса доставки". Может пригодиться при использовании Добавление адреса доставки

1 - Да, всегда
2 - Да, для второго и последующего адреса доставки

self_shipment Значение опции "Корзина: "Самовывоз" в адресах доставки"

Поле errors с массивом ошибок, если они возникли во время получения значений опций.

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

Регистрация пользователя

Операция: user/new
Метод: POST

Принимает параметры для регистрации пользователя. Осуществляет регистрацию нового пользователя в системе. Возвращает статус выполнения операции регистрации, учетные данные нового пользователя, а так же сообщение об ошибке в случае возникновения таковой. Регистрация через API запрещена при использовании модуля франчайзи, если выключен флаг "Головная компания (ГК) участвует в продажах".

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

Параметр Описание
marketType Тип регистрации:
  1. Розница
  2. Опт
filialId Код филиала (если имеются)
name Имя
secondName Отчество
surname Фамилия
password Пароль
birthDate Дата рождения, формат YYYY-MM-DD
mobile Номер мобильного телефона
memberOfClub Название автоклуба
office Идентификатор офиса
email Адрес электронной почты
icq ICQ UIN
skype Skype
regionId Код региона
city Город
organizationName Наименование организации
business Тип организации. Значение от 1 до 3:
  1. Автосервис
  2. Автомагазин
  3. Собственный автопарк
organizationForm Правовая форма организации. Варианты:
  • ООО
  • ОАО
  • ЗАО
  • ТОО
  • АО
  • ЧП
  • ПБОЮЛ
organizationOfficialName Наименование по регистрации (без правовой формы юр. лица)
inn ИНН
kpp КПП
ogrn ОГРН
organizationOfficialAddress Юридический адрес организации
bankName Наименование банка
bik БИК банка
correspondentAccount Корреспондентский счет банка
organizationAccount Расчетный счет организации
deliveryAddress Адрес доставки
comment Комментарий
sendRegistrationEmail Необязательный, по-умолчанию - 0.
1 - отправлять клиенту, менеджеру письмо о регистрации
0 - не отправлять письмо

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

https://demo.public.api.abcp.ru/user/new

Параметры POST

marketType=1&name=Василий&surname=Васильев&password=12345&mobile=79000000000&email=vasya@mail.ru&regionId=77&city=Москва&deliveryAddress=ул. Ленина, д.2&comment=

Поля ответа

Поле Описание
status Статус выполнения операции
userCode Внутренний код пользователя. Необходим для активации.
activationCode Код активации, если включена
errorMessage Массив сообщений об ошибках, если статус = 0

Упрощенная регистрация пользователя

Операция: user/new/instant
Метод: POST

Принимает параметры для регистрации пользователя. Осуществляет регистрацию нового пользователя в системе. При успешной регистрации на указанный номер телефона отправляется SMS-сообщение с паролем. Тип магазина выставляется в соответствии со значением опции Тип магазина (по умолчанию)

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

Параметр Описание
name Имя
mobile Номер мобильного телефона
phone (устарел) (Не используется, значение этого параметра заменяется на mobile)
email Адрес электронной почты (необязательный)

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

https://demo.public.api.abcp.ru/user/new/instant

Параметры POST

name=Василий&phone=79000000000&email=vasya@mail.ru

Поля ответа

Поле Описание
userCode Внутренний код пользователя.
errorCode Код ошибки
errorMessage Сообщение ошибки

Активация пользователя

Операция: user/activation
Метод: POST

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

Параметр Описание
userCode Внутренний код пользователя.
activationCode Код активации

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

https://demo.public.api.abcp.ru/user/activation


Параметры POST

userlogin=username&userpsw=md5pass&userCode=12345&activationCode=567ab097bcd

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

Поле Описание
status Статус активации.
errorMessage Сообщение об ошибке при статусе = 0

Получение данных пользователя (авторизация)

Операция: user/info
Метод: GET

Возвращает данные пользователя по логину и паролю.

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

Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе

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

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

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

Поле Описание
id Идентификатор пользователя в системе ABCP.
code Код пользователя.
email Адрес электронной почты пользователя.
name ФИО или название организации
mobile Мобильный телефон
organization Наименование юридического лица

Гараж

Получение списка автомобилей в гараже

Операция: user/garage
Метод: GET

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

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

vertical-align:middle;
Информация
При выполнении данной операции от имени API-администратора, необходимо передавать параметр userId, содержащий идентификатор пользователя вашего сайта.
Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе

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

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

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

Поле Описание
id Идентификатор автомобиля в гараже
name Название автомобиля (пользовательское)
comment Комментарий (пользовательский)
year Год выпуска автомобиля
vin VIN-код автомобиля
frame Номер кузова автомобиля
mileage Пробег автомобиля
manufacturerId Идентификатор марки автомобиля
manufacturer Название марки автомобиля
modelId Идентификатор модели автомобиля
model Название модели автомобиля
modificationId Идентификатор модификации автомобиля
modification Название модификации автомобиля
vehicleRegPlate Государственный номер автомобиля
Получение информации об автомобиле в гараже

Операция: user/garage/car
Метод: GET

Возвращает данные по одному автомобилю гаража текущего пользователя

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

vertical-align:middle;
Информация
При выполнении данной операции от имени API-администратора, необходимо передавать параметр userId, содержащий идентификатор пользователя вашего сайта.
Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе
carId Идентификатор автомобиля в гараже


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

https://demo.public.api.abcp.ru/user/garage/car?userlogin=username&userpsw=md5pass&carId=14214

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

Поле Описание
id Идентификатор автомобиля в гараже
name Название автомобиля (пользовательское)
comment Комментарий (пользовательский)
year Год выпуска автомобиля
vin VIN-код автомобиля
frame Номер кузова автомобиля
mileage Пробег автомобиля
manufacturerId Идентификатор марки автомобиля
manufacturer Название марки автомобиля
modelId Идентификатор модели автомобиля
model Название модели автомобиля
modificationId Идентификатор модификации автомобиля
modification Название модификации автомобиля
vehicleRegPlate Государственный номер автомобиля
Добавление автомобиля в гараж

Операция: user/garage/add
Метод: POST

Добавляет автомобиль в гараж

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

vertical-align:middle;
Информация
Для получения индентификаторов марок/моделей/модификаций воспользуйтесь операциями из раздела "дерево автомобилей".
vertical-align:middle;
Информация
При выполнении данной операции от имени API-администратора, необходимо передавать параметр userId, содержащий идентификатор пользователя вашего сайта.


Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе
name Название автомобиля (пользовательское)
comment Комментарий (пользовательский)
year Год выпуска автомобиля
vin VIN-код автомобиля
frame Номер кузова автомобиля
mileage Пробег автомобиля
manufacturerId Идентификатор марки автомобиля
modelId Идентификатор модели автомобиля
modificationId Идентификатор модификации автомобиля
vehicleRegPlate Государственный номер автомобиля

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

https://demo.public.api.abcp.ru/user/garage/add

Параметры POST

userlogin=username&userpsw=md5pass&name=Ауди&manufacturerId=5

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

Поле Описание
id Идентификатор автомобиля в гараже
name Название автомобиля (пользовательское)
comment Комментарий (пользовательский)
year Год выпуска автомобиля
vin VIN-код автомобиля
frame Номер кузова автомобиля
mileage Пробег автомобиля
manufacturerId Идентификатор марки автомобиля
manufacturer Название марки автомобиля
modelId Идентификатор модели автомобиля
model Название модели автомобиля
modificationId Идентификатор модификации автомобиля
vehicleRegPlate Государственный номер автомобиля
Обновление автомобиля в гараже

Операция: user/garage/update
Метод: POST

Изменяет автомобиль в гараже. Обязательным свойством автомобиля является только carId, то есть, можно передавать только те параметры, которые необходимо изменить. Не переданные свойства изменены не будут.

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

vertical-align:middle;
Информация
При выполнении данной операции от имени API-администратора, необходимо передавать параметр userId, содержащий идентификатор пользователя вашего сайта.
Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе
carId Идентификатор автомобиля
name Название автомобиля (пользовательское)
comment Комментарий (пользовательский)
year Год выпуска автомобиля
vin VIN-код автомобиля
frame Номер кузова автомобиля
mileage Пробег автомобиля
manufacturerId Идентификатор марки автомобиля
modelId Идентификатор модели автомобиля
modificationId Идентификатор модификации автомобиля
vehicleRegPlate Государственный номер автомобиля

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

https://demo.public.api.abcp.ru/user/garage/update

Параметры POST

userlogin=username&userpsw=md5pass&carId=146542&name=Бумер&manufacturerId=12

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

Поле Описание
id Идентификатор автомобиля в гараже
name Название автомобиля (пользовательское)
comment Комментарий (пользовательский)
year Год выпуска автомобиля
vin VIN-код автомобиля
frame Номер кузова автомобиля
mileage Пробег автомобиля
manufacturerId Идентификатор марки автомобиля
manufacturer Название марки автомобиля
modelId Идентификатор модели автомобиля
model Название модели автомобиля
modificationId Идентификатор модификации автомобиля
modification Название модификации автомобиля
vehicleRegPlate Государственный номер автомобиля
Удаление автомобиля из гаража

Операция: user/garage/delete
Метод: POST

Удаляет автомобиль из гаража.

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

vertical-align:middle;
Информация
При выполнении данной операции от имени API-администратора, необходимо передавать параметр userId, содержащий идентификатор пользователя вашего сайта.
Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе
carId Идентификатор автомобиля

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

https://demo.public.api.abcp.ru/user/garage/delete

Параметры POST

userlogin=username&userpsw=md5pass&carId=146542&name=Бумер&manufacturerId=12

Метод возвращает значение true в случае успешности удаления или сообщение об ошибке.


Восстановление пароля

Операция: user/restore
Метод: POST

Операция восстановление пароля пользователя.

Механизм использования

Восстановление пароля состоит из двух этапов:

  1. Запрос восстановления пароля с указанием номера телефона или email. В результате успешного завершения будет отправлено стандартное письмо со ссылкой восстановления пароля на указанный email или код в SMS на указанный номер телефона.
  2. Сохранение нового пароля с указанием кода подтверждения из SMS. Данный этап актуален только для восстановления по номеру телефона, так как в случае с email, в письме придет ссылка на форму восстановления пароля на сайте, и второй этап будет выполнен в ней.


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

Параметр Описание
emailOrMobile Email или телефон [первый этап]
passwordNew Новый пароль [второй этап]
code Код из смс [второй этап]

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

https://demo.public.api.abcp.ru/user/restore

Параметры POST

emailOrMobile=799912345678

Метод возвращает:

  • при ошибке стандартный ответ с полями errorCode и errorMessage
  • при успешности ответ с полями status (возможные значения 1 и 2) и message c текстом сообщения о статусе выполнения операции

Дерево автомобилей

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

Операция: cartree/years
Метод: GET

Возвращает список доступных годов для дерева автомобилей

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

Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе
manufacturerId Идентификатор марки для фильтрации. Необязательное.

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

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

Метод возвращает массив доступных годов.

Получение списка марок

Операция: cartree/manufacturers
Метод: GET

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

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

Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе
year Год для фильтрации марок. Необязательное.

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

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

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

Поле Описание
id Идентификатор марки
name Название марки

Получение списка моделей

Операция: cartree/models
Метод: GET

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

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

Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе
manufacturerId Идентификатор марки
year Год для фильтрации моделей. Необязательное.

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

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

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

Поле Описание
id Идентификатор модели
name Название модели
yearFrom Дата начала выпуска модели
yearTo Дата окончания выпуска модели

Получение списка модификаций

Операция: cartree/modifications
Метод: GET

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

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

Параметр Описание
userlogin Имя пользователя в системе
userpsw md5-хэш пароля пользователя в системе
manufacturerId Идентификатор марки
modelId Идентификатор модели
year Год для фильтрации моделей. Необязательное.

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

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

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

Поле Описание
id Идентификатор модификации
name Название модификации
yearFrom Дата начала выпуска модификации
yearTo Дата окончания выпуска модификации
modelId Идентификатор модели
model Название модели
manufacturerId Идентификатор марки
manufacturer Название марки
fullName Полное название модификации, включающее марку и модель

Формы

Получение списка полей формы

Операция: form/fields
Метод: GET

Возвращает список полей формы и все параметры в соответствии с установленными настройками в панели управления на странице Внешний вид и контент / Формы. На текущий момент доступны только формы регистрации, реализованные в API-методе user/new. Метод не требует авторизации.

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

Параметр Описание
name Имя формы. Возможные значения: registration_wholesale - опт; registration_retail - розница
locale Локаль формы (по умолчанию, ru_RU)

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

https://demo.public.api.abcp.ru/form/fields?name=registration_retail&locale=ru_KZ

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

Поле Описание
name Имя поля. Соответствует имени поля в соответствующем API-методе.
label Метка поля на языке локали. Название поля в форме.
isRequired Флаг "Обязательное поле".
errorMessage Текстовое сообщение на языке локали, которое будет показано при некорректном заполнении поля.

Артикулы

Получение справочника брендов

Операция: articles/brands
Метод: GET

Возвращает список всех брендов зарегистрированных в системе с их синонимами.

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

Параметр Описание
userlogin Имя пользователя
userpsw md5-хэш пароля пользователя


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

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

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

Параметр Описание
name Имя бренда
aliases Массив, содержащий список синонимов текущего бренда

Получение карточки товара

Операция: articles/info
Метод: GET

vertical-align:middle;
Информация
Данная операция доступна только API-администратору

Возвращает данные по указанному в параметрах товару

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

Параметр Описание
userlogin Имя пользователя
userpsw md5-хэш пароля пользователя
brand Имя производителя
number Код детали
format Формат ответа. Допустимые значения: [b][n][p][c][h][m][t][i] - формат вывода информации (b - бренд, n - номер, p - свойства, c - кроссы, h - свойства с учетом локали, m - информация о модели, t - вывод типа кроссов с учетом направления, i - изображения запчасти).
cross_image При передаче cross_image=1 и [i] в параметре format в ответе операции будут выводиться изображения кроссов.
source Источник кроссов. Необязательный параметр. Через него передается массив со списком источников, в которых нужно искать кроссы.
standard - Кроссы с достоверностью 99.9 % ;
common- Кроссы с достоверностью 95%;
common_cat - Кроссы нескольких неоригинальных каталогов.
Если параметр не передается, то в ответе выводятся все источники, подключенные в ПУ
пример: &source[]=standard&source[]=common
with_original Признак кроссирования через оригинал. Необязательный параметр. Через него передается массив со списком источников, в которых используется кроссирование через оригинал. Работает данный параметр только при ручном указании источников кроссов (source). Если его не передавать то в ответе нет кроссов через оригинал по указанным источникам.

Если указать данный параметр без указания конкретных источников - в ответе получаем текст "Для получения аналогов через оригинал обязательно указывайте источники кроссов".
пример: &with_original[]=standard&with_original[]=common

locale Локаль. Задается в формате language[_territory], например, ru_RU. Это же значение используется по умолчанию.


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

https://demo.public.api.abcp.ru/articles/info?userlogin=username&userpsw=md5pass&brand=Febi&number=01089&format=bnpic

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

Параметр Описание
brand Имя производителя
number Искомый номер детали
outer_number Номер детали, содержащий пробелы, слэши и другие символы.
properties Массив свойств детали: описание, вес, объем и т.п. (при включенном формате p)
crosses Массив информации об аналогах (при включенном формате c).
Пример: А - запрашиваемая деталь
crossType = 1 - замена (replacement), деталь B заменяет деталь A
crossType = 2 - входит в комплект (unclude), деталь B является частью детали A
crossType = 3 - является частью комплекта (part of), деталь A является частью детали B
crossType = 4 - односторонняя замена, деталь A заменяется на деталь B
crossType = 5 - односторонняя замена, деталь A является заменой для детали B
images Массив изображений товара (при включенном формате i). В массиве указаны имена файлов расположенных по адресу http://pubimg.4mycar.ru/images/