NOVLINE API — автоматизация заказов

NOVLINE API — это инструмент, который даст возможность вашему сайту или приложению автоматически взаимодействовать с нами в реальном времени. Благодаря ему вы сможете:

Преимущества внедрения NOVLINE API


Если вы являетесь нашим клиентом и у вас уже имеется сайт или вы только собираетесь обзавестись им, то наш API даст вам дополнительное конкурентное преимущество.



Описание функционала


Способ авторизации: Ключ доступа (Токен)
Для работы со всеми методами API Вам необходимо передавать в запросе key — специальный ключ доступа.
Он представляет собой строку из латинских букв и цифр и может соответствовать отдельному пользователю.
* При выполнении определенных условий человек, получивший Ваш токен, может нанести существенный ущерб Вашим данным и данным других людей. Поэтому очень важно не передавать свой токен третьим лицам.


1. Синтаксис запроса

Чтобы обратиться к методу API api.novline.com, Вам необходимо выполнить POST или GET запрос такого вида:
https://api.novline.com/api/METHOD_NAME?PARAMETERS&key=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. Доступные методы



4.1 Получение информации о товаре getProduct get

GET

https://api.novline.com/api/getProduct/

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

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

https://api.novline.com/api/getProduct/?article=BI.LE.02.001&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
  }
}

*id склада соответствует названию, в методе Получение информации о клиенте getUserInfo В случае ошибки будет возвращен ответ с кодом ошибки error_code и описанием error Подробней в разделе 5. Коды ошибок


4.2 Добавление товара в корзину add2Basket get

GET

https://api.novline.com/api/add2Basket/

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

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

https://api.novline.com/api/add2Basket/?article=BI.LE.02.001&quantity=2&key=A4fJene62gTZW85BkIz5h3fg25vcvJyy

Параметры ответа

При успешном добавлении товара в корзину параметр status = 1.

Пример ответа JSON

{"response":{"status":1,"item_id":62445,"time":83}}

В случае ошибки будет возвращен ответ с кодом ошибки error_code и описанием error Подробней в разделе 5. Коды ошибок


4.3 Получение содержимого корзины getBasket get

GET

https://api.novline.com/api/getBasket/

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

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

https://api.novline.com/api/getBasket/?key=A4fJene62gTZW85BkIz5h3fg25vcvJyy

Параметры ответа

Пример ответа 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/

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

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

https://api.novline.com/api/deleteBasketItem/?item_id=67329&key=A4fJene62gTZW85BkIz5h3fg25vcvJyy

Параметры ответа

Пример ответа JSON

{"response":{"status":1,"time":29}}


4.5 Удаление текущей корзины deleteBasket get


GET

https://api.novline.com/api/deleteBasket/

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

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

https://api.novline.com/api/deleteBasket/?key=A4fJene62gTZW85BkIz5h3fg25vcvJyy

Параметры ответа

Пример ответа JSON

{"response":{"status":1,"basket":null,"time":35}}

4.6 Создание заказа makeOrder get


GET

https://api.novline.com/api/makeOrder/

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

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

https://api.novline.com/api/makeOrder/?key=A4fJene62gTZW85BkIz5h3fg25vcvJyy

Параметры ответа

Пример ответа JSON

{"response":{"status":1,"order_id":16563,"time":440}}
Заказ формируется из актуальной корзины , которая идентична при авторизации под пользователем на нашем портале


4.7 Быстрый заказ fastOrder get

GET

https://api.novline.com/api/fastOrder/

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

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

https://api.novline.com/api/fastOrder/?article=BI.LE.02.001&quantity=2&shipment_address_id=1&comment=testовый+заказ&key=A4fJene62gTZW85BkIz5h3fg25vcvJyy

Параметры ответа

Пример ответа 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/

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

Тело запроса Content-Type: application/json

{
  "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

Параметры ответа

Пример ответа JSON

{"response":{"status":1,"order_id":16563,"time":440}}
Заказ формируется мгновенно, не влияя на содержимое корзины. Создание мгновенного заказа методом POST из множества позиций в разработке. Если для Вас это актуально, напишите нам на почту Maksim.Osipchuk@novline.com


4.8 Получение содержимого заказа getOrder

get

https://api.novline.com/api/getOrder/

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

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

https://api.novline.com/api/getOrder/?order_id=15121&key=A4fJene62gTZW85BkIz5h3fg25vcvJyy

Параметры ответа

Пример ответа 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/

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

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

https://api.novline.com/api/getOrders/?key=A4fJene62gTZW85BkIz5h3fg25vcvJyy

Параметры ответа

  • Все возможные статусы заказов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/

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

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

    https://api.novline.com/api/getUserInfo/?key=A4fJene62gTZW85BkIz5h3fg25vcvJyy

    Параметры ответа

    Пример ответа 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/

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

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

    https://api.novline.com/api/getCatalog/?type=simplejson&warehouses=1&key=A4fJene62gTZW85BkIz5h3fg25vcvJyy

    Параметры ответа

    Пример ответа 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. Коды ошибок


    6. Статусы заказов


    7. Список доступных складов по РФ

    Для подключения дополнительного склада, следует обратиться к своему менеджеру, или на почту Maksim.Osipchuk@novline.com
    Техническая поддержка Maksim.Osipchuk@novline.com