Appearance
Аутентификация API
Публичный API Relavio использует API-ключ магазина. По ключу платформа определяет магазин, поисковый индекс, владельца аккаунта, лимиты и баланс.
Где взять API-ключ
API-ключ доступен в личном кабинете:
- Откройте раздел Магазины.
- Выберите нужный магазин.
- Перейдите на вкладку API.
- Скопируйте значение 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();Виджет Search
Если вы используете готовый виджет, укажите ключ в 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-ключ в публичных репозиториях.
- Для серверных интеграций храните ключ в переменных окружения.
- Используйте ключ только того магазина, к которому относится интеграция.
- При подозрении на утечку обратитесь к администратору платформы для перевыпуска ключа.
Для браузерного виджета ключ находится на стороне клиента, потому что виджет выполняет публичные поисковые запросы. Не используйте этот ключ для внутренних административных операций.
