外部受付口
受付口は、ふつうの HTML フォームの送信先にできる URL です。送信内容は Minion のフォームに 届き、「回答」タブで読むか CSV で書き出せます。
狙いは、ページにメールアドレスを載せなくて済むことです。載るのは受付口の URL だけで、 これを拾ってもスパムの送り先にはなりません。
できること・できないこと
Section titled “できること・できないこと”| 送信内容を Minion に保存 | できる |
| JavaScript なしで動く | できる |
| 画面で読む / CSV で書き出す | できる |
| ミニオン (AI エージェント) から読む | できる — 既存の Forms API |
| メール通知 | まだありません。 「回答」タブを見るか、ミニオンに定期的に拾わせてください |
| 送信者への自動返信 | まだありません |
| ファイル添付 | 対応していません。 ファイル付きの送信は拒否されます |
- Minion でフォームを開き、外部受付口タブ → 受付口を発行。
- 許可するサイトにフォームを置くサイトを、送信後の戻り先に同じサイトのページを 入れます。
- 送信先 URL、または埋め込みコードをコピーします。
これで全部です。JavaScript もビルド手順も要りません。
<form action="https://YOUR-HQ/api/public/forms/e/YOUR-TOKEN" method="POST"> <input type="text" name="name" placeholder="お名前"> <input type="email" name="email" placeholder="メールアドレス"> <textarea name="message" placeholder="お問い合わせ内容"></textarea>
<!-- いたずら対策。隠したまま・空のままにしてください --> <input type="text" name="_gotcha" tabindex="-1" autocomplete="off" style="display:none">
<button type="submit">送信</button></form>項目を Minion 側で定義する必要はありません。 使った name がそのまま「回答」タブの列に
なります。名前を変えても、増やしても、減らしても、Minion 側で合わせる作業はありません。
いたずら対策の項目
Section titled “いたずら対策の項目”_gotcha は人には見えず、人は絶対に入力しない項目です。ボットは見つけた項目をすべて埋めるので、
ここに値が入っている送信は捨てられます。
company ではない点に注意してください。問い合わせフォームで「会社名」は実在する正当な
項目なので、これを罠に使うと会社名を書いた本物の問い合わせが黙って消えます。
予約されている項目名
Section titled “予約されている項目名”_ で始まる名前は受付口への指示として扱われ、保存されません。
| 名前 | 意味 |
|---|---|
_gotcha | いたずら対策 (上記) |
_next | このフォームだけ戻り先を上書きする (許可するサイトの範囲内) |
自分の項目名に _ を使うと消えてしまうので避けてください。
送信後どこへ戻るか
Section titled “送信後どこへ戻るか”素の HTML フォームの送信はページ遷移なので、ブラウザは受付口の URL に着地します。そこに あなたのページは介入できません。 そこで受付口が、送信者をあなたのサイトへ戻します。
- 通常は、設定した送信後の戻り先へ。
_nextを送っていて、それが許可するサイトを指していれば、そちらへ。
どちらも使えない場合は、Minion が素っ気ない「受け付けました」の画面を出します。動きはしますが、 送信者が見知らぬドメインの飾り気のない画面を見ている状態なので、戻り先は設定してください。
Minion 側にカスタマイズできるサンキューページはありません。 そのページはあなたのサイトに あるべきもので、デザインもコンバージョン計測もそちらにあるからです。
許可するサイト
Section titled “許可するサイト”フォームを置くサイトを1行に1つ (https://example.com) 書きます。1つでも入れると、それ以外の
サイトからの送信は拒否されます。
- サブドメインは含まれません。
https://example.comとhttps://www.example.comは 別々に書きます。 http://とhttps://も別物です。- 空のままだとどのサイトからでも送信できます。試している間はそれで構いませんが、公開前に 埋めてください。
JavaScript で送る場合
Section titled “JavaScript で送る場合”結果を自分で扱いたい場合は JSON で送ります。リダイレクトはせず JSON が返ります。
const res = await fetch(endpointUrl, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ name, email, message }),})if (res.ok) { /* 201 { ok: true } */ }ブラウザがレスポンスを受け取るには、サイトの origin が許可するサイトに入っている必要が あります。
| 1送信あたりの項目数 | 50 |
| 項目名の長さ | 64 文字 |
| 値の長さ | 10,000 文字 |
| 送信全体 | 64 KB |
| IP ごと | 10 件/分 |
| 受付口ごと | 1日の受付上限 (既定 500) |
1日の受付上限はいたずら対策の線であって割り当てではありません。実際の件数よりかなり大きく しておいて構いません。超えた送信は拒否され、保存されません。
JSON で送った場合は { "error": "<コード>" } が返ります。素のフォームの場合は、同じコードが
書かれた最小限の画面が出ます。
| コード | ステータス | 内容 |
|---|---|---|
not_found | 404 | トークンが違うか、受付口が失効している |
origin_not_allowed | 403 | 送信元が許可するサイトに入っていない |
not_accepting | 403 | フォームが未公開・受付終了・締切後 |
rate_limited | 429 | 同一 IP からの送信が多すぎる |
daily_limit_reached | 429 | 受付口の1日の上限 |
empty_submission | 400 | 保存するものが無い (全項目が空か予約名) |
too_many_fields / value_too_long / payload_too_large | 400 | 上記の上限超過 |
attachments_not_supported | 400 | ファイルが添付されている |
受付口を失効させてください。貼り付け済みのフォームからは即座に送信できなくなり、すでに 届いた問い合わせはそのまま残ります。失効は埋め込み側から見ると取り消せません — 新しい受付口は 新しい URL になるので、ページの更新が必要になります。
1つのフォームに複数の受付口を持てます。サイトごとに分けて発行しておくと、片方だけを 止められます。