← На главную

Контентный фид

Клиент предоставляет XML‑фид для осуществления поиска по контенту в поисковых продуктах AnyQuery.

📋
Общие требования к файлу фида
Технические условия доступности и формата
📄Фид должен быть выполнен в формате XML.
🔗Фид должен быть доступен по ссылке, предоставляемой клиентом.
📦Фид не должен быть заархивирован.
🔓Фид не должен быть защищён паролем.
➡️Важно передавать фид по прямой ссылке, без использования редиректа.
Фид должен соответствовать требованиям XML‑формата.
📑Фид должен соответствовать требованиям из разделов ниже.
🏗️
Требования к структуре фида
XML-правила, кодировка и экранирование
Обязательная схема структуры

Фид всегда должен начинаться со строки объявления XML с указанием кодировки. Фид должен соответствовать следующей структуре:

xml
<?xml version="1.0" encoding="utf-8"?>
<content>
    <article id="1">
        <url></url>
        <picture></picture>
        <name></name>
        <searchOrder></searchOrder>
        <annotation></annotation>
        <text></text>
        <tags>
            <tag></tag>
        </tags>
    </article>
</content>
Экранирование специальных символов

Символы " & > < ', содержащиеся в значениях тегов, нужно заменять на эквивалентные XML-коды:

Символ в тексте Код для XML-файла Название
" &quot; Двойная кавычка
& &amp; Амперсанд
> &gt; Знак больше
< &lt; Знак меньше
' &apos; Одинарная кавычка
💡
Допускается использование символов из таблицы выше в блоке CDATA без экранирования.
Допустимые кодировки
🔤UTF-8
🔤windows-1251
📰
Структура фида
Пример фида с несколькими статьями
xml
<?xml version="1.0" encoding="utf-8"?>
<content>

    <article id="1">
        <url>https://site.ru/articles/smartfony</url>
        <picture>https://site.ru/img/smartfony.jpg</picture>
        <name>Лучшие смартфоны до 15 000 рублей</name>
        <searchOrder>10</searchOrder>
        <annotation>Обзор смартфонов в бюджетном сегменте</annotation>
        <tags>
            <tag>смартфон</tag>
            <tag>смартфоны до 15 тысяч рублей</tag>
        </tags>
    </article>

    <article id="2">
        <url>https://site.ru/articles/plity</url>
        <picture>https://site.ru/img/plity.jpg</picture>
        <name>Как выбрать варочную поверхность</name>
        <text>Подробное руководство по выбору плиты</text>
        <annotation>Советы по выбору варочных поверхностей</annotation>
        <tags>
            <tag>плиты</tag>
            <tag>выбор варочных поверхностей</tag>
        </tags>
    </article>

</content>
🏷️
Теги фида
Обязательные и необязательные элементы
Тег Обязательность Описание
<?xml version="1.0" encoding="utf-8"?> обязателен Обязательный элемент в начале фида. Указывает версию XML и кодировку файла.
<content></content> обязателен Корневой элемент фида. Внутри этого тега в тегах <article> находится весь контент.
<article id="1"></article> обязателен Все теги <article> должны содержаться внутри <content>. Обозначает отдельную статью с уникальным id.
<url></url> обязателен Ссылка на контент. При клике на статью в поиске пользователь будет переходить по этой ссылке.
<name></name> обязателен Краткое название (или заголовок) статьи. Используется в сниппете статьи и в поисковом движке AnyQuery.
<picture></picture> необязателен Ссылка на заглавное изображение статьи. Используется в сниппете статьи в поиске. Рекомендуемый размер файла изображения — не более 150 кб.
<searchOrder></searchOrder> необязателен Приоритет статьи в результатах поиска. Подробнее — в разделе ниже.
<annotation></annotation> необязателен Дополнительное описание статьи. Возвращается в ответе API как дополнительное поле — не используется в поисковой логике AnyQuery.
<text></text> необязателен Текстовое содержимое статьи.
<tags></tags> необязателен Контейнер для поисковых тегов статьи. Внутри содержит теги <tag>.
<tag></tag> необязателен Поисковый тег для статьи. Все теги <tag> должны содержаться внутри <tags>. Рекомендуется добавлять для повышения качества поиска.
Подробнее о теге <searchOrder>

Тег <searchOrder> позволяет управлять приоритетом статей в результатах поиска. Если тег не указан — ранжирование происходит только по текстовой релевантности (формула BM25).

⚠️
Важно указывать тег с учётом регистра: searchOrder, а не searchorder.
Если внутри тега содержится текст, а не числа — фид не будет обновляться.
Если searchOrder не указан, считается, что он равен 0.

Найденные статьи сортируются по значению searchOrder от большего к меньшему. Пример:

1
Вторая статья
searchOrder = 10
2
Первая статья
searchOrder = 3
3
Третья статья
searchOrder не указан = 0
4
Четвёртая статья
searchOrder = −10
🔄
Обновление фида
Интервалы загрузки и применения данных
🕐
Фид загружается по ссылке раз в X часов — интервал загрузки регулируется по запросу. Данные из фида применяются в ответе API каждый день.
Для уточнения интервала обратитесь к вашему менеджеру интеграции или в службу поддержки.