Описание API

Для всех запросов передается параметр api_key или auth_key, который служит авторизационным ключом. api_key необходимо запросить у Вашего менеджера.

Перечень запросов:

1.   Получение списка брендов по номеру
2.   Получение предложений 
      Поиск предложений по номеру и марке детали
      Поиск предложений по названию детали
      Получение предложений по нескольким номерам
3.   Получение списка товаров в Корзине 
4.   Очистить корзину 
5.   Удалить элемент корзины
6.   Отправить в заказ содержимое корзины
7.   Добавить в корзину
8.   Получение позиций заказов клиентов
9.   Получить информацию о менеджерах
10. Детализация по балансу
11. Общая статистика по балансу и заказам
12. Получить информацию о страницах
13. Получить информацию о странице по ее ID

1.   Получение списка брендов по номеру
     GET /backend/price_items/api/v1/search/get_brands_by_oem

Параметры:

  • oem – номер запрашиваемой детали

Пример результата:

result: "ok",
data: [
  {
    number: "C110",           #номер детали
    brand: "DOLZ",            #производитель
    des_text: "Водяной насос" #название
  }
]


2.   Получение предложений
     GET /backend/price_items/api/v1/search/get_offers_by_oem_and_make_name

Параметры:

  • oem – номер детали
  • make_name – производитель
  • without_cross  – показ кроссов. Значение по умолчанию "false". Укажите "true" для исключения кроссов из результатов выполнения запроса. 
    Параметр применяется только для в запросах для поиска по номеру и марке.
  • text – название детали или текстовая строка поиска

Пример запроса для поиска по номеру и марке: 

http://company-shop.name/backend/price_items/api/v1/search/get_offers_by_oem_and_make_name?api_key=api_key&oem=OP572&make_name=FILTRON&without_cross=true

Здесь company-shop.name – внешний адрес вашего интернет-магазина, api_key – ключ доступа API,  oem=OP572 –  фильтр по номеру детали "OP572", make_name=FILTRON –  фильтр по марке детали "FILTRON".

Полученный результат:

result: "ok",
data: [
  {
    oem: "OP572",                         #Номер детали
    make_name: "FILTRON",                 #Производитель
    detail_name: "Фильтр масляный OP572", #Названия в прайс листе
    cost: 164,                            #Цена продажи
    qnt: 25,                              #Доступное количество, может быть -1 если точное количестов не известно
    min_qnt: 2,                           #Кратность поставки
    min_delivery_day: 0,                  #Минимальный срок доставки
    max_delivery_day: 0,                  #Максимальный срок доставки
    sup_logo: "BERG",                     #Направление поставки
    stat_group: 0,                        #Процент поставки
    system_hash: "K29PTTF4akxGN2lkcFE0ajFmUWJzSGtyOUI3Vzk5MVRtVXNud25W2ZPWjVaMGpwaTZFbmhRMjdjMW1ianNkWnJsTWVaUGRDR0JkMDZmSzZPSGJ0UjdoaVo2WVNDa3RuZWREemdDYTdrcGpJc3o0Q01RSDRjVmhXYngydGxуUTkVpbkNHb29oYXg4Yk9CUmQvQUVFdmsxdWhOL2hURnlPN0VjdHJPbzdBQW40b2RvdXZFSzNlclZLc2w3ejRBZ21leFJrMGMvdE9sV20vVlJmdDc1d2dJRmQ3VHlRK0g5eFcwREgxTUlQOXhlT043WFJiWlFPUmVXNGpaV2wwalhQRS0tVGRmYWVDamdKckhNdUpITGtUcEppUT09--c8f8d6c0a6c62e962f12f0017a6b3bf8821d0339@@@@TnpUZC9WN3QwRE9sbjRzYmtMZDY4VEt3cE15N3VnR2QvTDV3VStxZTNOZklBWkNmZDVzNVh6UUE5ZzlhOUdrT0pLZkEwbWE2YzZOVW9wRnQ2UmQ3M0E9PS0td2ZCNWNSREJ6cDkrZjI4RmVENlJHQT09--e101f213008626d954d1c1c6ced238fd8159a2fa"  #hash для заказа через api
  }
]

Пример запроса для поиска по названию: 

http://company-shop.name/backend/price_items/api/v1/search/get_offers_by_oem_and_make_name?api_key=api_key&text=водяной насос

Здесь text=водяной насос –  фильтр по названию "водяной насос".

Запрос выполняется только по локальным прайс-листам, для которых настроен поиск по названию.

 Полученный результат:

{
    "data": [
        {
            "oem": "94964",                        #Номер детали
            "make_name": "HONDA",     #Марка
            "detail_name": "Насос водяной(помпа)",          #Название
            "cost": 925,                                                                   #Цена
            "qnt": -1,                                                                       #Количество, здесь неизвестно 
            "min_qnt": 1,                                                              #Кратность поставки
            "min_delivery_day": 0,                                           #Минимальный срок доставки
            "max_delivery_day": 4,                                          #Максимальный срок доставки 
            "stat_group": 0,                                                         #Процент поставки
            "system_hash": "PR|259649|ee8d0b9a-e789-42ff-b10f-b62c2223f218-ITEM0",                 #hash для заказа через api
            "sup_logo": «BERG»,                                               #Направление поставки
            "volume": 0
        }
    ],
    "result": "ok"
 }


 Получение предложений по нескольким номерам
     POST /backend/price_items/api/v1/search/get_offers_by_oem_and_make_name

