Вебхуки и системные уведомления

Автоматическая отправка уведомлений о событиях аккаунта: приближение к финансовым лимитам, завершение батчей и безопасность.

Для поддержания непрерывности работы бэкенда критически важно получать своевременные сигналы о состоянии лицевого счета и фоновых процессов. Система вебхуков Api Router позволяет настроить автоматическую отправку подписанных HTTP POST уведомлений на ваш сервер.

Механизм доставки вебхуков (Signed Webhooks)

При наступлении целевого события шлюз формирует JSON-сообщение, подписывает его секретным ключом HMAC-SHA256 и отправляет на указанный вами endpoint с повторными попытками при сбое.

Ключевые технические возможности

  • Алерт по порогу баланса (Low Balance Alert): Оповещение, когда рублевый остаток опускается ниже заданной суммы (например, 1 000 ₽).
  • Завершение пакетных заданий (Batch Completed): Уведомление о готовности результатов фонового батча со ссылкой на скачивание.
  • События безопасности: Сигналы при блокировке ключа по превышению лимита или попытках доступа с неразрешенных IP.
  • Криптографическая подпись HMAC: Гарантия подлинности уведомления и защита от подделки запросов третьими лицами.

Пример интеграции в коде

Ниже представлен базовый пример отправки запроса с использованием стандартного клиента. Убедитесь, что ваш токен создан в разделе Ключи управления API:


import OpenAI from "openai";

// Инициализация стандартного SDK с базовым URL Api Router
const client = new OpenAI({
  baseURL: "https://api-router.velar.plus/v1",
  apiKey: process.env.API_ROUTER_KEY, // Ваш ключ от сервиса
});

async function run() {
  const response = await client.chat.completions.create({
    model: "anthropic/claude-sonnet", // Семейство модели без жесткой привязки к устаревающим номерам
    messages: [
      { role: "system", content: "Вы профессиональный инженер-архитектор." },
      { role: "user", content: "Как настроить надежную маршрутизацию запросов?" }
    ],
    temperature: 0.2,
  });

  console.log("Ответ модели:", response.choices[0].message.content);
}

run();
  

Связанные разделы документации

Для глубокого погружения в тему изучите следующие материалы: