Перейти к содержанию

JSON-RPC API

JSON-RPC 2.0 для программного управления процессами, задачами и диалогами.

Endpoint

POST https://api.schemix.ru/v1/rpc

Аутентификация

Заголовок X-API-Key с API-ключом тенанта — см. API-ключи.

Формат запроса

{
  "jsonrpc": "2.0",
  "method": "имя.метода",
  "params": {},
  "id": 1
}

Поле id — идентификатор запроса. Любое значение, сервер возвращает без изменений.


process.start

Запустить процесс. Возвращает instance_id мгновенно — выполнение в фоне.

Поле Тип Обязательно Описание
definition_id string | int Да ID процесса или код ("C")
variables object Нет Входные переменные
curl -X POST https://api.schemix.ru/v1/rpc \
  -H "X-API-Key: schemix_..." \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "process.start",
    "params": {
      "definition_id": "C",
      "variables": {"driver_id": 123, "amount": 500}
    },
    "id": 1
  }'

Ответ:

{
  "jsonrpc": "2.0",
  "result": {"instance_id": 18, "status": "running", "definition_id": 8},
  "id": 1
}

process.status

Получить статус и переменные экземпляра.

Поле Тип Обязательно Описание
instance_id int Да ID экземпляра

Ответ:

{
  "jsonrpc": "2.0",
  "result": {
    "instance_id": 18,
    "status": "completed",
    "definition_id": 8,
    "variables": {
      "transaction_id": "TXN-20260405234605-123",
      "receipt_id": "RCP-20260405234605"
    },
    "started_at": "2026-04-05T23:46:04.728Z",
    "completed_at": "2026-04-05T23:46:05.123Z"
  },
  "id": 1
}

Если в End Event настроены output_keys — возвращаются только выбранные поля, иначе все переменные.

Статусы: running, completed, cancelled, failed.


process.cancel

Отменить выполняющийся процесс.

Поле Тип Обязательно Описание
instance_id int Да ID экземпляра

task.list

Список задач.

Поле Тип Обязательно Описание
status string Нет in_progress / completed
page int Нет Default 1
per_page int Нет Default 20

task.complete

Завершить Human Task с результатом.

Поле Тип Обязательно Описание
task_id int Да ID задачи
result object Нет Данные формы
{
  "jsonrpc": "2.0",
  "method": "task.complete",
  "params": {
    "task_id": 42,
    "result": {
      "response": "Вопрос решён, баланс пополнен.",
      "decision": "approved"
    }
  },
  "id": 1
}

conversation.send

Отправить сообщение в активный диалог.

Поле Тип Обязательно Описание
binding_id int Да ID привязки диалога
text string Да Текст сообщения

conversation.list

Список активных диалогов тенанта.

Поле Тип Обязательно Описание
channel string Нет telegram / wazzup / max

Ошибки

{
  "jsonrpc": "2.0",
  "error": {"code": -32602, "message": "definition_id is required"},
  "id": 1
}
Код Описание
-32700 Ошибка парсинга JSON
-32600 Невалидный запрос
-32601 Метод не найден
-32602 Невалидные параметры
-32603 Внутренняя ошибка / нет прав