Skip to content

Секрет Подписи Callback

GET /callback/secret

Возвращает персональный секрет для проверки подписи исходящих callback.

Как работают callback: передайте заголовок X-Callback-Url: https://ваш-сервер/hook в любом запросе создания генерации. После завершения задачи (success/fail) мы отправим POST на этот адрес с JSON: {"task_id", "status", "code", "result_urls", "error", "model", "timestamp"}.

Проверка подписи: каждый callback содержит заголовки X-Callback-Timestamp и X-Callback-Signature: sha256=<hex>, где подпись = HMAC-SHA256(секрет, "{timestamp}." + сырое_тело_запроса). Сверяйте через constant-time сравнение и отклоняйте timestamp старше 5 минут.

Секрет постоянный для вашего аккаунта — достаточно получить один раз.

Базовый URL: https://api.aihere.ru/api/v1
Авторизация: Authorization: Bearer <API-ключ>
Rate-limit: 10 запросов/мин

Примеры

cURL

bash
curl "https://api.aihere.ru/api/v1/callback/secret" \
  -H "Authorization: Bearer $AIHERE_API_KEY"

Python

python
import requests

resp = requests.get(
    "https://api.aihere.ru/api/v1/callback/secret",
    headers={"Authorization": f"Bearer {API_KEY}"},
    timeout=30,
)
resp.raise_for_status()
print(resp.json())

JavaScript

javascript
const resp = await fetch("https://api.aihere.ru/api/v1/callback/secret", {
  headers: { Authorization: `Bearer ${API_KEY}` },
});
if (!resp.ok) throw new Error(`HTTP ${resp.status}`);
console.log(await resp.json());

PHP

php
$ch = curl_init('https://api.aihere.ru/api/v1/callback/secret');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => ["Authorization: Bearer $apiKey"],
]);
$resp = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($resp);

Ответ 200

Successful Response