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

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

 
(не показаны 32 промежуточные версии 4 участников)
Строка 1: Строка 1:
{{Внимание|Данная статья предназначена для технических специалистов, обладающих, как минимум, начальными знаниями о принципах работы протокола HTTP. Консультации по вопросам относящимся к стандартам HTTP осуществляться не будут.}}
+
{{Внимание|Данная статья предназначена для технических специалистов, обладающих, как минимум, начальными знаниями о принципах работы протокола HTTPS. Консультации по вопросам относящимся к стандартам HTTPS осуществляться не будут.}}
 
__TOC__
 
__TOC__
  
== Общая информация ==
+
<br />
 +
==API VINQU==
 +
===Авторизация запросов===
 +
Значения параметров '''siteHash''' и '''accessHash''' вы можете взять в [https://site.vinqu.com/?page=connect настройках интеграции своей учетной записи].
  
Доступ к публичному VINQU API осуществляется посредством HTTP-запросов и реализован с использованием принципов [http://ru.wikipedia.org/wiki/REST#RESTful_.D0.B2.D0.B5.D0.B1-.D1.81.D0.BB.D1.83.D0.B6.D0.B1.D1.8B REST].
+
===Поиск одного вин запроса===
Базовым URI для веб-службы является:
+
'''Операция:''' vinquery/info/:id<br />'''Метод:''' GET
<pre>
 
http://public.vinqu.api.abcp.ru/
 
</pre>
 
 
 
Обмен осуществляется в кодировке UTF-8.
 
 
 
Для отладки вы можете воспользоваться расширением [https://chrome.google.com/webstore/detail/advanced-rest-client/hgmloofddffdnphfgcellkdfbfbjeloo?utm_source=chrome-ntp-icon Advanced REST Client] для обозревателя Google Chrome.
 
 
 
=== Запрос ===
 
 
 
Запросы на получение и запись данных осуществляются с помощью HTTP-методов GET и POST соответственно.
 
В структуре сервиса имеется понятие ''операции''. Операция указывается в качестве пути в URL. Параметры передаются как строка запроса HTTP (GET) или данными POST.
 
 
 
При использовании метода POST в HTTP-заголовке Content-Type необходимо передать медиа-тип данных запроса application/x-www-form-urlencoded и соответственно с данным типом сформировать тело HTTP-запроса.
 
 
 
В HTTP-заголовке Accept необходимо передать ожидаемый тип данных ответа. В настоящее время реализован только тип JSON, и, в любом случае, будет возвращен он. Тем не менее, при разработке клиента, необходимо учитывать указанную особенность и передавать заголовок '''Accept''' со значением ''application/json''.
 
 
 
=== Ответ ===
 
 
 
В случае успешного исполнения операции, веб-служба вернет ответ с HTTP-кодом 200 и телом ответа в виде [http://ru.wikipedia.org/wiki/JSON JSON]. Формат ответа определяется каждой операцией. Пример результата успешного выполнения запроса:
 
<source lang=javascript line=GESHI_FANCY_LINE_NUMBERS>
 
[
 
{
 
"vinquery": [
 
{
 
"_id": 455164,
 
"resellerId": 248298,
 
"siteId": 518087,
 
"clientId": "522102",
 
"guestInfo": {},
 
"expertId": "565210",
 
"carInfo": {
 
"brand": "PEUGEOT",
 
"model": "",
 
"modificationId": 0,
 
"modification": "",
 
"vin": "Z8T4D5FS9DM010823",
 
"frame": "",
 
"hp": 0,
 
"year": 0,
 
"extraParams": {}
 
},
 
"parts": [
 
{
 
"partId": "5a1af310b44c1bf63d8b456a",
 
"query": "Ремень доп .оборудования",
 
"offers": [
 
{
 
"offerId": "5a1af3d2b44c1b983c8b456b",
 
"brand": "Peugeot-Citroen",
 
"number": "5750RG",
 
"descr": "Ремень поликлиновый генератора",
 
"quantity": 1,
 
"expertId": "565210",
 
"createdDateTime": 1511715794,
 
"updatedDateTime": 1511715794,
 
"deletedDateTime": 0,
 
"deleted": false
 
}
 
]
 
},
 
{
 
"partId": "5a1af310b44c1bf63d8b456b",
 
"query": "Передние тормозные колодки",
 
"offers": [
 
{
 
"offerId": "5a1af45eb44c1b983c8b456c",
 
"brand": "Peugeot-Citroen",
 
"number": "1613259380",
 
"descr": "Дисковые тормозные колодки",
 
"quantity": 1,
 
"expertId": "565210",
 
"createdDateTime": 1511715934,
 
"updatedDateTime": 1511715934,
 
"deletedDateTime": 0,
 
"deleted": false
 
}
 
]
 
},
 
{
 
"partId": "5a1af310b44c1bf63d8b456c",
 
"query": "Фильтр воздушный",
 
"offers": [
 
{
 
"offerId": "5a1af49cb44c1bae408b4567",
 
"brand": "Peugeot-Citroen",
 
"number": "1444XG",
 
"descr": "Фильтр воздушный",
 
"quantity": 1,
 
"expertId": "565210",
 
"createdDateTime": 1511715996,
 
"updatedDateTime": 1511715996,
 
"deletedDateTime": 0,
 
"deleted": false
 
}
 
]
 
},
 
{
 
"partId": "5a1af310b44c1bf63d8b456d",
 
"query": "Фильтр салона",
 
"offers": [
 
{
 
"offerId": "5a1af5a1b44c1ba13e8b4567",
 
"brand": "Peugeot-Citroen",
 
"number": "647975",
 
"descr": "Фильтр салона угольный",
 
"quantity": 1,
 
"expertId": "565210",
 
"createdDateTime": 1511716257,
 
"updatedDateTime": 1511716257,
 
"deletedDateTime": 0,
 
"deleted": false
 
}
 
]
 
},
 
{
 
"partId": "5a1af310b44c1bf63d8b456e",
 
"query": "Фильтр маслянный",
 
"offers": [
 
{
 
"offerId": "5a1af5fbb44c1b8f3d8b456c",
 
"brand": "Peugeot-Citroen",
 
"number": "9818914980",
 
"descr": "Фильтр масляный",
 
"quantity": 1,
 
"expertId": "565210",
 
"createdDateTime": 1511716347,
 
"updatedDateTime": 1511716347,
 
"deletedDateTime": 0,
 
"deleted": false
 
}
 
]
 
}
 
],
 
"createdDateTime": 1511715600,
 
"updatedDateTime": 1511716409,
 
"assignedDateTime": 1511715628,
 
"acceptedDateTime": 1511715628,
 
"completedDateTime": 1511716409,
 
"processingTime": 809,
 
"history": [
 
{
 
"timestamp": 1511715600,
 
"status": "new",
 
"state": "new",
 
"event": "admin/deployAjaxAddQuery",
 
"roleState": "new",
 
"roleState_loc": "Новый"
 
},
 
{
 
"timestamp": 1511715600,
 
"state": "lock",
 
"lockId": "163804",
 
"event": "admin/setPriceBySite"
 
},
 
{
 
"timestamp": 1511715601,
 
"state": "processing_instock_wait",
 
"expertId": "565210",
 
"event": "admin/setPriceBySite"
 
},
 
{
 
"timestamp": 1511715601,
 
"state": "processing_instock_wait",
 
"type": "pushHistory",
 
"event": "admin/setPriceBySite",
 
"event_text": "messageId:90803456"
 
},
 
{
 
"timestamp": 1511715628,
 
"state": "processing_instock",
 
"expertId": "565210",
 
"event": "vinqu/acceptQuery"
 
},
 
{
 
"timestamp": 1511716409,
 
"state": "completed",
 
"expertId": "565210",
 
"event": "vinqu/expertCompleteQuery"
 
},
 
{
 
"timestamp": 1511889305,
 
"state": "closed",
 
"expertId": "565210",
 
"event": "script/vinqu_close_queries"
 
}
 
],
 
"statistics": [
 
{
 
"id": 565210,
 
"rejectedSec": 0,
 
"completedSec": 781,
 
"completedCount": 1,
 
"parts": 5,
 
"offers": 5
 
}
 
],
 
"status": "completed",
 
"state": "closed"
 
}
 
],
 
"total": 1
 
}
 
]
 
</source>
 
 
 
Любой ответ с HTTP-кодом 400 и более является ошибочным, в теле содержит код ошибки и, как правило, текстовое сообщение описывающее причины возникшей ошибки также в виде [http://ru.wikipedia.org/wiki/JSON JSON].
 
Пример сообщения об ошибке:
 
<source lang=javascript line=GESHI_FANCY_LINE_NUMBERS>
 
{
 
"status": false,
 
"error": "User Authentication Error"
 
}
 
</source>
 
  
== Операции ==
+
id - Идентификатор запроса (Обязательный параметр)
=== Поиск ===
 
==== Поиск одного вин запроса ====
 
'''Операция: vinquery/info'''<br />
 
'''Метод: GET'''
 
  
 
Осуществляет поиск вин запроса по переданным параметрам.  
 
Осуществляет поиск вин запроса по переданным параметрам.  
Строка 234: Строка 19:
 
  !Описание
 
  !Описание
 
  |-
 
  |-
  !id
+
  !siteHash
  |Идентификатор запроса (Обязательный параметр)
+
  |хэш сайта, с которого был отправлен вин запрос (Обязательный).
|-
 
!resellerId
 
|id сайта - клиента платформы ABCP, с которого был отправлен вин запрос (Может быть пустой)
 
|-
 
!locale
 
|Локаль. Задается в формате language[_territory], например, ru_RU. (Может быть пустой, по умолчанию ru_RU)
 
 
  |-
 
  |-
  !siteId
+
  !accessHash
  |id сайта, с которого был отправлен вин запрос (Может быть пустой).
+
  |хэш доступа к API (Обязательный).
 
  |}
 
  |}
  
 
'''Пример запроса'''
 
'''Пример запроса'''
 
<pre>
 
<pre>
http://public.vinqu.api.abcp.ru/vinquery/info?id=1234
+
https://publicapi.vinqu.com/vinquery/info/518346?siteHash=fa9839689336b1fc63c0e86a7cbeb558ce51ea12&accessHash=12345
 
</pre>
 
</pre>
  
Строка 273: Строка 52:
 
  |}
 
  |}
  
<span>Информация о госте</span>
+
Информация о госте
  
    {| class="wikitable" style="margin-left:50px"
+
{| class="wikitable"
    !Поле
+
!Поле
    !Описание
+
!Описание
    |-
+
|-
    !name
+
!name
    |имя.
+
|имя.
    |-
+
|-
    !phone
+
!phone
    |номер телефона.
+
|номер телефона.
    |-
+
|-
    !email
+
!email
    |почта.
+
|почта.
    |}
+
|}
  
 
{| class="wikitable"
 
{| class="wikitable"
Строка 302: Строка 81:
 
<span>Информация о авто</span>
 
<span>Информация о авто</span>
  
{| class="wikitable" style="margin-left:50px"
+
{| class="wikitable"
 
  !Поле
 
  !Поле
 
  !Описание
 
  !Описание
Строка 344: Строка 123:
 
<span>Информация о part</span>
 
<span>Информация о part</span>
  
{| class="wikitable" style="margin-left:50px"
+
{| class="wikitable"
 
  !Поле
 
  !Поле
 
  !Описание
 
  !Описание
Строка 358: Строка 137:
 
  |}
 
  |}
  
<span>массив структур предложений, полученных от экспертов</span>
+
массив структур предложений, полученных от экспертов
 
+
{| class="wikitable"
{| class="wikitable" style="margin-left:100px"
 
 
  !Поле
 
  !Поле
 
  !Описание
 
  !Описание
Строка 426: Строка 204:
 
<span>массив структур с сообщениями</span>
 
<span>массив структур с сообщениями</span>
  
{| class="wikitable" style="margin-left:50px"
+
{| class="wikitable"
 
  !Поле
 
  !Поле
 
  !Описание
 
  !Описание
Строка 435: Строка 213:
 
  !userId
 
  !userId
 
  |глобальный id юзера в системе.
 
  |глобальный id юзера в системе.
 +
|-
 +
!expertId
 +
|id эксперта, обрабатывающего запрос.
 +
|-
 +
!roleState
 +
|состояние запроса.
 +
|-
 +
!roleState_loc
 +
|состояние запроса в локализации (по умолчанию ru_RU - русская).
 
  |-
 
  |-
 
  !comment
 
  !comment
Строка 454: Строка 241:
 
  |}
 
  |}
  
<span id="search_articles"></span>
+
===Поиск новых сообщений во всех чатах клиента===
 
+
'''Операция:''' vinquery/chatList'''<br />Метод:''' GET
==== Поиск списка вин запросов ====
 
'''Операция: vinquery/list'''<br />
 
'''Метод: GET'''
 
 
 
Осуществляет поиск списка вин запросов по переданным параметрам.
 
  
 +
Осуществляет поиск всех новых сообщений, максимум за последние 15 минут по всем чатам клиента.
 +
В случае отсутствия сообщений вернётся ошибка со статусом 404 и текстом `messages not found`
  
 
'''Параметры запроса'''
 
'''Параметры запроса'''
Строка 468: Строка 252:
 
  !Описание
 
  !Описание
 
  |-
 
  |-
  !resellerId
+
  !siteHash
  |id реселлера
+
  |хэш сайта (Обязательный параметр)
 
  |-
 
  |-
  !skip
+
  !accessHash
  |начало выборки, по умолчанию 0
+
  |хэш доступа к API (Обязательный).
 
  |-
 
  |-
  !limit
+
  !timestamp
  |сколько максимум выбрать. По умолчанию 30
+
  |отметка времени, начиная с которой показывать сообщения
 
  |-
 
  |-
 
  !locale
 
  !locale
  |Локализация. По умолчанию ru_RU
+
  |локализация (про умолчанию ru_RU) возможные значения (ru_RU , en_US)
|-
 
!filter
 
|Фильтр - массив с возможными значениями.
 
|}
 
 
 
<span>Фильтр - массив с возможными значениями</span>
 
 
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!id
 
|id запроса
 
|-
 
!resellerId
 
|id реселлера
 
|-
 
!siteId
 
|id сайта
 
|-
 
!clientId
 
|id клиента
 
|-
 
!expertId
 
|id эксперта.
 
|-
 
!vin
 
|Значение vin.
 
|-
 
!frame
 
|Значение фрейм.
 
|-
 
!stock
 
|На бирже или нет флаг. 0 или 1.
 
|-
 
!accepted
 
|Принят ли экспертом флаг 0 или 1.
 
|-
 
!clientIdNot
 
|id клиента не равен переданному.
 
|-
 
!expertIdNot
 
|id эксперта не равен переданному.
 
|-
 
!modificationId
 
|id модификации.
 
|-
 
!createdDateTime
 
|Время создания запроса. Ассоциативный массив, возможные ключи from и to, а значения timestamp.
 
|-
 
!updatedDateTime
 
|Время обновления запроса. Ассоциативный массив, возможные ключи from и to, а значения timestamp.
 
|-
 
!assignedDateTime
 
|Время назначения запроса. Ассоциативный массив, возможные ключи from и to, а значения timestamp.
 
|-
 
!acceptedDateTime
 
|Время принятия запроса экспертом. Ассоциативный массив, возможные ключи from и to, а значения timestamp.
 
|-
 
!completedDateTime
 
|Время завершения запроса. Ассоциативный массив, возможные ключи from и to, а значения timestamp.
 
|-
 
!brandNot
 
|Бренд не должен быть равен переданному.
 
|-
 
!q
 
|Поиск значения внутри carInfo по одному из полей.
 
|-
 
!partsQuery
 
|Запрашиваемая запчасть.
 
|-
 
!expertIn
 
|Массив id экспертов.
 
|-
 
!state
 
|Массив состояний.
 
 
  |}
 
  |}
  
 
'''Пример запроса'''
 
'''Пример запроса'''
http://public.vinqu.api.abcp.ru/vinquery/list?filter[clientId]=522102&filter[state][]=closed&filter[vin]=Z8T4D5FS9DM010823&filter[expertId]=565210
+
<pre>
 
+
https://publicapi.vinqu.com/vinquery/chatList?siteHash=fa9839689336b1fc63c0e86a7cbeb558ce51ea12&accessHash=123456&timestamp=1533642418
'''Поля ответа'''
+
</pre>
  
 +
'''Поля ответа в случае успешно выполненного запроса'''
  
 
{| class="wikitable"
 
{| class="wikitable"
Строка 567: Строка 276:
 
  !Описание
 
  !Описание
 
  |-
 
  |-
  !vinquery
+
  !chatList
  |Массив структур вин запроса (пример выше в vinquery/info).
+
  |массив, у которого ключ - номер запроса, значение - массив структур chatItem.
|-
 
!total
 
|Количество найденных запросов.
 
 
  |}
 
  |}
  
==== Пакетный запрос без учета аналогов ====
+
'''структура chatItem'''
'''Операция: search/batch'''<br />
 
'''Метод: POST'''
 
 
 
Осуществляет поиск по номеру производителя и бренду детали.
 
Возвращает массив найденных деталей.
 
 
 
'''Внимание! Данная операция не выполняет поиск по online-складам.'''
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!search
 
|Набор искомых деталей в формате brand - number. Максимум 30 000 деталей либо 256 Мб.
 
|}
 
 
 
'''Пример запроса'''
 
http://api.demo.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"
 
{| class="wikitable"
Строка 613: Строка 286:
 
  !Описание
 
  !Описание
 
  |-
 
  |-
  !brand
+
  !timestamp
  |Имя производителя.
+
  |отметка времени.
 
  |-
 
  |-
  !number
+
  !userId
  |Код детали.
+
  |id клиента.
 
  |-
 
  |-
  !numberFix
+
  !expertId
  |"Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
+
  |id эксперта, обрабатывающего запрос.
 
  |-
 
  |-
  !description
+
  !roleState
  |Описание детали.
+
  |состояние запроса.
 
  |-
 
  |-
  !availability
+
  !roleState_loc
  |Наличие детали на складе.<br />Отрицательные значения -1, -2 и -3 означают "неточное" наличие, которое на сайте выглядит как "+", "++" и "+++" соответственно.<br />Отрицательное значение -10 означает наличие "под заказ".
+
  |состояние запроса локализованное.
 
  |-
 
  |-
  !packing
+
  !comment
  |Мин. партия для заказа (кратность).
+
  |текст сообщения.
|-
 
!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-хэш пароля пользователя в системе
 
|}
 
 
'''Пример запроса'''
 
http://api.demo.abcp.ru/search/history?userlogin=username&userpsw=md5pass
 
 
 
'''Поля ответа'''
 
 
Метод возвращает массив объектов вида:
 
 
{| class="wikitable"
 
{| class="wikitable"
 
  !Поле
 
  !Поле
 
  !Описание
 
  !Описание
 
  |-
 
  |-
  !brand
+
  !Error
  |Имя производителя.
+
  |текст ошибки.
|-
 
!number
 
|Номер детали (код производителя).
 
|-
 
!numberFix
 
|"Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
 
|-
 
!description
 
|Описание детали.
 
|-
 
!datetime
 
|Дата и время поиска в формате ГГГГММДДччммсс.
 
 
  |}
 
  |}
  
==== Подсказки по поиску ====
+
===Поиск списка вин запросов===
'''Операция: search/tips'''<br />
+
'''Операция:''' vinquery/list<br />'''Метод:''' GET
'''Метод: GET'''
 
  
Возвращает по части номера массив подходящих пар бренд - номер
+
Осуществляет поиск списка вин запросов по переданным параметрам.
  
 
'''Параметры запроса'''
 
'''Параметры запроса'''
Строка 733: Строка 325:
 
  !Описание
 
  !Описание
 
  |-
 
  |-
  !userlogin
+
  !siteHash
  |Имя пользователя в системе
+
  |хэш сайта (Обязательный параметр)
 
  |-
 
  |-
  !userpsw
+
  !accessHash
  |md5-хэш пароля пользователя в системе
+
  |хэш доступа к API (Обязательный).
 
  |-
 
  |-
  !number
+
  !skip
  |Номер (часть номера) детали
+
  |начало выборки, по умолчанию 0
|}
 
 
 
'''Пример запроса'''
 
http://api.demo.abcp.ru/search/tips?userlogin=username&userpsw=md5pass&number=0108
 
 
 
 
 
'''Поля ответа'''
 
 
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
 
  |-
 
  |-
  !brand
+
  !limit
  |Имя производителя.
+
  |сколько максимум выбрать. По умолчанию 30
|-
 
!number
 
|Номер детали (код производителя).
 
|-
 
!rating
 
|Значение рейтинга
 
 
  |}
 
  |}
