Общая информация
Описание
API реализован как веб-сервис, принимающий запросы по HTTP протоколу с использованием basic-авторизации. Базовый URI для веб-сервиса соответствует шаблону:
http://api.autokontinent.ru/<version>/где
<version>
- номер версии API
Версия №1
Описание
Обмен с веб-сервисом осуществляется в кодировке UTF-8. Шаблон URL для запросов:
http://api.autokontinent.ru/v1/<method>.json
где <method> - это один из возможным методов веб-сервиса.
Запрос
Действие указывается в качестве пути в URL.
Параметры передаются как строка запроса HTTP (GET) или данными POST. Каждый запрос может содержать список дополнительных параметров, определяющих контекст метода.
Например, запрос на создание новой сессии выглядит так:
http://api.autokontinent.ru/v1/search/part.json?part_code=ph5883
При использовании метода POST в HTTP-заголовке Content-Type необходимо передать медиа-тип данных запроса application/x-www-form-urlencoded и соответственно с данным типом сформировать тело HTTP-запроса.
Ответ
В случае успешного исполнения операции, веб-сервис вернет ответ с HTTP-кодом 200 и телом ответа в виде JSON.
Структура ответа определяется каждой операцией.
Пример результата при успешном выполнении запроса:
[ { "part_id": "13333285", "part_code": "PH5883", "brand_name": "Fram", "part_descr": "Фильтр масляный" } ]
Любой ответ с HTTP-кодом 400 и более является ошибочным, в теле содержит код ошибки и, как правило, текстовое сообщение описывающее причины возникшей ошибки также в виде JSON.
JSON-структура ошибки:
{ "error_code": 3, "error_message": "part_code" }
Типы ошибок
Код | Описание |
---|---|
1 | Ошибка авторизации |
2 | Метод не найден |
3 | Обязательный параметр запроса отсутствует или имеет недопустимое значение |
4 | Ошибка данных |
5 | Произошло конкурентное изменение данных |
Методы
Поиск и проценка товара
Поиск товара по артикулу
Метод: search/part
Осуществляет поиск по артикулу товара и возвращает массив найденых карточек товаров. Если ничего не найдено то возвращает пустой массив.
Параметры запроса
Параметр | Тип данных | Обязательный | Значение по умолчанию | Описание |
---|---|---|---|---|
part_code | string | да | - | Артикул товара |
Пример GET запроса
http://api.autokontinent.ru/v1/search/part.json?part_code=ph5822
Поля ответа
Поле | Тип данных | Описание |
---|---|---|
part_id | int | Идентификатор карточки товара |
part_code | string | Артикул товара |
brand_name | string | Наименование бренда |
part_descr | string | Наименование товара |
Получить наличие и цены по товару
Метод: search/price
Осуществляет поиск наличия и цен товара и возвращает массив найденых карточек товаров. Если ничего не найдено то возвращает пустой массив.
Параметры запроса
Параметр | Тип данных | Обязательный | Значение по умолчанию | Описание |
---|---|---|---|---|
part_id | int | да | - | Идентификатор карточки товара |
show_cross | bool | нет | true | Возвращать предложения по аналогам искомого артикула |
show_odds | bool | нет | true | Возвращать предложение по транзитным поставщикам (кросс-докинг) |
Пример GET запроса
http://api.autokontinent.ru/v1/search/price.json?part_id=13151369
Поля ответа
Поле | Тип данных | Описание |
---|---|---|
part_id | int | Идентификатор карточки товара |
part_code | string | Артикул товара |
part_name | string | Наименование товара |
part_comment | string | Описание товара |
brand_name | string | Наименование бренда |
warehouse_id | int | Идентификатор склада |
warehouse_name | string | Наименование склада |
price | int | Цена товара |
currency_id | int | Идентификатор валюты |
currency_name | string | Наименование валюты |
quantity | string | Количество |
package | int | Кратность отгрузки (минимальная партия) |
unit | string | Единица измерения |
dt_delivery | datetime | Дата-время доставки |
Корзина
Добавление товаров в корзину
Метод: basket/add
Добавляет товар в корзину. Для изменения количества следует удалить позицию и добавить ее заново с требуемым количеством.
Параметры запроса
Параметр | Тип данных | Обязательный | Значение по умолчанию | Описание |
---|---|---|---|---|
part_id | int | да | - | Идентификатор карточки товара |
warehouse_id | int | да | - | Идентификатор склада |
quantity | int | нет | 1 | Количество заказываемого товара |
comment | string | нет | Комментарий к заказываемой позиции |
Пример GET запроса
http://api.autokontinent.ru/v1/basket/add.json?part_id=13151369&warehouse_id=1&quantity=2
Поля ответа
Поле | Тип данных | Описание |
---|---|---|
status | string | Статус выполнения операции |
basket_id | int | Идентификатор добавленой строки в корзине |
Получение списка товаров в корзине
Метод: basket/get
Возвращает в виде массива список всех позиций, находящихся в корзине. Если ничего не найдено то возвращает пустой массив.
Параметров запроса нет
Пример GET запроса
http://api.autokontinent.ru/v1/basket/get.json
Поля ответа
Поле | Тип данных | Описание |
---|---|---|
basket_id | int | Идентификатор строки в корзине |
version | int | Версия строки в корзине |
state | string | Статус строки в корзине |
dt_created | datetime | Дата-время добавления товара в корзину |
part_id | int | Идентификатор карточки товара |
part_code | string | Артикул товара |
part_name | string | Наименование товара |
part_comment | string | Описание товара |
brand_name | string | Наименование бренда |
warehouse_id | int | Идентификатор склада |
warehouse_name | string | Наименование склада |
price | int | Цена товара |
currency_id | int | Идентификатор валюты |
currency_name | string | Наименование валюты |
quantity | int | Количество |
package | int | Кратность отгрузки (минимальная партия) |
unit | string | Единица измерения |
dt_delivery | datetime | Дата-время доставки |
comment | string | Комментарий к заказываемой позиции |
Удаление товара из корзины
Метод: basket/del
Удаляет позицию из корзины по номеру строки.
Параметры запроса
Параметр | Тип данных | Обязательный | Значение по умолчанию | Описание |
---|---|---|---|---|
basket_id | int | да | - | Идентификатор строки в корзине |
version | int | да | - | Версия строки в корзине |
Пример GET запроса
http://api.autokontinent.ru/v1/basket/del.json?basket_id=1000&version=2
Поля ответа
Поле | Тип данных | Описание |
---|---|---|
status | string | Статус выполнения операции |
Очистка корзины
Метод: basket/clear
Удаляет все позиции из корзины.
Параметров запроса нет
Пример GET запроса
http://api.autokontinent.ru/v1/basket/clear.json
Поля ответа
Поле | Тип данных | Описание |
---|---|---|
status | string | Статус выполнения операции |
Отправка корзины в заказ
Метод: basket/order
Осуществляет отправку всех позиций, содержащихся в корзине, в заказ.
Параметры запроса
Параметр | Тип данных | Обязательный | Значение по умолчанию | Описание |
---|---|---|---|---|
delivery_mode_id | int | нет | 1 | Идентификатор вида доставки |
Возможные значения поля "Идентификатор вида доставки"
Код | Описание |
---|---|
1 | Доставка |
Пример GET запроса
http://api.autokontinent.ru/v1/basket/order.json
Поля ответа
Поле | Тип данных | Описание |
---|---|---|
status | string | Статус выполнения операции |
История заказов
Получение списка заказов
Метод: order/get
Осуществляет получение списка всех заказов клиента за выбранный период, но не раньше чем три месяца назад. Если ничего не найдено то возвращает пустой массив.
Параметры запроса
Параметр | Тип данных | Обязательный | Значение по умолчанию | Описание |
---|---|---|---|---|
date_from | date | нет | Текущее дата - 7 дней | Дата начала интервала |
date_to | date | нет | Текущее дата-время | Дата окончания интервала |
Пример GET запроса
http://api.autokontinent.ru/v1/order/get.json
Поля ответа
Поле | Тип данных | Описание |
---|---|---|
basket_id | int | Идентификатор строки заказа |
order_id | int | Идентификатор заказа |
state | int | Статус строки заказа |
dt_created | datetime | Дата-время создания заказа |
delivery_mode_id | int | Идентификатор вида доставки |
part_id | int | Идентификатор карточки товара |
part_code | string | Артикул товара |
part_name | string | Наименование товара |
part_comment | string | Описание товара |
brand_name | string | Наименование бренда |
warehouse_id | int | Идентификатор склада |
warehouse_name | string | Наименование склада |
price | int | Цена товара |
currency_id | int | Идентификатор валюты |
currency_name | string | Наименование валюты |
quantity | int | Заказанное количество |
reserved_quantity | int | Зарезервированное количество |
unit | string | Единица измерения |
dt_delivery | date | Дата доставки |
comment | string | Комментарий к заказываемой позиции |
contract_name | string | Договор |
address_name | string | Адрес доставки |
Возможные значения поля "Статус строки заказа"
Код | Описание |
---|---|
1 | Принят |
2 | Проверка кредитного лимита |
3 | Заблокирован, требует оплаты |
4 | В работе на складе |
5 | Отгружен |
6 | Отправлен заказ поставщику |
7 | Отказ поставщика |
8 | Поступил на склад |
9 | Отказ |
10 | Подтвержден поставщиком |
11 | Отправлен на аутпост |
12 | Прибыл на аутпост |
13 | Просроченный платёж |
14 | Выдан |