Поиск по нескольким номерам выполняется только по локальным прайс-листам.

Параметры:

  • articles   – json коллекция из бренд+номер детали. Максимальная длина массива 25. Пример значение параметра^ [{"make_name": "DOLZ", "oem": "C110"},{"make_name": "DOLZ","oem": "C1101"}].
  • category_id  – ID категории.
    Есть веб-сервисы, которые поддерживают поиск по нескольким номерам (например, веб-сервис WebService::Power). В карточках этих веб-сервисов выбираются нужные категории. При открытии этих каталогов в поиск включаются соответствующие веб-сервисы.

3.   Получение списка товаров в Корзине
      GET /api/v1/baskets/

Пример результата:

{"result": "ok", "data": [
 {"id"  : 1409,                         #id позиции в корзине
  "oem" : "ADB01165",                   #номер детали в заказе
  "make_name": "ALLIED NIPPON",         #производитель
  "detail_name": "Тормозные колодки",   #название детали
  "cost": 1178.0,                       #цена
  "qnt": 1,                             #количество
  "min_delivery_day": 2,                #минимальный срок доставки
  "max_delivery_day": 2,                #максимальный срок доставки
  "comment": ""                         #комментарий
  }
]}


4.   Очистить корзину
      POST /api/v1/baskets/clear

Пример результата:

{result: 'ok'}


5.   Удалить элемент корзины
      DELETE /api/v1/baskets/:id

Параметры:

  • :id – id позиции в корзине

Результат при успешном удалении позиции:

{result: 'ok'}


6.   Отправить в заказ содержимое корзины
      POST /api/v1/baskets/order

Результат при успешном создании заказа:

{result: 'ok'}


7.   Добавить в корзину
      POST /api/v1/baskets

Параметры:

  • oem                – номер заказываемой детали
  • make_name   – производитель заказываемой детали
  • detail_name   – название заказываемой детали
  • qnt                  – количество в заказ
  • comment        – комментарий к позиции
  • min_delivery_day – минимальный срок доставки
  • max_delivery_day – максимальный срок доставки
  • api_hash         – hash полученный из проценки

Результат при успешном добавлении позиции:

{result: 'ok'}


8.   Получение позиций заказов
      GET /api/v1/order_items

Параметры:

  • page  – номер страницы выборки. По 10 позиций на выборку
  • search[id_eq]  – поиск по id позиции
  • search[oem_eq]  – поиск по номеру 
  • search[make_name_eq] – поиск по производителю
  • search[comment_eq]   – поиск по комментарию 
  • search[status_code_eq]  – поиск по группе статуса
  • per_page  – количество позиций в выборке. Значение по умолчанию 10

Пример результата:

result: "ok",
data: [
  {
    id: 4068,                               #id позиции заказа
    oem: "6698",                            #номер детали
    make_name: "KAMOKA",                    #производитель
    detail_name: "КОМПЛЕКТ ШРУСА ВНЕШНИЙ",  #название детали
    cost: 2520,                             #цена
    qnt: 1,                                 #количество заказано
    qnt_accept: null,                       #количество подтверждено
    qnt_income: null,                       #количество пришло
    status: "Принят к обработке",           #статус - название
    status_code: "processing",              #код статуса 
    comment: "test test 2",                 #комментарий клиента
    created_at: "2012-10-28T09:11:12+03:00" #дата создания заказа
  }
]

Возможны коды статусов:

  • processing - обрабатывается менеджером 
  • commit     - подтвержден 
  • v-zakaze   - отправлен в заказ 
  • supplier-commit - подтвержден поставщиком 
  • transit         - в пути 
  • supplier-accept - ожидает приемки на склад 
  • prishlo         - пришло на склад 
  • vydano          - выдано 
  • otkaz           - отказ поставки
  • snyat           - клиентом или поставщиком
  • vozvrat - возврат

9.   Получить информацию о менеджерах
     GET /api/v1/customers/manager

Параметры:

  •   search[id_eq]  – поиск по id менеджера
  •   search[email_eq]  – поиск по email
  •   search[name_eq]  – поиск по имени
  •   search[phone]   – поиск по номеру телефона

Пример результата:

result: "ok",
data: [
 {
   "id":2466
   "email":"A.Alekseev@tpas.ru",
   "name":"Алексеев Андрей",
     "phone":"8-921-787-18-32",
     "skype":null,
     "icq":"641-506-908",
     "photo":null
  }
]


10.   Детализация по балансу
       GET /api/v1/customers/:id/balances