==== Поиск сопутствующих товаров ====
 
'''Операция: advices/'''<br />
 
'''Метод: GET'''<br />
 
Функция  реализует механизм "с этим товаром покупают" на основе статистики покупки комплектов товаров. Типичный пример использования функции: покупатель выбрал масляный фильтр - система рекомендует остальные товары из набора для ТО. Или, покупатель выбрал левый передний амортизатор, система покажет правый передний. Осуществляет поиск сопутствующих товаров по запрашиваемой паре "Бренд-номер".  Дополнительно можно передать параметр limit (рекомендуется = 5), ограничивающий выдачу рекомендаций.
 
  
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!brand
 
|Имя производителя
 
|-
 
!number
 
|Номер  детали
 
|-
 
!limit
 
|необязательный параметр, ограничивающий выдачу
 
|}
 
  
 
'''Пример запроса'''
 
'''Пример запроса'''
http://api.demo.abcp.ru/advices/?userlogin=username&userpsw=md5pass&brand=MB&number=A2058350147&limit=5
+
https://publicapi.vinqu.com/vinquery/list?siteHash=fa9839689336b1fc63c0e86a7cbeb558ce51ea12&accessHash=123456
  
 
'''Поля ответа'''
 
'''Поля ответа'''
 
Метод возвращает массив объектов вида:
 
 
{| class="wikitable"
 
{| class="wikitable"
 
  !Поле
 
  !Поле
 
  !Описание
 
  !Описание
 
  |-
 
  |-
  !brand
+
  !vinquery
  |Имя производителя.
+
  |Массив структур вин запроса (пример выше в vinquery/info).
|-
 
!number
 
|Номер детали (код производителя).
 
 
  |-
 
  |-
 
  !total
 
  !total
  |Количество заказов, в которых встречается данное сочетание товаров
+
  |Количество найденных запросов.
 
  |}
 
  |}
  
'''Операция: advices/batch'''<br />
+
===Добавить сообщение в чат===
'''Метод: POST'''<br />
+
'''Операция:''' vinquery/addComment<br />'''Метод:''' POST
Функция реализует механизм "с этим товаром покупают" по нескольким  товарам.  Дополнительно можно передать параметр limit (рекомендуется = 5), ограничивающий выдачу рекомендаций. Параметры товаров передаются в виде JSON-массива articles из объектов с полями 'brand' и 'number'.
 
 
 
При использовании этой операции '''НЕОБХОДИМО!''' передавать заголовок '''Content-Type: application/json''' , а параметры передавать в теле запроса.
 
  
 +
Осуществляет добавление нового сообщения в чат
  
 
'''Параметры запроса'''
 
'''Параметры запроса'''
Строка 821: Строка 364:
 
  !Описание
 
  !Описание
 
  |-
 
  |-
  !userlogin
+
  !siteHash
  |Имя пользователя в системе
+
  |хэш сайта (Обязательный)
 
  |-
 
  |-
  !userpsw
+
  !accessHash
  |md5-хэш пароля пользователя в системе
+
  |хэш доступа к API (Обязательный).
 
  |-
 
  |-
  !articles
+
  !userId
  |массив объектов, содержащих brand и number
+
  |id клиента
|-
 
!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-хэш пароля пользователя в системе
 
|}
 
 
 
'''Пример запроса'''
 
http://api.demo.abcp.ru/basket/multibasket?userlogin=XXXXXX&userpsw=XXXXXXX
 
 
 
'''Поля ответа'''
 
 
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
 
  |-
 
  |-
 
  !id
 
  !id
  |Идентификатор корзины
+
  |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
 
|Необязательный параметр - идентификатор корзины при использовании мультикорзины
 
|}
 
 
 
'''Пример запроса'''
 
http://api.demo.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
 
  !comment
|Комментарий к позиции.
+
  |Текст сообщения
|-
 
!status
 
|Статус добавления позиции в корзину. Принимает значение 0 - произошла ошибка или 1, если все успешно.
 
|-
 
!errorMessage
 
  |Текст сообщения об ошибке при статусе 0
 
|}
 
 
 
==== Очистка корзины====
 
'''Операция: basket/clear'''<br />
 
'''Метод: POST'''
 
 
 
Удаляет все позиции из корзины.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!basketId
 
|Необязательный параметр - идентификатор корзины при использовании мультикорзины
 
 
  |}
 
  |}
  
 
'''Пример запроса'''
 
'''Пример запроса'''
http://api.demo.abcp.ru/basket/clear
+
https://publicapi.vinqu.com/vinquery/addComment
  
'''Параметры POST'''
+
'''POST параметры'''
  userlogin=username&userpsw=md5pass
+
  userId=123&id=321&comment=Test query&siteHash=fa9839689336b1fc63c0e86a7cbeb558ce51ea12&accessHash=123456
  
'''Поля ответа'''
+
'''Поля ответа в случае успеха'''
  
