GPTsからLaravelのAPIをコールする方法

GPTs作成

指示を設定

GPTs アクション指示

アクションを設定

「新しいアクションを作成する」ボタンを押下

GPTs 新しいアクションを作成する

スキーマを設定

Getしてレスポンスを受け取るシンプルバージョン
{
  "openapi": "3.1.0",
  "info": {
    "title": "API Message Display",
    "description": "Retrieves and displays the 'message' field from a JSON API response",
    "version": "v1.0.0"
  },
  "servers": [
    {
      "url": "https://xxxx.xxxx.ne.jp"
    }
  ],
  "paths": {
    "/test/public/api": {
      "get": {
        "summary": "Get API Message",
        "operationId": "getApiMessage",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

仮のAPIを準備

コールされるLaravel側のプログラムとして以下を準備。
        return response()->json(
            [
                "message" => "true",
            ]
        );

テストしてみる

「テストする」ボタンを押下
GPTs テスト

正しく通信が行え”true”が表示された。

GPTs レスポンス結果

URLパラメータをセットする場合

openapi: 3.1.0
info:
  title: Question Answering API
  description: APIは質問を受け取り、回答を提供します
  version: 1.0.0
servers:
  - url: https://xxxx.xxxx.ne.jp/test/public
paths:
  /api:
    get:
      summary: 質問に対する回答を取得
      operationId: getAnswer
      parameters:
        - name: question
          in: query
          description: ユーザーからの質問
          required: true
          schema:
            type: string
      responses:
        '200':
          description: 成功レスポンス
          content:
            application/json:
              schema:
                type: object
                properties:
                  answer:
                    type: string
                    description: 質問に対する回答
        '400':
          description: 不正なリクエスト
        '500':
          description: サーバーエラー

Postする場合

openapi: 3.1.0
info:
  title: Question Processing API
  description: 今日の売上をpostするAPI
  version: 1.0.0
servers:
  - url: https://xxxx.xxxx.ne.jp/laravel_api_test/public
paths:
  /api:
    post:
      summary: 売上をPOST
      operationId: processQuestion
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                question:
                  type: string
                  description: ユーザーからの売上報告
              required:
                - question
      responses:
        '200':
          description: 成功レスポンス
          content:
            application/json:
              schema:
                type: object
                properties:
                  result:
                    type: boolean
                    description: 処理結果(true または false)
        '400':
          description: 不正なリクエスト
        '500':
          description: サーバーエラー

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です