Complete markdown documentation
This commit is contained in:
@@ -0,0 +1,139 @@
|
||||
# Практические API-примеры
|
||||
|
||||
Здесь собраны минимальные запросы для проверки Crank без веб-интерфейса.
|
||||
|
||||
В примерах используется:
|
||||
|
||||
```text
|
||||
https://crank.example.com
|
||||
```
|
||||
|
||||
Замените адрес на свой.
|
||||
|
||||
## Вход
|
||||
|
||||
```bash
|
||||
curl -i https://crank.example.com/api/auth/login \
|
||||
-H 'Content-Type: application/json' \
|
||||
--data '{
|
||||
"email": "owner@example.com",
|
||||
"password": "change-me"
|
||||
}'
|
||||
```
|
||||
|
||||
Сохраните cookie `crank_session`.
|
||||
|
||||
## Получить workspace
|
||||
|
||||
```bash
|
||||
curl https://crank.example.com/api/admin/workspaces \
|
||||
-b 'crank_session=<cookie_value>'
|
||||
```
|
||||
|
||||
Для стандартной установки workspace id:
|
||||
|
||||
```text
|
||||
ws_default
|
||||
```
|
||||
|
||||
## Получить операции
|
||||
|
||||
```bash
|
||||
curl https://crank.example.com/api/admin/workspaces/ws_default/operations \
|
||||
-b 'crank_session=<cookie_value>'
|
||||
```
|
||||
|
||||
После demo seed ожидается операция:
|
||||
|
||||
```text
|
||||
frankfurter_latest_rate
|
||||
```
|
||||
|
||||
## Запустить тест операции
|
||||
|
||||
```bash
|
||||
curl https://crank.example.com/api/admin/workspaces/ws_default/operations/<operation_id>/test-runs \
|
||||
-b 'crank_session=<cookie_value>' \
|
||||
-H 'Content-Type: application/json' \
|
||||
--data '{
|
||||
"version": 1,
|
||||
"input": {
|
||||
"base": "USD",
|
||||
"quote": "EUR"
|
||||
}
|
||||
}'
|
||||
```
|
||||
|
||||
## Получить агентов
|
||||
|
||||
```bash
|
||||
curl https://crank.example.com/api/admin/workspaces/ws_default/agents \
|
||||
-b 'crank_session=<cookie_value>'
|
||||
```
|
||||
|
||||
После demo seed ожидается агент:
|
||||
|
||||
```text
|
||||
currency-rates
|
||||
```
|
||||
|
||||
## Создать API-ключ агента
|
||||
|
||||
```bash
|
||||
curl https://crank.example.com/api/admin/workspaces/ws_default/agents/<agent_id>/platform-api-keys \
|
||||
-b 'crank_session=<cookie_value>' \
|
||||
-H 'Content-Type: application/json' \
|
||||
--data '{
|
||||
"name": "Manual MCP test",
|
||||
"scopes": ["read", "write"]
|
||||
}'
|
||||
```
|
||||
|
||||
Сохраните поле `secret`. Оно не будет показано повторно.
|
||||
|
||||
## Проверить MCP initialize
|
||||
|
||||
```bash
|
||||
curl -i https://crank.example.com/mcp/v1/default/currency-rates \
|
||||
-H 'Authorization: Bearer <agent_api_key>' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-H 'Accept: application/json, text/event-stream' \
|
||||
--data '{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 1,
|
||||
"method": "initialize",
|
||||
"params": {
|
||||
"protocolVersion": "2025-06-18",
|
||||
"capabilities": {},
|
||||
"clientInfo": {
|
||||
"name": "curl",
|
||||
"version": "1.0.0"
|
||||
}
|
||||
}
|
||||
}'
|
||||
```
|
||||
|
||||
Сохраните `MCP-Session-Id` из заголовков ответа.
|
||||
|
||||
## Вызвать инструмент
|
||||
|
||||
```bash
|
||||
curl https://crank.example.com/mcp/v1/default/currency-rates \
|
||||
-H 'Authorization: Bearer <agent_api_key>' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-H 'Accept: application/json' \
|
||||
-H 'MCP-Session-Id: <session_id>' \
|
||||
--data '{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 2,
|
||||
"method": "tools/call",
|
||||
"params": {
|
||||
"name": "frankfurter_latest_rate",
|
||||
"arguments": {
|
||||
"base": "USD",
|
||||
"quote": "EUR"
|
||||
}
|
||||
}
|
||||
}'
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user