Метод возвращает ответ:
 
 
{| class="wikitable"
 
{| class="wikitable"
 
  !Поле
 
  !Поле
 
  !Описание
 
  !Описание
 
  |-
 
  |-
  !status
+
  !Status
  |Статус очистки корзины. Принимает значение 0 - произошла ошибка или 1, если все успешно.
+
  |true или false
|-
 
!errorMessage
 
|Текст сообщения об ошибке при статусе 0.
 
 
  |}
 
  |}
  
==== Получение списка товаров в корзине ====
+
'''Поля ответа в случае ошибки'''
'''Операция: basket/content'''<br />
 
'''Метод: GET'''
 
  
Возвращает список позиций, находящихся в корзине.
 
'''Внимание!''' При изменении цены или наличия позиции на складе, статус позиции примет значение 1, а поле errorMessage будет содержать описание возникшей проблемы.
 
Иначе, поле status будет равно 0.
 
'''Внимание!''' Если у вас подключена опция "Корзина: разрешать частичное оформление заказа". То в ответ веб-сервиса будут попадать только отмеченные позиции.
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!basketId
 
|Необязательный параметр - идентификатор корзины при использовании мультикорзины
 
|}
 
 
'''Пример запроса'''
 
http://api.demo.abcp.ru/basket/content?userlogin=username&userpsw=md5pass
 
 
'''Поля ответа'''
 
 
Метод возвращает набор узлов вида:
 
 
{| class="wikitable"
 
{| class="wikitable"
 
  !Поле
 
  !Поле
 
  !Описание
 
  !Описание
 
  |-
 
  |-
  !brand
+
  !Error
|Имя производителя.
+
  |Текст ошибки
|-
 
!number
 
|Номер детали (код производителя).
 
|-
 
!numberFix
 
|"Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
 
|-
 
!code
 
|Код детали (уникальный код на сайте).
 
|-
 
!supplierCode
 
|Код поставки.
 
|-
 
!itemKey
 
|Код позиции. Необходим для добавления товара в корзину. '''Внимание! Не является уникальным идентификатором!'''Параметр "itemKey" обязателен для передачи заказа онлайн-поставщику, а также при передаче заказа от франчайзи к ГК
 
|-
 
!description
 
|Описание детали.
 
|-
 
!price
 
|Цена за штуку
 
|-
 
!quantity
 
|Заказываемое количество
 
|-
 
!comment
 
|Комментарий к позиции.
 
|-
 
!status
 
|Статус позиции в корзине. Принимает значение 0 - при ошибке или 1, если все успешно.
 
|-
 
!errorMessage
 
  |Текст сообщения об ошибке при статусе 0
 
|}
 
 
 
==== Получение списка способов оплаты ====
 
'''Операция: basket/paymentMethods'''<br />
 
'''Метод: GET'''
 
 
 
Возвращает список доступных способов оплаты.
 
Идентификатор способа оплаты необходим при отправке заказа (при включенной опции "Корзина: показывать способ оплаты").
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
 
  |}
 
  |}
  
'''Пример запроса'''
+
===Создание запроса===
http://api.demo.abcp.ru/basket/paymentMethods?userlogin=username&userpsw=md5pass
+
'''Операция:''' vinquery/add
  
'''Поля ответа'''
+
'''Метод:''' POST
  
Метод возвращает набор узлов вида:
+
Осуществляет создание нового вин запроса
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор способа оплаты.
 
|-
 
!name
 
|Способ оплаты.
 
|}
 
 
 
==== Получение списка способов доставки ====
 
'''Операция: basket/shipmentMethods'''<br />
 
'''Метод: GET'''
 
 
 
Возвращает список доступных способов доставки.
 
Идентификатор способа доставки необходим при отправке заказа (при включенной опции "Корзина: показывать типы доставки").
 
  
 
'''Параметры запроса'''
 
'''Параметры запроса'''
Строка 1137: Строка 418:
 
  !Описание
 
  !Описание
 
  |-
 
  |-
  !userlogin
+
  !siteHash
  |Имя пользователя в системе
+
  |хэш сайта (Обязательный)
 
  |-
 
  |-
  !userpsw
+
  !accessHash
  |md5-хэш пароля пользователя в системе
+
  |хэш доступа к API (Обязательный).
|}
 
 
 
'''Пример запроса'''
 
http://api.demo.abcp.ru/basket/shipmentMethods?userlogin=username&userpsw=md5pass
 
 
 
'''Поля ответа'''
 
 
 
Метод возвращает набор узлов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
 
  |-
 
  |-
  !id
+
  !clientId
  |Идентификатор способа доставки.
+
  |id клиента
 
  |-
 
  |-
  !name
+
  !file
  |Способ доставки.
+
  |Прикрепленный файл изображения. В curl запросе file=@"/path_to_image/image.jpg". Формат изображения: jpg/png
|}
 
 
 
==== Получение списка офисов самовывоза ====
 
'''Операция: basket/shipmentOffices'''<br />
 
'''Метод: GET'''
 
 
 
Возвращает список доступных офисов для самовывоза.
 
Идентификатор офиса самовывоза при отправке заказа (при включенной опции "Заказы: показывать офисы при выборе самовывоза").
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
 
  |-
 
  |-
  !userlogin
+
  !carInfo
  |Имя пользователя в системе
+
  |Информация об автомобиле. Ассоциативный массив следующего вида
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|}
 
 
 
'''Пример запроса'''
 
http://api.demo.abcp.ru/basket/shipmentOffices?userlogin=username&userpsw=md5pass
 
 
 
'''Поля ответа'''
 
 
 
Метод возвращает набор узлов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор офиса
 
|-
 
!name
 
|Название офиса
 
|}
 
 
 
==== Получение списка адресов доставки ====
 
'''Операция: basket/shipmentAddresses'''<br />
 
'''Метод: GET'''
 
 
 
Возвращает список доступных адресов доставки.
 
Идентификатор адреса доставки необходим при отправке заказа.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|}
 
 
 
'''Пример запроса'''
 
http://api.demo.abcp.ru/basket/shipmentAddresses?userlogin=username&userpsw=md5pass
 
 
 
'''Поля ответа'''
 
 
 
Метод возвращает набор узлов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор адреса доставки.
 
|-
 
!name
 
|Адрес доставки.
 
|}
 
 
 
==== Получение списка дат отгрузки ====
 
'''Операция: basket/shipmentDates'''<br />
 
'''Метод: GET'''
 
 
 
Возвращает список доступных дат отгрузки.
 
Дата отгрузки необходима при отправке заказа (при включенной опции "Корзина: показывать дату отгрузки").
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|}
 
 
 
'''Пример запроса'''
 
http://api.demo.abcp.ru/basket/shipmentDates?userlogin=username&userpsw=md5pass
 
 
 
'''Поля ответа'''
 
 
 
Метод возвращает набор узлов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!date
 
|Дата отгрузки в формате ГГГГ-ММ-ДД
 
|-
 
!name
 
|Дата отгрузки и день недели для отображения
 
|}
 
 
 
==== Отправка корзины в заказ ====
 
'''Операция: basket/order'''<br />
 
'''Метод: POST'''
 
 
 
Осуществляет отправку позиций, содержащихся в корзине, в заказ.
 
Возвращает статус операции, а так же список созданных заказов со списками позиций в каждом из них.
 
'''Внимание!''' При отправке заказа могут возникнуть ошибки, при этом, часть позиций могут отправиться.
 
Следовательно, независимо от статуса выполнения операции, необходимо проверять узел orders на наличие сформированных заказов.
 
 
 
'''Внимание изменения с 10 августа!''' Параметр shipmentAddress становится обязательным для заполнения. Получить идентификатор адреса доставки можно с помощью операции basket/shipmentAddresses, если она не возвращает никаких значений, то shipmentAddress - является необязательным параметром. Если не используете доставку на адрес, а пользуетесь самовывозом, то необходимо передать shipmentAddress=0.
 
 
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!paymentMethod
 
|Идентификатор способа оплаты.
 
|-
 
!shipmentMethod
 
|Идентификатор способа доставки.
 
|-
 
!shipmentAddress
 
|Идентификатор адреса доставки.
 
|-
 
!shipmentOffice
 
|Идентификатор офиса самовывоза
 
|-
 
!shipmentDate
 
|Дата отгрузки.
 
|-
 
!comment
 
|Комментарий к заказу.
 
|-
 
!basketId
 
|Необязательный параметр - идентификатор корзины при использовании мультикорзины
 
|}
 
 
 
'''Пример запроса'''
 
http://api.demo.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
 
|Комментарий к заказу
 
|-
 
!positions
 
|Список позиций заказа.
 
|}
 
  
Узел positions содержит набор объектов вида:
 
 
{| class="wikitable"
 
{| class="wikitable"
 
  !Поле
 
  !Поле
Строка 1373: Строка 441:
 
  |-
 
  |-
 
  !brand
 
  !brand
  |Имя производителя.
+
  |бренд.
 
  |-
 
  |-
  !number
+
  !model
  |Номер детали (код производителя).
+
  |модель.
 
  |-
 
  |-
  !numberFix
+
  !modificationId
  |"Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
+
  |id модификации.
 
  |-
 
  |-
  !code
+
  !modification
  |Код детали (уникальный код на сайте).
+
  |модификация.
 
  |-
 
  |-
  !supplierCode
+
  !vin
  |Код поставки.
+
  |вин номер.
 
  |-
 
  |-
  !itemKey
+
  !frame
  |Код позиции. Необходим для добавления товара в корзину. '''Внимание! Не является уникальным идентификатором!'''Параметр "itemKey" обязателен для передачи заказа онлайн-поставщику, а также при передаче заказа от франчайзи к ГК
+
  |фрейм номер.
 
  |-
 
  |-
  !description
+
  !hp
  |Описание детали.
+
  |лошадиные силы.
 
  |-
 
  |-
  !quantity
+
  !year
  |Заказываемое количество
+
  |год выпуска.
|-
 
!price
 
|Цена за единицу товара
 
|-
 
!comment
 
|Комментарий к позиции
 
|-
 
!status
 
|Статус позиции заказа
 
|-
 
!statusCode
 
|Код статуса позиции заказа
 
 
  |}
 
  |}
  
<span id="orders_instant"></span>
 
 
==== Моментальный заказ====
 
'''Операция: orders/instant'''<br />
 
'''Метод: POST'''
 
 
Объединяет в себе операции basket/add и basket/order то есть, добавляет переданный в параметрах список товаров в корзину и сразу же отправляет их в заказ. У данной операции есть важная особенность - она не учитывает позиции, которые уже лежат в корзине, в заказ они не попадут и останутся в корзине пользователя. Использование данной операции оптимально при автоматическом перезаказе у клиентов платформы ABCP.
 
 
Возвращает статус операции, а так же список созданных заказов со списками позиций в каждом из них.
 
'''Внимание!''' При отправке заказа могут возникнуть ошибки, при этом, часть позиций могут отправиться.
 
Следовательно, независимо от статуса выполнения операции, необходимо проверять узел orders на наличие сформированных заказов.
 
 
'''Внимание изменения с 10 августа!''' Параметр shipmentAddress становится обязательным для заполнения. Получить идентификатор адреса доставки можно с помощью операции basket/shipmentAddresses, если она не возвращает никаких значений, то shipmentAddress - является необязательным параметром. Если не используете доставку на адрес, а пользуетесь самовывозом, то необходимо передать shipmentAddress=0.
 
 
'''Параметры запроса'''
 
 
{| class="wikitable"
 
{| class="wikitable"
 
  !Параметр
 
  !Параметр
 
  !Описание
 
  !Описание
 
  |-
 
  |-
  !userlogin
+
  !clientComment
  |Имя пользователя в системе
+
  |Комментарий клиента.
 
  |-
 
  |-
  !userpsw
+
  !parts
  |md5-хэш пароля пользователя в системе
+
  |Массив запчастей из запроса клиента.
 
  |-
 
  |-
  !positions
+
  !stockEnable
  |Набор добавляемых деталей в формате brand - number - itemKey - supplierCode или code с указанием добавляемого количества в поле quantity и комментария к позиции в поле comment
+
  |флаг 1 или 0, отправлять ли запрос на биржу.
 
  |-
 
  |-
  !paymentMethod
+
  !guestInfo
  |Идентификатор способа оплаты.
+
  |Информация о госте.
|-
 
!shipmentMethod
 
|Идентификатор способа доставки.
 
|-
 
!shipmentAddress
 
|Идентификатор адреса доставки.
 
|-
 
!shipmentOffice
 
|Идентификатор офиса самовывоза
 
|-
 
!shipmentDate
 
|Дата отгрузки.
 
|-
 
!comment
 
|Комментарий к заказу.
 
 
  |}
 
  |}
  
'''Пример запроса'''
+
<span>Информация о госте</span>
http://api.demo.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
 
|Комментарий к заказу
 
|-
 
!positions
 
|Список позиций заказа.
 
|}
 
 
 
Узел positions содержит набор объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!brand
 
|Имя производителя.
 
|-
 
