docs: rewrite JsonRpcBundle docs, add SDK docs, move them under docs/api
uk/docs/api/sdk/client/README.md
new file +38
−0
1
+
# JSON-RPC Client SDK
2
+
3
+
:::block class="floatinginfobox"
4
+
| | |
5
+
| --- | --- |
6
+
| **Пакет** | `ufo-tech/json-rpc-client-sdk` |
7
+
| **Версія** | 5.0.2 (2026-09-25) |
8
+
| **PHP** | >= 8.3, `ext-intl`, `ext-readline` |
9
+
| **Symfony** | ^7.2 \| ^8.0 |
10
+
| **Код** | [GitHub](https://github.com/UFO-Tech/json-rpc-client-sdk) |
11
+
:::
12
+
13
+
Бібліотека, що будує клієнтський SDK для будь-якого JSON-RPC сервера з його документації OpenRPC і виконує запити через згенеровані класи.
14
+
15
+
* **Генератор** читає OpenRPC і створює класи процедур (`UserSDK`, `AsyncUserSDK`), DTO, enum і файл адрес `sdk_config.yaml.dist`.
16
+
* **Базові класи** `AbstractProcedure` / `AbstractAsyncProcedure` валідують параметри, надсилають запити, перетворюють результат на типи PHP і помилки — на винятки.
17
+
* **Розширена підтримка серверів на JsonRpcBundle:** спеціальні параметри `$rpc` (callback, timeout, rayId, ignoreCache), асинхронні виклики через черги, обмеження валідації з документації.
18
+
19
+
## Встановлення
20
+
21
+
```bash
22
+
composer require ufo-tech/json-rpc-client-sdk
23
+
```
24
+
25
+
У Symfony-застосунку зручніше ставити [SDK Bundle](/docs/api/sdk/bundle): він бере на себе конфігурацію, генерацію командою і автовайринг. Для асинхронних викликів через AMQP додатково:
26
+
27
+
```bash
28
+
composer require ufo-tech/component-transport-amqp
29
+
```
30
+
31
+
## Розділи
32
+
33
+
* [Генерація SDK](/docs/api/sdk/client/generation) — звідки береться документація, що генерується, фільтри методів.
34
+
* [Використання](/docs/api/sdk/client/usage) — виклики, заголовки, спеціальні параметри, результати, помилки, налагодження.
35
+
* [Асинхронні виклики](/docs/api/sdk/client/async) — черги, транспорти, DSN.
36
+
* [Розширення](/docs/api/sdk/client/extending) — власні читачі документації, генератори, шаблони, обробники відповідей.
37
+
* [Історія змін](/docs/api/sdk/client/change_log).
38
+
* [Відомі помилки](/docs/api/sdk/client/known_issues/open).