NetNado
  Найти на сайте:

Учащимся

Учителям



-



Документация API 2.0

Оглавление



Общие сведения

Документ содержит сведения о программном интерфейсе интернет-магазина компании «Автотрейд» sklad.autotrade.su (далее - «API»). Через API внешние приложения получают доступ к системе поиска интернет-магазина (в различных вариантах), оформлению заказов и информации о заказах.

WSDL (англ. Web Services Description Language) — это язык описания веб-сервисов, основанный на XML. На этом языке описывается модель сервиса: методы, входные и результирующие структуры данных, типы данных, сетевые адреса для обращения к сервису и т.п.

JSON (англ. JavaScriptObjectNotation) — текстовый формат обмена данными, основанный на JavaScript и обычно используемый именно с этим языком. Как и многие другие текстовые форматы, JSON легко читается людьми.

Взаимодействие с сервисом может осуществляться через SOAP протокол или посредством JSON путем отправки запроса на соответствующий адрес сервиса:

SOAP: http://api2.autotrade.su/?soap

JSON: http://api2.autotrade.su/?json

Внимание! При отправке запросов по протоколу HTTPS на данный момент могут возникать ошибки, в этом случае используйте протокол HTTP.

В случае использования SOAP способ отправки запросов зависит от SOAP-библиотеки. Если библиотека поддерживает WSDL, достаточно указать адрес WSDL-файла:

http://api2.autotrade.su/api.wsdl

Из него библиотека получает адрес API и выполняет необходимые действия для отправки запроса. Если библиотека не поддерживает WSDL, необходимо явно указывать адрес API - http://api2.autotrade.su/?soap.

Все методы вида getItemsByxxx возвращают путь к фотографии в поле photo, если фото нет, то возвращается пустая строка.
Все методы getItemsByxxx возвращают признаки:

наличия технической информации: techinfo_exists =>'Y'’ / ’N’;

наличия аналогов: cross_exists => 'Y' / ’N’;

наличия замен: subs_exists => 'Y' / ’N’, где «Y» - yes, «N» - нет

Механизм авторизации
При каждом вызове метода API производится проверка авторизации пользователя, с этой целью запрос должен содержать хэш, сформированный из пары логин-пароль пользователя по следующему алгоритму:

$hash = MD5(login.MD5(password).SALT),где

login – логин для авторизации на sklad.autotrade.su;

password – пароль для авторизации на sklad.autotrade.su;