!number
 
|Номер детали (код производителя).
 
|-
 
!numberFix
 
|"Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
 
|-
 
!code
 
|Код детали (уникальный код на сайте).
 
|-
 
!supplierCode
 
|Код поставки.
 
|-
 
!itemKey
 
|Код позиции. Необходим для добавления товара в корзину. '''Внимание! Не является уникальным идентификатором!'''Параметр "itemKey" обязателен для передачи заказа онлайн-поставщику, а также при передаче заказа от франчайзи к ГК
 
|-
 
!description
 
|Описание детали.
 
|-
 
!quantity
 
|Заказываемое количество
 
|-
 
!price
 
|Цена за единицу товара
 
|-
 
!comment
 
|Комментарий к позиции
 
|-
 
!status
 
|Статус позиции заказа
 
|-
 
!statusCode
 
|Код статуса позиции заказа
 
|}
 
 
 
==== Получение позиций заказов со статусами ====
 
'''Операция: orders/list'''<br />
 
'''Метод: GET'''
 
 
 
Принимает список номеров заказов.
 
Осуществляет получение статусов заказов и позиций внутри.
 
Возвращает список заказов со списком позиций в каждом из них.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!orders
 
|список номеров заказов
 
|}
 
 
 
'''Пример запроса'''
 
http://api.demo.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
 
|Список позиций заказа.
 
|}
 
 
 
Узел positions содержит массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!brand
 
|Имя производителя.
 
|-
 
!number
 
|Номер детали (код производителя).
 
|-
 
!numberFix
 
|"Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
 
|-
 
!code
 
|Код детали (уникальный код на сайте).
 
|-
 
!supplierCode
 
|Код поставки.
 
|-
 
!itemKey
 
|Код позиции. '''Внимание! Не является уникальным идентификатором!''' Параметр "itemKey" обязателен для передачи заказа онлайн-поставщику, а также при передаче заказа от франчайзи к ГК.
 
|-
 
!description
 
|Описание детали.
 
|-
 
!quantityOrdered
 
|Заказываемое количество
 
|-
 
!quantity
 
|Итоговое количество
 
|-
 
!price
 
|Цена за единицу товара
 
|-
 
!comment
 
|Комментарий к позиции
 
|-
 
!status
 
|Статус позиции заказа
 
|-
 
!statusId
 
|Идентификатор статуса позиции заказа уникальный в рамках всей системы
 
|-
 
!statusCode
 
|Код статуса позиции заказа
 
|}
 
 
 
<span id="orders"></span>
 
 
 
==== Получение списка заказов ====
 
'''Операция: orders/'''<br />
 
'''Метод: GET'''
 
 
 
Осуществляет получение списка всех заказов клиента по страницам. Сортировка по номеру заказа по убыванию, т.е. сначала передаются самые новые заказы.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!format
 
|(необязательный) - формат вывода результата. По умолчанию отображается информация только по заказам. При значении p - к заказам добавляется информация по всем позициям.
 
|-
 
!skip
 
|(необязательный) - кол-во заказов, которые нужно пропустить. По умолчанию - 0.
 
|-
 
!limit
 
|(необязательный) - кол-во заказов, которые нужно отобразить за один раз. Допускается любое значение от 1 до 1000. По умолчанию - 100.
 
|}
 
 
 
'''Примеры запросов'''
 
http://api.demo.abcp.ru/orders/?userlogin=username&userpsw=md5pass
 
http://api.demo.abcp.ru/orders/?userlogin=username&userpsw=md5pass&format=p&skip=10&limit=20
 
 
 
'''Поля ответа'''
 
 
 
Метод возвращает данные вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!count
 
|Кол-во всех заказов
 
|-
 
!items
 
|Массив с заказами
 
|}
 
  
Свойства заказа:
 
 
{| class="wikitable"
 
{| class="wikitable"
 
  !Поле
 
  !Поле
 
  !Описание
 
  !Описание
|-
 
!number
 
|Номер заказа в портале
 
|-
 
!status
 
|Статус заказа
 
|-
 
!statusCode
 
|Код статуса заказа
 
|-
 
!positionsQuantity
 
|Количество позиций
 
|-
 
!sum
 
|Сумма заказа
 
|-
 
!date
 
|Дата заказа
 
|-
 
!debt
 
|Долг по оплате заказа
 
|-
 
!comment
 
|Комментарий к заказу
 
|-
 
!positions
 
|Список позиций заказа (если параметр format имеет значение p)
 
|}
 
 
Узел positions содержит массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!brand
 
|Имя производителя.
 
|-
 
!number
 
|Номер детали (код производителя).
 
|-
 
!numberFix
 
|"Очищенный" код детали, содержащий только алфавитные и цифровые символы, и, иногда, знак слеша "/".
 
|-
 
!code
 
|Код детали (уникальный код на сайте).
 
|-
 
!supplierCode
 
|Код поставки.
 
|-
 
!itemKey
 
|Код позиции. '''Внимание! Не является уникальным идентификатором!''' Параметр "itemKey" обязателен для передачи заказа онлайн-поставщику, а также при передаче заказа от франчайзи к ГК.
 
|-
 
!description
 
|Описание детали.
 
|-
 
!quantityOrdered
 
|Заказываемое количество
 
|-
 
!quantity
 
|Итоговое количество
 
|-
 
!price
 
|Цена за единицу товара
 
|-
 
!comment
 
|Комментарий к позиции
 
|-
 
!status
 
|Статус позиции заказа
 
|-
 
!statusCode
 
|Код статуса позиции заказа
 
|}
 
 
=== Пользователи ===
 
==== Регистрация пользователя ====
 
'''Операция: user/new'''<br />
 
'''Метод: POST'''
 
 
<!--
 
 
 
ВНИМАНИЕ, КОЛЛЕГИ!
 
При внесении изменений в данный метод, КАТЕГОРИЧЕСКИ необходимо дополнить массив GetFormFieldsOperation::$formToRequestMap
 
 
 
-->
 
Принимает параметры для регистрации пользователя.
 
Осуществляет регистрацию нового пользователя в системе.
 
Возвращает статус выполнения операции регистрации, учетные данные нового пользователя, а так же сообщение об ошибке в случае возникновения таковой.
 
Регистрация через API запрещена при использовании модуля франчайзи, если выключен флаг "Головная компания (ГК) участвует в продажах".
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!marketType
 
|Тип регистрации:
 
# Розница
 
# Опт
 
|-
 
!filialId
 
|Код филиала (если имеются)
 
 
  |-
 
  |-
 
  !name
 
  !name
  |Имя
+
  |имя.
 
  |-
 
  |-
  !secondName
+
  !phone
  |Отчество
+
  |номер телефона.
|-
 
!surname
 
|Фамилия
 
|-
 
!password
 
|Пароль
 
|-
 
!birthDate
 
|Дата рождения, формат YYYY-MM-DD
 
|-
 
!mobile
 
|Номер мобильного телефона
 
|-
 
!memberOfClub
 
|Название автоклуба
 
|-
 
!office
 
|Идентификатор офиса
 
 
  |-
 
  |-
 
  !email
 
  !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
 
|Комментарий
 
 
  |}
 
  |}
  
 
'''Пример запроса'''
 
'''Пример запроса'''
http://api.demo.abcp.ru/user/new
+
https://publicapi.vinqu.com/vinquery/add
  
'''Параметры POST'''
+
'''POST параметры'''
  marketType=1&name=Василий&surname=Васильев&password=12345&mobile=79000000000&email=vasya@mail.ru&regionId=77&city=Москва&deliveryAddress=ул. Ленина, д.2&comment=
+
  clientId=123&carInfo[brand]=Luxgen&carInfo[vin]=222AAA11111111111&parts[]=test&parts[]=test1&clientComment=Test query&siteHash=fa9839689336b1fc63c0e86a7cbeb558ce51ea12&stockEnable=1&accessHash=123456
  
'''Поля ответа'''
+
'''Поля ответа в случае успеха'''
  
 
{| class="wikitable"
 
{| class="wikitable"
Строка 1931: Строка 510:
 
  !Описание
 
  !Описание
 
  |-
 
  |-
  !status
+
  !QueryId
  |Статус выполнения операции
+
  |id запроса
|-
 
!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
 
|Адрес электронной почты (необязательный)
 
 
  |}
 
  |}
  
'''Пример запроса'''
+
'''Поля ответа в случае ошибки'''
http://api.demo.abcp.ru/user/new/instant
 
 
 
'''Параметры POST'''
 
name=Василий&phone=79000000000&email=vasya@mail.ru
 
 
 
'''Поля ответа'''
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Строка 1983: Строка 520:
 
  !Описание
 
  !Описание
 
  |-
 
  |-
  !userCode
+
  !Error
  |Внутренний код пользователя.
+
  |Текст ошибки
|-
 
!errorCode
 
|Код ошибки
 
|-
 
!errorMessage
 
|Сообщение ошибки
 
 
  |}
 
  |}
  
==== Активация пользователя ====
+
===Получение марок===
'''Операция: user/activation'''<br />
 
'''Метод: POST'''
 
  
'''Параметры запроса'''
+
'''Операция:''' brands/get
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userCode
 
|Внутренний код пользователя.
 
|-
 
!activationCode
 
|Код активации
 
|}
 
  
'''Пример запроса'''
+
'''Метод:''' GET
http://api.demo.abcp.ru/user/activation
 
  
 
+
Осуществляет поиск марок, подключённых сайту.
'''Параметры POST'''
 
userlogin=username&userpsw=md5pass&code=567ab097bcd
 
 
 
Метод возвращает набор узлов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!status
 
|Статус активации.
 
|-
 
!errorMessage
 
|Сообщение об ошибке при статусе = 0
 
|}
 
 
 
==== Получение данных пользователя (авторизация) ====
 
'''Операция: user/info'''<br />
 
'''Метод: GET'''
 
 
 
Возвращает данные пользователя по логину и паролю.
 
  
 
'''Параметры запроса'''
 
'''Параметры запроса'''
Строка 2039: Строка 537:
 
  !Описание
 
  !Описание
 
  |-
 
  |-
  !userlogin
+
  !hash
  |Имя пользователя в системе
+
  |хэш сайта (Обязательный)
 
  |-
 
  |-
  !userpsw
+
  !accessHash
  |md5-хэш пароля пользователя в системе
+
  |хэш доступа к API (Обязательный).
 
  |}
 
  |}
  
 
'''Пример запроса'''
 
'''Пример запроса'''
http://api.demo.abcp.ru/user/info?userlogin=username&userpsw=md5pass
+
https://publicapi.vinqu.com/brands/get?hash=fa9839689336b1fc63c0e86a7cbeb558ce51ea12&accessHash=123456
  
Метод возвращает набор узлов вида:
+
'''Поля ответа'''
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор пользователя в системе ABCP.
 
|-
 
!code
 
|Код пользователя.
 
|-
 
!email
 
|Адрес электронной почты пользователя.
 
|-
 
!name
 
|ФИО или название организации
 
|-
 
!mobile
 
|Мобильный телефон
 
|-
 
!organization
 
|Наименование юридического лица
 
|}
 
 
 
=== Формы ===
 
<span id="getFormFields"></span>
 
==== Получение списка полей формы ====
 
'''Операция: form/fields'''<br />
 
'''Метод: GET'''
 
 
 
Возвращает список полей формы и все параметры в соответствии с установленными настройками в панели управления на странице Внешний вид и контент / Формы.
 
На текущий момент доступны только формы регистрации, реализованные в API-методе user/new.
 
Метод не требует авторизации.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!name
 
|Имя формы. Возможные значения: '''registration_wholesale''' - опт; '''registration_retail''' - розница
 
|-
 
!locale
 
|Локаль формы (по умолчанию, ru_RU)
 
|}
 
  
'''Пример запроса'''
+
Получает массив структур следующего вида
http://api.demo.abcp.ru/form/fields?name=registration_retail&locale=ru_KZ
 
 
 
Метод возвращает массив объектов вида:
 
 
{| class="wikitable"
 
{| class="wikitable"
 
  !Поле
 
  !Поле
 
  !Описание
 
  !Описание
|-
 
!name
 
|Имя поля. Соответствует имени поля в соответствующем API-методе.
 
|-
 
!label
 
|Метка поля на языке локали. Название поля в форме.
 
|-
 
!isRequired
 
|Флаг "Обязательное поле".
 
|-
 
!errorMessage
 
|Текстовое сообщение на языке локали, которое будет показано при некорректном заполнении поля.
 
|}
 
 
=== Артикулы ===
 
==== Получение справочника брендов ====
 
'''Операция: articles/brands'''<br />
 
'''Метод: GET'''
 
 
Возвращает список всех брендов зарегистрированных в системе с их синонимами.
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя
 
|}
 
 
 
'''Пример запроса'''
 
http://api.demo.abcp.ru/articles/brands?userlogin=username&userpsw=md5pass
 
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!name
 
