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

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

(Содержимое страницы заменено на «{{Внимание|Данная статья предназначена для технических специалистов, о...»)
Строка 136: Строка 136:
 
  !303
 
  !303
 
  |Ресурс заблокирован
 
  |Ресурс заблокирован
|}
 
 
==Операции==
 
===Поиск===
 
====Поиск брендов по номеру====
 
'''Операция: search/brands'''<br />
 
'''Метод: GET'''
 
 
Осуществляет поиск по номеру детали и возвращает массив найденных брендов, имеющих деталь с искомым номером.
 
Аналог этапа выбора бренда на сайте.
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!number
 
|Искомый номер детали
 
|-
 
!useOnlineStocks
 
|Флаг "использовать online-склады". Может принимать значения 0 или 1 (не использовать и использовать соответственно; по умолчанию - 0). Если выключено, то в выдачу не будут попадать детали с online-складов, что позволит увеличить скорость ответа.
 
|-
 
!locale
 
|Локаль. Задается в формате language[_territory], например, ru_RU. По умолчанию используется локаль сайта.
 
|}
 
 
'''Пример запроса'''
 
<pre>
 
https://demo.public.api.abcp.ru/search/brands/?userlogin=username&userpsw=md5pass&number=01089
 
</pre>
 
 
'''Поля ответа'''
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!brand
 
|Имя производителя.
 
|-
 
!number
 
|Код детали.
 
|-
 
!numberFix
 
|"Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
 
|-
 
!description
 
|Описание детали.
 
|-
 
!availability
 
|Флаг "Имеется ли в наличии".
 
|}
 
 
<span id="search_articles"></span>
 
 
====Поиск детали по номеру и бренду====
 
'''Операция: search/articles'''<br />
 
'''Метод: GET'''
 
 
Осуществляет поиск по номеру детали и бренду. Возвращает массив найденных деталей.
 
Так как один и тот же производитель может иметь несколько общепринятых наименований (например, GM и General Motors), система постарается это учесть, используя собственную базу синонимов брендов.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!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
 
 
'''Поля ответа'''
 
 
{{Информация|Для пользователя "API-администратор" по каждой позиции возвращается цена поставщика в поле priceIn в валюте сайта, в поле priceRate - коэффициент пересчета цены поставщика из валюты поставщика в валюту сайта, в поле price для администратора возвращается цена, рассчитанная для гостя.}}
 
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!brand
 
|Имя производителя.
 
|-
 
!number
 
|Код детали.
 
|-
 
!numberFix
 
|"Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
 
|-
 
!description
 
|Описание детали.
 
|-
 
!availability
 