SALT – строка длиной 10 символов, состоящая из букв латинского алфавита, цифр и знаков пунктуации, эта строка равна “1>6)/MI~{J”.

Для примера рассмотрим вызов метода GetStoragesList для получения списка разрешенных складов.

При использовании формата SOAP хэш передается в заголовке SOAP-запроса




xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:ns1="API"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:SOAP-ENC=http://schemas.xmlsoap.org/soap/encoding/ SOAP-ENV:encoding>



910c29400ebfed8c3baab935f3456f49










При использовании формата JSON хэш передается в элементе auth_key JSON-массива:

data = {

"auth_key": "910c29400ebfed8c3baab935f3456f49",

"method": "getStoragesList"

}
Внимание! При отправке запроса в формате JSON перед {} необходимо добавить “data=”. Названия и значения параметров должны быть заключены в двойные кавычки, как в примере выше.
Пользовательские методы

GetStoragesList()

Возвращает массив разрешенных к просмотру складов для авторизованного пользователя, хранящийся в элементе storages массива сессии пользователя.

Входные параметры:  нет

Результат:

массив вида:

{

{

'id'=>'1',

‘legend’=> ‘C1’

'name'=>'склад №1'

‘address’ => ‘адрес’

‘geo’ => ‘ширина. долгота’

‘widget’ => ‘код для генерации карты 2ГИС’

},

{

'id'=>'2',

‘legend’=> ‘C2’

'name'=>'склад №2'

‘address’ => ‘адрес’

‘geo’ => ‘ширина. долгота’

‘widget’ => ‘код для генерации карты 2ГИС’

}

,

...

}
Пример:
SOAP

Запрос



xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:ns1="API"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encoding>



910c29400ebfed8c3baab935f3456f49











Ответ



xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:ns1="API"

xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encoding>









1

Иркутск (Ракитная)

И(Р)











9

Иркутск (Автоград)

И(А)

















JSON

Запрос
{

"auth_key": "910c29400ebfed8c3baab935f3456f49",

"method": "getStoragesList"

}
Ответ
[

"1": {

"id": "1",

"legend": "И(Р)",

"name": "Иркутск (Ракитная)",

"address": "",

"geo": "",

"widget": ""

},

"9": {

"id": "9",

"legend": "И(А)",

"name": "Иркутск (Автоград)",

"address": "",

"geo": "",

"widget": ""

}

]

GetPhoto($id, $type)

Получение ссылки на фотографию модели или запчасти и ссылки на уменьшенное изображение фотографии.
Входные параметры: 

$id–внутренний id запчасти (см. описание одного из методов GetItemsByXXX) или id модели автомобиля;

$type– тип фотографии: “model” – фотография модели, ”item” – фотография запчасти.

Результат:

Массив вида:

{

'error'=>'0' – ошибок нет или ‘1’ – ошибка

‘message’ => ‘код ошибки если url фотографии не удалось получить’

'url'=>’http://autotrade.su/pic.php?code={id}&state;={код_страны}'

‘url_prewiew’: "http://autotrade.su/files/photo/models/preview/{название фотографии}‘

}

Пример:

SOAP

Запрос




xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:ns1="API"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encoding>



29a4729eef37cebdd4413eb4cf55c64b







##1FB2###

item






Ответ




xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:ns1="API"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encoding>





0

Ok

http://autotrade.su/pic.php?code=%23%231FB2%23%23%23&state=1&size=800.625

http://autotrade.su/files/photo/models/preview/ty-rv2-r-cp lfw_x.jpg






JSON

Запрос
{

"auth_key": "29a4729eef37cebdd4413eb4cf55c64b",

"method": "getPhoto",

"params": {

"id": "##1FB2###",

"type": "item"

}

}
Ответ

{

"error": "0",

"message": "Ok",

"url": "http://autotrade.su/pic.php?code=%23%231FB2%23%23%23&state;=1&size;=800.625",

"url_prewiew": "http://autotrade.su/files/photo/models/preview/ty-rv2-r-cp lfw_x.jpg"

}
GetOrderList ($fromDate, $toDate[, $page][, $limit])

Возвращает список необработанных заявок пользователя (таблица atr_shop_orders) за определенный период и с постраничной разбивкой.
Входные параметры:

$fromDate – начало периода, дата в формате 'YYYY-MM-DD';

$toDate – конец периода, дата в формате 'YYYY-MM-DD';

$page – страница, по умолчанию 1;

$limit - количество строк на странице, по умолчанию 20.
Результат:

Массив вида

{

total => ‘общее число заявок’,

page => ‘номер страницы’

limit => ‘по сколько выводить на странице’,

items => {

{

order_id => ‘id заявки’,

order_date => ‘дата-время создания заявки’,

type_doc => ‘вид документа’,

quantity => ‘общее кол-во товаров в заявке’,

amount => ‘итоговая сумма’

},

...

}

}
Пример:

Получить список необработанных заявок за период с 12.10.2012 по 19.10.2012, страница 1, по5 элементов на странице.
SOAP

Запрос
POST /?soapHTTP/1.1

Content-Type: text/xml; charset=utf-8

SOAPAction: "API#getOrderList"

Host: api2.autotrade.su



xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:ns1="API"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encoding>



910c29400ebfed8c3baab935f3456f49







2012-10-12

2012-10-19


1


5






Ответ


<SOAP-ENV:Envelope

xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:ns1="API"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

<SOAP-ENV:Body>

<ns1:GetOrderListResponse>

<total xsi:type="xsd:int">33total
>

<page xsi:type="xsd:int">1page>

<limit xsi:type="xsd:int">5limit>

<items SOAP-ENC:arrayType="ns1:OrdersInfo[5]" xsi:type="ns1:ArrayOfOrders">

<item xsi:type="ns1:OrdersInfo">

<order_id xsi:type="xsd:string">205210order_id>

<order_date xsi:type="xsd:string">18.10.2012order_date>

<type_doc xsi:type="xsd:string">Неподтвержденнаязаявкаtype_doc>

<quantity xsi:type="xsd:int">7quantity>

<amount xsi:type="xsd:string">0.00amount>

item>

<item xsi:type="ns1:OrdersInfo">

<order_id xsi:type="xsd:string">205208order_id>

<order_date xsi:type="xsd:string">18.10.2012order_date>

<type_doc xsi:type="xsd:string">Неподтвержденнаязаявкаtype_doc>

<quantity xsi:type="xsd:int">7quantity>

<amount xsi:type="xsd:string">0.00amount>

item>

<item xsi:type="ns1:OrdersInfo">

<order_id xsi:type="xsd:string">205206order_id>

<order_date xsi:type="xsd:string">18.10.2012order_date>

<type_doc xsi:type="xsd:string">Неподтвержденнаязаявкаtype_doc>

<quantity xsi:type="xsd:int">7quantity>

<amount xsi:type="xsd:string">0.00amount>

item>

<item xsi:type="ns1:OrdersInfo">

<order_id xsi:type="xsd:string">205184order_id>

<order_date xsi:type="xsd:string">18.10.2012order_date>

<type_doc xsi:type="xsd:string">Неподтвержденнаязаявкаtype_doc>

<quantity xsi:type="xsd:int">7quantity>

<amount xsi:type="xsd:string">0.00amount>

item>

<item xsi:type="ns1:OrdersInfo">

<order_id xsi:type="xsd:string">205176order_id>

<order_date xsi:type="xsd:string">17.10.2012order_date>

<type_doc xsi:type="xsd:string">Неподтвержденнаязаявкаtype_doc>

<quantity xsi:type="xsd:int">7quantity>

<amount xsi:type="xsd:string">8440.00amount>

item>

items>

ns1:GetOrderListResponse>

SOAP-ENV:Body>

SOAP-ENV:Envelope>
JSON

Запрос
{

"auth_key": "910c29400ebfed8c3baab935f3456f49",

"method": "getOrderList",

"params": {

"fromDate": "2012-10-12",

"toDate": "2012-10-19",

"page": 1,

"limit": 5

}

}
Ответ
{

"total": "33",

"page": 1,

"limit": 5,

"items": [

{

"order_id": "205210",

"order_date": "18.10.2012",

"type_doc": "Неподтвержденная заявка",

"quantity": "7",

"amount": "0.00"

},

{

"order_id": "205208",

"order_date": "18.10.2012",

"type_doc": "Неподтвержденная заявка",

"quantity": "7",

"amount": "0.00"

},

{

"order_id": "205206",

"order_date": "18.10.2012",

"type_doc": "Неподтвержденная заявка",

"quantity": "7",

"amount": "0.00"

},

{

"order_id": "205184",

"order_date": "18.10.2012",

"type_doc": "Неподтвержденная заявка",

"quantity": "7",

"amount": "0.00"

},

{

"order_id": "205176",

"order_date": "17.10.2012",

"type_doc": "Неподтвержденная заявка",

"quantity": "7",

"amount": "8440.00"

}

]

}
GetDocList($fromDate, $toDate[, $Page][, $Limit])

Возвращает список документов пользователя (таблица atr_documents) за диапазон дат.
Входные параметры:

$fromDate - начало диапазона дат, строка в формате 'YYYY-MM-DD';

$toDate - окончание диапазона дат, строка в формате 'YYYY-MM-DD';

$Page – страница, по умолчанию 1;

$Limit - количество строк на странице, по умолчанию 20.
Результат:

Массив вида
{

total => ‘общее число документов’,

page => ‘номер страницы’

limit => ‘по сколько выводить на странице’,

items => {

{

parent_id => ‘id родительского документа’ или 0,

id => ‘id документа’,

number => ‘номер документа’,

doc_date => ‘дата-время создания документа’,

type_doc => ‘вид документа’,

quantity => ‘общее кол-во товаров в документе заявки’,

amount => ‘итоговая сумма’,

pay =>1 или 0

real => 1 или 0,

child => ‘массив дочерних документов’

},

...

}

}


Пример:

Получить список документов за период с 12.10.2012 по 19.10.2012, вывести первых 5 элементов.
SOAP

Запрос
POST /?soapHTTP/1.1

Content-Type: text/xml; charset=utf-8

SOAPAction: "API#getDocList"

Host: api2.autotrade.su



xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:ns1="API"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encoding>



910c29400ebfed8c3baab935f3456f49







2012-10-12

2012-10-19


1


5






Ответ


<SOAP-ENV:Envelope

xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:ns1="API"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

<SOAP-ENV:Body>

<ns1:GetDocListResponse>

<total xsi:type="xsd:int">23total>

<page xsi:type="xsd:int">1page>

<limit xsi:type="xsd:int">5limit>

<items SOAP-ENC:arrayType="ns1:DocsInfo[5]" xsi:type="ns1:ArrayOfDocs">

<item xsi:type="ns1:DocsInfo">

<parent_id xsi:nil="true"/>

<id xsi:type="xsd:string">8595319101id>

<number xsi:type="xsd:string">АА00008318number>

<date_doc xsi:type="xsd:string">18.10.2012date_doc>

<type_doc xsi:type="xsd:string">Документ.ЗаявкаПокупателяtype_doc>

<quantity xsi:type="xsd:int">7quantity>

<amount xsi:type="xsd:string">0.00amount>

<pay xsi:type="xsd:string"/>

<real xsi:type="xsd:string"/>

<child SOAP-ENC:arrayType="ns1:DocsInfo[0]" xsi:type="ns1:ArrayOfDocs"/>

item>

<item xsi:type="ns1:DocsInfo">

<parent_id xsi:nil="true"/>

<id xsi:type="xsd:string">8595322101id>

<number xsi:type="xsd:string">АА00008321number>

<date_doc xsi:type="xsd:string">18.10.2012date_doc>

<type_doc xsi:type="xsd:string">Документ.ЗаявкаПокупателяtype_doc>

<quantity xsi:type="xsd:int">7quantity>

<amount xsi:type="xsd:string">0.00amount>

<pay xsi:type="xsd:string"/>

<real xsi:type="xsd:string"/>

<child SOAP-ENC:arrayType="ns1:DocsInfo[0]" xsi:type="ns1:ArrayOfDocs"/>

item>

<item xsi:type="ns1:DocsInfo">

<parent_id xsi:nil="true"/>

<id xsi:type="xsd:string">8595321101id>

<number xsi:type="xsd:string">АА00008320number>

<date_doc xsi:type="xsd:string">18.10.2012date_doc>

<type_doc xsi:type="xsd:string">Документ.ЗаявкаПокупателяtype_doc>

<quantity xsi:type="xsd:int">7quantity>

<amount xsi:type="xsd:string">0.00amount>

<pay xsi:type="xsd:string"/>

<real xsi:type="xsd:string"/>

<child SOAP-ENC:arrayType="ns1:DocsInfo[0]" xsi:type="ns1:ArrayOfDocs"/>

item>

<item xsi:type="ns1:DocsInfo">

<parent_id xsi:nil="true"/>

<id xsi:type="xsd:string">8595320101id>

<number xsi:type="xsd:string">АА00008319number>

<date_doc xsi:type="xsd:string">18.10.2012date_doc>

<type_doc xsi:type="xsd:string">Документ.ЗаявкаПокупателяtype_doc>

<quantity xsi:type="xsd:int">7quantity>

<amount xsi:type="xsd:string">0.00amount>

<pay xsi:type="xsd:string"/>

<real xsi:type="xsd:string"/>

<child SOAP-ENC:arrayType="ns1:DocsInfo[0]" xsi:type="ns1:ArrayOfDocs"/>

item>

<item xsi:type="ns1:DocsInfo">

<parent_id xsi:nil="true"/>

<id xsi:type="xsd:string">8595318101id>

<number xsi:type="xsd:string">АА00008317number>

<date_doc xsi:type="xsd:string">18.10.2012date_doc>

<type_doc xsi:type="xsd:string">Документ.ЗаявкаПокупателяtype_doc>

<quantity xsi:type="xsd:int">7quantity>

<amount xsi:type="xsd:string">0.00amount>

<pay xsi:type="xsd:string"/>

<real xsi:type="xsd:string"/>

<child SOAP-ENC:arrayType="ns1:DocsInfo[0]" xsi:type="ns1:ArrayOfDocs"/>

item>

items>

ns1:GetDocListResponse>

SOAP-ENV:Body>

SOAP-ENV:Envelope>

страница 1страница 2 ... страница 6страница 7


скачать