NOVLINE API — автоматизация заказов
NOVLINE API — это инструмент, который даст возможность вашему сайту или приложению автоматически взаимодействовать с нами в реальном времени.
Благодаря ему вы сможете:
- получать информацию о цене и количестве нужного товара на складах;
- размещать у нас заказы;
- отслеживать статусы по размещённым ранее заказам.
Преимущества внедрения NOVLINE API
Если вы являетесь нашим клиентом и у вас уже имеется сайт или вы только собираетесь обзавестись им, то наш API даст вам дополнительное конкурентное преимущество.
- 1. Автоматическое отражение цен и остатков.
Вы и ваши клиенты всегда будете иметь актуальные сведения о нашем товаре.
Это уменьшит количество отказов из-за недостоверных сведений. Например, если товар уже был продан или цена на него изменилась.
- 2. Автоматическая передача заказа.
Вы сможете автоматизировать ручной труд по оформлению заказов, наименования и количества товара будет передаваться в автоматическом режиме.
В зависимости от настройки вашей платформы, может потребоваться только подтверждение заказа.
Это сэкономит время ваших сотрудников для других задач.
- 3. Автоматическое отслеживание статусов по резерву.
Вы сможете автоматически отслеживать состояние заказа. Это позволит вам оповещать клиента о стадиях поставки товара.
- 4. Гибкая система настроек.
Наше API поддерживает все базовые функции для создания и обработки заказов.
Описание функционала
Способ авторизации: Ключ доступа (Токен)
Для работы со всеми методами API Вам необходимо передавать в запросе
key — специальный ключ доступа.
Он представляет собой строку из латинских букв и цифр и может соответствовать отдельному пользователю.
* При выполнении определенных условий человек, получивший Ваш токен, может нанести существенный ущерб Вашим данным и данным других людей. Поэтому очень важно не передавать свой токен третьим лицам.
1. Синтаксис запроса
Чтобы обратиться к методу API api.novline.com, Вам необходимо выполнить
POST или
GET запрос
такого вида:
https://api.novline.com/api/METHOD_NAME?PARAMETERS&key=ACCESS_TOKEN
Он состоит из нескольких частей:
- METHOD_NAME (обязательно) — название метода API, к которому Вы хотите обратиться. Полный список методов доступен на этой странице. Обратите внимание: имя метода чувствительно к регистру.
- PARAMETERS (опционально) — входные параметры соответствующего метода API, последовательность пар name=value, разделенных амперсандом. Список параметров указан на странице с описанием метода.
- ACCESS_TOKEN (обязательно) — ключ доступа.
Параметры могут передаваться как методом GET, так и POST. Если вы будете передавать большие данные (больше 2
килобайт), следует использовать POST.
Например, вызовем метод
getProduct для артикула BI.LE.02.001
https://api.novline.com/api/getProduct/?article=BI.LE.02.001&key=A4fJene62gTZW85BkIz5h3fg25vcvJyy
Сервер нормализует артикулы автоматически, удаляя пробелы, точки, запятые, скобки. Следующий ниже запрос, вернёт такой же результат.
https://api.novline.com/api/getProduct/?article=BILE02001&key=A4fJene62gTZW85BkIz5h3fg25vcvJyy
В ответ Вы получите ответ в формате
JSON:
{
"response": {
"status": 1,
"name": "Подкрылок LEXUS RX270\/350\/450h, 2009-2012 (передний левый)",
"article": "BI.LEXUS.02.001",
"code": "BILEXUS02001",
"brand": "LEXUS",
"quantity": 146,
"warehouses": {
"1": 24,
"2": 3
},
"in_production": "Y",
"price": "425",
"firm_code": "LEXUS1761",
"time": 29
}
}
2. Ограничения и рекомендации
К методам API с ключом доступа пользователя можно обращаться не чаще 3 раз в секунду.
Для безопасности к каждому ключу
ACCESS_TOKEN привязывается IP адрес, или несколько адресов сервера.
* IP необходимо указать в заявке на подключение доступа к API)
Для обновления всего каталога используйте метод - Получение информации о доступных товарах
getCatalog
3. Пример запроса из PHP
<?php
- $article = "BI.LE.02.001";
- $request_params = array(
- 'article' => $article,
- 'key' => 'A4fJene62gTZW85BkIz5h3fg25vcvJyy'
- );
- $get_params = http_build_query($request_params);
- $result = json_decode(file_get_contents('https://api.novline.com/api/getProduct/?'. $get_params), true);
- print_r($result['response']);
?>
4.1 Получение информации о товаре getProduct get
GET
https://api.novline.com/api/getProduct/
Параметры запроса
- article — Артикульный номер товара;
- key — Ключ доступа пользователя;
- extended — Вывод расширенных свойств, значение =1 (необязательный параметр);
Пример запроса
https://api.novline.com/api/getProduct/?article=BI.LE.02.001&key=A4fJene62gTZW85BkIz5h3fg25vcvJyy
Параметры ответа
- name — Наименование товара;
- article — Артикульный номер товара;
- brand — Бренд товара;
- quantity — Остаток на складе;
- warehouses — Остаток по складам, в формате В формате "id склада" => остаток *;
- in_production — Возможность заказа в производство;
- firm_code — Код организации;
- price — Стоимость за 1 единицу (в рублях);
- status — 1 в случае успеха, 0 - артикул не найден
- time — Время обработки запроса сервером;
Пример ответа JSON
{
"response": {
"status": 1,
"name": "Подкрылок LEXUS RX270\/350\/450h, 2009-2012 (передний левый)",
"article": "BI.LEXUS.02.001",
"code": "BILEXUS02001",
"brand": "LEXUS",
"quantity": 146,
"warehouses": {
"1": 24,
"2": 3
},
"in_production": "Y",
"price": "425",
"firm_code": "LEXUS1761",
"time": 29
}
}
*id склада соответствует названию, в методе
Получение информации о клиенте getUserInfo
В случае ошибки будет возвращен ответ с кодом ошибки
error_code и описанием
error
Подробней в разделе
5. Коды ошибок
4.2 Добавление товара в корзину add2Basket get
GET
https://api.novline.com/api/add2Basket/
Параметры запроса
- article — Артикульный номер товара;
- quantity — Заказываемое количество;
- key — Ключ доступа пользователя;
Пример запроса
https://api.novline.com/api/add2Basket/?article=BI.LE.02.001&quantity=2&key=A4fJene62gTZW85BkIz5h3fg25vcvJyy
Параметры ответа
При успешном добавлении товара в корзину параметр status = 1.
- status — Успех операции (1 или 0);
- item_id — Идентификатор товара в корзине;
- time — Время обработки запроса сервером;
Пример ответа JSON
{"response":{"status":1,"item_id":62445,"time":83}}
В случае ошибки будет возвращен ответ с кодом ошибки
error_code и описанием
error
Подробней в разделе
5. Коды ошибок
4.3 Получение содержимого корзины getBasket get
GET
https://api.novline.com/api/getBasket/
Параметры запроса
- key — Ключ доступа пользователя;
Пример запроса
https://api.novline.com/api/getBasket/?key=A4fJene62gTZW85BkIz5h3fg25vcvJyy
Параметры ответа
- basket — Массив с содержимым корзины
- item_id — ID товара в корзине;
- name — Наименование товара;
- article — Артикульный номер товара;
- quantity — Остаток на складе;
- price — Стоимость за 1 единицу (в рублях);
- summ_basket — Стоимость корзины;
- time — Время обработки запроса сервером;
Пример ответа JSON
{"response":{"status":1,"basket":[{"item_id":"62627","name":"Подкрылок LEXUS RX270\/350\/450h, 2009-2012 (передний левый)","article":"BI.LE.02.001","quantity":11,"price":115}],"summ_basket":1265,"time":29}}
4.4 Удаление позиции из корзины deleteBasketItem get
GET
https://api.novline.com/api/deleteBasketItem/
Параметры запроса
- item_id — Уникальный id товара в корзине, получаемый методом getBasket;
- key — Ключ доступа пользователя;
Пример запроса
https://api.novline.com/api/deleteBasketItem/?item_id=67329&key=A4fJene62gTZW85BkIz5h3fg25vcvJyy
Параметры ответа
- status — 1 или 0
- time — Время обработки запроса сервером;
Пример ответа JSON
{"response":{"status":1,"time":29}}
4.5 Удаление текущей корзины deleteBasket get
GET
https://api.novline.com/api/deleteBasket/
Параметры запроса
- key — Ключ доступа пользователя;
Пример запроса
https://api.novline.com/api/deleteBasket/?key=A4fJene62gTZW85BkIz5h3fg25vcvJyy
Параметры ответа
- status — 1 или 0 - успех операции
- basket — null при успешной очистке корзины
- time — Время обработки запроса сервером;
Пример ответа JSON
{"response":{"status":1,"basket":null,"time":35}}
4.6 Создание заказа makeOrder get
GET
https://api.novline.com/api/makeOrder/
Параметры запроса
- delivery_address — Адрес доставки, строка (закодированная urlencode) ;
- inn — ИНН грузополучателя, строка;
- kpp — КПП грузополучателя, строка;
- name — Наименование грузополучателя, строка( закодированная urlencode);
- comment — Комментарий к заказу, строка (закодированная urlencode) ;
- date — Желаемая дата отгрузки, не ранее, чем на следующий рабочий день. Формат - 'd.m.Y', по умолчанию + 2 дня , ко дню заказа, например 28.12.2025.
- key — Ключ доступа пользователя;
Пример запроса
https://api.novline.com/api/makeOrder/?key=A4fJene62gTZW85BkIz5h3fg25vcvJyy
Параметры ответа
- status — Успех операции (1 или 0);
- error_code — Код ошибки;
- error — Название ошибки;
- order_id — Id заказа;
- order — Состав заказа;
- time — Время обработки запроса сервером;
Пример ответа JSON
{"response":{"status":1,"order_id":16563,"time":440}}
Заказ формируется из актуальной корзины , которая идентична при авторизации под пользователем на нашем портале
4.7 Быстрый заказ fastOrder get
GET
https://api.novline.com/api/fastOrder/
Параметры запроса
- article — Заказываемый артикул;
- quantity — Количество, по умолчанию 1 шт;
- shipment_address — Адрес доставки, строка (закодированная urlencode) ;
- inn — ИНН грузополучателя;
- kpp — КПП грузополучателя;
- name — Наименование грузополучателя, строка (закодированная urlencode) ;
- client_order_id — Номер заказа в системе клиента, строка (закодированная urlencode) ;
- comment — Комментарий к заказу, строка (закодированная urlencode) ;
- date — Желаемая дата отгрузки, не ранее, чем на следующий рабочий день. Формат - 'd.m.Y', по умолчанию + 2 дня , ко дню заказа, например 28.12.2025.
- key — Ключ доступа пользователя;
Пример запроса
https://api.novline.com/api/fastOrder/?article=BI.LE.02.001&quantity=2&shipment_address_id=1&comment=testовый+заказ&key=A4fJene62gTZW85BkIz5h3fg25vcvJyy
Параметры ответа
- status — Успех операции (1 или 0);
- error_code — Код ошибки;
- error — Название ошибки;
- order_id — Id заказа;
- time — Время обработки запроса сервером;
Пример ответа JSON
{"response":{"status":1,"order_id":16563,"time":440}}
Заказ формируется мгновенно, не влияя на содержимое корзины.
Создание мгновенного заказа методом POST из множества позиций в разработке.
Если для Вас это актуально, напишите нам на почту Maksim.Osipchuk@novline.com
4.7.1 Быстрый заказ fastOrder post
post
https://api.novline.com/api/fastOrder/
Параметры запроса
- key — Ключ доступа пользователя, строка;
Тело запроса Content-Type: application/json
- items — Позиции для заказа, array of objects
- article — Артикул, строка
- quantity — Колличество, число
- shipment_address — Адрес доставки, строка (закодированная urlencode) ;
- inn — ИНН грузополучателя;
- kpp — КПП грузополучателя;
- name — Наименование грузополучателя, строка (закодированная urlencode) ;
- client_code — Код грузополучателя, строка ;
- client_contact — Контактная информация грузополучателя, имя и номер телефона, строка ;
- client_order_id — Номер заказа в системе клиента, строка (закодированная urlencode) ;
- comment — Комментарий к заказу, строка (закодированная urlencode) ;
- date — Желаемая дата отгрузки, не ранее, чем на следующий рабочий день. Формат - 'd.m.Y', по умолчанию + 2 дня , ко дню заказа, например 28.12.2025.
{
"items": [
{
"article": "RUSORIG.11.13.J1L-F",
"quantity": 2
},
{
"article": "RUSORIG.99.07.028NEW-F",
"quantity": 5
}
],
"shipment_address": "Адрес",
"inn": 505064512,
"kpp": 501556,
"name": "Наименование грузополучателя",
"client_order_id": 4325353,
"comment": "Комментарий к заказу",
"date": "07.11.2024"
}
Пример запроса
https://api.novline.com/api/fastOrder/?key=A4fJene62gTZW85BkIz5h3fg25vcvJyy
Параметры ответа
- status — Успех операции (1 или 0);
- error_code — Код ошибки;
- error — Название ошибки;
- order_id — Id заказа;
- time — Время обработки запроса сервером;
Пример ответа JSON
{"response":{"status":1,"order_id":16563,"time":440}}
Заказ формируется мгновенно, не влияя на содержимое корзины.
Создание мгновенного заказа методом POST из множества позиций в разработке.
Если для Вас это актуально, напишите нам на почту Maksim.Osipchuk@novline.com
4.8 Получение содержимого заказа getOrder
get
https://api.novline.com/api/getOrder/
Параметры запроса
- order_id — Номер заказа;
- key — Ключ доступа пользователя;
Пример запроса
https://api.novline.com/api/getOrder/?order_id=15121&key=A4fJene62gTZW85BkIz5h3fg25vcvJyy
Параметры ответа
- status — Успех операции (1 или 0);
- error_code — Код ошибки;
- error — Название ошибки;
- order — Массив параметров заказа
- order_id — Id заказа;
- user — Email создателя заказа;
- date_status — Дата изменения статуса заказа;
- status_id — Код статуса заказа;
- status — Статус заказа;
- order_price — Сумма заказа, в руб.
- delivery_date — Желаемая дата отгрузки;
- shipment_address — Адрес доставки;
- comment — Комментарий к заказу;
- list — Массив позиций заказа;
- time — Время обработки запроса сервером;
Пример ответа JSON
{
"response": {
"status": 1,
"order": {
"order_id": 16300,
"date": "09.06.2020 12:43:50",
"order_price": 115.5,
"status_id": "P",
"status": "В процессе отгрузки",
"date_status": "29.06.2020 16:23:08",
"comment": "testовый заказ",
"delivery_date": "12.07.2020",
"shipment_address": "Адрес 2",
"list": [
{
"ID": 46005,
"ARTICLE": "BI.LE.02.001",
"NAME": "Подкрылок LEXUS RX270\/350\/450h, 2009-2012 (передний левый)",
"QUANTITY": 1,
"PRICE": 115.5
}
]
},
"user": "client@car.com",
"time": 56
}
}
4.9 Получение списка заказов getOrders
get
https://api.novline.com/api/getOrders/
Параметры запроса
- key — Ключ доступа пользователя;
Пример запроса
https://api.novline.com/api/getOrders/?key=A4fJene62gTZW85BkIz5h3fg25vcvJyy
Параметры ответа
- status — Успех операции (1 или 0);
- orders — Массив с заказами;
- order_id — Id заказа;
- date — Дата заказа;
- status_id — Код статуса заказа;
- status — Статус заказа;
- date_status — Дата изменения статуса заказа;
- order_price — Сумма заказа, в руб.
- time — Время обработки запроса сервером;
Все возможные статусы заказовgetUserInfo
Пример ответа JSON
{
"response": {
"status": 1,
"orders": {
"16719": {
"order_id": 16719,
"date": "16.06.2020 18:09:38",
"status_id": "O",
"order_status": "Товар заказан в производство",
"date_status": "25.06.2020 17:47:10",
"order_price": "37.83"
},
"16705": {
"order_id": 16705,
"date": "16.06.2020 16:31:36",
"status_id": "P",
"status": "В процессе отгрузки",
"date_status": "29.06.2020 16:20:18",
"order_price": "140.97"
},
"16300": {
"order_id": 16300,
"date": "09.06.2020 12:43:50",
"status_id": "P",
"status": "В процессе отгрузки",
"date_status": "29.06.2020 16:23:08",
"order_price": "378.30"
}
},
"time": 41
}
}
4.10 Получение информации о клиенте getUserInfo
get
https://api.novline.com/api/getUserInfo/
Параметры запроса
- key — Ключ доступа пользователя;
Пример запроса
https://api.novline.com/api/getUserInfo/?key=A4fJene62gTZW85BkIz5h3fg25vcvJyy
Параметры ответа
- status — Успех операции (1 или 0);
- firm_code — Код клиента в системе api.novline.com
- warehouses — массив подключенных складов для профиля клиента. В формате "id склада" => "Название". id склада соответствует выдаче при проценке
- delivery_address — массив адресов из профиля клиента на сайте
- default_address — адресс доставки по умолчанию для ключа доступа пользователя
- registered_ip — массив IP адресов, разрешенных для ключа доступа пользователя
- login — логин пользователя, к которому привязан ключ доступа
- time — Время обработки запроса сервером;
Пример ответа JSON
{
"response": {
"firm_code": "ББ0001761",
"registered_ip": [
"81.31.87.21",
"171.173.21.121"
],
"warehouses ": {
"1": "Центральный склад",
"2": "Санкт-Петербург"
},
"delivery_address": [
"Адрес 1",
"Адрес 2"
],
"default_addres": "Адрес по умолчанию",
"remote_ip": "81.31.87.21",
"login": "client@car.com",
"time": 22
}
}
Для регистрации или внесения изменений, следует обратиться к своему менеджеру, или на почту Maksim.Osipchuk@novline.com
4.1.1 Получение информации о доступных товарах getCatalog
get
https://api.novline.com/api/getCatalog/
Параметры запроса
- type — Тип данных. Доступен simplejson;
- warehouses — Склад, из списка доступных складов РФ (необязательный параметр);
- key — Ключ доступа пользователя;
Пример запроса
https://api.novline.com/api/getCatalog/?type=simplejson&warehouses=1&key=A4fJene62gTZW85BkIz5h3fg25vcvJyy
Параметры ответа
- type — Тип данных;
- firm_code — Код организации;
- catalog — Массив товаров;
- article — Артикульный номер товара;
- brand — Бренд товара;
- quantity — Остаток на складе *;
- warehouses — Остатки по складам, массив в формате В формате "id склада" => остаток *;
- price — Стоимость за 1 единицу (в рублях);
- time — Время обработки запроса сервером;
Пример ответа JSON
{
"response": {
"status": 1,
"type": "simplejson",
"firm_code": "НН0002061",
"catalog": [
{
"article": "NLF0001U",
"code": "NLF0001U",
"brand": "Novline",
"price": 546.15,
"count": 4
},
{
"article": "NL540001",
"code": "NL540001",
"brand": "Novline",
"price": 9742.9,
"count": 2
},
{
"article": "NL825001",
"code": "NL825001",
"brand": "Novline",
"price": 870.85,
"count": 44
}
],
"count": 4,
"time": 1802
}
}
* Если в запросе указан код склада (warehouses), ответ содержит остаток по этому складу (quantity)
Если склад не указан, сервер вернет массив доступных складов имеющий свободный остаток.
id склада соответствует названию, в методе
Получение информации о клиенте getUserInfo
В случае ошибки будет возвращен ответ с кодом ошибки
error_code и описанием
error.
Подробней в разделе
5. Коды ошибок
5. Коды ошибок
- 1 — Не найден артикул;
- 2 — Ошибка в заданном колличестве;
- 3 — Не установлена цена на товар;
- 5 — Невозможно заказать указаное колличество;
- 6 — Корзина пуста, невозможно создать заказ;
- 7 — Не передан обязательный параметр article;
- 51 — Ошибка авторизации;
- 52 — Запрос с неавторизованного IP;
- 53 — Не передан ключ авторизации;
- 54 — Отсутсвует обязательный параметр;
- 55 — Недопустимое значение параметра;
6. Статусы заказов
- N — Заказ в обработке;
- AC — Принят, проверяется;
- R — Ожидает оплаты;
- O — Товар заказан в производство;
- P — В процессе отгрузки;
- S — Отгружен;
- F — Выполнен;
7. Список доступных складов по РФ
- 1 — Центральный склад МСК;
- 2 — Санкт-Петербург;
- 3 — Воронеж;
- 4 — Ростов-на-Дону;
- 5 — Екатеринбург;
- 6 — Краснодар;
- 7 — Саратов;
- 8 — Самара;
- 9 — Новосибирск;
- 10 — Нижний Новгород;
- 11 — Набережные Челны;
Для подключения дополнительного склада, следует обратиться к своему менеджеру, или на почту Maksim.Osipchuk@novline.com
Техническая поддержка Maksim.Osipchuk@novline.com