|Наличие детали на складе.<br />Отрицательные значения -1, -2 и -3 означают "неточное" наличие, которое на сайте выглядит как "+", "++" и "+++" соответственно.<br />Отрицательное значение -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'''<br />
 
'''Метод: POST'''
 
 
Осуществляет поиск по номеру производителя и бренду детали.
 
Возвращает массив найденных деталей.
 
 
'''Внимание! Данная операция не выполняет поиск по online-складам.'''
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!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
 
 
'''Поля ответа'''
 
 
{{Информация|Для пользователя "API-администратор" дополнительно по каждой позиции возвращается цена поставщика в поле priceIn, в поле price возвращается цена, рассчитанная для гостя.}}
 
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!brand
 
|Имя производителя.
 
|-
 
!number
 
|Код детали.
 
|-
 
!numberFix
 
|"Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
 
|-
 
!description
 
|Описание детали.
 
|-
 
!availability
 
|Наличие детали на складе.<br />Отрицательные значения -1, -2 и -3 означают "неточное" наличие, которое на сайте выглядит как "+", "++" и "+++" соответственно.<br />Отрицательное значение -10 означает наличие "под заказ".
 
|-
 
!packing
 
|Мин. партия для заказа (кратность).
 
|-
 
!deliveryPeriod
 
|Срок поставки (в часах).
 
|-
 
!deliveryPeriodMax
 
|Максимальный срок поставки (в часах).
 
|-
 
!distributorCode
 
|Код поставщика ("человеко-читаемый" код, который может (но не должен) установить владелец сайта для прайса/поставщика).
 
|-
 
!supplierCode
 
|Код поставки. Необходим для добавления товара в корзину.
 
|-
 
!supplierColor
 
|Цвет поставщика (как в результатах поиска на сайте).
 
|-
 
!supplierDescription
 
|Описание поставщика (как в результатах поиска на сайте).
 
|-
 
!itemKey
 
|Код позиции. Необходим для добавления товара в корзину. '''Внимание! Не является уникальным идентификатором!'''Параметр "itemKey" обязателен для передачи заказа онлайн-поставщику, а также при передаче заказа от франчайзи к ГК.
 
|-
 
!price
 
|Цена в валюте сайта.
 
|-
 
!weight
 
|Вес одной единицы товара в килограммах.
 
|-
 
!volume
 
|Объем одной единицы товара.
 
|-
 
!deliveryProbability
 
|Вероятность поставки товара поставщика.
 
|-
 
!additionalPrice
 
|Дополнительная цена в валюте сайта.
 
|-
 
!noReturn
 
|Флаг "Без возврата"
 
|-
 
!grp
 
|Группа поставщика
 
|-
 
!code
 
|Внутренний код детали (присутствует только при условии что код выгружается в прайсе поставщика), используется как правило для синхронизации с 1С
 
|}
 
 
====История поиска====
 
'''Операция: search/history'''<br />
 
'''Метод: GET'''
 
 
Возвращает массив последних (не более 50) поисковых запросов текущего пользователя.
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|}
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/search/history?userlogin=username&userpsw=md5pass
 
 
 
'''Поля ответа'''
 
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!brand
 
|Имя производителя.
 
|-
 
!number
 
|Номер детали (код производителя).
 
|-
 
!numberFix
 
|"Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
 
|-
 
!description
 
|Описание детали.
 
|-
 
!datetime
 
|Дата и время поиска в формате ГГГГММДДччммсс.
 
|}
 
 
====Подсказки по поиску====
 
'''Операция: search/tips'''<br />
 
'''Метод: GET'''
 
 
Возвращает по части номера массив подходящих пар бренд - номер
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!number
 
|Номер (часть номера) детали
 
|-
 
!locale
 
|Локаль. Задается в формате language[_territory], например, ru_RU. По умолчанию используется локаль сайта.
 
|}
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/search/tips?userlogin=username&userpsw=md5pass&number=0108
 
 
 
'''Поля ответа'''
 
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!brand
 
|Имя производителя.
 
|-
 
!number
 
|Номер детали (код производителя).
 
|-
 
!description
 
|Описание запчасти
 
|}
 
 
====Поиск сопутствующих товаров====
 
'''Операция: advices/'''<br />
 
'''Метод: GET'''<br />
 
Функция  реализует механизм "с этим товаром покупают" на основе статистики покупки комплектов товаров. Типичный пример использования функции: покупатель выбрал масляный фильтр - система рекомендует остальные товары из набора для ТО. Или, покупатель выбрал левый передний амортизатор, система покажет правый передний. Осуществляет поиск сопутствующих товаров по запрашиваемой паре "Бренд-номер".  Дополнительно можно передать параметр limit (рекомендуется = 5), ограничивающий выдачу рекомендаций.
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!brand
 
|Имя производителя
 
|-
 
!number
 
|Номер  детали
 
|-
 
!limit
 
|необязательный параметр, ограничивающий выдачу
 
|}
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/advices/?userlogin=username&userpsw=md5pass&brand=MB&number=A2058350147&limit=5
 
 
'''Поля ответа'''
 
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!brand
 
|Имя производителя.
 
|-
 
!number
 
|Номер детали (код производителя).
 
|-
 
!total
 
|Количество заказов, в которых встречается данное сочетание товаров
 
|}
 
 
'''Операция: advices/batch'''<br />
 
'''Метод: POST'''<br />
 
Функция реализует механизм "с этим товаром покупают" по нескольким  товарам.  Дополнительно можно передать параметр limit (рекомендуется = 5), ограничивающий выдачу рекомендаций. Параметры товаров передаются в виде JSON-массива articles из объектов с полями 'brand' и 'number'.
 
 
При использовании этой операции '''НЕОБХОДИМО!''' передавать заголовок '''Content-Type: application/json''' , а параметры передавать в теле запроса.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!articles
 
|массив объектов, содержащих brand и number
 
|-
 
!limit
 
|необязательный параметр, ограничивающий выдачу
 
|}
 
 
'''Пример запроса'''
 
{"userlogin":"userlogin","userpsw":"userpsw","articles":[{"brand":"kyb","number":"331009"},{"brand":"Mobil","number":"152566"}],"limit":5}
 
 
'''Поля ответа'''
 
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!brand
 
|Имя производителя.
 
|-
 
!number
 
|Номер детали (код производителя).
 
|-
 
!advices
 
|Массив объектов с полями: brand - имя производителя, number - номер детали, total - количество заказов, в которых встречается данное сочетание товаров
 
|}
 
 
===Корзина и заказы===
 
====Получение списка корзин====
 
'''Операция: basket/multibasket'''<br />
 
'''Метод: GET'''
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|}
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/basket/multibasket?userlogin=XXXXXX&userpsw=XXXXXXX
 
 
'''Поля ответа'''
 
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор корзины
 
|-
 
!name
 
|Название корзины
 
|}
 
 
 
====Добавление товаров в корзину. Удаление товара из корзины====
 
'''Операция: basket/add'''<br />
 
'''Метод: POST'''
 
 
Осуществляет подготовку к отправке заказа на товары по номеру производителя, бренду и коду поставки или по коду детали.
 
Возвращает статус добавления товара в корзину по каждой позиции.
 
 
При добавлении brand - number - itemKey - supplierCode позиции, которая уже была ранее добавлена в корзину, значение quantity будет прибавлено к существующему.
 
 
'''Удаление позиции''' - при добавлении brand - number - itemKey - supplierCode позиции, которая уже была ранее добавлена в корзину, со значением quantity равным 0, позиция будет удалена из корзины.
 
Для изменения количества рекомендуется удалять позицию и ее добавлять заново с требуемым количеством.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!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]=срочно!!!
 
 
'''Поля ответа'''
 
 
Метод возвращает набор узлов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!status
 
|Статус добавления пакета товаров. При возникновении ошибки добавления хотя бы в одной из позиций, параметр примет значение 0, иначе 1.
 
|-
 
!positions
 
|Список позиций со статусом выполнения операции.
 
|}
 
 
Узел positions содержит набор элементов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!brand
 
|Имя производителя.
 
|-
 
!number
 
|Номер детали (код производителя).
 
|-
 
!numberFix
 
|"Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
 
|-
 
!code
 
|Код детали (уникальный код на сайте).
 
|-
 
!supplierCode
 
|Код поставки.
 
|-
 
!description
 
|Описание детали.
 
|-
 
!quantity
 
|Заказываемое количество
 
|-
 
!comment
 
|Комментарий к позиции.
 
|-
 
!status
 
|Статус добавления позиции в корзину. Принимает значение 0 - произошла ошибка или 1, если все успешно.
 
|-
 
!errorMessage
 
|Текст сообщения об ошибке при статусе 0
 
|}
 
 
====Очистка корзины====
 
'''Операция: basket/clear'''<br />
 
'''Метод: POST'''
 
 
Удаляет все позиции из корзины.
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!basketId
 
|Необязательный параметр - идентификатор корзины при использовании мультикорзины
 
|}
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/basket/clear
 
 
'''Параметры POST'''
 
userlogin=username&userpsw=md5pass
 
 
'''Поля ответа'''
 
 
Метод возвращает ответ:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!status
 
|Статус очистки корзины. Принимает значение 0 - произошла ошибка или 1, если все успешно.
 
|-
 
!errorMessage
 
|Текст сообщения об ошибке при статусе 0.
 
|}
 
 
====Получение списка товаров в корзине====
 
'''Операция: basket/content'''<br />
 
'''Метод: GET'''
 
 
Возвращает список позиций, находящихся в корзине.
 
'''Внимание!''' Если у вас подключена опция "Корзина: разрешать частичное оформление заказа". То в ответ веб-сервиса будут попадать только отмеченные позиции.
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!basketId
 
|Необязательный параметр - идентификатор корзины при использовании мультикорзины
 
|}
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/basket/content?userlogin=username&userpsw=md5pass
 
 
'''Поля ответа'''
 
 
Метод возвращает набор узлов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!brand
 
|Имя производителя.
 
|-
 
!number
 
|Номер детали (код производителя).
 
|-
 
!numberFix
 
|"Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
 
|-
 
!code
 
|Код детали (уникальный код на сайте).
 
|-
 
!supplierCode
 
|Код поставки.
 
|-
 
!itemKey
 
|Код позиции. Необходим для добавления товара в корзину. '''Внимание! Не является уникальным идентификатором!'''Параметр "itemKey" обязателен для передачи заказа онлайн-поставщику, а также при передаче заказа от франчайзи к ГК
 
|-
 
!description
 
|Описание детали.
 
|-
 
!price
 
|Цена за штуку
 
|-
 
!priceRate
 
|Курс перевода цены в валюту сайта
 
|-
 
!priceInSiteCurrency
 
|Цена ПРОДАЖИ в валюте сайта
 
|-
 
!quantity
 
|Заказываемое количество
 
|-
 
!deadline
 
|Срок поставки в часах
 
|-
 
!deadlineMax
 
|Максимальный срок поставки в часах
 
|-
 
!comment
 
|Комментарий к позиции.
 
|-
 
!status
 
|Статус позиции в корзине. Принимает значение 0 - при ошибке или 1, если все успешно.
 
|-
 
!positionId
 
|Номер позиции заказа.
 
|-
 
!packing
 
|Мин. партия для заказа (кратность).
 
|-
 
!errorMessage
 
|Текст сообщения об ошибке при статусе 0
 
|}
 
 
====Получение списка способов оплаты====
 
'''Операция: basket/paymentMethods'''<br />
 
'''Метод: GET'''
 
 
Возвращает список доступных способов оплаты.
 
Идентификатор способа оплаты необходим при отправке заказа (при включенной опции "Корзина: показывать тип оплаты").
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|}
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/basket/paymentMethods?userlogin=username&userpsw=md5pass
 
 
'''Поля ответа'''
 
 
Метод возвращает набор узлов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор способа оплаты.
 
|-
 
!name
 
|Способ оплаты.
 
|}
 
 
====Получение списка способов доставки====
 
'''Операция: basket/shipmentMethods'''<br />
 
'''Метод: GET'''
 
 
Возвращает список доступных способов доставки.
 
Идентификатор способа доставки необходим при отправке заказа (при включенной опции "Корзина: показывать типы доставки").
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|}
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/basket/shipmentMethods?userlogin=username&userpsw=md5pass
 
 
'''Поля ответа'''
 
 
Метод возвращает набор узлов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор способа доставки.
 
|-
 
!name
 
|Способ доставки.
 
|}
 
 
====Получение списка офисов самовывоза====
 
'''Операция: basket/shipmentOffices'''<br />
 
'''Метод: GET'''
 
 
Возвращает список доступных офисов для самовывоза.
 
Идентификатор офиса самовывоза при отправке заказа (при включенной опции "Заказы: показывать офисы при выборе самовывоза").
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!officesType
 
|Не обязательный параметр:
 
 
*order - (используется по-умолчанию) возвращает офисы используемые для оформления заказа
 
*registration - возвращает офисы используемые для регистрации пользователя при включенной опции "Офисы: включить привязку к клиентам"
 
|}
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/basket/shipmentOffices?userlogin=username&userpsw=md5pass
 
 
'''Поля ответа'''
 
 
Метод возвращает набор узлов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор офиса
 
|-
 
!name
 
|Название офиса
 
|}
 
 
====Получение списка адресов доставки====
 
'''Операция: basket/shipmentAddresses'''<br />
 
'''Метод: GET'''
 
 
Возвращает список доступных адресов доставки.
 
Идентификатор адреса доставки необходим при отправке заказа.
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|}
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/basket/shipmentAddresses?userlogin=username&userpsw=md5pass
 
 
'''Поля ответа'''
 
 
Метод возвращает набор узлов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор адреса доставки.
 
|-
 
!name
 
|Адрес доставки.
 
|}
 
 
====Получение списка дат отгрузки====
 
'''Операция: basket/shipmentDates'''<br />
 
'''Метод: GET'''
 
 
Возвращает список доступных дат отгрузки.
 
Дата отгрузки необходима при отправке заказа при включенной опции "Корзина: показывать дату отгрузки".
 
 
'''Параметры запроса'''
 
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!minDeadlineTime
 
|Минимальный срок поставки, в часах, среди всех позиций, которые вы собрались отправлять в заказ.
 
|-
 
!maxDeadlineTime
 
|Максимальный срок поставки, в часах, среди всех позиций, которые вы собрались отправлять в заказ.
 
|-
 
!shipmentAddress
 
|id адреса доставки. Необязательный параметр. Необходимо отправлять, если заказ будет оформлен с доставкой. Для подготовки доставки офисам может требоваться дополнительное время на сборку. При отправке параметра shipmentAddress получаем актуальные даты отгрузки с учетом времени комплектации в настройках офиса.
 
|}
 
 
 
'''Пример запроса'''
 
 
https://demo.public.api.abcp.ru/basket/shipmentDates?userlogin=username&userpsw=md5pass&minDeadlineTime=24&maxDeadlineTime=48
 
 
'''Поля ответа'''
 
 
Метод возвращает набор узлов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!date
 
|Дата отгрузки в формате ГГГГ-ММ-ДД
 
|-
 
!name
 
|Дата отгрузки и день недели для отображения
 
|}
 
 
<span id="basket_order"></span>
 
 
====Отправка корзины в заказ====
 
'''Операция: basket/order'''<br />
 
'''Метод: POST'''
 
 
Осуществляет отправку позиций, содержащихся в корзине, в заказ.
 
Возвращает статус операции, а так же список созданных заказов со списками позиций в каждом из них.
 
'''Внимание!''' При отправке заказа могут возникнуть ошибки, при этом, часть позиций могут отправиться.
 
Следовательно, независимо от статуса выполнения операции, необходимо проверять узел orders на наличие сформированных заказов.
 
 
'''Внимание изменения с 10 августа 2017!''' Параметр shipmentAddress становится обязательным для заполнения. Получить идентификатор адреса доставки можно с помощью операции basket/shipmentAddresses, если она не возвращает никаких значений, то shipmentAddress - является необязательным параметром. Если не используете доставку на адрес, а пользуетесь самовывозом, то необходимо передать shipmentAddress=0.
 
 
'''Внимание изменения с 09 июля 2018!''' Параметр shipmentDate становится обязательным, если Вы используете функционал "Дни отгрузки"(опция "Корзина: показывать дату отгрузки").
 
 
'''Внимание!''' Чтобы корректно использовать параметр '''positionIds''', в ПУ должна быть включена опция "Корзина: разрешать частичное оформление заказа".
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!paymentMethod
 
|Идентификатор способа оплаты.
 
|-
 
!shipmentMethod
 
|Идентификатор способа доставки.
 
|-
 
!shipmentAddress
 
|Идентификатор адреса доставки.
 
|-
 
!shipmentOffice
 
|Идентификатор офиса самовывоза
 
|-
 
!shipmentDate
 
|Дата отгрузки.
 
|-
 
!comment
 
|Комментарий к заказу.
 
|-
 
!basketId
 
|Необязательный параметр - идентификатор корзины при использовании мультикорзины
 
|-
 
!wholeOrderOnly
 
|Признак - оформить заказ целиком. Принимаемые значения - 0/1. По умолчанию - 0.
 
|-
 
!positionIds
 
|Необязательный параметр - массив с номерами позиций заказа. Номера возвращает запрос [[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.82.D0.BE.D0.B2.D0.B0.D1.80.D0.BE.D0.B2_.D0.B2_.D0.BA.D0.BE.D1.80.D0.B7.D0.B8.D0.BD.D0.B5|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=срочно
 
 
'''Поля ответа'''
 
 
Метод возвращает объект вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!status
 
|Статус отправки корзины. При возникновении ошибки, параметр примет значение 0, иначе - 1.
 
|-
 
!errorMessage
 
|Текст сообщения об ошибке при статусе 0
 
|-
 
!orders
 
|Список созданных заказов со списком позиций.
 
|}
 
 
Узел orders возвращает набор объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!number
 
|Номер заказа в портале
 
|-
 
!status
 
|Статус заказа
 
|-
 
!statusCode
 
|Код статуса заказа
 
|-
 
!positionsQuantity
 
|Количество позиций
 
|-
 
!sum
 
|Сумма заказа
 
|-
 
!date
 
|Дата заказа
 
|-
 
!comment
 
|Комментарий к заказу
 
|-
 
!wholeOrderOnly
 
|Признак - оформить заказ целиком.
 
|-
 
!positions
 
|Список позиций заказа.
 
|}
 
 
Узел positions содержит набор объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!brand
 
|Имя производителя.
 
|-
 
!number
 
|Номер детали (код производителя).
 
|-
 
!numberFix
 
|"Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
 
|-
 
!code
 
|Код детали (уникальный код на сайте).
 
|-
 
!supplierCode
 
|Код поставки.
 
|-
 
!itemKey
 
|Код позиции. Необходим для добавления товара в корзину. '''Внимание! Не является уникальным идентификатором!'''Параметр "itemKey" обязателен для передачи заказа онлайн-поставщику, а также при передаче заказа от франчайзи к ГК
 
|-
 
!description
 
|Описание детали.
 
|-
 
!quantity
 
|Заказываемое количество
 
|-
 
!price
 
|Цена за единицу товара
 
|-
 
!deadline
 
|Срок поставки в часах
 
|-
 
!deadlineMax
 
|Максимальный срок поставки в часах
 
|-
 
!comment
 
|Комментарий к позиции
 
|-
 
!status
 
|Статус позиции заказа
 
|-
 
!statusCode
 
|Код статуса позиции заказа
 
|-
 
!positionId
 
|Номер позиции заказа
 
|}
 
 
<span id="orders_instant"></span>
 
 
====Моментальный заказ====
 
'''Операция: orders/instant'''<br />
 
'''Метод: POST'''
 
 
Объединяет в себе операции basket/add и basket/order то есть, добавляет переданный в параметрах список товаров в корзину и сразу же отправляет их в заказ. У данной операции есть важная особенность - она не учитывает позиции, которые уже лежат в корзине, в заказ они не попадут и останутся в корзине пользователя. Использование данной операции оптимально при автоматическом перезаказе у клиентов платформы ABCP.
 
 
Возвращает статус операции, а так же список созданных заказов со списками позиций в каждом из них.
 
'''Внимание!''' При отправке заказа могут возникнуть ошибки, при этом, часть позиций могут отправиться.
 
Следовательно, независимо от статуса выполнения операции, необходимо проверять узел orders на наличие сформированных заказов.
 
 
'''Внимание изменения с 10 августа 2017!''' Параметр shipmentAddress становится обязательным для заполнения. Получить идентификатор адреса доставки можно с помощью операции basket/shipmentAddresses, если она не возвращает никаких значений, то shipmentAddress - является необязательным параметром. Если не используете доставку на адрес, а пользуетесь самовывозом, то необходимо передать shipmentAddress=0.
 
 
'''Внимание изменения с 09 июля 2018!''' Параметр shipmentDate становится обязательным, если Вы используете функционал "Дни отгрузки"(опция "Корзина: показывать дату отгрузки").
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!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=срочно
 
 
 
 
'''Поля ответа'''
 
 
Метод возвращает объект вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!status
 
|Статус отправки корзины. При возникновении ошибки, параметр примет значение 0, иначе - 1.
 
|-
 
!errorMessage
 
|Текст сообщения об ошибке при статусе 0
 
|-
 
!orders
 
|Список созданных заказов со списком позиций.
 
|}
 
 
Узел orders содержит набор объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!number
 
|Номер заказа в портале
 
|-
 
!status
 
|Статус заказа
 
|-
 
!statusCode
 
|Код статуса заказа
 
|-
 
!positionsQuantity
 
|Количество позиций
 
|-
 
!sum
 
|Сумма заказа
 
|-
 
!date
 
|Дата заказа
 
|-
 
!comment
 
|Комментарий к заказу
 
|-
 
!wholeOrderOnly
 
|Признак - оформить заказ целиком.
 
|-
 
!positions
 
|Список позиций заказа.
 
|}
 
 
Узел positions содержит набор объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!brand
 
|Имя производителя.
 
|-
 
!number
 
|Номер детали (код производителя).
 
|-
 
!numberFix
 
|"Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
 
|-
 
!code
 
|Код детали (уникальный код на сайте).
 
|-
 
!supplierCode
 
|Код поставки.
 
|-
 
!itemKey
 
|Код позиции. Необходим для добавления товара в корзину. '''Внимание! Не является уникальным идентификатором!'''Параметр "itemKey" обязателен для передачи заказа онлайн-поставщику, а также при передаче заказа от франчайзи к ГК
 
|-
 
!description
 
|Описание детали.
 
|-
 
!quantity
 
|Заказываемое количество
 
|-
 
!price
 
|Цена за единицу товара
 
|-
 
!deadline
 
|Срок поставки в часах
 
|-
 
!deadlineMax
 
|Максимальный срок поставки в часах
 
|-
 
!comment
 
|Комментарий к позиции
 
|-
 
!status
 
|Статус позиции заказа
 
|-
 
!statusCode
 
|Код статуса позиции заказа
 
|}
 
 
====Получение позиций заказов со статусами====
 
'''Операция: orders/list'''<br />
 
'''Метод: GET'''
 
 
Принимает список номеров заказов.
 
Осуществляет получение статусов заказов и позиций внутри.
 
Возвращает список заказов со списком позиций в каждом из них.
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!orders
 
|список номеров заказов
 
|}
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/orders/list?userlogin=username&userpsw=md5pass&orders[0]=5642365&orders[1]=8765875
 
 
'''Поля ответа'''
 
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!number
 
|Номер заказа в портале
 
|-
 
!status
 
|Статус заказа
 
|-
 
!statusId
 
|Идентификатор статуса заказа уникальный в рамках всей системы
 
|-
 
!statusCode
 
|Код статуса заказа
 
|-
 
!positionsQuantity
 
|Количество позиций
 
|-
 
!sum
 
|Сумма заказа
 
|-
 
!date
 
|Дата заказа
 
|-
 
!debt
 
|Долг по оплате заказа
 
|-
 
!comment
 
|Комментарий к заказу
 
|-
 
!positions
 
|Список позиций заказа.
 
|-
 
!notes
 
|Список заметок заказа.
 
|}
 
 
Узел notes содержит массив объектов [[API:Docs#order_notes_fields|описанных здесь]]
 
 
Узел positions содержит массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!brand
 
|Имя производителя.
 
|-
 
!number
 
|Номер детали (код производителя).
 
|-
 
!numberFix
 
|"Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
 
|-
 
!code
 
|Код детали (уникальный код на сайте).
 
|-
 
!supplierCode
 
|Код поставки.
 
|-
 
!itemKey
 
|Код позиции. '''Внимание! Не является уникальным идентификатором!''' Параметр "itemKey" обязателен для передачи заказа онлайн-поставщику, а также при передаче заказа от франчайзи к ГК.
 
|-
 
!description
 
|Описание детали.
 
|-
 
!quantityOrdered
 
|Заказываемое количество
 
|-
 
!quantity
 
|Итоговое количество
 
|-
 
!price
 
|Цена за единицу товара
 
|-
 
!priceRate
 
|Курс перевода цены в валюту сайта
 
|-
 
!priceInSiteCurrency
 
|Цена ПРОДАЖИ в валюте сайта
 
|-
 
!deadline
 
|Срок поставки в часах
 
|-
 
!deadlineMax
 
|Максимальный срок поставки в часах
 
|-
 
!comment
 
|Комментарий к позиции
 
|-
 
!status
 
|Статус позиции заказа
 
|-
 
!statusId
 
|Идентификатор статуса позиции заказа уникальный в рамках всей системы
 
|-
 
!statusCode
 
|Код статуса позиции заказа
 
|}
 
 
<span id="orders"></span>
 
 
====Получение списка заказов====
 
'''Операция: orders/'''<br />
 
'''Метод: GET'''
 
 
Осуществляет получение списка всех заказов клиента по страницам. Сортировка по номеру заказа по убыванию, т.е. сначала передаются самые новые заказы.
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!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
 
 
'''Поля ответа'''
 
 
Метод возвращает данные вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!count
 
|Кол-во всех заказов
 
|-
 
!items
 
|Массив с заказами
 
|}
 
 
Свойства заказа:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!number
 
|Номер заказа в портале
 
|-
 
!status
 
|Статус заказа
 
|-
 
!statusCode
 
|Код статуса заказа
 
|-
 
!positionsQuantity
 
|Количество позиций
 
|-
 
!sum
 
|Сумма заказа
 
|-
 
!date
 
|Дата заказа
 
|-
 
!debt
 
|Долг по оплате заказа
 
|-
 
!deliveryCost
 
|Стоимость доставки
 
|-
 
!comment
 
|Комментарий к заказу
 
|-
 
!positions
 
|Список позиций заказа (если параметр format имеет значение p)
 
|}
 
 
Узел positions содержит массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!brand
 
|Имя производителя.
 
|-
 
!number
 
|Номер детали (код производителя).
 
|-
 
!numberFix
 
|"Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
 
|-
 
!code
 
|Код детали (уникальный код на сайте).
 
|-
 
!supplierCode
 
|Код поставки.
 
|-
 
!itemKey
 
|Код позиции. '''Внимание! Не является уникальным идентификатором!''' Параметр "itemKey" обязателен для передачи заказа онлайн-поставщику, а также при передаче заказа от франчайзи к ГК.
 
|-
 
!description
 
|Описание детали.
 
|-
 
!quantityOrdered
 
|Заказываемое количество
 
|-
 
!quantity
 
|Итоговое количество
 
|-
 
!price
 
|Цена за единицу товара
 
|-
 
!deadline
 
|Срок поставки в часах
 
|-
 
!deadlineMax
 
|Максимальный срок поставки в часах
 
|-
 
!comment
 
|Комментарий к позиции
 
|-
 
!status
 
|Статус позиции заказа
 
|-
 
!statusCode
 
|Код статуса позиции заказа
 
|}
 
 
<span id="basket_shipmentAddress"></span>
 
 
====Добавление адреса доставки====
 
'''Операция: basket/shipmentAddress'''<br />
 
'''Метод: POST'''
 
 
Для текущего покупателя добавляет "адрес доставки" и возвращает его идентификатор  используемый в методе [[API:Docs#basket_order|Отправка корзины в заказ]]
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!address
 
|Обязательный, строка содержащая адрес.
 
|}
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/basket/shipmentAddress
 
 
'''Параметры POST'''
 
userlogin=username&userpsw=md5pass&address=Россия, г Москва, Пролетарский пр-кт
 
 
'''Поля ответа'''
 
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!shipmentAddressId
 
|Идентификатор адреса доставки.
 
|-
 
|}
 
 
<span id="basket_options"></span>
 
 
====Получение опций корзины====
 
'''Операция: basket/options'''<br />
 
'''Метод: GET'''
 
 
Возвращает значение некоторых опций Корзины.
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|}
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/basket/options
 
 
'''Поля ответа'''
 
 
Поле '''options''' содержащее массив со списком:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!disallow_new_shipment_address
 
|Значение опции "Корзина: запрещать создание нового адреса доставки". Может пригодиться при использовании [[API:Docs#basket_shipmentAddress|Добавление адреса доставки]]<br />
 
1 - Да, всегда<br />
 
2 - Да, для второго и последующего адреса доставки
 
|-
 
!self_shipment
 
|Значение опции "Корзина: "Самовывоз" в адресах доставки"
 
|}
 
 
Поле '''errors''' с массивом ошибок, если они возникли во время получения значений опций.
 
 
===Пользователи===
 
====Регистрация пользователя====
 
'''Операция: user/new'''<br />
 
'''Метод: POST'''
 
 
<!--
 
 
 
ВНИМАНИЕ, КОЛЛЕГИ!
 
При внесении изменений в данный метод, КАТЕГОРИЧЕСКИ необходимо дополнить массив GetFormFieldsOperation::$formToRequestMap
 
 
 
-->
 
Принимает параметры для регистрации пользователя.
 
Осуществляет регистрацию нового пользователя в системе.
 
Возвращает статус выполнения операции регистрации, учетные данные нового пользователя, а так же сообщение об ошибке в случае возникновения таковой.
 
Регистрация через API запрещена при использовании модуля франчайзи, если выключен флаг "Головная компания (ГК) участвует в продажах".
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!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
 
|Комментарий
 
|-
 
!sendRegistrationEmail
 
|Необязательный, по-умолчанию - 0. <br />1 - отправлять клиенту, менеджеру письмо о регистрации <br />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=
 
 
'''Поля ответа'''
 
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!status
 
|Статус выполнения операции
 
|-
 
!userCode
 
|Внутренний код пользователя. Необходим для активации.
 
|-
 
!activationCode
 
|Код активации, если включена
 
|-
 
!errorMessage
 
|Массив сообщений об ошибках, если статус = 0
 
|}
 
 
====Упрощенная регистрация пользователя====
 
'''Операция: user/new/instant'''<br />
 
'''Метод: POST'''
 
 
Принимает параметры для регистрации пользователя.
 
Осуществляет регистрацию нового пользователя в системе.
 
При успешной регистрации на указанный номер телефона отправляется SMS-сообщение с паролем.
 
Тип магазина выставляется в соответствии со значением опции [http://docs.abcp.ru/wiki/Options#.D0.A2.D0.B8.D0.BF_.D0.BC.D0.B0.D0.B3.D0.B0.D0.B7.D0.B8.D0.BD.D0.B0_.28.D0.BF.D0.BE_.D1.83.D0.BC.D0.BE.D0.BB.D1.87.D0.B0.D0.BD.D0.B8.D1.8E.29 Тип магазина (по умолчанию)]
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!name
 
|Имя
 
|-
 
!mobile
 
|Номер мобильного телефона
 
|-
 
!phone (устарел)
 
|(Не используется, значение этого параметра заменяется на mobile)
 
|-
 
!email
 
|Адрес электронной почты (необязательный)
 
|}
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/user/new/instant
 
 
'''Параметры POST'''
 
name=Василий&phone=79000000000&email=vasya@mail.ru
 
 
'''Поля ответа'''
 
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!userCode
 
|Внутренний код пользователя.
 
|-
 
!errorCode
 
|Код ошибки
 
|-
 
!errorMessage
 
|Сообщение ошибки
 
|}
 
 
====Активация пользователя====
 
'''Операция: user/activation'''<br />
 
'''Метод: POST'''
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userCode
 
|Внутренний код пользователя.
 
|-
 
!activationCode
 
|Код активации
 
|}
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/user/activation
 
 
 
'''Параметры POST'''
 
userlogin=username&userpsw=md5pass&userCode=12345&activationCode=567ab097bcd
 
 
Метод возвращает набор узлов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!status
 
|Статус активации.
 
|-
 
!errorMessage
 
|Сообщение об ошибке при статусе = 0
 
|}
 
 
====Получение данных пользователя (авторизация)====
 
'''Операция: user/info'''<br />
 
'''Метод: GET'''
 
 
Возвращает данные пользователя по логину и паролю.
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|}
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/user/info?userlogin=username&userpsw=md5pass
 
 
Метод возвращает набор узлов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор пользователя в системе ABCP.
 
|-
 
!code
 
|Код пользователя.
 
|-
 
!email
 
|Адрес электронной почты пользователя.
 
|-
 
!name
 
|ФИО или название организации
 
|-
 
!mobile
 
|Мобильный телефон
 
|-
 
!organization
 
|Наименование юридического лица
 
|}
 
 
====Гараж====
 
=====Получение списка автомобилей в гараже=====
 
'''Операция: user/garage'''<br />
 
'''Метод: GET'''
 
 
Возвращает список автомобилей гаража текущего пользователя
 
 
'''Параметры запроса'''
 
 
{{Информация|При выполнении данной операции от имени API-администратора, необходимо передавать параметр userId, содержащий идентификатор пользователя вашего сайта.}}
 
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|}
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/user/garage?userlogin=username&userpsw=md5pass
 
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор автомобиля в гараже
 
|-
 
!name
 
|Название автомобиля (пользовательское)
 
|-
 
!comment
 
|Комментарий (пользовательский)
 
|-
 
!year
 
|Год выпуска автомобиля
 
|-
 
!vin
 
|VIN-код автомобиля
 
|-
 
!frame
 
|Номер кузова автомобиля
 
|-
 
!mileage
 
|Пробег автомобиля
 
|-
 
!manufacturerId
 
|Идентификатор марки автомобиля
 
|-
 
!manufacturer
 
|Название марки автомобиля
 
|-
 
!modelId
 
|Идентификатор модели автомобиля
 
|-
 
!model
 
|Название модели автомобиля
 
|-
 
!modificationId
 
|Идентификатор модификации автомобиля
 
|-
 
!modification
 
|Название модификации автомобиля
 
|-
 
!vehicleRegPlate
 
|Государственный номер автомобиля
 
|}
 
 
=====Получение информации об автомобиле в гараже=====
 
'''Операция: user/garage/car'''<br />
 
'''Метод: GET'''
 
 
Возвращает данные по одному автомобилю гаража текущего пользователя
 
 
'''Параметры запроса'''
 
 
{{Информация|При выполнении данной операции от имени API-администратора, необходимо передавать параметр userId, содержащий идентификатор пользователя вашего сайта.}}
 
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!carId
 
|Идентификатор автомобиля в гараже
 
|}
 
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/user/garage/car?userlogin=username&userpsw=md5pass&carId=14214
 
 
Метод возвращает объект вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор автомобиля в гараже
 
|-
 
!name
 
|Название автомобиля (пользовательское)
 
|-
 
!comment
 
|Комментарий (пользовательский)
 
|-
 
!year
 
|Год выпуска автомобиля
 
|-
 
!vin
 
|VIN-код автомобиля
 
|-
 
!frame
 
|Номер кузова автомобиля
 
|-
 
!mileage
 
|Пробег автомобиля
 
|-
 
!manufacturerId
 
|Идентификатор марки автомобиля
 
|-
 
!manufacturer
 
|Название марки автомобиля
 
|-
 
!modelId
 
|Идентификатор модели автомобиля
 
|-
 
!model
 
|Название модели автомобиля
 
|-
 
!modificationId
 
|Идентификатор модификации автомобиля
 
|-
 
!modification
 
|Название модификации автомобиля
 
|-
 
!vehicleRegPlate
 
|Государственный номер автомобиля
 
|}
 
 
=====Добавление автомобиля в гараж=====
 
'''Операция: user/garage/add'''<br />
 
'''Метод: POST'''
 
 
Добавляет автомобиль в гараж
 
 
'''Параметры запроса'''
 
 
{{Информация|Для получения индентификаторов марок/моделей/модификаций воспользуйтесь операциями из раздела [[#Дерево автомобилей|"дерево автомобилей"]].}}
 
 
{{Информация|При выполнении данной операции от имени API-администратора, необходимо передавать параметр userId, содержащий идентификатор пользователя вашего сайта.}}
 
 
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!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
 
 
Метод возвращает объект вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор автомобиля в гараже
 
|-
 
!name
 
|Название автомобиля (пользовательское)
 
|-
 
!comment
 
|Комментарий (пользовательский)
 
|-
 
!year
 
|Год выпуска автомобиля
 
|-
 
!vin
 
|VIN-код автомобиля
 
|-
 
!frame
 
|Номер кузова автомобиля
 
|-
 
!mileage
 
|Пробег автомобиля
 
|-
 
!manufacturerId
 
|Идентификатор марки автомобиля
 
|-
 
!manufacturer
 
|Название марки автомобиля
 
|-
 
!modelId
 
|Идентификатор модели автомобиля
 
|-
 
!model
 
|Название модели автомобиля
 
|-
 
!modificationId
 
|Идентификатор модификации автомобиля
 
|-
 
!vehicleRegPlate
 
|Государственный номер автомобиля
 
|}
 
 
=====Обновление автомобиля в гараже=====
 
'''Операция: user/garage/update'''<br />
 
'''Метод: POST'''
 
 
Изменяет автомобиль в гараже. Обязательным свойством автомобиля является только carId, то есть, можно передавать только те параметры, которые необходимо изменить. Не переданные свойства изменены не будут.
 
 
'''Параметры запроса'''
 
 
{{Информация|При выполнении данной операции от имени API-администратора, необходимо передавать параметр userId, содержащий идентификатор пользователя вашего сайта.}}
 
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!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
 
 
Метод возвращает объект вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор автомобиля в гараже
 
|-
 
!name
 
|Название автомобиля (пользовательское)
 
|-
 
!comment
 
|Комментарий (пользовательский)
 
|-
 
!year
 
|Год выпуска автомобиля
 
|-
 
!vin
 
|VIN-код автомобиля
 
|-
 
!frame
 
|Номер кузова автомобиля
 
|-
 
!mileage
 
|Пробег автомобиля
 
|-
 
!manufacturerId
 
|Идентификатор марки автомобиля
 
|-
 
!manufacturer
 
|Название марки автомобиля
 
|-
 
!modelId
 
|Идентификатор модели автомобиля
 
|-
 
!model
 
|Название модели автомобиля
 
|-
 
!modificationId
 
|Идентификатор модификации автомобиля
 
|-
 
!modification
 
|Название модификации автомобиля
 
|-
 
!vehicleRegPlate
 
|Государственный номер автомобиля
 
|}
 
 
=====Удаление автомобиля из гаража=====
 
'''Операция: user/garage/delete'''<br />
 
'''Метод: POST'''
 
 
Удаляет автомобиль из гаража.
 
 
'''Параметры запроса'''
 
 
{{Информация|При выполнении данной операции от имени API-администратора, необходимо передавать параметр userId, содержащий идентификатор пользователя вашего сайта.}}
 
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!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'''<br />
 
