Работа с нашим API

Общее описание API

Для начала работы с API нужно скачать класс LinemediaAutoApiDriver, получить для него настройки и запросить у нас доступ для ip адреса вашего сервера.

Для подключения к серверу API используется класс LinemediaAutoApiDriver.

В нем настраиваем параметры подключения LINEMEDIA_AUTO_API_ID - ID в системе Linemedia Auto.

Теперь можно начать работу с API. Подключаем класс LinemediaAutoApiDriver и создаем его объект: $linemedia_auto_api = new LinemediaAutoApiDriver();

Метод query класса LinemediaAutoApiDriver с параметрами: название функции, аргументы функции, позволяет выполнять доступные функции api. API версии 0.1.0 поддерживает форматы передачи данных: serialized, json, xml.

Пример без параметров:

$result $linemedia_auto_api->query('getBrands2',$data array());
 




 

Пример с параметрами:

$linemedia_auto_api->query('getVehicleModels2',$data array('brand_id'=>'120'));
 




 

В данном примере мы вызываем функцию getBrands без параметров. В результате в переменной $result получаем массив данных:

Array
(
    [status] => ok
    [data] => Array
        (
            [brands] => Array
                (
                    [0] => Array
                        (
                            [manuId] => 609
                            [manuName] => AC
                        )
 
                    [1] => Array
                        (
                            [manuId] => 1505
                            [manuName] => ACURA
                        )
 
                    [2] => Array
                        (
                            [manuId] => 1480
                            [manuName] => AIXAM
                        )
                )
 
        )
 
    [spent_time] => 0.0561
)
 




 

 

Основные функции для формирования каталога:

 

Содержимое по меткам

Содержимое с указанными метками не найдено.

 

 


 

Получения брендов деталей.

Функция: 
getDetailBrands()

Result:

Field

Type

Description

brandNo

int

Номер бренда

brandName

string

Название бренда

 

 

Получение производителей авто.

Функция: 
getBrands2()

Result:

Field

Type

Description

manuId

int

Номер производителя

manuName

string

Название производителя

 

 

Получения списка моделей данного производителя.

Функция:

getVehicleModels2()

Result:

Field

Type

Description

modelId

int

Номер производителя

modelname

string

Название производителя

yearOfConstrFrom

date

Дата начала производства в формате yyyymm

yearOfConstrTo

date

Дата конца производства в формате yyyymm

 

Request parametrs:

Name

Type

Description

brand_id

int

Номер производителя

 

 

Получение списка модификаций модели.

Функция:

getModelVariants2()

Result:

Field

Type

Description

carId

int

Номер авто

carName

string

Название модификации

firstCountry

string

страна

 

Request parametrs:

Name

Type

Description

brand_id

int

Номер производителя

model_id

int

Номер модели

 

 

Получение групп деталей.

Функция:

getListOfGroups()

Result:

Field

Type

Description

parentNodeId

int

Идентификатор группы родителя

hasChilds

boolean

Наличие потомков

assemblyGroupName

string

Название группы

assemblyGroupNodeId

int

Идентификатор группы

 

Request parametrs:

Name

Type

Description

type_id

int

Номер авто

group_id

int

Идентификатор группы (null = root node, 0 = all nodes)

 

Получение списка деталей данной группы.

Функция:

getDetails2()

Result:

Field

Type

Description

articleLinlId

int

Идентификатор артикула

brandNo

int

Номер бренда

brandName

string

Название бренда

articleId

int

Идентификатор артикула

sortNo

int

Номер сортировки

articleNo

string

Артикул детали

genericArticleName

string

Название

genericArticleId

int

Идентификатор группы

 

Request parametrs:

Name

Type

Description

type_id

int

Номер авто

group_id

int

Идентификатор группы

 

Получение информации о детали.

Функция:

getDetailInformation()

Request parametrs:

Name

Type

Description

article_id

int

Артикул детали

article_link_id

int

Артикул детали

 

 

Получение картинки детали.

Функция:

getPictureUrlByDocId()

Result:

Field

Type

Description

img

string

Url картинки детали

 

Request parametrs:

Name

Type

Description

doc_id

int

Идентификатор документа детали

 

 

Поиск аналогов для запчастей

Получение аналогов по артикулу.

Функция:

getAnalogs2Multiple()

Result:

Field

Type

Description

catalog

boolean

Если true — вернулись каталоги, false - аналоги

catalogs

array

Массив с каталогами

parts

array

Массив с аналогами

 

Request parametrs:

Name

Type

Description

art

string

Артикул товара

genericArticleId

int

Id для уточнения каталога

 


Примечание: запрос на поиск аналогов делается одним артикулом, если для данного артикула возвращаются каталоги, то второй запрос идет уже с двумя параметрами art и genericArticleId.

Эта функция вызывается с парамтром art, в котором передается артикул детали, функция возвращает аналоги к запрашиваемой детали, однако если в базе текдока есть несколько деталей с таким артикулом, то эта функция возвращает детали с запрашиваемым артикулом. Из этих деталей нужно выбрать одну и вызвать эту же функцию только уже с двумя параметрами: артикулом и genericArticleId - это идентификатор выбранной детали, и по этой паре параметров можно получить аналоги. Если деталь с таким артикулом одна в базе, то функция сразу возвращает аналоги. Аналоги включают в себя аналоги текдока, оригинальные номера запрашивоемой детали и аналоги из МонгоДБ. Монго ДБ - это наша база кроссов.

 
 

