Docs: полная схема CREATE + ошибки + хронология сессии 6

This commit is contained in:
2026-07-24 16:10:15 +04:00
parent 2f7d9d3d7b
commit d5ccf61f84
5 changed files with 32908 additions and 2 deletions
+34 -2
View File
@@ -65,8 +65,32 @@ curl -s --max-time 10 -H "Authorization: Bearer $TOKEN" -H "User-Agent: $UA" $UR
| GET | `/services/{svcId}` | Детали + операции |
| GET | `/instances` | Инстансы пользователя |
| GET | `/instanceOperations/default/{svcOperationId}` | **Полные параметры** (valueList, dataDescriptor, isModifiable) |
| POST | `/instances` | Создать инстанс |
| POST | `/instanceOperations` | Запустить операцию |
## Эндпоинты (полный список)
| Метод | Путь | Назначение |
|-------|------|------------|
| GET | `/services` | Список сервисов |
| GET | `/services/{svcId}` | Детали + операции |
| GET | `/instances?pageSize=200&page=N` | Инстансы (пагинация!) |
| GET | `/instanceOperations/default/{svcOperationId}` | **Полные параметры** (valueList, dataDescriptor, isModifiable) |
| POST | `/instances` | Создать инстанс → Location: instanceUid |
| POST | `/instanceOperations` | Создать операцию → Location: opUid |
| POST | `/instanceOperationCfsParams` | Задать параметр операции |
| POST | `/instanceOperations/{opUid}/run` | **Запустить операцию** (обязательно!) |
## Поток CREATE
См. подробный документ: [`api-create-flow.md`](api-create-flow.md)
```
1. GET /services/{svcId} → svcOperationId для "create"
2. GET /instanceOperations/default/{svcOpId} → параметры
3. POST /instances → instanceUid (из Location)
4. POST /instanceOperations → opUid (из Location)
5. POST /instanceOperationCfsParams (×N) → задать параметры
6. POST /instanceOperations/{opUid}/run → ЗАПУСК
7. GET /instances?pageSize=200 (поллинг) → ждать running
```
## ⚠️ Важно
@@ -74,3 +98,11 @@ curl -s --max-time 10 -H "Authorization: Bearer $TOKEN" -H "User-Agent: $UA" $UR
- `/serviceOperation/{id}` даёт **базовые** параметры (без valueList и dataDescriptor) — НЕ использовать
- Все параметры `--max-time 10` обязательны — чтобы не висло
- Токен **без** переносов строк: `tr -d '\n'`
- **UUID в Location — uppercase** (не lowercase как в БД)
- **displayName должен быть уникальным** — добавлять timestamp
- **`/run` обязателен!** Без него операция не стартует (auto-start только в UI)
- **Array параметры — JSON-строка:** `"[\"test\"]"`, не голый массив
- **Все paramValue — строки:** даже числа и булевы
- **Пустое тело = `{}`:** никогда не слать `null` (DDoS-Guard режет)
- **Пагинация:** инстансов может быть >200, проверять page=1, page=2...
- **DDoS-Guard:** с локальной машины может не работать, curl через ВМ 213 (`ssh naeel@5.172.178.213`)