'''Метод: POST'''
 
 
Операция восстановление пароля пользователя.
 
 
'''Механизм использования'''
 
 
Восстановление пароля состоит из двух этапов:
 
 
#Запрос восстановления пароля с указанием номера телефона или email. В результате успешного завершения будет отправлено стандартное письмо со ссылкой восстановления пароля на указанный email или код в SMS на указанный номер телефона.
 
#Сохранение нового пароля с указанием кода подтверждения из SMS. Данный этап актуален только для восстановления по номеру телефона, так как в случае с email, в письме придет ссылка на форму восстановления пароля на сайте, и второй этап будет выполнен в ней.
 
 
 
'''Параметры запроса'''
 
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!emailOrMobile
 
|Email или телефон [первый этап]
 
|-
 
!passwordNew
 
|Новый пароль [второй этап]
 
|-
 
!code
 
|Код из смс [второй этап]
 
|}
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/user/restore
 
 
'''Параметры POST'''
 
emailOrMobile=799912345678
 
 
Метод возвращает:
 
 
*при ошибке стандартный ответ с полями errorCode и errorMessage
 
*при успешности ответ с полями status (возможные значения 1 и 2) и message c текстом сообщения о статусе выполнения операции
 
 
===Дерево автомобилей===
 
====Получение списка годов====
 
