Webhooks

Получайте HTTP-коллбэки при наступлении событий в вашем рабочем пространстве.

Типы событий

  • prompt.created — создана новая версия промпта
  • prompt.updated — изменён шаблон промпта
  • execution.completed — выполнение промпта завершено
  • execution.failed — выполнение завершилось с ошибкой
  • evaluation.completed — оценка завершена
  • evaluation.regression — оценка упала ниже порога

Пример payload

POST /your-webhook-endpoint
Content-Type: application/json
X-Signature: sha256=<hmac>

{
  "event": "evaluation.completed",
  "data": {
    "evaluation_id": "eval_abc123",
    "prompt_name": "support/greeting",
    "score": 0.87,
    "examples_evaluated": 100,
    "regressions": 3
  },
  "timestamp": "2026-04-14T10:30:00Z"
}

Проверка подписи

Каждый webhook содержит заголовок X-Signature. Проверяйте HMAC-SHA256 с вашим секретом:

import hmac, hashlib

def verify(secret, body, signature_header):
    expected = hmac.new(
        secret.encode(),
        body.encode(),
        hashlib.sha256,
    ).hexdigest()
    return hmac.compare_digest(f"sha256={expected}", signature_header)

Повторы

Неуспешные доставки (не 2xx или таймаут) повторяются с экспоненциальной задержкой: 1 мин, 5 мин, 30 мин, 2 ч, 6 ч. После 5 неудач webhook отключается и вы получаете уведомление.