コンテンツにスキップ

生成コード作成

Target migration note: この endpoint は guinness-ai-v2 Des2Code の trigger ではありません。Des2Code は ranked code results を返し、POST /v1/des2code または MCP v2 trigger-des2code から起動し、結果は POST /v1/webhooks/ai-status で返ります。

メソッド

RESTメソッドを採用しています。

HTTPメソッド

POST: 生成コード作成

命名規則

クエリパラメータとノードの命名を統一し、可読性を向上させるため、リクエスト時のURIとJSON内のノードにはsnake_caseを使用します。

リクエストとレスポンス

ヘッダー

メタ情報はレスポンスボディではなく、HTTPヘッダーに設定されます。

リクエストヘッダー

  • Authorization
  • Content-Type
  • Accept
  • Accept-language

レスポンスヘッダー

  • Content-Type

生成コード作成

URI

POST /v1/organizations/{organization_id}/projects/{project_id}/generated_codes

パスパラメータ

名前 型 必須 説明
organization_id number 必須 組織ID
project_id number 必須 プロジェクトID

リクエストボディ

リクエストボディはJSONです。

{
  "design_id": "ABC123_2585:942",
  "custom_prompt": "You are a frontend developer."
}

リクエストパラメータ

名前 型 必須 説明
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

処理フロー

  1. パスパラメータから組織IDとプロジェクトIDを抽出
  2. リクエストボディからデザインIDを抽出
  3. ユーザーがプロジェクトへのWrite権限を持つか検証
  4. デザインの存在確認
  5. この legacy generated-code workflow を保持する場合は専用キューにのみ dispatch する。guinness-ai-v2/apps/des2code には送らない
  6. データベースに生成コードレコードを作成(sourceCode: 空文字列、status: 0=処理中)
  7. 作成された生成コード情報を返却

詳細フローチャート

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]