'''Операция: cartree/years'''<br />
 
'''Метод: GET'''
 
 
Возвращает список доступных годов для дерева автомобилей
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!manufacturerId
 
|Идентификатор марки для фильтрации. Необязательное.
 
|}
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/cartree/years?userlogin=username&userpsw=md5pass
 
 
Метод возвращает массив доступных годов.
 
 
====Получение списка марок====
 
'''Операция: cartree/manufacturers'''<br />
 
'''Метод: GET'''
 
 
Возвращает список доступных марок для дерева автомобилей
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!year
 
|Год для фильтрации марок. Необязательное.
 
|}
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/cartree/manufacturers?userlogin=username&userpsw=md5pass
 
 
Метод возвращает массив объектов вида:
 
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор марки
 
|-
 
!name
 
|Название марки
 
|}
 
 
====Получение списка моделей====
 
'''Операция: cartree/models'''<br />
 
'''Метод: GET'''
 
 
Возвращает список доступных моделей указанной марки для дерева автомобилей
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!manufacturerId
 
|Идентификатор марки
 
|-
 
!year
 
|Год для фильтрации моделей. Необязательное.
 
|}
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/cartree/models?userlogin=username&userpsw=md5pass
 
 
Метод возвращает массив объектов вида:
 
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор модели
 