|Имя бренда
 
|-
 
!aliases
 
|Массив, содержащий список синонимов текущего бренда
 
|}
 
 
==== Получение карточки товара ====
 
'''Операция: articles/info'''<br />
 
'''Метод: GET'''
 
 
{{Информация|Данная операция доступна только API-администратору}}
 
 
Возвращает данные по указанному в параметрах товару
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя
 
 
  |-
 
  |-
 
  !brand
 
  !brand
  |Имя производителя
+
  |Бренд.
 
  |-
 
  |-
  !number
+
  !price
  |Код детали
+
  |Цена
 
  |-
 
  |-
  !format
+
  !enabled
  |Формат ответа. Допустимые значения: [b][n][p][c][h][m][t][i] - формат вывода информации (b - бренд, n - номер, p - свойства, c - кроссы, h - свойства с учетом локали, m - информация о модели, t - вывод типа кроссов с учетом направления, i - изображения запчасти).
+
  |включен или нет on или off
|-
 
!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. Это же значение используется по умолчанию.
 
 
  |}
 
  |}
  
 +
===Выставить вин запрос на биржу===
  
'''Пример запроса'''
+
'''Операция:''' vinquery/on
http://api.demo.abcp.ru/articles/info?userlogin=username&userpsw=md5pass&brand=Febi&number=01089&format=bnpic
 
  
Метод возвращает массив объектов вида:
+
'''Метод:''' POST
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!brand
 
|Имя производителя
 
|-
 
!number
 
|Искомый номер детали
 
|-
 
!outer_number
 
|Номер детали, содержащий пробелы, слэши и другие символы.
 
|-
 
!properties
 
|Массив свойств детали: описание, вес, объем и т.п. (при включенном формате p)
 
|-
 
!crosses
 
|Массив информации об аналогах (при включенном формате c).
 
|-
 
!images
 
|Массив изображений товара (при включенном формате i). В массиве указаны имена файлов расположенных по адресу http://pubimg.4mycar.ru/images/
 
|}
 
<span id="tecdoc"></span>
 
  
=== Получение данных каталога TecDoc ===
+
Осуществляет выставление вин запроса на биржу.
Для доступа к TecDoc API используется адрес '''tecdoc3.api.abcp.ru'''
 
==== Получение справочника производителей ====
 
'''Операция: manufacturers'''<br />
 
'''Метод: GET'''
 
 
 
Осуществляет получение справочника производителей.
 
Возвращает список производителей автомобилей.
 
  
 
'''Параметры запроса'''
 
'''Параметры запроса'''
 
{| class="wikitable"
 
{| class="wikitable"
 
  !Параметр
 
  !Параметр
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!userkey
 
|Ключ для доступа к api
 
|-
 
!carType
 
|тип автомобилей (необязательный параметр): "1" - легковые, "2" - грузовые, "3" - Малотоннажные, "4" - Моторы;
 
|-
 
!motorcyclesFilter
 
|фильтрация по производителя мотоциклов (необязательный параметр): "0" - не фильтровать (по умолчанию), "1" - только производители авто, "2" - только мотоциклы;
 
|}
 
 
'''Пример запроса'''
 
http://tecdoc.api.abcp.ru/manufacturers?userlogin=USER_LOGIN&userpsw=USER_PSW&userkey=USER_KEY
 
 
'''Поля ответа'''
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
 
  !Описание
 
  !Описание
 
  |-
 
  |-
 
  !id
 
  !id
  |Идентификатор
+
  |id запроса
 
  |-
 
  |-
  !name
+
  !siteHash
  |Название бренда производителя
+
  |хэш сайта (Обязательный)
|}
 
 
 
==== Получение списка моделей ====
 
'''Операция: models'''<br />
 
'''Метод: GET'''
 
 
 
Осуществляет получение списка моделей.
 
Возвращает список моделей автомобилей для выбранного производителя.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
 
  |-
 
  |-
  !userlogin
+
  !accessHash
  |Имя пользователя в системе
+
  |хэш доступа к API (Обязательный).
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!userkey
 
|Ключ для доступа к api
 
|-
 
!manufacturerId
 
|идентификатор производителя
 
|-
 
!carType
 
|тип автомобилей (необязательный параметр, по умолчанию все): "1" - легковые, "2" - грузовые, "3" - Малотоннажные
 
 
  |}
 
  |}
  
 
'''Пример запроса'''
 
'''Пример запроса'''
http://tecdoc.api.abcp.ru/models?userlogin=USER_LOGIN&userpsw=USER_PSW&userkey=USER_KEY&manufacturerId=139
+
https://publicapi.vinqu.com/vinquery/on
 
 
'''Поля ответа'''
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор
 
|-
 
!name
 
|Название модели автомобиля
 
|-
 
!yearFrom
 
|год-месяц в формате ГГГГММ начала выпуска модели
 
|-
 
!yearTo
 
|год-месяц в формате ГГГГММ окончания выпуска модели
 
|}
 
  
==== Получение списка модификаций ====
+
'''POST параметры'''
'''Операция: modifications'''<br />
+
  id=999999999&siteHash=fa9839689336b1fc63c0e86a7cbeb558ce51ea12&accessHash=123456
'''Метод: GET'''
 
 
 
Осуществляет получение списка модификаций.
 
Возвращает список модификаций для выбранной модели автомобиля.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
  !Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!userkey
 
|Ключ для доступа к api
 
|-
 
!manufacturerId
 
|идентификатор производителя
 
|-
 
!modelId
 
|идентификатор модели
 
|-
 
!carType
 
|тип автомобилей (необязательный параметр, по умолчанию все): "1" - легковые, "2" - грузовые
 
|}
 
 
 
'''Пример запроса'''
 
http://tecdoc.api.abcp.ru/modifications?userlogin=USER_LOGIN&userpsw=USER_PSW&userkey=USER_KEY&manufacturerId=16&modelId=5389
 
  
 
'''Поля ответа'''
 
'''Поля ответа'''
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор модификации
 
|-
 
!name
 
|Название модификации склеенное из manufacturerName modelName и modificationName через пробел
 
|-
 
!modificationName
 
|Название модификации
 
|-
 
!modelId
 
|Идентификатор модели
 
|-
 
!modelName
 
|Название модели
 
|-
 
!manufacturerId
 
|Идентификатор производжителя
 
|-
 
!manufacturerName
 
|Название производителя
 
|-
 
!yearFrom
 
|год-месяц в формате ГГГГММ начала выпуска модификации
 
|-
 
!yearTo
 
|год-месяц в формате ГГГГММ окончания выпуска модификации
 
|-
 
!constructionType
 
|форма кузова
 
|-
 
!brakeSystem
 
|тормозная система
 
|-
 
!cylinder
 
|количество цилиндров
 
|-
 
!cylinderCapacityCcm
 
|рабочий обьем в кубических сантиметрах
 
|-
 
!cylinderCapacityLiter
 
|рабочий обьем в литрах
 
|-
 
!fuelType
 
|вид топлива
 
|-
 
!fuelTypeProcess
 
|подготовка топлива
 
|-
 
!impulsionType
 
|тип привода
 
|-
 
!motorType
 
|вид двигателя
 
|-
 
!motorCodes
 
|коды двигателей
 
|-
 
!powerHP
 
|мощность в л/c
 
|-
 
!powerKW
 
|мощность в кВт
 
|-
 
!tonnage
 
|тоннаж
 
|-
 
!valves
 
|количество клапанов на цилиндр
 
|}
 
 
==== Получение модификации по идентификатору ====
 
'''Операция: modification'''<br />
 
'''Метод: GET'''
 
 
Осуществляет получение модификации.
 
Возвращает модификацию.
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!userkey
 
|Ключ для доступа к api
 
|-
 
!modelVariant
 
|идентификатор модификации
 
|}
 
 
'''Пример запроса'''
 
http://tecdoc.api.abcp.ru/modification?userlogin=USER_LOGIN&userpsw=USER_PSW&userkey=USER_KEY&modelVariant=1157
 
 
'''Поля ответа'''
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор модификации
 
|-
 
!name
 
|Название модификации склеенное из manufacturerName modelName и modificationName через пробел
 
|-
 
!modificationName
 
|Название модификации
 
|-
 
!modelId
 
|Идентификатор модели
 
|-
 
!modelName
 
|Название модели
 
|-
 
!manufacturerId
 
|Идентификатор производжителя
 
|-
 
!manufacturerName
 
|Название производителя
 
|-
 
!yearFrom
 
|год-месяц в формате ГГГГММ начала выпуска модификации
 
|-
 
!yearTo
 
|год-месяц в формате ГГГГММ окончания выпуска модификации
 
|-
 
!constructionType
 
|форма кузова
 
|-
 
!brakeSystem
 
|тормозная система
 
|-
 
!cylinder
 
|количество цилиндров
 
|-
 
!cylinderCapacityCcm
 
|рабочий обьем в кубических сантиметрах
 
|-
 
!cylinderCapacityLiter
 
|рабочий обьем в литрах
 
|-
 
!fuelType
 
|вид топлива
 
|-
 
!fuelTypeProcess
 
|подготовка топлива
 
|-
 
!impulsionType
 
|тип привода
 
|-
 
!motorType
 
|вид двигателя
 
|-
 
!motorCodes
 
|коды двигателей
 
|-
 
!powerHP
 
|мощность в л/c
 
|-
 
!powerKW
 
|мощность в кВт
 
|-
 
!tonnage
 
|тоннаж
 
|-
 
!valves
 
|количество клапанов на цилиндр
 
|}
 
 
==== Получение дерева категорий ====
 
'''Операция: tree'''<br />
 
'''Метод: GET'''
 
 
Осуществляет получение дерева категорий.
 
Возвращает дерево категорий для выбранной модификации автомобиля.
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!userkey
 
|Ключ для доступа к api
 
|-
 
!modificationId
 
|идентификатор модификации
 
|-
 
!carType
 
|тип автомобилей (необязательный параметр): "1" - легковые (по умолчанию), "2" - грузовые, "3" - Малотоннажные, "4" - Моторы
 
|}
 
 
'''Пример запроса'''
 
http://tecdoc.api.abcp.ru/tree?userlogin=USER_LOGIN&userpsw=USER_PSW&userkey=USER_KEY&modificationId=27555
 
 
'''Поля ответа'''
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор категории
 
|-
 
!name
 
|Название категории
 
|-
 
!hasChilds
 
|Признак наличия дочерних категорий
 
|-
 
!parentId
 
|Идентификатор родительской категории
 
|}
 
 
==== Получение списка деталей для категории ====
 
'''Операция: articles'''<br />
 
'''Метод: GET'''
 
Осуществляет получение списка деталей для указанной категории.
 
Возвращает список деталей для указанной категории.
 
 
'''Данная операция не рекомендуется к использованию и имеет ряд ограничений. В качестве замены предлагаем воспользоваться операцией articlesSimplified'''
 
 
'''Ограничения для операции:'''
 
* Количество деталей в узле не может превышать 200 даже если фактически их больше
 
* В запросе должен быть передан один из параметров brandNames или categoryId
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!categoryId
 
|идентификатор категории (необязательное поле)
 
|-
 
!brandNames
 
|название брендов в виде массива (необязательное поле)
 
|-
 
!userkey
 
|Ключ для доступа к api
 
|-
 
!modificationId
 
|идентификатор модификации
 
|}
 
 
'''Пример запроса'''
 
http://tecdoc.api.abcp.ru/articles?userlogin=USER_LOGIN&userpsw=USER_PSW&userkey=USER_KEY&categoryId=1&modificationId=27555
 
 
'''Поля ответа'''
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор детали
 
|-
 
!number
 
|Номер детали
 
|-
 
!articleLinkId
 
|Идентификатор связанной детали
 
|-
 
!description
 
|Описание детали
 
|-
 
!addName
 
|Дополнительное название
 
|-
 
!brandName
 
|Название бренда
 
|-
 
!state
 
|Идентификатор типа детали (1-нормальная деталь, 7-псевдо-изделие и т.п.)
 
|-
 
!stateName
 
|Название  типа детали (деталь, псевдо-изделие и т.п.)
 
|-
 
!genericArticleId
 
|Идентификатор группы товара
 
|-
 
!info
 
|Иформация о товаре
 
|-
 
!attributes
 
|Параметр товара (длина, ширина, вес и т.п.)
 
|-
 
!mainArticle
 
|Основные детали, если свойство содержит элементы, значит текущая деталь является псевдодеталью.
 
|-
 
!documents
 
|Изображения (картинки, pdf-ки)
 
|-
 
!oenNumbers
 
|Массив с оригинальными номерами
 
|-
 
!eanNumber
 
|Штрих-код
 
|}
 
 
 
Узел mainArticle содержит массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!articleId
 
|Идентификатор детали
 
|-
 
!name
 
|Название
 
|-
 
!addName
 
|Дополнительно название
 
|-
 
!number
 
