アカウント関連
formapi.ih1.dev のトップページから「無料で始める」ボタンをクリックし、メールアドレスとパスワードを入力してください。登録後、確認メールが届きますので、メール内のリンクをクリックしてアカウントを有効化してください。
現在はメール+パスワードによる認証のみ対応しています(ソーシャルログインは今後対応予定)。
以下の順で確認してください。
- メールアドレスとパスワードに誤りがないか確認する(コピー&ペーストを推奨)
- Caps Lockがオンになっていないか確認する
- パスワードを忘れた場合は「パスワードを忘れた方はこちら」からリセットを行う
- 確認メールの認証が完了していない場合は、登録時のメールを確認する
上記で解決しない場合はサポートへお問い合わせください。
- ログイン画面(
https://formapi.ih1.dev/login)の「パスワードを忘れた方はこちら」をクリック - 登録済みのメールアドレスを入力し「リセットメールを送信」をクリック
- 届いたメールに記載の確認コード(6桁)を入力
- 新しいパスワードを設定して完了
確認コードには有効期限があります。メール受信後は速やかに手続きを完了してください。確認メールが届かない場合は迷惑メールフォルダもご確認ください。
ダッシュボードのアカウント設定から退会手続きが可能です。また、APIを利用して DELETE /account を実行することでもアカウントとすべてのデータを削除できます。
削除前にご確認ください:
- 削除後、すべてのフォーム設定・送信データは復元できません
- 送信履歴を残しておきたい場合は、事前にダッシュボードからエクスポートしてください
- 削除処理は即時反映されます
フォーム設定
- ダッシュボードにログイン後、「フォームを作成」ボタンをクリック
- フォーム名・通知先メールアドレス・許可ドメインを入力して保存
- 発行されたフォーム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 を設定してください。
メール通知
フォーム作成時または編集画面の「通知先メールアドレス」欄に受信したいメールアドレスを入力してください。フォーム送信があるたびに、設定したアドレスへ通知が送られます。
以下の順で確認してください。
- 迷惑メールフォルダを確認する — FormAPIからのメールが振り分けられている場合があります
- ダッシュボードで送信履歴を確認する — 「送信一覧」でデータが受信されているか確認。データがあってもメールが届かない場合は次のステップへ
- 通知先メールアドレスを確認する — フォーム設定の通知先アドレスが正しいか確認
- メール受信設定を確認する — 下記のホワイトリスト登録をお試しください
メールクライアント別のホワイトリスト登録方法:
- Gmail: フィルタ作成 → 送信元ドメインを指定 → 「迷惑メールにしない」を選択
- Outlook: 「安全な差出人」リストに送信元ドメインを追加
- 企業メール: IT管理者にAmazon SESドメインのホワイトリスト登録を依頼
FormAPIはAmazon SES(Amazon Simple Email Service)を経由してメールを送信しています。SESはDKIM・SPFに対応した信頼性の高いメール配信サービスですが、受信側の設定によっては迷惑メールに分類される場合があります。
対処方法:
- 迷惑メールフォルダ内のFormAPIからのメールを開き「迷惑メールでない」を報告する
- FormAPIの送信元ドメインを「安全な差出人」に追加する
- 企業のメールフィルタが原因の場合は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)が返ることがあります。
対処方法:
- 数分待ってから再試行する
- スパムボットによる大量送信が疑われる場合は、ハニーポットフィールドを設置する(下記参照)
- 正当な利用でレートリミットが頻発する場合はサポートへご連絡ください
ハニーポットフィールドによるスパム対策(推奨):
ボットによる大量送信を防ぐには、CSSで非表示にした入力フィールドを設置するハニーポット手法が有効です。
<input type="text" name="_honeypot" style="display:none" tabindex="-1" autocomplete="off" />
FormAPIはこのフィールドに値が入っていた場合、送信を自動的に破棄します。
アカウント・認証トラブル
以下の順で確認してください。
- 迷惑メールフォルダを確認する — 「[email protected]」からのメールが振り分けられている場合があります
- メールアドレスの入力ミスがないか確認する — 誤ったアドレスで登録した場合は、正しいアドレスで再登録してください
- 数分待ってから再確認する — メール到達に数分かかる場合があります
- 確認メールを再送する — ログイン画面の「確認メールを再送」リンクからメールを再送できます
上記で解決しない場合は、登録時のメールアドレスをお知らせのうえ、サポートへお問い合わせください。
HTMLフォームに _redirect フィールドを追加すると、送信後に指定URLにリダイレクトされます。
<input type="hidden" name="_redirect" value="https://yourdomain.com/thanks" />
JavaScriptで送信している場合は、レスポンス受信後に window.location.href で任意のページへ遷移させてください。
以下を確認してください。
- 許可ドメインが登録されているか — ダッシュボードの「許可ドメイン」にリクエスト元のオリジン(例:
https://yourdomain.com)が登録されているか確認してください - 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で解決しない場合は、以下の方法でサポートへお問い合わせください。
- フォーム: formapi.ih1.dev/support(準備中)
- メール: [email protected]
お問い合わせの際は、以下の情報をお知らせいただくと対応がスムーズになります。
- ご利用のフォームID
- 発生している問題の詳細(エラーメッセージがあればそのまま記載)
- ブラウザの開発者コンソールのエラーログ
- 問題が発生しているページのURL
- ご利用のブラウザとOS
対応時間: 平日 10:00〜18:00(土日祝除く)
目標返信時間: 原則3営業日以内