|-
 
!name
 
|Название модели
 
|-
 
!yearFrom
 
|Дата начала выпуска модели
 
|-
 
!yearTo
 
|Дата окончания выпуска модели
 
|}
 
 
====Получение списка модификаций====
 
'''Операция: cartree/modifications'''<br />
 
'''Метод: GET'''
 
 
Возвращает список доступных модификаций указанной марки и модели для дерева автомобилей
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!manufacturerId
 
|Идентификатор марки
 
|-
 
!modelId
 
|Идентификатор модели
 
|-
 
!year
 
|Год для фильтрации моделей. Необязательное.
 
|}
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/cartree/modifications?userlogin=username&userpsw=md5pass
 
 
Метод возвращает массив объектов вида:
 
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор модификации
 
|-
 
!name
 
|Название модификации
 
|-
 
!yearFrom
 
|Дата начала выпуска модификации
 
|-
 
!yearTo
 
|Дата окончания выпуска модификации
 
|-
 
!modelId
 
|Идентификатор модели
 
|-
 
!model
 
|Название модели
 
|-
 
!manufacturerId
 
|Идентификатор марки
 
|-
 
!manufacturer
 
|Название марки
 
|-
 
!fullName
 
|Полное название модификации, включающее марку и модель
 
|}
 
 
===Формы===
 