Параметры:

  •   id   – ID клиента
  •   page  –  номер страницы выборки.
  •   per_page  – количество записи в выборке. Значение по умолчанию 10.
  •   search[created_at_gt]  – дата создания больше, формат 06.07.2014%2011:47:45
  •   search[created_at_lt]  – дата создания меньше, формат 10.07.2014%2011:47:45
  •   search[updated_at_gt]  – дата обновления больше, формат 06.07.2014%2011:47:45
  •   search[updated_at_lt]  – дата обновления меньше, формат 10.07.2014%2011:47:45

Пример результата:

result: "ok",
data: [
  {
    "id":8414,
    "customer_id":5124,
    "customer_inn":"",
    "description":"Списание по заказу № 6938",
     "sum":-5926.0,
     "income_type":null,
     "created_at":"2020-04-04T11:02:00.266+03:00",
     "updated_at":"2020-04-04T11:02:00.266+03:00"
  }
]


11.   Общая статистика по балансу и заказам
       GET /api/v1/customers/:id/stat

Параметры:

  • id  – ID клиента

Пример результата:

{
   "result":"ok",
   "data":{
      "balance":{
         "title":"Баланс",
         "result":-2874079.06
      },
      "credit_balance":{
         "title":"Баланс с кредитным лимитом",
         "result":7125920.9399999995
      },
      "delay_balance":{
         "title":"Баланс отсрочки",
         "result":-2874079.06
      },
      "check_balance":{
         "title":"На проверке",
         "result":19554645.704084
      },
      "work_balance":{
         "title":"В работе",
         "result":5634057.16
      },
      "warehouse_balance":{
         "title":"К отгрузке",
         "result":600.0
      },
      "shipped_and_return_sum":{
         "title":"Возврат + Выдано",
         "result":702783.0
      },
      "return_order_item_sum":{
         "title":"Возврат",
         "result":0.0
      },
      "return_percent":{
         "title":"Процент от суммы возврат + выдано",
         "result":0.0
      },
      "order_count":{
         "title":"Заказов за все время",
         "result":632
      },
      "order_item_count":{
         "title":"Позиций за все время",
         "result":2870
      },
      "revenue":{
         "title":"Оборот за все время",
         "result":25892085.864084
      },
      "revenue_last_month":{
         "title":"Оборот за прошлый месяц",
         "result":13540.0
      },
      "revenue_current_month":{
         "title":"Оборот за текущий месяц",
         "result":24076.0
      },
      "average_check":{
         "title":"Средний чек",
         "result":42126.441462158225
      },
      "last_request_at":{
         "title":"Последний запрос",
         "result":"2020-04-04T10:58:22.650+03:00"
      },
      "last_order_id":{
         "title":"ID последнего заказа",
         "result":6938
      },
      "last_order_at":{
         "title":"Последний заказ",
         "result":"2020-04-04T11:01:55.012+03:00"
      },
      "profit":{
         "title":"Прибыль за все время",
         "result":440866.2639
      },
      "profit_last_month":{
         "title":"Прибыль за прошлый месяц",
         "result":0.0
      },
      "profit_current_month":{
         "title":"Прибыль за текущий месяц",
         "result":0.0
      },
      "in_work_balance":{
         "title":"Баланс - заказы в работе",
         "result":-2874079.06
      }
   }
 }


12.   Получить информацию о страницах
        GET /api/v1/pages

Параметры:

  • search[id_eq]    –  поиск по id страницы
  • search[title_eq]  – поиск по заголовку
  • search[active_true]  – поиск активных страниц
  • search[active_false]  – поиск не активных страниц
  • search[page_category_id_eq]  – оиск по ID категории страниц

Пример результата:

"result":"ok",
  "data":[
    {
     "id":187,
     "title":"Свечи зажигания",
     "description":"",
     "body":"",
     "active":true,
     "created_at":"2014-10-28T12:47:35.142+03:00",
     "page_category_id":38,
     "position":null,
     "slug":"svechi-zazhiganiya",
     "on_main_page":false,
     "sub_url":null,
     "on_head":false,
     "in_footer":true,
     "region_id":null,
     "only_auth":false,
     "custom_url":null,
     "css_class":null,
     "meta_title":null,
     "meta_description":null,
     "meta_keywords":null,
     "seo_h1":null,
     "seo_text":null
    }
  ]


13.   Получить информацию о странице по ее ID
        GET /api/v1/pages/:id

Параметры:

  •  id  – ID страницы

Пример успешного результата:

"result":"ok",
   "data":{
      "id":187,
      "title":"Свечи зажигания",
      "description":"",
      "body":"",
      "active":true,
      "created_at":"2014-10-28T12:47:35.142+03:00",
      "page_category_id":38,
      "position":null,
      "slug":"svechi-zazhiganiya",
      "on_main_page":false,
      "sub_url":null,
      "on_head":false,
      "in_footer":true,
      "region_id":null,
      "only_auth":false,
      "custom_url":null,
      "css_class":null,
      "meta_title":null,
      "meta_description":null,
      "meta_keywords":null,
      "seo_h1":null,
      "seo_text":null
   }

Пример ответа, когда не удается найти страницу:

"result": "error"
"error": "Page with id 187 not found"