Участие в поиске

Спецификация

Задача

Узнать с помощью специального скрипта (подготовленного вами) складскую информацию по интересующим нас компонентам. Например:
  • Нас интересуют позиции содержащие текст ML400. Наш сервер обращается к вашему скрипту, передает указанную строку и ждет ответа.
  • Ваш скрипт возвращает нам список позиций, содержащих указанный текст, которые может предложить ваша фирма и состояние склада для них (наличие, отсутствие или возможность привезти под заказ).

Реализация

Наш сервер обращается к вашему по протоколу HTTP, запрашивает url-адрес вашего скрипта и передает в параметрах поисковый запрос одним из методов (GET или POST).
Ваш склад выдает складскую информацию в формате XML, со следующими полями:
  • <data></data> — охватывает весь блок данных.
  • <line></line> — информация для одной позиции.
    • <mfg></mfg> — производитель (например: VIZIT).
    • <part></part> — наименование оборудования (например: ML400-50).
    • <note></note> — описание (например: Электромагнитный замок, 12 VDC, усилие 400 кг)
    • <img></img> — ссылка на изображение (фотографию) или дополнительное описание.
    • <pdf></pdf> — ссылка на техническую документацию.
    • <cur></cur> — валюта (USD, RUR, EUR).
    • <p1></p1> — розничная цена.
    • <p2></p2> — мелкооптовая цена.
    • <p3></p3> — оптовая цена.
    • <stock></stock> — состояние склада. Возможные варианты значения поля:
      • «Да» или «На складе» — есть на складе (тег instock не используется).
      • Целое число — указывает количество позиций на складе (тег instock не используется).
      • 0 или «Нет» — нет на складе (тег instock не используется).
      • Складская информация в виде диапазона — например: «<100» (тег instock должен быть равен 1).
      • Указание срока поставки — например: «США, 3-4 недели» (тег instock должен содержать значение 0).
      • Недопустимые значения поля:
        «Звоните»
        «Заказ» или «запрос»
        «Есть»
        и пр.
    • <instock></instock> — дополнительное уточнение состояние склада (1 — есть на складе, 0 — нет). Применяется в случаях описанных выше.

Замечания

  • Теги <data>, <line>, <part> и, в ряде случаев, <instock> являются обязательными.
  • В результатах поиска должно быть не более 20 строк.
  • В результирующих строках не допускается вывод html-тегов
  • Цены должны содержать все налоги, разделитель дробной части — точка.
  • Если не указана валюта, считается, что цены в долларах США.
  • Если не указано состояние склада, то считается, что позиции на складе отсутствуют.

Требования к выдаваемым результатам поиска

  • В результирующих строках должна присутствовать запрашиваемая строка.
    Например, если запрашиваемая строка - «ML400», то в каждой результирующей строке обязательно должен присутствовать «ML400».
  • Если запрашиваема строка состоит из слов, разделенных пробелом (или символом-разделителем), в результирующих строках должны присутствовать все запрашиваемые слова.
    Символы-разделители: « », «\t» (табуляция), «\n» (перевод строки), «,» «;» «*» «?».
    Например, если поисковый запрос - «ML 400» или "ML,400», то в каждой результирующей строке обязательно должен присутствовать и «ML» и «400».
  • При поиске, допускается удаление некоторых спецсимволов из запроса: «_», «-», «.», «/», «\», «|», «#», «~», «+», «^», «@» и т.п.
    Например, если запрашиваема строка - «ML-400», то допускается вывод результатов поиска только по «ML-400» или «ML400». Не допускается вывод результатов поиска только по запросу «ML» или «400»
  • В результирующих строках допускается вывод разделенной спецсимволом запрашиваемой строки.
    Например, если запрашиваемая строка - «ML400», то допускается вывод в результирующей строке «что_то_таML 400шт».

Пример кода по спецификации

<?xml version="1.0" encoding="UTF-8"?>
<data>
 <line>
    <mfg>VIZIT</mfg>
    <part>ML-400-50</part>
    <note>Магнигный замок 400 кг, 12В/600мА, без таймера, уголок 50х50</note>
    <cur>EUR</cur>
    <p1>24</p1>
    <stock>20</stock>
  </line>
  <line>
    <mfg></mfg>
    <part>VIZIT-ML400-40</part>
    <pdf>http://www.site.ru/pdf/ML400-40.pdf</pdf>
    <p1>3.1</p1>
  </line>
  <line>
    <mfg>VIZIT</mfg>
    <part>Замок Визит(Элтис)-ML400-50</part>
    <stock><100</stock>
    <instock>1</instock>
  </line>
  <line>
    <mfg>VIZIT</mfg>
    <part>VIZIT-ML400S</part>
    <stock>3-4 недели</stock>
    <instock>0</instock>
  </line>
</data>
Приведенный код будет интерпретирован следующим образом:

ПроизводительНаименование и комментарииРозн.М.ОптОпт.Склад
VIZITML-400-50
Магнигный замок 400 кг, 12В/600мА, без таймера, уголок 50х50
24 €20
 VIZIT-ML400-40
PDF   
3.1 $
VIZITЗамок Визит(Элтис)-ML400-50<100
VIZITVIZIT-ML400S3-4 недели
>
© 2009—2015 «ЭтЛайт»
Администрация: +7 (812) 334-85-22, admin@bfind.ru
LiveZilla Live Help