<span id="getFormFields"></span>
 
====Получение списка полей формы====
 
'''Операция: form/fields'''<br />
 
'''Метод: GET'''
 
 
Возвращает список полей формы и все параметры в соответствии с установленными настройками в панели управления на странице Внешний вид и контент / Формы.
 
На текущий момент доступны только формы регистрации, реализованные в API-методе user/new.
 
Метод не требует авторизации.
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!name
 
|Имя формы. Возможные значения: '''registration_wholesale''' - опт; '''registration_retail''' - розница
 
|-
 
!locale
 
|Локаль формы (по умолчанию, ru_RU)
 
|}
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/form/fields?name=registration_retail&locale=ru_KZ
 
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!name
 
|Имя поля. Соответствует имени поля в соответствующем API-методе.
 
|-
 
!label
 
|Метка поля на языке локали. Название поля в форме.
 
|-
 
!isRequired
 
|Флаг "Обязательное поле".
 
|-
 
!errorMessage
 
|Текстовое сообщение на языке локали, которое будет показано при некорректном заполнении поля.
 
|}
 
 
===Артикулы===
 
====Получение справочника брендов====
 
'''Операция: articles/brands'''<br />
 
'''Метод: GET'''
 
 
Возвращает список всех брендов зарегистрированных в системе с их синонимами.
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя
 
