POST /api/send/
Описание работы:

Данный метод принимает ваш запрос и ставит его в систему распределенных вычислений. Поскольку генерация текста нейросетью может занимать время, API работает в асинхронном режиме. Это означает, что в ответ вы получаете не текст, а идентификатор запроса request_id.

Параметры запроса (POST):
Параметр Тип Описание
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
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
<?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'] ?? 'Неизвестная ошибка');
}
?>