|Номер детали
 
|}
 
 
Узел info содержит массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор информации
 
|-
 
!text
 
|Текстовое описание
 
|-
 
!typeId
 
|Идентификатор типа
 
|-
 
!typeName
 
|Название типа
 
|}
 
 
Узел attributs содержит массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор
 
|-
 
!isConditional
 
|Признак условия
 
|-
 
!isInterval
 
|Признак интервала
 
|-
 
!name
 
|Полное название параметра
 
|-
 
!shortName
 
|Короткое название параметра
 
|-
 
!type
 
|Тип значения параметра (A: Буквенно-цифровой, D: Дата, К: Ключ, N: Числовой, V: Без значения
 
|-
 
!unit
 
|Единица измерения
 
|-
 
!value
 
|Значение
 
|}
 
 
Узел documents содержит массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор
 
|-
 
!fileType
 
|Тип файла (например, image/jpeg)
 
|-
 
!data
 
|Данные
 
|}
 
  
Узел oenNumbers содержит массив объектов вида:
+
Получает массив структур следующего вида
 
{| class="wikitable"
 
{| class="wikitable"
 
  !Поле
 
  !Поле
 
  !Описание
 
  !Описание
|-
 
!blockNumber
 
|Номер блока (порядковый номер)
 
|-
 
!brandName
 
|Название бренда
 
|-
 
!oeNumber
 
|Оригинальный OE-номер
 
|-
 
!sortNumber
 
|Индекс сортировки
 
|}
 
 
==== Получение списка деталей для категории, упрощенный ====
 
'''Операция: articlesSimplified'''<br />
 
'''Метод: GET'''
 
 
Осуществляет получение списка деталей для указанной категории.
 
Возвращает список деталей для указанной категории.
 
 
'''Отличия от операции articles'''
 
* Изображения берутся из базы платформы abcp.
 
* Сокращено количество свойств в ответе.
 
* Снято ограничение на 50 позиций в узле.
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!userkey
 
|Ключ для доступа к api
 
|-
 
!categoryId
 
|идентификатор категории
 
|-
 
!modificationId
 
|идентификатор модификации
 
|}
 
 
'''Пример запроса'''
 
http://tecdoc.api.abcp.ru/articlesSimplified?userlogin=USER_LOGIN&userpsw=USER_PSW&userkey=USER_KEY&categoryId=1&modificationId=27555
 
 
'''Поля ответа'''
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор детали
 
|-
 
!brandName
 
|Название бренда
 
|-
 
!number
 
|Номер детали
 
|-
 
!articleLinkId
 
|Идентификатор связанной детали
 
|-
 
!description
 
|Описание детали
 
|-
 
!imageName
 
|Имя изображения
 
|-
 
!imageUrl
 
|Ссылка на изображение
 
|-
 
|}
 
 
==== Получение списка применимости====
 
Получение списка применимости проходит в три этапа, первый этап получение производителей '''adaptabilityManufacturers''' затем '''adaptabilityModels''' и в завершении '''adaptabilityModifications''' операция получения модификаций. <br />
 
'''Операция: adaptabilityManufacturers'''<br />
 
'''Метод: GET'''
 
 
Возвращает список производителей, применимых для выбранной детали.
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!userkey
 
|Ключ для доступа к api
 
|-
 
!number
 
|Номер детали
 
|-
 
!brandName
 
|Бренд детали
 
|}
 
 
'''Пример запроса'''
 
http://tecdoc.api.abcp.ru/adaptabilityManufacturers?userlogin=USER_LOGIN&userpsw=USER_PSW&userkey=USER_KEY&brandName=febi&number=01089
 
 
'''Поля ответа'''
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор производителя
 
|-
 
!name
 
|Название производителя
 
|}
 
 
'''Операция: adaptabilityModels'''<br />
 
'''Метод: GET'''
 
 
Возвращает список моделей, применимых для выбранной детали и производителю.
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!userkey
 
|Ключ для доступа к api
 
|-
 
!number
 
|Номер детали
 
|-
 
!brandName
 
|Бренд детали
 
|-
 
!manufacturerName
 
|Название производителя
 
|}
 
 
'''Пример запроса'''
 
http://tecdoc.api.abcp.ru/adaptabilityModels?userlogin=USER_LOGIN&userpsw=USER_PSW&userkey=USER_KEY&brandName=febi&number=01089&manufacturerName=audi
 
 
Метод возвращает массив строк, содержащий названия моделей
 
 
 
'''Операция: adaptabilityModifications'''<br />
 
'''Метод: GET'''
 
 
Возвращает список модификаций, применимых для выбранной детали производителя и модели.
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!userkey
 
|Ключ для доступа к api
 
|-
 
!number
 
|Номер детали
 
|-
 
!brandName
 
|Бренд детали
 
|-
 
!manufacturerName
 
|Название производителя
 
|-
 
!modelName
 
|Название модели
 
|}
 
 
'''Пример запроса'''
 
http://tecdoc.api.abcp.ru/adaptabilityModifications?userlogin=USER_LOGIN&userpsw=USER_PSW&userkey=USER_KEY&brandName=febi&number=01089&manufacturerName=audi&modelName=75
 
 
'''Поля ответа'''
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!name
 
|Название производителя
 
|-
 
!manufacturerName
 
|Название производителя
 
|-
 
!modelName
 
|Название модели
 
|-
 
!yearFrom
 
|год-месяц в формате ГГГГММ начала выпуска модификации
 
|-
 
!yearTo
 
|год-месяц в формате ГГГГММ окончания выпуска модификации
 
|-
 
!constructionType
 
|форма кузова
 
|-
 
!brakeSystem
 
|тормозная система
 
|-
 
!cylinder
 
|количество цилиндров
 
|-
 
!cylinderCapacityCcm
 
|рабочий обьем в кубических сантиметрах
 
|-
 
!fuelType
 
|вид топлива
 
|-
 
!fuelTypeProcess
 
|подготовка топлива
 
|-
 
!impulsionType
 
|тип привода
 
|-
 
!motorType
 
|вид двигателя
 
|-
 
!motorCodes
 
|массив объектов motorCode с кодами двигателей
 
|-
 
!powerHP
 
|мощность в л/c
 
|-
 
!powerKW
 
|мощность в кВт
 
|-
 
!tonnage
 
|тоннаж
 
|-
 
!valves
 
|количество клапанов на цилиндр
 
|}
 
 
==== Получение списка брендов====
 
'''Операция: brands'''<br />
 
'''Метод: GET'''
 
 
Возвращает список производителей автозапчастей.
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!userkey
 
|Ключ для доступа к api
 
|}
 
 
'''Пример запроса'''
 
http://tecdoc.api.abcp.ru/brands?userlogin=USER_LOGIN&userpsw=USER_PSW&userkey=USER_KEY
 
 
'''Поля ответа'''
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор бренда
 
|-
 
!name
 
|Название бренда
 
|}
 
 
==== Получение списка настоящих номеров====
 
'''Операция: realNumberArticles'''<br />
 
'''Метод: GET'''
 
 
Возвращает список деталей по идентификатору псевдо-детали
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!userkey
 
|Ключ для доступа к api
 
|-
 
!articleId
 
|Идентификатор детали
 
|}
 
 
'''Пример запроса'''
 
http://tecdoc.api.abcp.ru/realNumberArticles?userlogin=USER_LOGIN&userpsw=USER_PSW&userkey=USER_KEY&articleId=123
 
 
'''Поля ответа'''
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор детали
 
|-
 
!number
 
|Номер детали
 
|-
 
!description
 
|Описание
 
|-
 
!addName
 
|Дополнительное название детали
 
|-
 
!brandId
 
|Идентификатор бренда
 
|-
 
!brandName
 
|Название бренда
 
|-
 
!state
 
|Состояние
 
|-
 
!stateName
 
|Название состояния
 
|-
 
!genericArticleId
 
|Идентификатор детали
 
|-
 
!attributes
 
|Список атрибутов детали
 
|}
 
 
Узел attributes содержит массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор
 
|-
 
!isConditional
 
|Признак условия
 
|-
 
!isInterval
 
|Признак интервала
 
|-
 
!name
 
|Полное название параметра
 
|-
 
!shortName
 
|Короткое название параметра
 
|-
 
!type
 
|Тип значения параметра (A: Буквенно-цифровой, D: Дата, К: Ключ, N: Числовой, V: Без значения
 
|-
 
!unit
 
|Единица измерения
 
|-
 
!value
 
|Значение
 
|}
 
 
==== Получение связанных атрибутов детали ====
 
'''Операция: assignedArticleAttributes'''<br />
 
'''Метод: POST'''
 
 
Возвращает список дополнительных атрибутов детали
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!userkey
 
|Ключ для доступа к api
 
|-
 
!articleIdPairs
 
|пары из идентификаторов детали и связанной детали в виде ассоциативного массива с ключами '''articleId''' и '''articleLinkId''' соответственно
 
|-
 
!manufacturerId
 
|Идентификатор производителя
 
|-
 
!modelId
 
|Идентификатор модели
 
|-
 
!modificationId
 
|Идентификатор модификации
 
|}
 
 
'''Поля ответа'''
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!articleId
 
|Идентификатор детали
 
|-
 
!articleLinkId
 
|Идентификатор связанной детали
 
|-
 
!attributes
 
|Список атрибутов
 
|}
 
 
Узел attributes содержит массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!id
 
|Идентификатор
 
|-
 
!isConditional
 
|Признак условия
 
|-
 
!isInterval
 
|Признак интервала
 
|-
 
!name
 
|Полное название параметра
 
|-
 
!shortName
 
|Короткое название параметра
 
|-
 
!type
 
|Тип значения параметра (A: Буквенно-цифровой, D: Дата, К: Ключ, N: Числовой, V: Без значения
 
|-
 
!unit
 
|Единица измерения
 
|-
 
!value
 
|Значение
 
|}
 
 
=== Административный интерфейс ===
 
Все методы в данном разделе доступны только специальному пользователю со статусом 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=
 
 
===== Получение информации о  заказе =====
 
'''Операция: cp/order'''<br />
 
'''Метод: GET'''
 
 
Принимает в качестве параметра онлайн-номер заказа.
 
Возвращает информацию о заказе (в т.ч. список позиций заказа).
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!number
 
|Онлайн-номер заказа
 
|-
 
!format
 
|Формат ответа. Доступные значения: additional - к заказу будет дописан массив additional, содержащий данные клиента при гостевом заказе.
 
|}
 
 
'''Пример запроса'''
 
http://api.demo.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
 
|Внутренний код пользователя
 
|-
 
!positions
 
|Список позиций заказа.
 
|}
 
 
Узел 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
 
  !status
  |Статус позиции заказа
+
  | Статус true |false.
|-
 
!statusCode
 
|Код статуса позиции заказа
 
|-
 
!isCanceled
 
|Флаг "Запрос на удаление позиции"
 
|-
 
!dateUpdated
 
|Дата обновления
 
|-
 
!lineReference
 
|Дополнительная информация
 
|-
 
!weight
 
|Вес товара
 
|-
 
!articleCode
 
|Внутренний код детали (присутствует только при условии что код выгружается в прайсе поставщика), используется как правило для синхронизации с 1С
 
 
  |}
 
  |}
  
===== Сохранение заказа =====
+
===Снять вин запрос с биржи===
'''Операция: cp/order'''<br />
 
'''Метод: POST'''
 
  
Универсальный метод сохранения.
+
'''Операция:''' vinquery/off
Принимает в качестве параметра объект описывающий заказ.
 
  
'''Параметры запроса'''
+
'''Метод:''' POST
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!order
 
|Объект описывающий заказ
 
|}
 
  
Объект описывающий заказ содержит следующие поля
+
Осуществляет снятие вин запроса с биржи.
 
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!number
 
|Онлайн-номер заказа в портале
 
|-
 
!internalNumber
 
|Внутренний номер заказа в учетной системе (например, в 1С)
 
|-
 
!userId
 
|Идентификатор клиента на сайте, для которого создается заказ
 
|-
 
!date
 
|Дата заказа
 
|-
 
!comment
 
|Комментарий к заказу
 
|-
 
!deliveryTypeId
 
|Тип доставки
 
|-
 
!deliveryOfficeId
 
|Идентификатор офиса самовывоза
 
|-
 
!basketId
 
|Необязательный параметр - идентификатор корзины при использовании мультикорзины
 
|-
 
!positions
 
|Список позиций заказа.
 
|}
 
 
 
Если передан онлайн-номер, заказ будет отредактирован.
 
Если передан внутренний номер заказа в учетной системе, портал попробует найти заказ с этим номером и при наличии отредактирует его, иначе - создаст новый заказ.
 
Если не передан ни онлайн-номер, ни внутренний номер, метод вернет ошибку.
 
В случае редактирования, все поля кроме number или internalNumber являются необязательными - указанные будут изменены.
 