|}
 
 
 
'''Пример запроса'''
 
https://demo.public.api.abcp.ru/articles/brands?userlogin=username&userpsw=md5pass
 
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!name
 
|Имя бренда
 
|-
 
!aliases
 
|Массив, содержащий список синонимов текущего бренда
 
|}
 
 
====Получение карточки товара====
 
'''Операция: articles/info'''<br />
 
'''Метод: GET'''
 
 
{{Информация|Данная операция доступна только API-администратору}}
 
 
Возвращает данные по указанному в параметрах товару
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!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
 
|Источник кроссов. Необязательный параметр. Через него передается массив со списком источников, в которых нужно искать кроссы.  <br />standard - Кроссы с достоверностью 99.9 % ; <br />common- Кроссы с достоверностью 95%; <br /> common_cat - Кроссы нескольких неоригинальных каталогов. <br /> Если параметр не передается, то в ответе выводятся все источники, подключенные в ПУ <br> пример: &source[]=standard&source[]=common
 
|-
 
!with_original
 
|Признак кроссирования через оригинал. Необязательный параметр. Через него передается массив со списком источников, в которых используется кроссирование через оригинал. Работает данный параметр только при ручном указании источников кроссов (source). Если его не передавать то в ответе нет кроссов через оригинал по указанным источникам.
 
