Если в вашей панели управления указан URL-Result, наш сервер отправит JSON на этот адрес сразу после завершения генерации.
{
"request_id": "8db33...",
"status": "success",
"response": "Текст ответа от нейросети...",
"timestamp": 1716483600,
"signature": "a5e8f..."
}
Используйте ваш OutToken из панели управления для проверки подлинности запроса. Это гарантирует, что данные пришли именно от OmniNode.
<?php
// 1. Получаем данные JSON
$data = json_decode(file_get_contents('php://input'), true);
$signature = $data['signature'] ?? '';
// Удаляем подпись из массива для корректного расчета
unset($data['signature']);
// 2. Формируем полезную нагрузку (точно так же, как на сервере OmniNode)
$payload = json_encode($data);
$outToken = 'ВАШ_ИСХОДЯЩИЙ_ТОКЕН'; // Взять из панели управления
// 3. Вычисляем контрольную подпись
$validSign = hash_hmac('sha256', $payload, $outToken);
if (hash_equals($validSign, $signature)) {
// Запрос подлинный
$result = $data['response'];
// Ваш код обработки результата...
} else {
// Ошибка: запрос подделан или токены не совпадают
http_response_code(403);
exit('Invalid signature');
}
?>
hash_equals используется для защиты от атак по времени (Timing Attacks).