Техническое описание веб-сервисов autologist pro Общая информация




Скачать 130.71 Kb.
НазваниеТехническое описание веб-сервисов autologist pro Общая информация
Дата публикации02.06.2013
Размер130.71 Kb.
ТипДокументы
odtdocs.ru > Информатика > Документы

Техническое описание веб-сервисов autologist.pro




Общая информация



Коммуникация с веб-сервисом сайта autologist.pro производится по протоколу HTTP (http://tools.ietf.org/html/rfc2616). Клиент отсылает запрос с определенными данными на адрес http://autologist.pro/webservice методом HTTP POST. Данные запроса к сервису указываются в теле POST запроса, формат тела POST-запроса и формат ожидаемого ответа указываются в переменных, передаваемых в URL (если форматы отличаются от URL encoded).

Возможные форматы для данных запроса (клиент → сервер) и данных ответа (сервер → клиент):

  1. XML (http://www.w3.org/XML/)

  2. JSON (http://json.org/json-ru.html)

  3. PHP serialized (результат обработки массива с данными средствами функции serialize() языка программирования PHP, http://php.net/serialize)

  4. URL encoded (http://www.ietf.org/rfc/rfc1738.txt), используется по умолчанию.



^

Запрос (клиент → сервер)



Параметры в адресной строке передаются в формате Query string (http://tools.ietf.org/html/rfc3986), т. е. в формате http://autologist.pro/webservice?параметр1=значение1&параметр2=значение2. Список параметров, передаваемых в адресной строке:

Имя параметра

Возможные значения

Пример адреса

Описание

in

«xml» — данные в формате XML

«json» — данные в формате JSON

«serialized» — данные в формате PHP serialized

«url» — данные в формате URL encoded (по умолчанию)

http://autologist.pro/webservice?in=xml

Формат входящих данных (данных, передаваемых при запросе)

out

«xml» — данные в формате XML

«json» — данные в формате JSON

«serialized» — данные в формате PHP serialized

«url» — данные в формате URL encoded (по умолчанию)

http://autologist.pro/webservice?out=json

Формат исходящих данных (формат ответа сервера на запрос)

version

На момент создания документации единственное возможное значение - «0.1»

http://autologist.pro/webservice?version=0.1

Версия протокола обмена данными, необязательный параметр


Параметры, передаваемые в теле запроса:

Имя параметра

Тип

Пример

Описание

email

string

ZXhhbXBsZUBleGFtcGxlLmNvbQ==

Адрес e-mail, используемый при авторизации на сайте, в формате Base64 (http://tools.ietf.org/html/rfc4648#section-4)

password

string

cGFzc3dvcmQ=

Пароль, используемый при авторизации на сайте, в формате Base64 (http://tools.ietf.org/html/rfc4648#section-4)

method

string

testConnection

Запрашиваемый метод веб-сервиса

data

array




Данные, передаваемые запрашиваемому методу в качестве параметров. Зависят от конкретного метода (см. детальное описание конкретного метода).


Все вышеперечисленные параметры, за исключением in, out, version, а так же email и password для метода testConnection, являются обязательными.

Все имена параметров являются чувствительными к регистру.

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

Все значения параметров передаются в кодировке UTF-8.
Примеры:
Пример обращения к методу testConnection в формате XML:

Адрес: http://autologist.pro/webservice?in=xml



ZXhhbXBsZUBleGFtcGxlLmNvbQ==


cGFzc3dvcmQ=


testConnection



It works if I see this string in reply




Пример обращения к методу testConnection в формате JSON:

Адрес: http://autologist.pro/webservice?in=json

{ "email": "ZxhhbXBsZUBleGFtcGxlLmNvbQ==",

"password": "cGFzc3dvcmQ=",

"method": "testConnection",

"data": { "testString": "It works if I see this string in reply" } }
Пример обращения к методу testConnection в формате PHP Serialized:

Адрес: http://autologist.pro/webservice?in=serialized

a:4:{s:5:"email";s:28:"ZXhhbXBsZUBleGFtcGxlLmNvbQ==";s:8:"password";s:12:"cGFzc3dvcmQ=";s:6:"method";s:14:"testConnection";s:4:"data";a:1:{s:10:"testString";s:38:"It works if I see this string in reply";}}
Пример обращения к методу testConnection в формате URL-encoded:

Адрес: http://autologist.pro/webservice?in=url или http://autologist.pro/webservice
email=ZXhhbXBsZUBleGFtcGxlLmNvbQ%3D%3D&password=cGFzc3dvcmQ%3D&method=testConnection&data[testString]=It%20works%20if%20I%20see%20this%20string%20in%20reply

^

Ответ (сервер → клиент)



В ответе содержатся 2 секции: errors (содержит массив с ошибками, если таковые имели место) и data (непосредственный результат обращения к методу). Data может быть как строкой, так и более сложной структурой в зависимости от вызываемого метода.
Пример ответа метода testConnection в формате XML:





Hello, example@example.com! Your testString was: It works if I see this string in reply


Пример ответа метода testConnection в формате JSON:

{ "errors":[],

"data":"Hello, example@example.com! Your testString was: It works if I see this string in reply" }
Пример ответа метода testConnection в формате PHP serialized:

a:2:{s:6:"errors";a:0:{}s:4:"data";s:88:"Hello, example@example.com! Your testString was: It works if I see this string in reply";}
Пример ответа в формате URL encoded:

errors[]=&data=Hello%2C%20example%40example.com%21%20Your%20testString%20was%3A%20%20It%20works%20if%20I%20see%20this%20string%20in%20reply


^

Метод testConnection


Метод используется для проверки возможности соединения и отладки клиентского приложения, проверки кодировок итп.

Параметры метода:

Имя параметра

Тип

Обязательный

Описание

testString

string

нет

Тестовая строка, которая потом будет присутствовать в ответе сервера

Метод возвращает строку типа

Hello, anonymous user! The testString parameter value was: "this is the test string"

^

Метод getPrice


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

Параметры метода:

Имя параметра

Тип

Обязательный

Описание

art

string

да

Артикул искомой детали

cross

bool

нет

True в случае, если нужно произвести поиск так же и по деталям, являющимся аналогами искомой детали, false — если поиск только по заданному артикулу (без аналогов)


Пример запроса (в формате XML):



...


...


getPrice



OC90

true




Пример возвращаемых данных (в формате XML):








Элемент, содержащий данные об ошибках. Пустой в случае отсутствия ошибок.







72:24396012

Идентификатор предложения. Используется при вызове метода addToCart, тип: строка

Фильтр масляный

Наименование товара

^ MAHLE FILTER

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

OC90

Артикул


92.42


Цена за 1 шт

1083

Кол-во на складе. Тип: строка, может быть пустым

1

Минимальная партия, тип: число. В случае, если lot_base отличается от 1, для заказа доступно кол-во, кратное lot_base.



Вес детали в кг, необязательный параметр

HFO

Направление



Стоимость доставки (за 1 кг), необязательный параметр

false

True, если товар является аналогом запрошенного, false, если не является. Всегда false, если при поисковом запросе значение параметра cross было равно false

<delivery_period>1/2

Срок доставки

<successPercent>92.24

% успешно выполненных заказов. Необязательная величина (для некоторых направлений статистика может отсутствовать)








...
















^

Метод addToCart


Используется для добавления товара в корзину. Параметры метода: в массиве data передается массив из структур offer. Описание структуры offer:

Имя

Тип

Описание

offer_id

string

Идентификатор предложения, возвращаемый методом getPrice

quantity

int

Кол-во. Должно быть кратным lot_base (из ответа метода getPrice)

num

string

Идентификатор позиции, уникальный в пределах запроса на добавление товара в корзину. Используется для связи данных из запроса с данными из ответа.


Пример запроса (в формате XML):



...


...


addToCart





163521

72:24396012

20





94268

90:MSC-STC-695

20






Пример аналогичного запроса (в формате JSON):


{ "email": "...",

"password": "...",

"method": "addToCart",

"data": [

{"num": "1", "offer_id": "72:24396012", "quantity": 20},

{"num": "2", "offer_id": "90:MSC-STC-695", "quantity": "4"}

]

}
Ответ сервера (в формате XML):












163521

Идентификатор позиции (совпадает с параметром num в теле запроса)

OK

Результат операции для данной позиции. «OK» в случае, если товар был успешно добавлен в корзину

12730

Идентификатор позиции в корзине (используется для таких действий, как изменение кол-ва товара в корзине, удаление товара из корзины и оформление заказа).







...












В случае добавления в корзину товара, уже имеющегося в корзине (добавленного ранее), значение cart_id будет таким же, как при предыдущем добавлении, а итоговое количество данного товара в козине будет суммой имеющегося изначально и добавленного при последнем запросе.

^

Метод delFromCart


Метод используется для удаления позиций из корзины. Параметры метода: в массиве data передается массив значений cart_id для позиций, которые нужно удалить из корзины.
Пример запроса в формате XML:



...


...


delFromCart



1234

2345

...




Пример запроса в формате JSON:

{ "email": "...",

"password": "...",

"method": "delFromCart",

"data": [1234, 2345, ...] }
Ответ сервера (в формате XML):










2

Кол-во успешно удаленных из корзины позиций









^

Метод getDelivery


Возвращает возможные способы доставки, не требует дополнительных параметров.
Пример запроса (в формате XML):



...


...


getDelivery




Пример ответа (в формате XML):











1

Идентификатор способа доставки, используется при оформлении заказа

Самовывоз

Название способа доставки






...
















На момент создания документации поддерживаются 3 способа доставки: самовывоз (delivery_id = 1), авиадоставка (delivery_id = 2) и доставка наземным транспортом (delivery_id = 3).
^

Метод makeOrder


Метод используется для оформления заказа.

Параметры метода:

cart_ids

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

delivery_id

Способ доставки заказа в виде delivery_id, возвращаемого методом getDelivery

address

Адрес доставки

comment

Комментарий к заказу, необязательный параметр

Пример запроса в формате XML:

...

...

makeOrder


123
234
345

1
Москва, ул. Матюхова, д. 1

срочно



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











4651

Идентификатор заказа (возможно только одно значение вне зависимости от кол-ва заказанных позиций)









^

Метод getOrders


Используется для получения данных о заказанных позициях, их статусах итд.

Параметры метода:


date_from

Фильтр по дате заказа. Будут выбраны заказы, созданные после текущей даты (включительно). Формат: ГГГГ-ММ-ДД

date_to

Фильтр по дате заказа. Будут выбраны заказы, созданные до указанной даты (включительно). Формат: ГГГГ-ММ-ДД

order_id

Фильтр по идентификатору заказа (order_id, возвращаемый методом makeOrder)

art

Фильтр по артикулу

Возможно указание нескольких фильтров. Например, при значениях date_from=2011-01-01, date_to=2011-01-20, art=OC90 будет произведен поиск по заказам товара с артикулом OC90, созданным с 1го по 20е января 2011 года. Ни один фильтр обязательным не является (в этом случае будут выбраны все заказы).

Пример запроса (в формате XML):


...

...

getOrders

2011-01-01
2011-01-20
OC90


Пример ответа (в формате XML):












2011-09-26 13:39:59

Дата и время создания заказа (формат: ГГГГ-ММ-ДД ЧЧ:ММ:СС)

6584

Идентификатор заказа

Hyundai/Kia

Бренд (производитель)

956702E310

Артикул

Датчик абс

Наименование заказанного товара

3

Кол-во


1303.90


Цена за единицу товара

2011-09-28 18:06:29

Дата и время последнего обновления статуса заказанной позиции

test

Комментарий к заказу

Принят в обработку

Статус заказанной позиции






...

Другие позиции








Возможные значения статуса заказанной позиции:
Новый
Оприходован
Принят в обработку
Отправлен поставщику
Отгружено
Выкуплено
В пути на склад Москва
Пришло на склад Москва
Брак
Снято модератором
Приостановлено
Исключительная ситуация
Отменено

Добавить документ в свой блог или на сайт

Похожие:

Техническое описание веб-сервисов autologist pro Общая информация
Данные запроса к сервису указываются в теле post запроса, формат тела post-запроса и формат ожидаемого ответа указываются в переменных,...

Техническое задание на разработку веб-сайта
Перечисление информации, которая должна быть представлена на сайте. Например: общая информация о компании, контактная информация,...

Программа для запуска веб-сайта на локальном компьютере
Установка и запуск сервисов должны производиться из-под учетной записи администратора, чтобы иметь возможность записи файлов в системный...

Описание Расположение Этаж Жилая площадь Общая часть Общая площадь Цена в Евро 1

Описание и предметная область
Программа предназначена для ведения учета личных доходов и расходов. Аналогов существует много, обычные "desktop'ные" приложения(Например,...

Новосибирский Государственный Университет Факультет Информационных Технологий
Данный документ представляет собой техническое описание проекта Название проекта и содержит основные требования к разрабатываемой...

Ооо «рэмик 2» Система защиты по току активных и индуктивных нагрузок...
Краткая информация о системе защиты по току активных и индуктивных нагрузок в цепях переменного и постоянного тока (сrn)

Веб-сервис фссп россии. Описание. Форматы данных
Тип сведений FounderCompanyDatumType «Сведения об учредителе — юридическом лице». 59

Описание бизнес процесса бд cicpius
В приложении будет вестись учёт компьютьерной техники предприятия, её движение внутри предприятия, технические характеристики, информация...

Внимание. Вы вправе загрузить образ диска (iso) с дистрибутивом программы...
Вы заключили с Инфра-Ресурс лицензионный договор, предоставляющий Вам право использования программы InfraOffice pro версии 1; и срок...

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
odtdocs.ru
Главная страница