Техническая документация по подключению к сервису информации по
номенклатуре
Техническая документация по подключению к сервису
информации по номенклатуре
Содержание:
Введение ............................................................................................................................................ 3
Использование API ............................................................................................................................ 3
Отправка запроса .............................................................................................................................. 3
Результат запроса .............................................................................................................................. 4
Версионность ..................................................................................................................................... 5
Версия 1.0: ..................................................................................................................................... 5
Версия 1.1: ..................................................................................................................................... 5
Примеры ............................................................................................................................................ 5
Расшифровка ошибок ....................................................................................................................... 7
Ошибки работы сервиса ........................................................................................................... 7
Ошибки вызова сервиса ........................................................................................................... 7
«Русский свет»
Техническая документация по подключению к сервису
информации по номенклатуре
Введение
Данная документация предназначена для технических специалистов, которым необходимо осуществить получение данных по номенклатуре посредством API из каталога ассоциации «Русский свет».
По каждому номенклатурному коду ассоциации "Русский свет" доступна следующая информация:
· Технические характеристики в формате ETIM
· Розничная цена
· Ваша цена со скидкой
· Наличие на складе отгрузки
· Изображения товара
· Кратность упаковки
· Сопутствующие товары/комплектующие
· Аналоги запрошенного товара
Использование API
Для использования API необходимо:
1) Зарегистрироваться на сайте интернет – магазина rs24.ru (получить логин и пароль). Без регистрационных данных (логин и пароль) в интернет – магазине доступ к сервису невозможен.
2) Получить список номенклатуры ассоциации «Русский свет» для формирования запроса. Он доступен на сайте russvet.ru и по указанной ниже ссылке:
http://russvet.ru/upload/product-list/perechen_nomenclatury.xlsx?v=1
3) Связаться с вашим менеджером, сообщить ему ваши регистрационные данные в интернет – магазине rs24.ru и запросить у него регистрационные данные для использования API. В ответ вам придёт письмо, в котором будут указаны значения параметров Responsibility и P_SITE_USE_ID (индивидуальные для каждого клиента).
4) Настроить процедуру отправки запросов по коду РС и обработки получаемых ответов в соответствии с данной документацией и настройками вашей системы.
На каждого клиента установлен лимит на допустимое количество отправляемых запросов, он составляет 30000 запросов в сутки. Лимит может быть индивидуально изменён (увеличен), данный вопрос вам стоит согласовывать через вашего менеджера. В случае, когда лимит превышен, в результате работы сервиса возвращается сообщение "Превышено допустимое количество вызовов сервиса.".
Стоит иметь ввиду, что каждую неделю по МСК в период с 18:00 субботы до 8:00 воскресенья, а также в воскресенье с 16:00 до 22:00 проводятся технические работы. В это время доступность сервиса не гарантирована.
Отправка запроса
Необходимо отправлять запрос по адресу
https://rs24.ru/webservices/rest/XXRSV_I1085_ITEM_PKG/GET_INFO/ методом «POST» с параметрами:
· Accept значение application/xml
· Content-Type значение application/xml
· Authorization значение 'Basic ' || to_base64(<login>|| ':' || <пароль>)
«Русский свет»
Техническая документация по подключению к сервису
информации по номенклатуре
формируется конкатенацией строки Basic и логина ‘:’ пароля в кодировке Base64.
Тело запроса выглядит следующим образом:
Тело запроса:
<GET_Input xmlns:ns="
http://xmlns.oracle.com/apps/fnd/soaprovider/plsql/rest/XXRSV_I1085_ITEM_PKG/GET_INFO/"
xmlns:ns1="
http://xmlns.oracle.com/apps/fnd/soaprovider/plsql/rest/XXRSV_I1085_ITEM_PKG/header/">
<RESTHeader>
<Responsibility>КОД_ПОЛНОМОЧИЙ</Responsibility>
<RespApplication>IBE</RespApplication>
<SecurityGroup>STANDARD</SecurityGroup>
<NLSLanguage>RUSSIAN</NLSLanguage>
</RESTHeader>
<InputParameters>
<P_VERSION>ВЕРСИЯ_ЗАПРОСА</P_VERSION>
<P_PARAMETER_TBL>
<P_PARAMETER_TBL_ITEM>
<PARAMETER_NAME>ИМЯ_ПАРАМЕТРА1</PARAMETER_NAME>
<PARAMETER_VALUE>ЗНАЧЕНИЕ_ПАРАМЕТРА1</PARAMETER_VALUE>
…………
<PARAMETER_NAME>ИМЯ_ПАРАМЕТРАn</PARAMETER_NAME>
<PARAMETER_VALUE>ЗНАЧЕНИЕ_ПАРАМЕТРАn</PARAMETER_VALUE>
</P_PARAMETER_TBL_ITEM>
</P_PARAMETER_TBL>
</InputParameters></GET_Input>
Где:
· <Responsibility> - код полномочий, который необходимо запросить у менеджера.
Внимание! Версионность (<P_VERSION>) и имя параметра (<PARAMETER_NAME>), как и результат запроса, будут зависеть от версии запроса. Остальные параметры редактировать не нужно.
Результат запроса
В ответ на отправленный запрос вернется следующий код:
Тело результата:
<?xml version = '1.0' encoding = 'UTF-8'?>
<OutputParameters xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance" xmlns="
http://xmlns.oracle.com/apps/xxrsv/rest/XXRSV_I1085_ITEM_PKG/get_info/">
<X_ITEM_INFO_REC>
<UOM>Штука</UOM>
<CURRENCY_CODE>RUB</CURRENCY_CODE>
<RELATED_ITEMS>
<RELATED_ITEMS_ITEM>КОД_СВЯЗ.ТОВАРА1</RELATED_ITEMS_ITEM>
…………
<RELATED_ITEMS_ITEM>КОД_СВЯЗ.ТОВАРА5</RELATED_ITEMS_ITEM>
</RELATED_ITEMS>
<ANALOGS>
<RELATED_ITEMS_ITEM>КОД_АНАЛОГА1</RELATED_ITEMS_ITEM>
…………
<RELATED_ITEMS_ITEM>КОД_АНАЛОГАn</RELATED_ITEMS_ITEM>
</ANALOGS>
<DRK>КОЛИЧЕСТВО</DRK>
<CLIENT_PRICE>ЦЕНА_СО СКИДКОЙ</CLIENT_PRICE>
<BA SE_PRICE>РОЗНИЧНАЯ_ЦЕНА</BASE_PRICE>
<IMAGES>
<IMAGES_ITEM>ТЕГ_ИЗОБРАЖЕНИЯ1</IMAGES_ITEM>
………….
<IMAGES_ITEM>ТЕГ_ИЗОБРАЖЕНИЯM</IMAGES_ITEM>
</IMAGES>
<TECH_FEATURES>
<TECH_FEATURES_ITEM>
<FEATURE_NAME>ИМЯ_ХАРАКТЕРИСТИКИ1</FEATURE_NAME>
<FEATURE_CODE>КОД_ХАРАКТЕРИСТИКИ1</FEATURE_CODE>
<FEATURE_VALUE>ЗНАЧЕНИЕ1</FEATURE_VALUE>
<FEATURE_UOM>ЕДИНИЦЫ_ИЗМЕРЕНИЯ1</FEATURE_UOM>
</TECH_FEATURES_ITEM>
…………
<TECH_FEATURES_ITEM>
<FEATURE_NAME>ИМЯ_ХАРАКТЕРИСТИКИn</FEATURE_NAME>
<FEATURE_CODE>КОД_ХАРАКТЕРИСТИКИn</FEATURE_CODE>
<FEATURE_VALUE>ЗНАЧЕНИЕn</FEATURE_VALUE>
<FEATURE_UOM>ЕДИНИЦЫ_ИЗМЕРЕНИЯn</FEATURE_UOM>
«Русский свет»
Техническая документация по подключению к сервису
информации по номенклатуре
</TECH_FEATURES_ITEM>
</TECH_FEATURES>
<ETIM_CATALOG>ПУТЬ_КАТАЛОГА</ETIM_CATALOG>
<MULTIPLICITY>144, 12</MULTIPLICITY>
</X_ITEM_INFO_REC>
<X_RETURN_STATUS>S</X_RETURN_STATUS>
<X_ERROR_MESSAGE xsi:nil="true"/>
</OutputParameters>
Где:
· <UOM> - единица измерения товара.
· <CURRENCY_CODE> - код валюты.
· Блок <RELATED_ITEMS> - сопутствующие товары/комплектующие.
· Блок <ANALOGS> - аналоги запрошенного товара.
· <DRK> - количество на складе компании в наличии.
· <CLIENT_PRICE> - Ваша цена со скидкой (без НДС).
· <BA SE_PRICE> - розничная цена (без НДС).
· Блок <IMAGES> - ссылка на изображение товара (с водяным знаком).
· Блоки <TECH_FEATURES_ITEM> - техническое описание товара.
· <ETIM_CATALOG> - путь к товару в каталоге на сайте компании.
· <MULTIPLICITY> - кратность товара (если возвращено два числа, разделенных запятой, то второе – это количество штук в упаковке),
· <X_RETURN_STATUS> - статус выполнения запроса.
· <X_ERROR_MESSAGE xsi:nil="true"/> - сообщение об ошибке. Примечание: «xsi:nil="true"» означает, что данный тег пуст.
Версионность
Версия 1.0:
Версия 1.0
Значение параметров
Определение
<P_VERSION>
1.0
<PARAMETER_NAME>
P_SITE_USE_ID
Уникальный идентификатор заказчика
<PARAMETER_NAME>
P_ITEM_NUM
Код позиции "Русского света"
Версия 1.1:
Версия 1.1
Значение параметров
Определение
Примеры
Пример запроса для версии 1.0:
Тело запроса:
«Русский свет»
Техническая документация по подключению к сервису
информации по номенклатуре
<GET_Input xmlns:ns="
http://xmlns.oracle.com/apps/fnd/soaprovider/plsql/rest/XXRSV_I1085_ITEM_PKG/GET_INFO/"
xmlns:ns1="
http://xmlns.oracle.com/apps/fnd/soaprovider/plsql/rest/XXRSV_I1085_ITEM_PKG/header/">
<RESTHeader>
<Responsibility>IBE_FIL_022</Responsibility>
<RespApplication>IBE</RespApplication>
<SecurityGroup>STANDARD</SecurityGroup>
<NLSLanguage>RUSSIAN</NLSLanguage>
</RESTHeader>
<InputParameters>
<P_VERSION>1.0</P_VERSION>
<P_PARAMETER_TBL>
<P_PARAMETER_TBL_ITEM>
<PARAMETER_NAME>P_SITE_USE_ID</PARAMETER_NAME>
<PARAMETER_VALUE>1324787</PARAMETER_VALUE>
</P_PARAMETER_TBL_ITEM>
<P_PARAMETER_TBL_ITEM>
<PARAMETER_NAME>P_ITEM_NUM</PARAMETER_NAME>
<PARAMETER_VALUE>10100</PARAMETER_VALUE>
</P_PARAMETER_TBL_ITEM>
</P_PARAMETER_TBL>
</InputParameters></GET_Input>
Результат для запроса версии 1.0:
Тело результата:
<?xml version = '1.0' encoding = 'UTF-8'?>
<OutputParameters xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance" xmlns="
http://xmlns.oracle.com/apps/xxrsv/rest/XXRSV_I1085_ITEM_PKG/get_info/">
<X_ITEM_INFO_REC>
<UOM>Штука</UOM>
<CURRENCY_CODE>RUB</CURRENCY_CODE>
<RELATED_ITEMS>
<RELATED_ITEMS_ITEM>302130</RELATED_ITEMS_ITEM>
<RELATED_ITEMS_ITEM>306844</RELATED_ITEMS_ITEM>
<RELATED_ITEMS_ITEM>312295</RELATED_ITEMS_ITEM>
<RELATED_ITEMS_ITEM>312296</RELATED_ITEMS_ITEM>
<RELATED_ITEMS_ITEM>312297</RELATED_ITEMS_ITEM>
</RELATED_ITEMS>
<ANALOGS>
<RELATED_ITEMS_ITEM>121903</RELATED_ITEMS_ITEM>
<RELATED_ITEMS_ITEM>202151</RELATED_ITEMS_ITEM>
<RELATED_ITEMS_ITEM>248308</RELATED_ITEMS_ITEM>
<RELATED_ITEMS_ITEM>261648</RELATED_ITEMS_ITEM>
<RELATED_ITEMS_ITEM>271722</RELATED_ITEMS_ITEM>
<RELATED_ITEMS_ITEM>312824</RELATED_ITEMS_ITEM>
<RELATED_ITEMS_ITEM>50614</RELATED_ITEMS_ITEM>
<RELATED_ITEMS_ITEM>84591</RELATED_ITEMS_ITEM>
</ANALOGS>
<DRK>2011</DRK>
<CLIENT_PRICE>154</CLIENT_PRICE>
<BA SE_PRICE>162</BASE_PRICE>
<IMAGES>
<IMAGES_ITEM>
https://rs24.ru/ctlg/KABEL PROVOD/23117.png</IMAGES_ITEM>
<IMAGES_ITEM>
https://rs24.ru/ctlg/16189.jpg</IMAGES_ITEM>
</IMAGES>
<TECH_FEATURES>
<TECH_FEATURES_ITEM>
<FEATURE_NAME>Частота</FEATURE_NAME>
<FEATURE_CODE>EF000034</FEATURE_CODE>
<FEATURE_VALUE>50</FEATURE_VALUE>
<FEATURE_UOM>Гц</FEATURE_UOM>
</TECH_FEATURES_ITEM>
<TECH_FEATURES_ITEM>
<FEATURE_NAME>Род тока</FEATURE_NAME>
<FEATURE_CODE>EF000187</FEATURE_CODE>
<FEATURE_VALUE>Переменный ток (AC)/Постоянный ток (DC)</FEATURE_VALUE>
<FEATURE_UOM xsi:nil="true"/>
</TECH_FEATURES_ITEM>
<TECH_FEATURES_ITEM>
<FEATURE_NAME>Глубина монтажа, установки</FEATURE_NAME>
<FEATURE_CODE>EF000218</FEATURE_CODE>
<FEATURE_VALUE>73.6</FEATURE_VALUE>
<FEATURE_UOM>мм</FEATURE_UOM>
</TECH_FEATURES_ITEM>
<TECH_FEATURES_ITEM>
<FEATURE_NAME>Номинальный ток</FEATURE_NAME>
«Русский свет»
Техническая документация по подключению к сервису
информации по номенклатуре
<FEATURE_CODE>EF000227</FEATURE_CODE>
<FEATURE_VALUE>25</FEATURE_VALUE>
<FEATURE_UOM>А</FEATURE_UOM>
</TECH_FEATURES_ITEM>
<TECH_FEATURES_ITEM>
<FEATURE_NAME>Номинальное напряжение</FEATURE_NAME>
<FEATURE_CODE>EF000228</FEATURE_CODE>
<FEATURE_VALUE>400</FEATURE_VALUE>
<FEATURE_UOM>В</FEATURE_UOM>
</TECH_FEATURES_ITEM>
<TECH_FEATURES_ITEM>
<FEATURE_NAME>Характеристика срабатывания</FEATURE_NAME>
<FEATURE_CODE>EF000889</FEATURE_CODE>
<FEATURE_VALUE>C</FEATURE_VALUE>
<FEATURE_UOM xsi:nil="true"/>
</TECH_FEATURES_ITEM>
<TECH_FEATURES_ITEM>
<FEATURE_NAME>Ширина в числах модульных расстояний</FEATURE_NAME>
<FEATURE_CODE>EF002950</FEATURE_CODE>
<FEATURE_VALUE>17.8</FEATURE_VALUE>
<FEATURE_UOM xsi:nil="true"/>
</TECH_FEATURES_ITEM>
<TECH_FEATURES_ITEM>
<FEATURE_NAME>С коммутируемым нейтральным проводником</FEATURE_NAME>
<FEATURE_CODE>EF005997</FEATURE_CODE>
<FEATURE_VALUE>Нет</FEATURE_VALUE>
<FEATURE_UOM xsi:nil="true"/>
</TECH_FEATURES_ITEM>
<TECH_FEATURES_ITEM>
<FEATURE_NAME>Номинальная отключающая способность в соответствии с EN 60898</FEATURE_NAME>
<FEATURE_CODE>EF006064</FEATURE_CODE>
<FEATURE_VALUE>4.5</FEATURE_VALUE>
<FEATURE_UOM>кА</FEATURE_UOM>
</TECH_FEATURES_ITEM>
<TECH_FEATURES_ITEM>
<FEATURE_NAME>Количество полюсов</FEATURE_NAME>
<FEATURE_CODE>EF008618</FEATURE_CODE>
<FEATURE_VALUE>1</FEATURE_VALUE>
<FEATURE_UOM xsi:nil="true"/>
</TECH_FEATURES_ITEM>
</TECH_FEATURES>
<ETIM_CATALOG>Устройства защиты, плавкие предохранители, модульные устройства/монтажные устройства - Выключатель автоматический модульный</ETIM_CATALOG>
<MULTIPLICITY>144, 12</MULTIPLICITY>
</X_ITEM_INFO_REC>
<X_RETURN_STATUS>S</X_RETURN_STATUS>
<X_ERROR_MESSAGE xsi:nil="true"/>
</OutputParameters>
Расшифровка ошибок
Ошибки работы сервиса
В случае, когда в теле запроса возвращается строка <X_RETURN_STATUS> со значением отличным от ‘S’, это означает, что запрос отработал корректно, но на заказчика наложены ограничения.
В случае возникновения ошибок, в теле запроса строка <X_ERROR_MESSAGE> вернет текст ошибки.
Ошибки вызова сервиса
Таблица 1
HTTP-статус
Текст ошибки
Пояснение
200
Ok
Запрос выполнен успешно.
400
Bad request
Запрос невалидный.
Пример для формата XML:
«Русский свет»
Техническая документация по подключению к сервису
информации по номенклатуре
<errors>
<error>Bad request</error>
</errors>
Пример сообщения для формата JSON:
errors:[“Bad request”]
401
Authorization failed
В запросе не указан авторизационный ключ.
Пример сообщения для формата XML:
<errors>
<error>Authorization failed</error>
</errors>
Пример сообщения для формата JSON:
errors:[“Authorization failed”]
403
Rate limit exceeded
Превышено ограничение на доступ к ресурсам.
Пример сообщения для формата XML:
<errors>
<error>Rate limit exceeded</error>
</errors>
Пример сообщения для формата JSON:
errors:[“Rate limit exceeded”]
Forbidden resource
У вас нет доступа к этому ресурсу.
Пример сообщения для формата XML:
<errors>
<error> Forbidden resource</error>
</errors>
Пример сообщения для формата JSON:
errors:[“Forbidden resource”]
404
{название объекта} not found
Указанный в запросе объект не найден.
Пример сообщения для формата XML:
<errors>
<error>Model not found</error>
</errors>
Пример сообщения для формата JSON:
errors:[“Model not found”]
405
Request method ‘{название_метода}’ not supported
Использованный метод не поддерживается.
Пример сообщения для формата XML:
<errors>
<error>Request method ‘PUT’ not supported</error>
</errors>
Пример сообщения для формата JSON:
«Русский свет»
Техническая документация по подключению к сервису
информации по номенклатуре
errors:[“Request method ‘PUT’ not supported”]
422
Request parameter ‘{название_параметра}’ is missing
В запросе отсутствует обязательный параметр.
Пример сообщения для формата XML:
<errors>
<error>Request parameter ‘text’ is missing</error>
<error>Request parameter ‘region_id’ is missing</error>
</errors>
Пример сообщения для формата JSON:
errors:[“Request parameter ‘text’ is missing”, “Request parameter ‘region_id’ is missing”]
422
Parameter ‘{название_параметра }’ format is incorrect, expected {название_формата}
В запросе отсутствует обязательный параметр.
Пример сообщения для формата XML:
<errors>
<error>Request parameter ‘region_id’ format is incorrect, expected number</error>
</errors>
Пример сообщения для формата JSON:
errors:[“Request parameter ‘region_id’ format is incorrect, expected number”]
422
Value ‘{переданное значение}’ of parameter ‘{название_параметра}’ is not supported
Значение параметра, указанное в запросе, не поддерживается.
Пример сообщения для формата XML:
<errors>
<error>Value ‘pric’ of parameter ‘sort_by’ is not supported</error>
<error>Value ‘15’ of parameter ‘desc’ is not supported</error>
</errors>
Пример сообщения для формата JSON:
errors:[“ Value ‘pric’ of parameter ‘sort_by’ is not supported”, “Value ‘15’ of parameter ‘desc’ is not supported”]
Возникли вопросы? Свяжитесь с нами — мы будем рады вам помочь.
Режим работы: в будни круглосуточно.
нужно ;
настроить подключению к сервису информации по
номенклатуре