JSON-RPC SDK Bundle

← JSON-RPC SDK Bundle

Ashterix

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

uk/docs/api/sdk/bundle/README.md new file +41 −0

1 + # JSON-RPC SDK Bundle
2 +
3 + :::block class="floatinginfobox"
4 + | | |
5 + | --- | --- |
6 + | **Пакет** | `ufo-tech/json-rpc-sdk-bundle` |
7 + | **Версія** | 4.0.0 (2026-09-25) |
8 + | **PHP** | >= 8.4 |
9 + | **Symfony** | ^7.3 \| ^8.0 |
10 + | **Client SDK** | ^5.0 |
11 + | **Код** | [GitHub](https://github.com/UFO-Tech/json-rpc-sdk-bundle) |
12 + :::
13 +
14 + Інтеграція [Client SDK](/docs/api/sdk/client) у Symfony: описуєте в конфігурації, які JSON-RPC API викликає застосунок, і однією командою отримуєте готові до автовайрингу класи з уже підставленими токенами.
15 +
16 + * **Постачальники API в конфігурації** — адреса документації, токен, секрет асинхронного транспорту, фільтр методів для кожного сервера.
17 + * **Генерація командою** — `bin/console ufo:sdk:generate` для всіх постачальників або `ufo:sdk:make` для одного.
18 + * **Автовайринг** — згенеровані класи стають сервісами; бандл підставляє заголовок з токеном, обробники відповіді й асинхронний транспорт.
19 + * **Кілька серверів** — кожен постачальник отримує власний простір імен і токен.
20 +
21 + ```php
22 + final class OrderController
23 + {
24 + public function __construct(private UserSDK $users) {} // App\Sdk\Orders\UserSDK
25 +
26 + #[Route('/users/{id}')]
27 + public function show(int $id): JsonResponse
28 + {
29 + return new JsonResponse($this->users->get($id)); // UserDto
30 + }
31 + }
32 + ```
33 +
34 + ## Розділи
35 +
36 + * [Встановлення](/docs/api/sdk/bundle/installation)
37 + * [Налаштування](/docs/api/sdk/bundle/config)
38 + * [Команди](/docs/api/sdk/bundle/commands)
39 + * [Використання](/docs/api/sdk/bundle/usage) — сервіси, токени, асинхронні виклики, помилки.
40 + * [Історія змін](/docs/api/sdk/bundle/change_log)
41 + * [Відомі помилки](/docs/api/sdk/bundle/known_issues/open)