Skip to content

Аутентификация API

Публичный API Relavio использует API-ключ магазина. По ключу платформа определяет магазин, поисковый индекс, владельца аккаунта, лимиты и баланс.

Где взять API-ключ

API-ключ доступен в личном кабинете:

  1. Откройте раздел Магазины.
  2. Выберите нужный магазин.
  3. Перейдите на вкладку API.
  4. Скопируйте значение API key.

Подробнее: API-ключи.

Как передавать ключ

Передавайте ключ в HTTP-заголовке api-key:

http
api-key: YOUR_API_KEY

Пример запроса

bash
curl -X POST "https://relavio.su/api/v1/search" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -H "api-key: YOUR_API_KEY" \
    -d '{"query":"iphone","page":1,"per_page":20}'

JavaScript-пример

js
const response = await fetch('https://relavio.su/api/v1/search', {
    method: 'POST',
    credentials: 'include',
    headers: {
        Accept: 'application/json',
        'Content-Type': 'application/json',
        'api-key': 'YOUR_API_KEY',
    },
    body: JSON.stringify({
        query: 'iphone',
        page: 1,
        per_page: 20,
    }),
});

const result = await response.json();

Если вы используете готовый виджет, укажите ключ в data-api-key:

html
<div
    data-relavio-search-widget
    data-api-key="YOUR_API_KEY"
    data-behavior="suggests"
></div>

<script src="https://relavio.su/js/search-widget.js"></script>

Виджет сам будет отправлять ключ в заголовке api-key.

Сессия поиска

Кроме API-ключа, Search API работает с поисковой сессией пользователя.

В ответах могут возвращаться:

  • session_id - идентификатор пользовательской сессии;
  • search_id - идентификатор поискового запроса;
  • autocomplete_id - идентификатор запроса подсказок.

Эти значения нужны для аналитики, истории поиска и связи кликов с запросами.

В браузере API может установить cookie session_id и search_id. При прямой интеграции можно также передавать эти значения в JSON payload.

Ошибки авторизации

Если ключ не передан:

json
{
  "message": "Missing api_key header."
}

Если ключ неверный:

json
{
  "message": "Invalid api_key header."
}

Оба случая возвращают HTTP 401 Unauthorized.

Безопасность

  • Не храните API-ключ в публичных репозиториях.
  • Для серверных интеграций храните ключ в переменных окружения.
  • Используйте ключ только того магазина, к которому относится интеграция.
  • При подозрении на утечку обратитесь к администратору платформы для перевыпуска ключа.

Для браузерного виджета ключ находится на стороне клиента, потому что виджет выполняет публичные поисковые запросы. Не используйте этот ключ для внутренних административных операций.