よくある質問(FAQ)

FormAPIをご利用いただきありがとうございます。よくあるご質問と解決方法をカテゴリ別にまとめています。

アカウント関連

formapi.ih1.dev のトップページから「無料で始める」ボタンをクリックし、メールアドレスとパスワードを入力してください。登録後、確認メールが届きますので、メール内のリンクをクリックしてアカウントを有効化してください。

現在はメール+パスワードによる認証のみ対応しています(ソーシャルログインは今後対応予定)。

以下の順で確認してください。

  1. メールアドレスとパスワードに誤りがないか確認する(コピー&ペーストを推奨)
  2. Caps Lockがオンになっていないか確認する
  3. パスワードを忘れた場合は「パスワードを忘れた方はこちら」からリセットを行う
  4. 確認メールの認証が完了していない場合は、登録時のメールを確認する

上記で解決しない場合はサポートへお問い合わせください。

  1. ログイン画面(https://formapi.ih1.dev/login)の「パスワードを忘れた方はこちら」をクリック
  2. 登録済みのメールアドレスを入力し「リセットメールを送信」をクリック
  3. 届いたメールに記載の確認コード(6桁)を入力
  4. 新しいパスワードを設定して完了

確認コードには有効期限があります。メール受信後は速やかに手続きを完了してください。確認メールが届かない場合は迷惑メールフォルダもご確認ください。

ダッシュボードのアカウント設定から退会手続きが可能です。また、APIを利用して DELETE /account を実行することでもアカウントとすべてのデータを削除できます。

削除前にご確認ください:

  • 削除後、すべてのフォーム設定・送信データは復元できません
  • 送信履歴を残しておきたい場合は、事前にダッシュボードからエクスポートしてください
  • 削除処理は即時反映されます

フォーム設定

  1. ダッシュボードにログイン後、「フォームを作成」ボタンをクリック
  2. フォーム名・通知先メールアドレス・許可ドメインを入力して保存
  3. 発行されたフォームIDをコピーし、HTMLの action 属性に設定
<form action="https://formapi.ih1.dev/formapi/s/YOUR_FORM_ID" method="POST">
  <input type="text" name="name" placeholder="お名前" required />
  <input type="email" name="email" placeholder="メールアドレス" required />
  <textarea name="body" placeholder="メッセージ"></textarea>
  <button type="submit">送信</button>
</form>

Freeプランでは最大3フォームまで作成できます。

HTMLの <form> タグの action 属性にFormAPIのエンドポイントURLを設定し、method="POST" を指定するだけで動作します。

<form action="https://formapi.ih1.dev/formapi/s/YOUR_FORM_ID" method="POST">
  <input type="text" name="name" placeholder="お名前" required />
  <input type="email" name="email" placeholder="メールアドレス" required />
  <textarea name="body" placeholder="メッセージ"></textarea>
  <button type="submit">送信する</button>
</form>

よくある設定ミス:

確認ポイント正しい設定
HTTPメソッドmethod="POST" が必須(省略するとGETになりエラー)
フィールドのname属性すべての入力フィールドに name 属性が必要
許可ドメインフォームを設置するサイトのドメインをダッシュボードに登録済みか確認

ダッシュボードの「フォーム一覧」から対象のフォームを選択し、編集または削除できます。

注意: フォームを削除すると、そのフォームへの送信はすべて受け付けなくなります。また、削除したフォームのフォームIDは再利用されません。

HTMLフォームのPOST送信が可能であれば、フレームワークを問わず利用できます。

フレームワーク対応状況補足
通常のHTML対応そのままご利用いただけます
Next.js対応<form> タグをそのまま使用。App RouterのServer Actionsとは別
Astro対応静的サイト向けのため相性が良いです
Hugo対応HTMLテンプレートにフォームを追記
Gatsby対応静的出力後のHTMLに組み込み
Jekyll対応_layouts_includes にフォームHTMLを追加

JavaScriptのfetch/XHRによる非同期送信にも対応しています。その場合はリクエストヘッダーに Content-Type: application/json を設定してください。

メール通知

フォーム作成時または編集画面の「通知先メールアドレス」欄に受信したいメールアドレスを入力してください。フォーム送信があるたびに、設定したアドレスへ通知が送られます。

以下の順で確認してください。

  1. 迷惑メールフォルダを確認する — FormAPIからのメールが振り分けられている場合があります
  2. ダッシュボードで送信履歴を確認する — 「送信一覧」でデータが受信されているか確認。データがあってもメールが届かない場合は次のステップへ
  3. 通知先メールアドレスを確認する — フォーム設定の通知先アドレスが正しいか確認
  4. メール受信設定を確認する — 下記のホワイトリスト登録をお試しください

メールクライアント別のホワイトリスト登録方法:

  • Gmail: フィルタ作成 → 送信元ドメインを指定 → 「迷惑メールにしない」を選択
  • Outlook: 「安全な差出人」リストに送信元ドメインを追加
  • 企業メール: IT管理者にAmazon SESドメインのホワイトリスト登録を依頼

FormAPIはAmazon SES(Amazon Simple Email Service)を経由してメールを送信しています。SESはDKIM・SPFに対応した信頼性の高いメール配信サービスですが、受信側の設定によっては迷惑メールに分類される場合があります。

対処方法:

  1. 迷惑メールフォルダ内のFormAPIからのメールを開き「迷惑メールでない」を報告する
  2. FormAPIの送信元ドメインを「安全な差出人」に追加する
  3. 企業のメールフィルタが原因の場合はIT管理者に相談する

プラン・制限

パブリックβ期間中はFreeプランのみご利用いただけます。

項目Freeプラン
フォーム数最大3フォーム
月間送信数100件/月
送信データ保持期間30日間
メール通知対応
API利用対応

上限に達すると、その月のフォーム送信は受け付けられなくなります(エラーレスポンスが返ります)。

  • 上限はUTC基準で毎月1日に自動リセットされます(手続き不要)
  • 現在の使用量はダッシュボードの「使用量」ページで確認できます
  • 月末に上限が近づいている場合は、ダッシュボード上で通知が表示されます

現在はパブリックβとしてFreeプランのみ提供しています。有料プランの提供時期・料金体系については現在検討中です。リリース時はFormAPIの公式サイトおよび登録ユーザーへメールでお知らせします。

データ・セキュリティ

送信データはAWS(Amazon Web Services)のデータセンター(アジアパシフィック・東京リージョン)に保存されます。データの保存にはAmazon DynamoDBを使用しており、静止時暗号化が適用されています。

Freeプランでは、フォーム送信データは受信から30日間保持されます。30日を経過したデータは自動的に削除されます。

重要なデータは30日以内にダッシュボードからエクスポートしてください。

削除対象方法
個別の送信データダッシュボードの「送信一覧」から各データを選択して削除
フォーム全体のデータフォームを削除するとそのフォームのすべての送信データも削除
アカウント全体ダッシュボードの退会手続き、または DELETE /account APIを実行

はい。FormAPIへのすべての通信はHTTPS(TLS 1.2以上)で暗号化されています。フォーム送信データが平文で送信されることはありません。

トラブルシューティング

フォーム送信時のHTTPレスポンスコードに応じて対処してください。

HTTPステータスコード原因対処方法
400 Bad Requestリクエストの形式が不正method="POST" の確認、フィールドの name 属性の確認
403 Forbiddenドメインが許可されていないダッシュボードの許可ドメイン設定を確認
404 Not FoundフォームIDが存在しないフォームIDをダッシュボードで再確認
429 Too Many Requestsレートリミットまたは月間上限超過月間上限の確認、時間をおいて再試行
500 Internal Server Errorサーバー側の問題時間をおいて再試行。繰り返す場合はサポートへ連絡

ブラウザの開発者ツール(F12)→「ネットワーク」タブでレスポンスの詳細を確認できます。

短時間に大量のリクエストが送信された場合、一時的にレートリミット(429 Too Many Requests)が返ることがあります。

対処方法:

  1. 数分待ってから再試行する
  2. スパムボットによる大量送信が疑われる場合は、ハニーポットフィールドを設置する(下記参照)
  3. 正当な利用でレートリミットが頻発する場合はサポートへご連絡ください

ハニーポットフィールドによるスパム対策(推奨):

ボットによる大量送信を防ぐには、CSSで非表示にした入力フィールドを設置するハニーポット手法が有効です。

<input type="text" name="_honeypot" style="display:none" tabindex="-1" autocomplete="off" />

FormAPIはこのフィールドに値が入っていた場合、送信を自動的に破棄します。

アカウント・認証トラブル

以下の順で確認してください。

  1. 迷惑メールフォルダを確認する — 「[email protected]」からのメールが振り分けられている場合があります
  2. メールアドレスの入力ミスがないか確認する — 誤ったアドレスで登録した場合は、正しいアドレスで再登録してください
  3. 数分待ってから再確認する — メール到達に数分かかる場合があります
  4. 確認メールを再送する — ログイン画面の「確認メールを再送」リンクからメールを再送できます

上記で解決しない場合は、登録時のメールアドレスをお知らせのうえ、サポートへお問い合わせください。

HTMLフォームに _redirect フィールドを追加すると、送信後に指定URLにリダイレクトされます。

<input type="hidden" name="_redirect" value="https://yourdomain.com/thanks" />

JavaScriptで送信している場合は、レスポンス受信後に window.location.href で任意のページへ遷移させてください。

以下を確認してください。

  1. 許可ドメインが登録されているか — ダッシュボードの「許可ドメイン」にリクエスト元のオリジン(例: https://yourdomain.com)が登録されているか確認してください
  2. FormDataで送信するContent-Type: application/json を指定するとpreflightリクエストが発生します。FormData を使うのが最も簡単です
const res = await fetch('https://formapi.ih1.dev/formapi/s/YOUR_FORM_ID', {
  method: 'POST',
  body: new FormData(form)  // Content-Typeは自動設定、preflight不要
});

お問い合わせ

上記FAQで解決しない場合は、以下の方法でサポートへお問い合わせください。

お問い合わせの際は、以下の情報をお知らせいただくと対応がスムーズになります。

  • ご利用のフォームID
  • 発生している問題の詳細(エラーメッセージがあればそのまま記載)
  • ブラウザの開発者コンソールのエラーログ
  • 問題が発生しているページのURL
  • ご利用のブラウザとOS

対応時間: 平日 10:00〜18:00(土日祝除く)
目標返信時間: 原則3営業日以内