Спецификация
Задача
Узнать с помощью специального скрипта (подготовленного вами) складскую информацию по интересующим нас компонентам.
Например:
- Нас интересуют компоненты, содержащие текст max232. Наш сервер обращается к вашему скрипту, передает указанную строку и ждет ответа.
- Ваш скрипт возвращает нам список компонентов, в названии которых содержится указанный текст. Для каждой из позиций указывается состояние склада (наличие, отсутствие или возможность привезти под заказ).
Реализация
Внимание! С 23.08.2018 мы внедрили новую спецификацию (версия 2.0). В ближайшее время обе спецификации будут работать параллельно.
Для обработки присылаемых данных в соответствии с новой спецификацией требуется указать в теге <data> атрибут version со значением "2.0".
В противном случае данные будут обработаны по старой спецификации.
Наш сервер обращается к вашему по протоколу HTTP или HTTPS, запрашивает url-адрес вашего скрипта и передает в параметрах поисковый запрос одним из методов (GET или POST).
Ваш склад выдает складскую информацию в формате XML, со следующими полями:
- <data version="2.0"></data> — охватывает весь блок данных.
- <item></item> — информация для одной позиции. Внимание! Ранее данный тег назывался <line></line>.
- <part></part> — наименование (партномер) компонента.
- <mfg></mfg> — производитель.
- <img></img> — ссылка на изображение, фотографию.
- <url></url> — ссылка на карточку товара на сайте поставщика. По умолчанию вывод этого тега отключен. Для подключения обратитесь в администрацию eFind.ru. Подробнее.
- <pdf></pdf> — ссылка на техническую документацию.
- <cr></cr> — указание на аналог/аналоги компонента. Один тег - один аналог.
- <sku></sku> — артикул компонента, применяющийся у поставщика (например, каталожный номер).
- <cur></cur> — валюта (USD, RUB, EUR) .
- <pb qty=""></pb> — указываются цены и количество компонентов, для которых эти цены справедливы. Например, <pb qty="10">10.99</pb>
Тег <pb></pb> повторяется столько раз, сколько различных уровней цен есть у поставщика для данного компонента.
- <moq></moq> — минимальный заказ.
- <mpq></mpq> — размер упаковки.
- <dc></dc> — дата изготовления (date code).
- <pkg></pkg> — тип корпуса.
- <pack></pack> — тип упаковки.
- <note></note> — дополнительное описание. Не рекомендуется размещать в теге note информацию, которая относится к другим тегам (аналоги, корпус, минимальная упаковка и т.п.).
- <stock></stock> — состояние склада. Возможные варианты значения поля:
- «Да» или «На складе» — есть на складе (тег instock не используется).
- «Склад», «В наличии» и прочее по смыслу — есть на складе (тег instock должен быть равен 1).
- new Число — указывает количество позиций на складе (тег instock не используется). В случае дробного числа требуется указать единицу измерения (тег <um></um>).
- 0 или «Нет» — нет на складе (тег instock не используется).
- Складская информация в виде диапазона — например: «<100» (тег instock должен быть равен 1).
- Информация о сроках поставки должна быть указана в теге <dlv></dlv>
- new <um></um> — единица измерения количества товара. По умолчанию считается, что количество товара измеряется в штуках. В результатах поиска «штуки» не выводятся.
- <dlv></dlv> — информация о сроках поставки на склад (предполагается, что склад находится в городе, указанном в контактной информации поставщика). Если этот тег пустой, то считаем, что компонент на складе. Если там что-то есть, то считаем, что компонент не на складе.
- <instock></instock> — дополнительное уточнение состояние склада (1 — есть на складе, 0 — нет). Внимание! При отсутствии тега stock тег instock игнорируется.
- <bid></bid> — настройка спецразмещения для конкретной позиции. Возможные значения:
- Целое число (>=10) - максимальная цена за показ (в копейках), с которой будет участвовать в спецразмещении данный компонент.
- 0 - цена за показ для данного компонента будет определяться прочими настройками спецразмещения (общая ставка, ставка на бренд, ставка на группу запросов).
- -1 - данный компонент не участвует в спецразмещении (точнее, участвует только в случаях, когда в результатах поиска есть другие позиции, участие которых в спецразмещении не запрещено).
Требования к типам данных
Замечания
- Теги <data>, <item>, <part> и, в ряде случаев, <instock> являются обязательными.
- В результатах поиска должно быть не более 5 строк.
- В результирующих строках не допускается вывод html-тегов
- Цены должны содержать все налоги, разделитель дробной части — точка.
- Если не указана валюта, считается, что цены в долларах США.
- Если не указано состояние склада, то считается, что позиции на складе отсутствуют.
- Допустимые типы данных приведены здесь.
Требования к выдаваемым результатам поиска
- Запрашиваемая строка должна присутствовать во всех строках результата. Учитывается присутствие запроса в полях (тегах): part, note, mfg, sku, cr, pkg, pack.
Например, если запрашиваемая строка - «max232», то в каждой результирующей строке обязательно должен присутствовать «max232».
- Если запрашиваемая строка состоит из слов, разделенных пробелом (или символом-разделителем), в результирующих строках должны присутствовать все запрашиваемые слова.
Символы-разделители: « », «\t» (табуляция), «\n» (перевод строки), «,» «;» «*» «?».
Например, если поисковый запрос - «max 232» или «max,232», то в каждой результирующей строке обязательно должен присутствовать и «max» и «232».
- При поиске допускается удаление некоторых спецсимволов: «_», «-», «.», «/», «\», «|», «#», «~», «+», «^», «@», «%», «(», «)», «{», «}», «[», «]», «=», «:», «'», «"», «`», «<»,«>», «–» («длинное» тире).
Например, если запрашиваема строка - «max-232», то допускается вывод результатов поиска только по «max-232» или «max232». Не допускается вывод результатов поиска только по запросу «max» или «232»
- Допускается считать идентичными сходные по написанию латинские и кириллические буквы E, T, O, P, A, H, K, X, C, B, M, а также букву O и цифру 0.
- В результирующих строках допускается вывод разделенной пробелом или спецсимволом (см. список выше) запрашиваемой строки.
Например, если запрашиваемая строка - «max232», то допускается вывод в результирующей строке «что_то_таMAX 232шт».
Ссылка на карточку товара (тег URL)
Ссылка должна вести на карточку товара на сайте поставщика.
На этой странице посетитель должен иметь возможность ознакомиться с условиями поставки товара и положить товар в корзину для последующего оформления заказа.
По умолчанию вывод содержимого этого тега в результатах поиска отключен.
Для подключения вывода свяжитесь с администрацией eFind.ru ( client@efind.ru, +7 (812) 309‑50‑30).
Решение о выводе тега принимается специалистами eFind.ru на основании всей имеющейся информации о компании.
Пример кода по спецификации
<data version="2.0">
<item>
<mfg>SOME MFG</mfg>
<part>SOME PARTNUMBER</part>
<note>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus nec sodales arcu.</note>
<img>http://site.ru/blank.gif</img>
<pdf>http://site.ru/blank.pdf</pdf>
<url>http://site.ru/test20spec</url>
<cr>AC/DC</cr>
<cr>MAX232 (Maxim)</cr>
<sku>S21-10456892<sku>
<cur>RUR</cur>
<pb qty="1">440</pb>
<pb qty="10">407</pb>
<moq>10 штук</moq>
<mpq>100</mpq>
<dc>2010</dc>
<pkg>MIPS</pkg>
<pack>TAPE & REEL Tray Tube</pack>
<stock>14</stock>
<dlv>10-12 дней</dlv>
<bid>20</bid>
</item>
</data>
Приведенный код будет интерпретирован следующим образом:
Производитель |
Наименование |
Информация |
Цены |
Склад |
|
|
SOME MFG
|
SOME PARTNUMBER
Артикул: S21-10456892
Корпус: MIPS
|
SOME PARTNUMBER SOME MFG
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus nec sodales arcu.
Аналоги: AC/DC, MAX232 (Maxim)
Дата изготовления: 2010
Упаковка / в упаковке: TAPE & REEL Tray Tube / 100
Минимальный заказ: 10 штук
|
от 407 р.
|
14 10-12 дней купить |
| |
|