JSON-RPC API¶
JSON-RPC 2.0 для программного управления процессами, задачами и диалогами.
Endpoint¶
Аутентификация¶
Заголовок X-API-Key с API-ключом тенанта — см. API-ключи.
Формат запроса¶
Поле 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 |
Ошибки¶
| Код | Описание |
|---|---|
| -32700 | Ошибка парсинга JSON |
| -32600 | Невалидный запрос |
| -32601 | Метод не найден |
| -32602 | Невалидные параметры |
| -32603 | Внутренняя ошибка / нет прав |