ドキュメント一覧へ戻る

APIリファレンス

GleamForm APIの詳細な仕様

APIリファレンス

GleamFormでは、RESTful APIを使用してフォーム送信やデータ取得が可能です。

エンドポイント

フォーム送信

POST https://f.littlegleam.com/f/{form_id}

リクエスト

Content-Type: application/x-www-form-urlencoded または multipart/form-data

curl -X POST https://f.littlegleam.com/f/your-form-id \
  -d "name=山田太郎" \
  -d "[email protected]" \
  -d "message=お問い合わせ内容"

レスポンス形式の判定

リクエストが以下のいずれかに該当する場合、JSON形式のレスポンスが返されます:

  • X-Requested-With: XMLHttpRequest ヘッダーが含まれている(XHRリクエスト)
  • Accept: application/json ヘッダーが含まれている

それ以外の場合は、HTMLページ(成功/エラーページ)が返されます。

JSONレスポンス

成功時 (200 OK)

{
  "success": true,
  "message": "フォームを送信しました。ありがとうございます。",
  "next": "https://example.com/thanks"
}
  • success: 送信が成功した場合は true
  • message: 成功メッセージ
  • next: フォーム設定で指定されたリダイレクトURL(オプション)

エラー時 (422 Unprocessable Entity)

{
  "error": "データが送信されませんでした。",
  "details": "詳細なエラー情報(オプション)"
}
  • error: エラーメッセージ
  • details: 追加のエラー情報(オプション)

HTMLレスポンス

通常のHTMLフォームから送信した場合(Accept: application/jsonヘッダーがない場合):

成功時

  • フォーム設定でカスタムリダイレクトURLが指定されている場合:そのURLにリダイレクト
  • カスタムリダイレクトURLがない場合:成功ページ(/f/{form_id}/success)にリダイレクト(PRGパターン)

エラー時

  • エラーページが表示されます(HTTPステータスコード 422 または 403)
  • エラーページには「戻る」ボタンとフォームへのリンクが表示されます

PRGパターンについて

成功時にGETリクエストでリダイレクトすることで、ブラウザのリロードボタンを押してもフォームが再送信されないようになっています(Post-Redirect-Getパターン)。これにより、ユーザーが誤ってフォームを再送信することを防ぎます。

認証

APIを使用するには、APIトークンによる認証が必要です。

APIトークンの発行

  1. プロフィール設定画面(/profile)にアクセスします
  2. 「APIトークン」セクションを開きます
  3. トークン名を入力して「トークンを発行」をクリックします
  4. 発行されたトークンをコピーして安全に保管してください(再表示はできません)

認証方法

APIリクエストには、以下のようにAuthorizationヘッダーにBearerトークンを含めてください:

curl -H "Authorization: Bearer <YOUR_TOKEN>" \
     -H "Accept: application/json" \
     https://f.littlegleam.com/api/forms

データ取得API

フォーム一覧の取得

現在のチームに属するフォーム一覧を取得します。

エンドポイント: GET /api/forms

リクエスト例:

curl -H "Authorization: Bearer <YOUR_TOKEN>" \
     -H "Accept: application/json" \
     https://f.littlegleam.com/api/forms

レスポンス例:

{
  "data": [
    {
      "id": 1,
      "public_id": "abc123",
      "name": "お問い合わせフォーム",
      "created_at": "2025-01-01T00:00:00.000000Z"
    }
  ]
}

受信データ一覧の取得

特定のフォームの受信データ一覧を取得します。

エンドポイント: GET /api/forms/{public_id}/submissions

パラメータ:

  • public_id (パス): フォームの公開ID

リクエスト例:

curl -H "Authorization: Bearer <YOUR_TOKEN>" \
     -H "Accept: application/json" \
     https://f.littlegleam.com/api/forms/abc123/submissions

レスポンス例:

{
  "data": [
    {
      "id": 1,
      "form_id": 1,
      "data": {
        "name": "山田太郎",
        "email": "[email protected]",
        "message": "お問い合わせ内容"
      },
      "created_at": "2025-01-01T00:00:00.000000Z"
    }
  ],
  "links": {
    "first": "https://f.littlegleam.com/api/forms/abc123/submissions?page=1",
    "last": "https://f.littlegleam.com/api/forms/abc123/submissions?page=1",
    "prev": null,
    "next": null
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 1,
    "per_page": 50,
    "to": 1,
    "total": 1
  }
}

注意: レスポンスはページネーション対応で、1ページあたり最大50件のデータが返されます。

レート制限

無料プランでは、月間50件までの送信が可能です。Proプランでは、月間1,000件まで送信できます。

次のステップ