В случае создания нового заказа, поля internalNumber, userId, date и positions являются обязательными.
 
Параметр userId будет использоваться только при создании заказа, при редактировании будет проигнорирован (сменить владельца заказа невозможно).
 
 
 
Узел 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, позиция будет удалена, в остальных случаях устанавливать не надо.
 
|}
 
 
 
В случае редактирования заказа, могут быть указаны только позиции и поля, которые требуют изменения.
 
В случае создания заказа, должны быть указаны все позиции со всеми полями (кроме полей comment, supplierCode и itemKey).
 
При редактировании позиций обязательна передача параметра id.
 
Если параметр id не передан, будет добавлена новая позиция.
 
При добавлении позиции все поля (кроме полей comment, supplierCode и itemKey) для нее являются обязательными.
 
Для удаления позиции необходимо указать ей количество 0 или установить параметр delete в значение 1.
 
 
 
 
 
{{Внимание|Не выполняйте данную операцию параллельно в несколько потоков при создании заказов. В данном варианте использования необходимо выполнять ее только последовательно}}
 
 
 
{{Внимание|При большом количестве позиций настоятельно рекомендуется сохранять пакетами не более чем по 100 позиций}}
 
 
 
{{Внимание|Для этой операции существует ограничение на 1000 позиций для одного заказа. При попытке добавить большее количество позиций, операция для этих позиций завершится с ошибкой}}
 
 
 
'''Пример запроса'''
 
http://api.demo.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
 
 
 
Метод возвращает объект вида:
 
{| 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, содержащий описание возникшей ошибки.
 
 
 
===== Получение списка заказов =====
 
'''Операция: cp/orders'''<br />
 
'''Метод: GET'''
 
 
 
Принимает в качестве параметров условия фильтрации заказов.
 
Возвращает список заказов (в т.ч. список позиций заказа).
 
  
 
'''Параметры запроса'''
 
'''Параметры запроса'''
 
{| class="wikitable"
 
{| class="wikitable"
 
  !Параметр
 
  !Параметр
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!dateCreatedStart
 
|Начальная дата размещения заказа в формате ГГГГ-ММ-ДД ЧЧ:мм:СС
 
|-
 
!dateCreatedEnd
 
|Конечная дата размещения заказа в формате ГГГГ-ММ-ДД ЧЧ:мм:СС
 
|-
 
!dateUpdatedStart
 
|Начальная дата последнего обновления заказа в формате ГГГГ-ММ-ДД ЧЧ:мм:СС
 
|-
 
!dateUpdatedEnd
 
|Конечная дата последнего обновления заказа в формате ГГГГ-ММ-ДД ЧЧ:мм:СС
 
|-
 
!statusCode
 
|Код статус позиции заказа. Будут выбраны заказы содержащие хотя бы одну позицию в данном статусе
 
|-
 
!distributorOrderId
 
|Идентификатор заказа у поставщика. В результате вернутся все заказы которые были отправлены поставщику под этим номером.
 
|-
 
!isCanceled
 
|Флаг "Запрос на удаление позиции".
 
|-
 
!format
 
|Формат ответа. Доступные значения: additional - к заказу будет дописан массив additional, содержащий данные клиента при гостевом заказе.
 
|}
 
 
Если указан только параметр dateCreatedStart/dateUpdatedStart, будут выбраны все заказы начиная с этой даты.
 
При указании фильтра по дате обновления, будут выбраны как новые заказы, так и обновленные, попадающие под действие фильтра.
 
 
'''Пример запроса'''
 
http://api.demo.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
 
|Внутренний код пользователя
 
|-
 
!positions
 
|Список позиций заказа.
 
|}
 
 
Узел positions содержит массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
 
  !Описание
 
  !Описание
 
  |-
 
  |-
 
  !id
 
  !id
  |Уникальный идентификатор позиции в портале
+
  |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С
 
|}
 
 
 
==== Финансовая информация ====
 
<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
 
|Признак нахождения клиента в стоп-листе (''необязательный параметр'')
 
|}
 
 
 
'''Пример запроса'''
 
http://api.demo.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
 
|Значение лимита кредита в валюте сайта
 
|}
 
 
 
'''Пример запроса'''
 
http://api.demo.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
+
  !siteHash
  |Значение лимита кредита в валюте сайта
+
  |хэш сайта (Обязательный)
 
  |-
 
  |-
  !inStopList
+
  !accessHash
  |Признак нахождения клиента в стоп-листе
+
  |хэш доступа к API (Обязательный).
|-
 
!payDelay
 
|Отсрочка платежа(в днях)
 
|-
 
!overdueSaldo
 
|Просроченный баланс
 
 
  |}
 
  |}
 
Обязательно наличие как минимум одного из полей (balance, creditLimit, inStopList, payDelay, overdueSaldo).
 
  
 
'''Пример запроса'''
 
'''Пример запроса'''
http://api.demo.abcp.ru/cp/finance/userInfo
+
https://publicapi.vinqu.com/vinquery/off
 
 
'''Параметры 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 год."
 
  
'''Пример запроса'''
+
'''POST параметры'''
http://api.demo.abcp.ru/cp/finance/payments?userlogin=username&userpsw=md5pass&userId=5623478&paymentNumber=НАЛ00032
+
  id=123&siteHash=fa9839689336b1fc63c0e86a7cbeb558ce51ea2a&accessHash=123456
 
 
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Поле
 
!Описание
 
|-
 
!paymentNumber
 
|номер платежа
 
|-
 
!paymentTypeId
 
| id типа платежа
 
|-
 
!createDateTime
 
|дата платежа
 
|-
 
!paymentType
 
|Тип платежа
 
|-
 
!amount
 
|сумма платежа
 
|-
 
!rest
 
|остаток
 
|-
 
!editorId
 
|id сотрудника,кем платеж был внесен/изменен.Если платеж был внесен автоматически (электронный) то значение параметра "0"
 
|-
 
!userId
 
|Идентификатор клиента на сайте
 
|-
 
!сomment
 
|комментарий к платежу
 
|-
 
!onlinePaymentId
 
|ID онлайн-оплаты
 
|}
 
 
 
===== Получение информации привязках платежей из финмодуля =====
 
'''Операция: cp/finance/paymentOrderLinks'''<br />
 
'''Метод: GET'''
 
Возвращает список привязок платежей из финмодуля.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!paymentNumbers
 
|массив с номерами платежей
 
|-
 
!orderIds
 
|массив с номерами заказов
 
|-
 
!userId
 
|Идентификатор пользователя на сайте
 
|-
 
!DateTimeStart
 
|Начальный порог даты создания привязки формат ГГГГ-ММ-ДД ЧЧ:ММ:СС
 
|-
 
!DateTimeEnd
 
|Конечный порог даты создания привязки формат ГГГГ-ММ-ДД ЧЧ:ММ:СС
 
|}
 
 
 
При запросе указывать  либо paymentNumbers либо orderIds  либо userId с DateTimeStart и  DateTimeEnd.
 
 
 
'''Пример запроса'''
 
http://api.demo.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 с возможностью передавать массив платежей или заказов.
 
 
 
==== Пользователи ====
 
===== Получение списка пользователей =====
 
'''Операция: 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 - Опт
 
|-
 
!safeMode
 
|"Безопасный режим" для клиентов не имеющих поддержки формата JSON. Может принимать значения 0 или 1. При включении (1), адреса доставки в ответе будут возвращаться в виде массива объектов с полями "id"  и "name", а не как "ключ - значение".
 
|}
 
 
 
Если указан только параметр dateRegistredStart/dateUpdatedStart, будут выбраны все пользователи, зарегистрированные начиная с этой даты.
 
При указании фильтра по дате обновления, будут выбраны как новые пользователи, так и обновленные, попадающие под действие фильтра.
 
 
 
'''Пример запроса'''
 
http://api.demo.abcp.ru/cp/users?userlogin=username&userpsw=md5pass&dateUpdatedStart=2013-08-02 00:00:00&state=0
 
  или
 
http://api.demo.abcp.ru/cp/users?userlogin=username&userpsw=md5pass&customersIds[]=574823&customersIds[]=86954&customersIds[]=56234786
 
  или
 
http://api.demo.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
 
|Название автоклуба
 
|-
 
!icq
 
|ICQ UIN
 
|-
 
!skype
 
|Skype
 
|-
 
!state
 
|Состояние аккаунта. Значения: <br/>
 
-1 - отклоненный,<br/> 0 - ожидает регистрации,<br/> 1 - зарегистрированный,<br/> 2 - удаленный.
 
|-
 
!registrationDate
 
|Дата регистрации аккаунта.
 
|-
 
!updateTime
 
|Дата последнего обновления аккаунта.
 
|-
 
!profileId
 
|Идентификатор профиля
 
|-
 
!organizationName
 
|Наименование организации
 
|-
 
!organizationForm
 
|Правовая форма организации. Варианты:
 
* ООО
 
* ОАО
 
* ЗАО
 
* ТОО
 
* АО
 
* ЧП
 
* ПБОЮЛ
 
|-
 
!organizationOfficialName
 
|Наименование по регистрации (без правовой формы юр. лица)
 
|-
 
!inn
 
|ИНН
 
|-
 
!kpp
 
|КПП
 
|-
 
!ogrn
 
|ОГРН
 
|-
 
!organizationOfficialAddress
 
|Юридический адрес организации
 
|-
 
!bankName
 
|Наименование банка
 
|-
 
!bik
 
|БИК банка
 
|-
 
!correspondentAccount
 
|Корреспондентский счет банка
 
|-
 
!organizationAccount
 
|Расчетный счет организации
 
|-
 
!customerStatus
 
|Идентификатор статуса покупателя
 
|-
 
!deliveryAddress
 
|Адреса доставки (массив, где ключи - id адресов)
 
|-
 
!comment
 
|Комментарий пользователя
 
|-
 
!employeeId
 
|Идентификатор личного менеджера
 
|-
 
!clientServiceEmployeeId
 
|Идентификатор личного менеджера клиентской службы (дополнительная опция)
 
|-
 
!clientServiceEmployee2Id
 
|Второй идентификатор личного менеджера клиентской службы (дополнительная опция)
 
|-
 
!balance
 
|Текущий баланс клиента
 
|-
 
!creditLimit
 
|Текущий лимит кредита клиента
 
|-
 
!inStopList
 
|Флаг "В стоп-листе"
 
|-
 
!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" - выводить информацию по наценкам на поставщиков и бренды.
 
|}
 
 
 
'''Пример запроса'''
 
http://api.demo.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).
 
 
 
'''Пример запроса'''
 
http://api.demo.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
 
|Признак включения поставщика для клиентов этого профиля
 
|-
 
!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:
 
# Автопарк
 
# Автосервис
 
# Автосервис + Магазин
 
# Дистрибьютор
 
# Интернет-магазин
 
# Магазин
 
|-
 
!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 адресов). Если передать пустой параметр deliveryAddress, то все адреса клиента будут удалены! Если необходимо добавить новый адрес, то используйте в качестве ключа любое отрицательное число, например deliveryAddress[-1] = 'Здесь новый адрес'. Если Вы изменяете один из адресов, то необходимо передать все имеющиеся адреса клиента. Если этого не сделать, то не переданные адреса клиента будут удалены.
 
|-
 
!baskets
 
|Корзины клиента (массив, где ключи - id корзин). Если передать пустой параметр baskets, то все корзины клиента будут удалены! Если необходимо добавить новую корзину, то используйте в качестве ключа любое отрицательное число, например baskets[-1] = 'Здесь новое название корзины'. Если Вы изменяете одну из корзин, то необходимо передать все имеющиеся корзины клиента. Если этого не сделать, то не переданные корзины клиента будут удалены.
 
|-
 
!comment
 
|Комментарий пользователя
 
|-
 
!managerId
 
|Идентификатор менеджера
 
|-
 
!userCode
 
|Внутренний код пользователя
 
|-
 
!clientServiceEmployeeId
 
|Идентификатор личного менеджера клиентской службы (дополнительная опция)
 
|-
 
!clientServiceEmployee2Id
 
|Второй идентификатор личного менеджера клиентской службы (дополнительная опция)
 
|-
 
!office
 
|Массив идентификаторов офисов, к которым необходимо подключить клиента. Если идентификатор офиса, к одному из которых подключен клиент, не будет передан, то он будет отключен. Передать пустой параметр office нельзя, т.к. клиент должен быть подключен минимум к одному офису. Параметр актуален только если у вас на сайте включена опция: "Офисы: включить привязку к клиентам".
 
|-
 
!info
 
|"Информация" в личном кабинете. В поле допустимо использование html-тегов. Закладка появляется только если есть данные в поле info для клиента.
 
|-
 
!safeMode
 
|"Безопасный режим" для клиентов не имеющих поддержки формата JSON. Может принимать значения 0 или 1. При включении (1), адреса доставки в ответе будут возвращаться в виде массива объектов с полями "id"  и "name", а не как "ключ - значение".
 
