API v1

Интеграция расширения с PriceAlert

Расширение не получает TOKEN MAX. Оно авторизуется через device-flow и отправляет на сервер только структурированные данные о цене.

Базовый адрес

https://pricealert.irbis-67.com/api/v1

1. Начать активацию

POST /device/start
Content-Type: application/json

{
  "installation_uuid": "локальный-случайный-id-установки",
  "device_name": "Chrome на рабочем ПК"
}

Откройте возвращённый verification_uri_complete, а затем опрашивайте /device/token.

2. Получить токены

POST /device/token

{"device_code":"pa_dc_..."}

3. Отправить уведомление

POST /alerts
Authorization: Bearer pa_at_...
Idempotency-Key: уникальный-id-события
Content-Type: application/json

{
  "monitor_id": "monitor_172",
  "marketplace": "ozon",
  "product_id": "123456789",
  "product_title": "Картридж CF259X",
  "price": 6890,
  "threshold": 7000,
  "product_url": "https://www.ozon.ru/product/123456789"
}

4. Проверить товары через ИИ

POST /api/v2/ai/match-products
Authorization: Bearer pa_at_...
Content-Type: application/json

{
  "monitor_id": "monitor_172",
  "criterion": "Картридж CF259X с чипом",
  "exclusions": "тонер, отдельный чип, без чипа",
  "marketplace": "ozon",
  "candidates": [
    {"candidate_id":"0","title":"...","description":"...","variant":"...","seller":"..."}
  ]
}

Сервер вычисляет SHA-256 смыслового запроса. При неизменившихся данных ответ возвращается из кэша без повторного обращения к GigaChat. В ответе доступны поля cached и request_hash.

5. Обновить access token

POST /auth/refresh

{"refresh_token":"pa_rt_..."}
Важно

Сервер не принимает произвольный текст сообщения и произвольный chat_id. Текст формируется сервером, а получатели выбираются только из привязанных к аккаунту.