Appearance
Секрет Подписи 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
