31 Октября 2012
Наш ПОРТАЛ позволяет Вам использовать его функционал в Ваших собственных сервисах посредством API. Интерфейс позволяет получать: название бренда, артикул, название товара, остаток на складе, минимальное кол-во для заказа, цены другие параметры. Так же инструмент позволяет добавлять выбранный товар в корзину ПОРТАЛа.
API ПОРТАЛа предполагает обмен данными в формате JSON (При необходимости возможно использование SOAP/XML).
API (application programming interface, в переводе с буржуйского – интерфейс программирования приложений) используется в том случае, если необходимо предоставить сторонним разработчикам часть низкоуровневого функционала некоторой системы
API ПОРТАЛа предполагает обмен данными в формате JSON. Преимущество JSON в большей компактности по сравнению с SOAP/XML. (При необходимости возможно добавление механизма обмена данными в других форматах)
Во многих языках программирования существуют встроенные модули и подключаемые библиотеки для работы с JSON. Они формируют массивы JSON из структур, свойственных языку, например из словарей и ассоциативных массивов. Ниже перечислены рекомендуемые модули и библиотеки:
Запросы в формате JSON
Данные в формате JSON передаются методом HTTP POST или HTTP GET. Запросы отправляют на адрес API ПОРТАЛа: http://portal.moskvorechie.ru/api.lmz
Для доступа к API через криптографический протокол SSL, который защищает данные от несанкционированного доступа при передаче по открытым каналам связи, запросы надо отправлять на адрес: https://portal.moskvorechie.ru/api.lmz
API доступен ТОЛЬКО авторизованным пользователям ПОРТАЛа.
Пользователи идентифицируют себя следующим способом:
передаваемый запрос на сервер всегда должен содержать ключ "l" со значением логина, для доступа на ПОРТАЛ. А также должен содержать ключ "p" с набором 64 символов, которые отображаются у Вас в настройках при включении доступа к API ПОРТАЛа.
API ПОРТАЛа поддерживает несколько различных режимов кодировки. По умолчанию наш ПОРТАЛ работает с кодировкой CP-1251, но также может получать/выдавать результаты в кодировках: UTF-8 и KOI8-R. Для того, чтобы на ПОРТАЛе использовать кодировку отличную от CP-1251, необходимо указать дополнительный входной параметр "cs=utf8" для использования кодировки UTF-8 или же "cs=koi8r" для работы с кодировкой KOI8-R.
Также передаваемый массив при запросе всегда включает ключ act с именем вызываемого метода, доступные методы перечислены ниже.
Например, при использовании метода HTTP GET, запрос будет выглядеть следующим образом:
https://portal.moskvorechie.ru/api.lmz?l=username&p=keyphrase&act=brand_by_nr&nr=kl2&alt
На данный момент доступны следующие функции:
Получение списка производителей по номеру производителя. - "brand_by_nr"
Функция возвращает список названия брендов производителей, а также названия автозапчастей при запросе по номеру запчасти. Поддерживается возможность задавать как сам номер производителя, так и оригинальные номера, а также кроссовые (альтернативные) номера.
"act=brand_by_nr"
Функция возвращает список названия брендов производителей, а также названия автозапчастей при запросе по номеру запчасти. Поддерживается возможность задавать как сам номер производителя, так и оригинальные номера, а также кроссовые (альтернативные) номера.
Для обращения к данной функции необходимо передать следующие значения:
"l=username" - Имя пользователя, логин
"p=keyphrase" - Ключ доступа (64 символа)
"act=brand_by_nr" - Название функции
"nr=search number" - Номер производителя
А также дополнительные параметры:
"name" - Добавляет к результатам запроса дополнительное поле "name" в котором содержится название автозапчастей для каждого названия производителя.
"oe" - По умолчанию поиск производителей производится только по номеру самого производителя, но если добавить данный параметр, тогда можно также передавать оригинальные номера, и позиции будут искаться через кросс таблицы на оригинальные номера.
"alt" - При использовании данного параметра, в результатах данной процедуру будут также выводиться бренды, на которые есть аналоги на нашем складе.
Функция возвращает следующие значения:
"nr" - Номер производителя
"brand" - Название производителя
"name" - Название товара, выводится при использовании при запросе параметра "name"
Пример использования:
Запрос методом GET
http://portal.moskvorechie.ru/api.lmz?l=username&p=keyphrase&act=brand_by_nr&nr=32-D88-F&alt&name
Данный запрос получает список названий производителей, названий автозапчастей и их номеров, у которых в качестве номера производителя или в качестве кросс-номеров (аналогов) указан номер "32-D88-F"
Результатом данного запроса будет:
{'result': [
{'nr':'A-3045GR','brand':'Optimal','name':'Амортизатор BMW E46 -04/01 пер.прав.газ.SPORT'},
{'nr':'32-D88-F','brand':'Boge','name':'Амортизатор BMW E46 -04/01 пер.прав.газ.SPORT'},
{'nr':'A-3105GR','brand':'Optimal','name':'Амортизатор BMW E46 -04/01 пер.прав.газ.SPORT'}
]}
2. Получение списка автозапчастей по номеру и названию производителя. - "price_by_nr_firm"
Функция возвращает список позиций(автозапчастей) при запросе по номеру запчасти и названии производителя. Поддерживается возможность задавать как сам номер производителя, так и оригинальные номера, а также кроссовые(альтернативные) номера.
"act=price_by_nr_firm"
Для обращения к данной функции необходимо передать следующие значения:
"l=username" - Имя пользователя, логин
"p=keyphrase" - Ключ доступа (64 символа)
"act=price_by_nr_firm" - Название функции
"nr=search number" - Номер производителя
А также дополнительные параметры:
"f=brand name" - Название производителя, при необходимости мы сможете отфильтровать по определенному производителю.
"oe" - По умолчанию поиск производителей производится только по номеру самого производителя, но если добавить данный параметр, тогда можно также передавать оригинальные номера, и позиции будут искаться через кросс таблицы на оригинальные номера.
"alt" - При использовании данного параметра, в результатах данной процедуру будут также выводиться бренды, на которые есть аналоги на нашем складе.
"avail" - Отображать только позиции, которые есть в наличии на складе.
"gid" - Выводить дополнительное поле, идентифицирующее позицию в прайс-листе. Необходимо для выполнения операций с данной позицией, напр. "добавление в корзину".
Функция возвращает следующие значения:
"nr" - Номер производителя
"brand" - Название производителя
"name" - Название автозапчасти
"stock" - Кол-во позиций на складе
"delivery" - Средний срок поставки
"minq" - Минимальное кол-во для заказа
"upd" - Дата, время на которое актуальны данные
"price" - Цена для данного клиента
"currency" – Валюта, в которой представлена цена
"gid" - Если указан доп. параметр "gid", ID товара в прайс-листе.
Пример использования:
Запрос методом GET
http://portal.moskvorechie.ru/api.lmz?l=username&p=keyphrase&act=price_by_nr_firm&nr=32-D88-F&f=Boge&alt
Данный запрос получает список позиций, названий, их номеров, цен и т.д. у которых в качестве номера производителя или в качестве кросс-номеров (аналогов) указан номер "32-D88-F" и производитель "Boge"
Результатом данного запроса будет:
{'result': [
{'nr':'32-D88-F', 'brand':'Boge', 'name':'Амортизатор пер прав BMW E46 SPORT', 'stock':'2', 'delivery':'10 дней', 'minq':'1', 'upd':'11.03.12 02:30', 'price':'3629.50', 'currency':'руб.'},
{'nr':'A-3105GR', 'brand':'Optimal', 'name':'Амортизатор газ. F. R BMW 3 E46 98-01 (32-D88-F)', 'stock':'1', 'delivery':'10 дней', 'minq':'1', 'upd':'11.03.12 02:45', 'price':'2039.09', 'currency':'руб.'}
]}3. Добавление позиции из прайс-листа в корзину пользователя. - "to_basket"
"act=to_basket"
Функция позволяет добавить позиции (автозапчасти) из прайс-листа в корзину пользователя ПОРТАЛа. Для добавления в корзину товара необходимо передать функции внутренний ID позиции, который можно получить из других функций применяя дополнительный входной параметр "gid".
Для обращения к данной функции необходимо передать следующие значения:
"l=username" - Имя пользователя, логин
"p=keyphrase" - Ключ доступа (64 символа)
"act=to_basket" - Название функции
"gid=ID" - ID позиции в прайс-листе.
А также дополнительные параметры:
"q=integer" - Название производителя, при необходимости мы сможете отфильтровать по определенному производителю.
"c=comment" - По умолчанию поиск производителей производится только по номеру самого производителя, но если добавить данный параметр, тогда можно также передавать оригинальные номера, и позиции будут искаться через кросс таблицы на оригинальные номера.
Функция возвращает следующие значения:
"status" - Статус добавления товара в корзину, 0 - товар успешно добавлен, 1 - произошла ошибка (см поле "msg").
"msg" - Если произошла ошибка при добавлении товара в корзину, в данном поле будет указано, почему позиция не была добавлена в корзину.
Пример использования:
Запрос методом GET
http://portal.moskvorechie.ru/api.lmz?l=username&p=keyphrase&act=to_basket&gid=100185696&q=3
Данный запрос добавляет позицию с ID 100185696 в корзину пользователя username в количестве 3-х штук.
Результатом данного запроса будет:
{'result': {
'status':'0',
'msg':''
}}