Если указать данный параметр без указания конкретных источников - в ответе получаем текст "Для получения аналогов через оригинал обязательно указывайте источники кроссов". <br> пример: &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
 
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!brand
 
|Имя производителя
 
|-
 
!number
 
|Искомый номер детали
 
|-
 
!outer_number
 
|Номер детали, содержащий пробелы, слэши и другие символы.
 
|-
 
!properties
 
|Массив свойств детали: описание, вес, объем и т.п. (при включенном формате p)
 
|-
 
!crosses
 
|Массив информации об аналогах (при включенном формате c).<br>Пример: А - запрашиваемая деталь<br>crossType = 1 - замена (replacement), деталь B заменяет деталь A<br>crossType = 2 - входит в комплект (unclude), деталь B является частью детали A<br>crossType = 3 - является частью комплекта (part of), деталь A является частью детали B<br>crossType = 4 - односторонняя замена, деталь A заменяется на деталь B<br>crossType = 5 - односторонняя замена, деталь A является заменой для детали B
 
|-
 
!images
 
|Массив изображений товара (при включенном формате i). В массиве указаны имена файлов расположенных по адресу http://pubimg.4mycar.ru/images/
 
 
  |}
 
  |}
 
<!-- |-
 
<!-- |-
 
  !directorFullName
 
  !directorFullName
 
  |ФИО директора -->
 
  |ФИО директора -->

Версия 16:01, 21 сентября 2020

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

API.TecDoc

API.ABCP.Admin

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 Ресурс заблокирован