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)