生成コード作成
Target migration note: この endpoint は guinness-ai-v2 Des2Code の trigger ではありません。Des2Code は ranked code results を返し、
POST /v1/des2codeまたは MCP v2trigger-des2codeから起動し、結果はPOST /v1/webhooks/ai-statusで返ります。
メソッド
RESTメソッドを採用しています。
HTTPメソッド
POST: 生成コード作成
命名規則
クエリパラメータとノードの命名を統一し、可読性を向上させるため、リクエスト時のURIとJSON内のノードにはsnake_caseを使用します。
リクエストとレスポンス
ヘッダー
メタ情報はレスポンスボディではなく、HTTPヘッダーに設定されます。
リクエストヘッダー
AuthorizationContent-TypeAcceptAccept-language
レスポンスヘッダー
Content-Type
生成コード作成
URI
パスパラメータ
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
| organization_id | number | 必須 | 組織ID |
| project_id | number | 必須 | プロジェクトID |
リクエストボディ
リクエストボディはJSONです。
リクエストパラメータ
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
| design_id | string | 必須 | 関連するデザインID(形式: fileId_nodeId) |
| custom_prompt | string | 任意 | legacy instruction field。target Des2Code flow では消費しない |
レスポンス
レスポンスはJSONです(HTTPステータス: 201 Created)。
{
"id": 1,
"projectId": 1,
"designId": "ABC123_2585:942",
"custom_prompt": "You are a frontend developer.",
"sourceCode": "",
"status": 0,
"createdAt": 1234567890000,
"updatedAt": 1234567890000,
"deletedAt": null,
"createdBy": "user-id",
"updatedBy": "user-id",
"deletedBy": null
}
ステータス値
| 値 | 説明 |
|---|---|
| 0 | 処理中 |
| 1 | 完了 |
| 2 | 失敗 |
認証
認証はAmazon Cognitoから発行されるJSON Web Tokens (JWT)を使用して行われます。
例外処理
例外処理のステータスコードは以下の通りです。
| 説明 | ステータスコード | ステータス名 |
|---|---|---|
| 無効なデザインIDまたは必須フィールド欠落 | 400 | Bad Request |
| 認証情報不足 | 401 | Unauthorized |
| 実行権限不足 | 403 | Forbidden |
| プロジェクト、組織、またはデザインが見つかりません | 404 | Not Found |
| 内部サーバーエラー | 500 | Internal Server Error |
処理フロー
- パスパラメータから組織IDとプロジェクトIDを抽出
- リクエストボディからデザインIDを抽出
- ユーザーがプロジェクトへのWrite権限を持つか検証
- デザインの存在確認
- この legacy generated-code workflow を保持する場合は専用キューにのみ dispatch する。
guinness-ai-v2/apps/des2codeには送らない - データベースに生成コードレコードを作成(sourceCode: 空文字列、status: 0=処理中)
- 作成された生成コード情報を返却
詳細フローチャート
flowchart TD
Start([POST Request]) --> Route[Route Handler]
Route --> Auth[認証・パラメータ取得]
Auth --> Service[Service Layer]
Service --> AccessCheck[権限チェック]
AccessCheck --> HasAccess{Write権限?}
HasAccess -->|なし| Err404[404 Not Found]
HasAccess -->|あり| VerifyDesign[デザイン存在確認]
VerifyDesign --> DesignExists{存在?}
DesignExists -->|なし| Err404
DesignExists -->|あり| SendLegacy[retained legacy workflow に dispatch<br/>des2code ではない]
SendLegacy --> SQSResult{dispatch 成功?}
SQSResult -->|失敗| Err500[500 Internal Server Error]
SQSResult -->|成功| CreateDB
CreateDB[DBレコード作成<br/>sourceCode=空文字列<br/>status=0 処理中] --> Success[201 Created]