Данный метод принимает ваш запрос и ставит его в систему распределенных вычислений. Поскольку генерация текста нейросетью может занимать время, API работает в асинхронном режиме. Это означает, что в ответ вы получаете не текст, а идентификатор запроса request_id.
| Параметр | Тип | Описание |
|---|---|---|
token |
string | Ваш секретный токен приложения из панели управления. |
prompt |
string | Текст вашего текущего вопроса или команды для ИИ. |
history |
json string | История диалога (массив объектов). Формат полностью совместим с Ollama и OpenAI. |
При успешной отправке запроса, сервер OmniNode API вернет JSON с двумя полями:
{
"status": "queued",
"request_id": "00000000-O1M2N3I4-N5O6D7E8"
}
status: Текущий статус запроса. В момент отправки это всегда "queued" (запрос поставлен в очередь).request_id: Уникальный идентификатор вашего запроса (UUID). Он понадобится вам для проверки статуса выполнения или получения результата через WebHook.curl -X POST https://omninode.ru/api/send/ \
-d "token=YOUR_APP_TOKEN" \
-d "prompt=Расскажи, как работает асинхронное API?" \
-d 'history=[
{"role": "system", "content": "Ты API-документация."},
{"role": "user", "content": "Привет, как получить ID запроса?"},
{"role": "assistant", "content": "Нужно отправить POST-запрос на /api/send/ и получить JSON с request_id."}
]'
<?php
/**
* Пример отправки запроса в OmniNode API с историей сообщений
*/
$apiUrl = 'https://omninode.ru/api/send/';
$params = [
'token' => 'YOUR_APP_TOKEN', // Ваш токен
'prompt' => 'Исходя из нашего диалога, какой город мне лучше посетить летом?',
// Пример расширенной истории (Context)
'history' => json_encode([
['role' => 'system', 'content' => 'Ты опытный тревел-блогер и гид.'],
['role' => 'user', 'content' => 'Привет! Я люблю активный отдых и горы.'],
['role' => 'assistant', 'content' => 'Привет! В таком случае вам могут понравиться Альпы или Кавказ.'],
['role' => 'user', 'content' => 'А что насчет России?'],
['role' => 'assistant', 'content' => 'В России отличным выбором будет Алтай или Красная Поляна.']
], JSON_UNESCAPED_UNICODE)
];
// Инициализация cURL
$ch = curl_init($apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
// Выполнение запроса
$exec = curl_exec($ch);
$response = json_decode($exec, true);
curl_close($ch);
// Обработка результата
if (isset($response['status']) && $response['status'] == 'queued') {
echo "Запрос успешно поставлен в очередь!" . PHP_EOL;
echo "ID запроса: " . $response['request_id'];
// Теперь вы можете либо ждать WebHook,
// либо проверять статус через /api/check/ используя request_id
} else {
echo "Ошибка запроса: " . ($response['message'] ?? 'Неизвестная ошибка');
}
?>