APIVINQU

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

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

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

https://publicapi.vinqu.com

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

Для отладки вы можете воспользоваться расширением 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 и телом ответа в виде JSON. Формат ответа определяется каждой операцией. Пример результата успешного выполнения запроса:

  1 [
  2 	{
  3 "vinquery": [
  4 {
  5 "_id": 455164,
  6 "resellerId": 248298,
  7 "siteId": 518087,
  8 "clientId": "522102",
  9 "guestInfo": {},
 10 "expertId": "565210",
 11 "carInfo": {
 12 "brand": "PEUGEOT",
 13 "model": "",
 14 "modificationId": 0,
 15 "modification": "",
 16 "vin": "Z8T4D5FS9DM010823",
 17 "frame": "",
 18 "hp": 0,
 19 "year": 0,
 20 "extraParams": {}
 21 },
 22 "parts": [
 23 {
 24 "partId": "5a1af310b44c1bf63d8b456a",
 25 "query": "Ремень доп .оборудования",
 26 "offers": [
 27 {
 28 "offerId": "5a1af3d2b44c1b983c8b456b",
 29 "brand": "Peugeot-Citroen",
 30 "number": "5750RG",
 31 "descr": "Ремень поликлиновый генератора",
 32 "quantity": 1,
 33 "expertId": "565210",
 34 "createdDateTime": 1511715794,
 35 "updatedDateTime": 1511715794,
 36 "deletedDateTime": 0,
 37 "deleted": false
 38 }
 39 ]
 40 },
 41 {
 42 "partId": "5a1af310b44c1bf63d8b456b",
 43 "query": "Передние тормозные колодки",
 44 "offers": [
 45 {
 46 "offerId": "5a1af45eb44c1b983c8b456c",
 47 "brand": "Peugeot-Citroen",
 48 "number": "1613259380",
 49 "descr": "Дисковые тормозные колодки",
 50 "quantity": 1,
 51 "expertId": "565210",
 52 "createdDateTime": 1511715934,
 53 "updatedDateTime": 1511715934,
 54 "deletedDateTime": 0,
 55 "deleted": false
 56 }
 57 ]
 58 },
 59 {
 60 "partId": "5a1af310b44c1bf63d8b456c",
 61 "query": "Фильтр воздушный",
 62 "offers": [
 63 {
 64 "offerId": "5a1af49cb44c1bae408b4567",
 65 "brand": "Peugeot-Citroen",
 66 "number": "1444XG",
 67 "descr": "Фильтр воздушный",
 68 "quantity": 1,
 69 "expertId": "565210",
 70 "createdDateTime": 1511715996,
 71 "updatedDateTime": 1511715996,
 72 "deletedDateTime": 0,
 73 "deleted": false
 74 }
 75 ]
 76 },
 77 {
 78 "partId": "5a1af310b44c1bf63d8b456d",
 79 "query": "Фильтр салона",
 80 "offers": [
 81 {
 82 "offerId": "5a1af5a1b44c1ba13e8b4567",
 83 "brand": "Peugeot-Citroen",
 84 "number": "647975",
 85 "descr": "Фильтр салона угольный",
 86 "quantity": 1,
 87 "expertId": "565210",
 88 "createdDateTime": 1511716257,
 89 "updatedDateTime": 1511716257,
 90 "deletedDateTime": 0,
 91 "deleted": false
 92 }
 93 ]
 94 },
 95 {
 96 "partId": "5a1af310b44c1bf63d8b456e",
 97 "query": "Фильтр маслянный",
 98 "offers": [
 99 {
100 "offerId": "5a1af5fbb44c1b8f3d8b456c",
101 "brand": "Peugeot-Citroen",
102 "number": "9818914980",
103 "descr": "Фильтр масляный",
104 "quantity": 1,
105 "expertId": "565210",
106 "createdDateTime": 1511716347,
107 "updatedDateTime": 1511716347,
108 "deletedDateTime": 0,
109 "deleted": false
110 }
111 ]
112 }
113 ],
114 "createdDateTime": 1511715600,
115 "updatedDateTime": 1511716409,
116 "assignedDateTime": 1511715628,
117 "acceptedDateTime": 1511715628,
118 "completedDateTime": 1511716409,
119 "processingTime": 809,
120 "history": [
121 {
122 "timestamp": 1511715600,
123 "status": "new",
124 "state": "new",
125 "event": "admin/deployAjaxAddQuery",
126 "roleState": "new",
127 "roleState_loc": "Новый"
128 },
129 {
130 "timestamp": 1511715600,
131 "state": "lock",
132 "lockId": "163804",
133 "event": "admin/setPriceBySite"
134 },
135 {
136 "timestamp": 1511715601,
137 "state": "processing_instock_wait",
138 "expertId": "565210",
139 "event": "admin/setPriceBySite"
140 },
141 {
142 "timestamp": 1511715601,
143 "state": "processing_instock_wait",
144 "type": "pushHistory",
145 "event": "admin/setPriceBySite",
146 "event_text": "messageId:90803456"
147 },
148 {
149 "timestamp": 1511715628,
150 "state": "processing_instock",
151 "expertId": "565210",
152 "event": "vinqu/acceptQuery"
153 },
154 {
155 "timestamp": 1511716409,
156 "state": "completed",
157 "expertId": "565210",
158 "event": "vinqu/expertCompleteQuery"
159 },
160 {
161 "timestamp": 1511889305,
162 "state": "closed",
163 "expertId": "565210",
164 "event": "script/vinqu_close_queries"
165 }
166 ],
167 "statistics": [
168 {
169 "id": 565210,
170 "rejectedSec": 0,
171 "completedSec": 781,
172 "completedCount": 1,
173 "parts": 5,
174 "offers": 5
175 }
176 ],
177 "status": "completed",
178 "state": "closed"
179 }
180 ],
181 "total": 1
182 }
183 ]

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

1 {
2 	"error": "User Authentication Error"
3 }

Операции

Поиск

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

Операция: 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&stockEnable=1&accessHash=123456

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

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

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

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

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

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

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

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

Параметр Описание
siteHash хэш сайта (Обязательный)
accessHash хэш доступа к API (Обязательный).
clientId id клиента
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.