JSON-RPC Client SDK

← JSON-RPC Client SDK

Ashterix

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).