Документация и API
Всё для интеграции: REST API поиска, подсказок, рекомендаций, AI-консультанта и аналитики.
Подключение занимает от нескольких часов. Авторизация во всех методах — заголовок X-API-Key с токеном из личного кабинета (страница «Профиль»). Все ответы — JSON в UTF-8.
Первый запрос — проверьте, что каталог ищется:
curl -H "X-API-Key: ВАШ_ТОКЕН" \ "https://joyadmin.ru/api/search/?q=пакет+майка&limit=20"
{"status": "success", "total": 20, "time": 0.4,
"results": [{"id": "210013", "name": "...", "price": 8250,
"in_stock": true, "url": "...", "image": "...", "score": 12.3}]}Гибридный поиск (текстовый + векторный), исправление опечаток и раскладки, синонимы, буст товаров в наличии.
Основной поиск. Параметры: q — запрос, limit — до 100 результатов.
Мгновенные подсказки для выпадашки под поисковой строкой: популярные запросы вашего магазина (type=query, с частотой) и названия товаров (type=product, со ссылкой). Минимум 2 символа.
{"query": "пак", "suggestions": [
{"text": "пакет майка", "type": "query", "count": 11},
{"text": "Пакет ПВД 30*40", "type": "product", "url": "..."}]}Поиск по фото: изображение (multipart, поле image, до 8 МБ) распознаётся ИИ в текстовый запрос, дальше обычный поиск. В ответе — recognized_query и results.
curl -H "X-API-Key: ВАШ_ТОКЕН" \ -F "image=@photo.jpg" -F "limit=10" \ https://joyadmin.ru/api/search/image/
Рекомендации на векторах каталога и AI-консультант, который отвечает строго по данным товара.
Похожие товары для блока в карточке: ближайшие аналоги по смыслу (векторная близость), товары в наличии выше. product_id — тот же id, что возвращает поиск.
{"status": "success", "product_name": "Рукав ПВД 40 см, 50 мкм",
"results": [{"id": "210076", "name": "Рукав ПВД 40 см, 80 мкм", ...}]}AI-консультант в карточке товара. Параметры: product_id и question (form-data или JSON). Отвечает только на основе данных товара — характеристики, цена, наличие; не выдумывает.
curl -X POST -H "X-API-Key: ВАШ_ТОКЕН" \
-d "product_id=210013" \
-d "question=Какая толщина и есть ли в наличии?" \
https://joyadmin.ru/api/assistant/ask/
→ {"status": "success", "answer": "Толщина рукава — 50 мкм, товар в наличии."}События превращают статистику в деньги: CTR, конверсия и выручка поиска. Плюс методы для синхронизации каталога и выгрузки аналитики.
Маячок событий: type = click | add_to_cart | purchase, q — поисковый запрос, product_id, pos — позиция в выдаче, revenue — сумма для покупки. Всегда отвечает 204 и не задерживает страницу.
fetch('https://joyadmin.ru/api/search/event/'
+ '?type=add_to_cart'
+ '&q=' + encodeURIComponent(query)
+ '&product_id=210013&revenue=8250',
{ headers: { 'X-API-Key': 'ВАШ_ТОКЕН' }, keepalive: true });Вся аналитика кабинета в JSON: тоталы с динамикой, CTR, скорость поиска, устройства, таймлайн, топы запросов и товаров. Дубли склеены, боты отфильтрованы.
Точечное обновление цен и остатков — сразу в базе и в поисковом индексе, без перезагрузки прайса. До 500 товаров за запрос.
curl -X POST -H "X-API-Key: ВАШ_ТОКЕН" -H "Content-Type: application/json" \
-d '{"products": [{"id": "210013", "price": 8250, "in_stock": true}]}' \
https://joyadmin.ru/api/products/update/Загрузка прайса по расписанию: multipart-поле file (YML/XML/CSV) или параметр url. Ответ 202 с upload_id, обработка в фоне — статус по GET /api/upload/status/?id=...