Вызов любой ф-ции из низкоуровнего API текдок http://webservicepilot.tecdoc.net/pegasus-2-0/doc/InterfaceCatService.PDF 
Метод toTecdoc
Параметры array('function'=>'TecdocFunctionName', 'parameter1'=>'...', 'parameter2'=>'...') 

Пример вызова ф-ции с параметрами LongList:
array(
'function'=>'getDirectArticlesByIds2', 
'articleId' => array('empty' => false , 'array' => array(222051)), 
'attributs' => true, 
'documents' => true, 
'documentsData'    => true, 
'immediateAttributs' => true, 
'immediateInfo'    => true, 
'info'   => false, 
'oeNumbers' => true, 
'priceDate' => null, 
'replacedByNumbers'  => true, 
'replacedNumbers'   => true, 
'usageNumbers'    => true, 
'prices'  => false, 
'eanNumbers'     => true, 
'mainArticles'    => true, 
'normalAustauschPrice'=> false

Доступ к вебсервису проценки

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

Логин и пароль передаются в запросе к вебсервису с помощью стандартной http basic авторизации.

Формат запроса

Запрос и его параметры передаются методом GET по протоколу HTTP. Логин и пароль передаются с помощью стандартной http basic авторизации.

Возможные параметры запроса:

название параметра тип обязательный комментарий
q string да Поисковый артикул. Значение имеют только буквы и цифры, все остальные символы можно удалять при формировании запроса.
part_id int нет уникальный внутренний id детали. На данный момент это поле зарезервировано.
brand_title string нет название бренда. Если не указано, то возможен ответ типа "уточнение бренда", если запрошенный артикул найден в нескольких каталогах
sort string нет поле ответа для сортировки. По умолчанию "price_src".
order string нет порядок сортировки. Допустимые значение 'asc' и 'desc'. По умолчанию – 'asc'
extra array нет дополнительные данные, которые были присланы в ответе ранее. Служат для точного нахождения запрошенного ценового предложения.

 

Пример запроса (login=client, password=clientclient):
GET /bitrix/admin/linemedia.auto_search.php?q=gdb1550 HTTP/1.1
Host: auto.x.linemedia.ru
Authorization: Basic Y2xpZW50OmNsaWVudGNsaWVudA==
Connection: close

Формат ответа

В случае успешной авторизации сервер формирует ответв  формате json. Возможно два варианта ответа: уточнение бренда и детали с проценкой.

Уточнение бренда(список каталогов).

В возвращаемом json-объекте присутствует поле catalogs. Его значение – массив, с ключами, равными названию бренда, а значение содержит массив со следующими данными:

ключ пример значения примечание
article 6002 артикул детали
brand_title ATOY название бренда
title Пружина подвески задн.kadett c -79t

Название детали или её краткое описание. Значение может быть пустым

 

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

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

{"catalogs":

    {

        "ATOY": {

                    "article":"6002",

                    "brand_title":"ATOY",

                    "title":"Пружина подвески задн.kadett c -79t",

                    "source":"mikadoparts_333",

                    "extra":

                            {"mikadopartsbt":"ATOY","wf_b":null},"sources":["mikadoparts_333"]

                }

    }

}

Проценка деталей

Ответ в формате json. По ключу parts записан массив типов деталей в ответе, ключи которого имеют вид ANALOG_TYPE_X, а значение – массив процененных деталей.

Значение X в ключах ANALOG_TYPE_X может принимать следующие значения:

значение Х значение
N Искомый артикул
0 Неоригинальные аналоги
1 OEM аналоги
2 Продажные номера
3 Сравнительные номера
4 Замены
5 Замены устаревшего артикула
6 EAN
10 Другое

 

 

Каждый элемент – массив со следующими значениями:

ключ пример значения примечание
id 13033780 уникальный номер детали на сайте
title gdb1550 очищенный артикул детали (только буквы и цифры)
article gdb-1550 оригинальный артикул
brand_title TRW название производителя
price_src 3780 цена
quantity 40.00 количество на складе
delivery 0 строка со сроком доставки (если не 0, то с указанием единицы измерения "ч"/"д". Возможно наличие знака ≈ перед числом в случае если доставка равна нецелому числу суток).
modified 2013-05-28 18:13:47 дата обновления данных о детали (формат в примере)
weight 0 вес детали. Не ноль только в случае, если сайт загружает прайслисты с указанным весом

 

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

{"parts":{

        "analog_type_N":[

                            {

                            "id":"13033780",

                             "title":"gdb1550",

                             "article":"gdb-1550",

                            "brand_title":"TRW",

                            "price_src":3780,

                            "quantity":"40.00",

                            "delivery":0,

                            "modified":"2013-05-28 18:13:47",

                            "weight":0

                            }

                        ]

        }

}