Ответ состоит из двух частей (если поиск удачен). Первая часть - статус ответа(документа), присутствует всегда. Вторая, содержит информацию о продуктах и появляется, если найдены продукты.
Общая структура каталога
<catalogue> <status></status> <product> . . <product></product> </catalogue>
Описание "Статуса":
<status><status_id>$ID статуса$</status_id>status_description>$Описание статуса (eng)$</status_description></status> $ID статуса$ - Номер статуса. Тип integer. $Описание статуса (eng)$ - Описание по английски. Тип varchar(20).
| Numurs | Apraksts(eng) | Apraksts |
|---|---|---|
| 39 | XML logon failed | Ошибка аутентификации. |
| 40 | XML no permission to XML catalogue | У пользователя нет прав на XML каталог (См. Права доступа k XML каталогу ). |
| 41 | XML product by code not found | Продукт с указанным кодом ненайден. |
| 42 | XML products by catalogue id not found | Нет продуктов в заданом каталоге и подкаталогах. |
| 43 | XML site error | Ошибка скрипта при исполнении. |
| 44 | XML parametr code is empty | При вызове product_by_code.php параметр code отсутствует. |
| 45 | XML no such catalogue id | При вызове product_by_tree.php параметр tree_name_id отсутствует. |
| 46 | XML success by code | Поиск по коду успешен (есть продукт или подукты), сгенерирован XML документ. |
| 47 | XML banned catalogue upper node | Нельзя для поиска каталога использовать корень каталога (самый верхний узел ID=2). |
| 48 | XML success catalogue | Поиск по каталог ID успешен (есть продукт или подукты), сгенерирован XML документ. |
Если поиск успешный, то вы получите ответ со статусом 48, 46. Если запрашиваемая вами информация отсутствует то 42, 41. Все другие статусы говорят о некой ошибке.
Описание "Продукта"
XML каталог содержит идентичную информацию, что и каталог web сайта www.akvedukts.lv. В XML ответе только актульные товары.(Если количество на локальном складе 0, но продукт присутствует в файле - это означает что продукт можно заказать у производителя. См. далее $Под заказ$)
В случае если был некий продукт и он какоето время назад был доступен (при вызове находился в XML документе), но сейчас нет возможность его приобретения, данный продукт исключается из XML каталога (как и с самого сайта). Т.е. если вы скачали продукт, а затем при вызове product_by_code.php вы получаете ответ с статусом 41, то этот продукт не актуален.
Пользователям XML каталога предоставляется инфорация о классификации продуктов и самих продуктах. Классификация продуктов это статический документ, который обнавляется каждые 3 часа. В отличие от классификации информация о продуктах - это 2 PHP скрипта, которые в зависимости от параметров HTTP вызова динамически формируют XML ответ (документ). Один из PHP скриптов ищет по коду, другой в указанном каталоге и его подкаталогах. Во всех случаях используется кодировка UTF-8.
$ID продукта$ - ID в базе данных Akvedukts. Тип integer.
$ID дерева$ - ID каталога. Тип integer.
$Имя каталога$ - Название узла дерева (каталога). Тип varchar(200).
$Путь к каталогу$ - Путь к узлу дерева, содержит названия родительских узлов через ">". Тип string.
$Код продукта$ - Тип varchar(60). Используется при вызове product_by_code.php.
$Название продукта lat$ - Название по латышски. Тип varchar(200).
$Название продукта rus$ - Название по русски. Тип varchar(200).
$Цена без НДС$ - Тип decimal (10,2).
$Цена с НДС$ - Тип decimal (10,2).
$НДС$ - Тип decimal (5,3).
$Под заказ$ - Метка. Если равна "y" то даже если количество на складе 0, продукт появляется в XML каталоге.
$Валюта$ - Тип char(3).
$Количество на складе$ - Тип DOUBLE PRECISION.
$Описание продукта lat$ - Описание продукта в HTML, латышский язык. Тип BLOB.
$Описание продукта rus$ - Описание продукта в HTML, русский язык. Тип BLOB.
LAT
ENG
LIT
EST