Виклик з консолі

← Виклик з консолі

Ashterix

docs: rewrite JsonRpcBundle docs, add SDK docs, move them under docs/api

uk/docs/api/json-rpc-bundle/functionality/cli.md новий файл +29 −0

1 + # Виклик з консолі
2 +
3 + Команда `ufo:rpc:process` виконує RPC-запит без HTTP: зручно для cron, скриптів, налагодження. Підтримуються одиночні й batch-запити, перевірка токена та сама, що й для HTTP.
4 +
5 + ```bash
6 + php bin/console ufo:rpc:process '{"jsonrpc": "2.0", "id": 1, "method": "ping"}' --ufo-rpc-token=<token>
7 + ```
8 +
9 + ## Аргументи й опції
10 +
11 + | Аргумент / опція | Опис |
12 + | --- | --- |
13 + | `json` | JSON запиту; `-` — прочитати зі stdin; `@env` — зі змінної `UFO_RPC_REQUEST` |
14 + | `--<token_name>` | Токен. Назва опції — `security.token_name` у нижньому регістрі (`Ufo-RPC-Token` → `--ufo-rpc-token`); обов'язкова при `protected_api: true` |
15 + | `--api-group` | [Група API](/docs/api/json-rpc-bundle/functionality/groups), за замовчуванням `general` |
16 + | `--ver` | [Версія API](/docs/api/json-rpc-bundle/functionality/versions), за замовчуванням `v1` |
17 +
18 + Якщо опцію токена не передано, він береться зі змінної оточення `UFO_RPC_TOKEN`.
19 +
20 + :::tip subtitle="Не світіть токен і дані"
21 + Аргументи командного рядка видно в списку процесів. Передавайте запит через stdin, а токен — через змінну оточення:
22 +
23 + ```bash
24 + echo '{"jsonrpc":"2.0","id":1,"method":"Report.build","params":{"month":"2026-09"}}' \
25 + | UFO_RPC_TOKEN=<token> php bin/console ufo:rpc:process - --api-group=internal
26 + ```
27 + :::
28 +
29 + Відповідь виводиться в stdout у форматі JSON-RPC. Цю ж команду бандл використовує для дочірніх процесів [batch](/docs/api/json-rpc-bundle/functionality/batch) і від'єднаних [notifications](/docs/api/json-rpc-bundle/functionality/notifications).