|}
 
 
 
 
 
'''Пример запроса'''
 
http://api.demo.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
 
|Комментарий пользователя
 
|-
 
!managerId
 
|Идентификатор менеджера
 
|-
 
!userCode
 
|Внутренний код пользователя
 
|-
 
!clientServiceEmployeeId
 
|Идентификатор личного менеджера клиентской службы (дополнительная опция)
 
|-
 
!clientServiceEmployee2Id
 
|Второй идентификатор личного менеджера клиентской службы (дополнительная опция)
 
|-
 
!office
 
|Массив идентификаторов офисов
 
|-
 
!baskets
 
|Массив корзин клиента в формате "идентификатор - имя корзины"
 
|-
 
!info
 
|"Информация" в личном кабинете. В поле допустимо использование html-тегов. Закладка появляется только если есть данные в поле info для клиента.
 
|}
 
 
 
<span id="cp_users_garage"></span>
 
 
 
===== Получение автомобилей из гаража пользователя =====
 
'''Операция: cp/users/garage'''<br />
 
'''Метод: GET'''
 
 
 
Возвращает список всех автомобилей из гаража пользователя.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|-
 
!userId
 
|Идентификатор пользователя
 
|}
 
 
 
'''Пример запроса'''
 
http://api.demo.abcp.ru/cp/users/garage?userlogin=username&userpsw=md5pass&userId=525002
 
 
 
Метод возвращает массив объектов вида:
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!garageCarId
 
|Идентификатор автомобиля в гараже
 
|-
 
!manufacturer
 
|Марка автомобиля
 
|-
 
!model
 
|Модель автомобиля
 
|-
 
!modification
 
|Модификация автомобиля
 
|-
 
!vin
 
|VIN номер
 
|-
 
!frame
 
|FRAME номер
 
|-
 
!mileage
 
|Пробег
 
|}
 
 
 
==== Сотрудники ====
 
===== Получение списка сотрудников =====
 
'''Операция: cp/managers'''<br />
 
'''Метод: GET'''
 
 
 
 
 
Возвращает список менеджеров.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя API-администратора
 
|-
 
!userpsw
 
|md5-хэш пароля API-администратора
 
|}
 
 
 
 
 
'''Пример запроса'''
 
http://api.demo.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-администратора
 
|}
 
 
 
 
 
'''Пример запроса'''
 
http://api.demo.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-администратора
 
|}
 
 
 
 
 
'''Пример запроса'''
 
http://api.demo.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"
 
|}
 
 
 
 
 
'''Пример запроса'''
 
http://api.demo.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 - Выкл.
 
|}
 
 
 
 
 
'''Пример запроса'''
 
http://api.demo.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" http://api.demo.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 или  start_inc.bat для редактирования в Блокноте. Вторым аргументом необходимо указать id поставщика для обновления, а третьим аргументом - путь к файлу прайс-листа. Путь к файлу может быть полным, например: "C:\Users\Admin\my_price.xls". Или относительным, например: ".\my_price.xls", если прайс-лист лежит в той же папке где и скрипт загрузки. Сохраните и закройте файл. Теперь вы можете запустить файл start_full.bat или start_inc.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' inc
 
 
 
где третий аргумент - признак инкрементного прайса.
 
 
 
'''Необходимо наличие установленной библиотеки 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
 
|Идентификатор поставщика
 
|}
 
 
 
 
 
'''Пример запроса'''
 
http://api.demo.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
 
|Исключить позиции по складам (массив)
 
|}
 
 
 
<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
 
|Исключить позиции по складам (массив)
 
|}
 
 
 
 
 
 
 
'''Пример запроса'''
 
http://api.demo.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
 
|Исключить позиции по складам (массив)
 
|}
 
 
 
<span id="cp_route_delete"></span>
 
 
 
===== Удаление маршрута поставщика =====
 
'''Операция: cp/route/delete'''<br />
 
'''Метод: POST'''
 
 
 
Удаляет маршрут поставщика.
 
 
 
'''Параметры запроса'''
 
{| class="wikitable"
 
!Параметр
 
!Описание
 
|-
 
!userlogin
 
|Имя пользователя в системе
 
|-
 
!userpsw
 
|md5-хэш пароля пользователя в системе
 
|-
 
!routeId
 
|Идентификатор маршрута поставщика
 
|}
 
 
 
'''Пример запроса'''
 
http://api.demo.abcp.ru/cp/route/delete
 
 
 
'''Параметры POST'''
 
userlogin=username&userpsw=md5pass&routeId=12345
 
  
 
'''Поля ответа'''
 
'''Поля ответа'''
 
+
Получает массив структур следующего вида
Метод возвращает ответ:
 
 
{| class="wikitable"
 
{| class="wikitable"
 
  !Поле
 
  !Поле
Строка 5868: Строка 640:
 
  |-
 
  |-
 
  !status
 
  !status
  |Статус удаления маршрута. Принимает значение 0 - произошла ошибка или 1, если все успешно.
+
  | Статус true |false.
|-
 
!errorMessage
 
|Текст сообщения об ошибке при статусе 0.
 
 
  |}
 
  |}

Текущая версия на 18:26, 28 мая 2025

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


API VINQU

Авторизация запросов

Значения параметров siteHash и accessHash вы можете взять в настройках интеграции своей учетной записи.

Поиск одного вин запроса

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

id - Идентификатор запроса (Обязательный параметр)

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

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

Параметр Описание
siteHash хэш сайта, с которого был отправлен вин запрос (Обязательный).
accessHash хэш доступа к API (Обязательный).

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

https://publicapi.vinqu.com/vinquery/info/518346?siteHash=fa9839689336b1fc63c0e86a7cbeb558ce51ea12&accessHash=12345

Поля ответа

Поле Описание
_id id запроса.
resellerId id реселлера.
siteId id сайта.
clientId id клиента.
guestInfo Информация о госте.

Информация о госте

Поле Описание
name имя.
phone номер телефона.
email почта.
Поле Описание
expertId id эксперта.
carInfo информация о авто.

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

Поле Описание
brand бренд.
model модель.
modificationId id модификации.
modification модификация.
vin вин номер.
frame фрейм номер.
hp лошадиные силы.
year год выпуска.
extraParams дополнительные параметры.
Поле Описание
parts массив с информацией о запрашиваемых запчастях следующего вида.

Информация о part

Поле Описание
partId уникальный id.
query запрос пользователя для поиска.
offers массив структур предложений, полученных от экспертов в следующем виде.

массив структур предложений, полученных от экспертов

Поле Описание
offerId уникальный id.
brand бренд.
number номер запчасти.
descr описание.
quantity количество.
expertId id эксперта.
createdDateTime timestamp создания предложения.
updatedDateTime timestamp обновления предложения.
deletedDateTime timestamp удаления предложения.
deleted флаг удалено ли предложение.
Поле Описание
createdDateTime timestamp создания запроса.
updatedDateTime timestamp обновления запроса.
assignedDateTime timestamp назначения запроса на эксперта.
acceptedDateTime timestamp принятия запроса экспертом.
completedDateTime timestamp завершения запроса.
processingTime время в секундах на выполнение запроса.
clientComment комментарий клиента.
chat массив структур с сообщениями в следующем виде.

массив структур с сообщениями

Поле Описание
timestamp отметка времени.
userId глобальный id юзера в системе.
expertId id эксперта, обрабатывающего запрос.
roleState состояние запроса.
roleState_loc состояние запроса в локализации (по умолчанию ru_RU - русская).
comment текст сообщения.
Поле Описание
images массив строк с названием изображений.
status статус запроса.
state текущее состояние запроса.

Поиск новых сообщений во всех чатах клиента

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

Осуществляет поиск всех новых сообщений, максимум за последние 15 минут по всем чатам клиента. В случае отсутствия сообщений вернётся ошибка со статусом 404 и текстом `messages not found`

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

Параметр Описание
siteHash хэш сайта (Обязательный параметр)
accessHash хэш доступа к API (Обязательный).
timestamp отметка времени, начиная с которой показывать сообщения
locale локализация (про умолчанию ru_RU) возможные значения (ru_RU , en_US)

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

https://publicapi.vinqu.com/vinquery/chatList?siteHash=fa9839689336b1fc63c0e86a7cbeb558ce51ea12&accessHash=123456&timestamp=1533642418

Поля ответа в случае успешно выполненного запроса

Поле Описание
chatList массив, у которого ключ - номер запроса, значение - массив структур chatItem.

структура chatItem

Поле Описание
timestamp отметка времени.
userId id клиента.
expertId id эксперта, обрабатывающего запрос.
roleState состояние запроса.
roleState_loc состояние запроса локализованное.
comment текст сообщения.

Поля ответа в случае ошибки

Поле Описание
Error текст ошибки.

Поиск списка вин запросов

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

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

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

Параметр Описание
siteHash хэш сайта (Обязательный параметр)
accessHash хэш доступа к API (Обязательный).
skip начало выборки, по умолчанию 0
limit сколько максимум выбрать. По умолчанию 30


Пример запроса https://publicapi.vinqu.com/vinquery/list?siteHash=fa9839689336b1fc63c0e86a7cbeb558ce51ea12&accessHash=123456

Поля ответа

Поле Описание
vinquery Массив структур вин запроса (пример выше в vinquery/info).
total Количество найденных запросов.

Добавить сообщение в чат

Операция: vinquery/addComment
Метод: POST

Осуществляет добавление нового сообщения в чат

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

Параметр Описание
siteHash хэш сайта (Обязательный)
accessHash хэш доступа к API (Обязательный).
userId id клиента
id id запроса
comment Текст сообщения

Пример запроса https://publicapi.vinqu.com/vinquery/addComment

POST параметры

userId=123&id=321&comment=Test query&siteHash=fa9839689336b1fc63c0e86a7cbeb558ce51ea12&accessHash=123456

Поля ответа в случае успеха

Поле Описание
Status true или false

Поля ответа в случае ошибки

Поле Описание
Error Текст ошибки

Создание запроса

Операция: vinquery/add

Метод: POST

Осуществляет создание нового вин запроса

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

Параметр Описание
siteHash хэш сайта (Обязательный)
accessHash хэш доступа к API (Обязательный).
clientId id клиента
file Прикрепленный файл изображения. В curl запросе file=@"/path_to_image/image.jpg". Формат изображения: jpg/png
carInfo Информация об автомобиле. Ассоциативный массив следующего вида

Информация об автомобиле

Поле Описание
brand бренд.
model модель.
modificationId id модификации.
modification модификация.
vin вин номер.
frame фрейм номер.
hp лошадиные силы.
year год выпуска.
Параметр Описание
clientComment Комментарий клиента.
parts Массив запчастей из запроса клиента.
stockEnable флаг 1 или 0, отправлять ли запрос на биржу.
guestInfo Информация о госте.

Информация о госте

Поле Описание
name имя.
phone номер телефона.
email почта.

Пример запроса https://publicapi.vinqu.com/vinquery/add

POST параметры

clientId=123&carInfo[brand]=Luxgen&carInfo[vin]=222AAA11111111111&parts[]=test&parts[]=test1&clientComment=Test query&siteHash=fa9839689336b1fc63c0e86a7cbeb558ce51ea12&stockEnable=1&accessHash=123456

Поля ответа в случае успеха

Поле Описание
QueryId id запроса

Поля ответа в случае ошибки

Поле Описание
Error Текст ошибки

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

Операция: brands/get

Метод: GET

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

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

Параметр Описание
hash хэш сайта (Обязательный)
accessHash хэш доступа к API (Обязательный).

Пример запроса https://publicapi.vinqu.com/brands/get?hash=fa9839689336b1fc63c0e86a7cbeb558ce51ea12&accessHash=123456

Поля ответа

Получает массив структур следующего вида

Поле Описание
brand Бренд.
price Цена
enabled включен или нет on или off

Выставить вин запрос на биржу

Операция: vinquery/on

Метод: POST

Осуществляет выставление вин запроса на биржу.

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

Параметр Описание
id id запроса
siteHash хэш сайта (Обязательный)
accessHash хэш доступа к API (Обязательный).

Пример запроса https://publicapi.vinqu.com/vinquery/on

POST параметры

id=999999999&siteHash=fa9839689336b1fc63c0e86a7cbeb558ce51ea12&accessHash=123456

Поля ответа

Получает массив структур следующего вида

Поле Описание
status false.

Снять вин запрос с биржи

Операция: vinquery/off

Метод: POST

Осуществляет снятие вин запроса с биржи.

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

Параметр Описание
id id запроса
siteHash хэш сайта (Обязательный)
accessHash хэш доступа к API (Обязательный).

Пример запроса https://publicapi.vinqu.com/vinquery/off

POST параметры

id=123&siteHash=fa9839689336b1fc63c0e86a7cbeb558ce51ea2a&accessHash=123456

Поля ответа Получает массив структур следующего вида

Поле Описание
status false.