Webhookから失敗・重複まで1本で処理する
合成問い合わせを受け、入力検証、分類、内部API連携、再試行、重複防止、HTTP応答まで実装。workflow JSON、実行証跡、再現手順を公開する。
実績の境界:当サイトの隔離ラボで作った技術ポートフォリオ。顧客案件の実績ではない。実在の個人情報、資格情報、外部SaaS、AI APIは使っていない。第三者アフィリエイトリンクなし。
結論:5系統を分け、全部PASS
n8n 2.33.7のWebhookへ合成問い合わせを送り、正常、一時障害からの復旧、重複、継続障害、入力不正を確認した。上流APIは同じinternal networkのモック。外部ネットワークには出ていない。
| 試験 | 期待 | 実測 |
|---|---|---|
| 正常 | 問い合わせを1件作成 | 202 / created |
| 一時障害 | 503を再試行し復旧 | 503×2 → 3回目created |
| 重複 | 同じcase_idを二重作成しない | 202 / duplicate / 保存件数不変 |
| 継続障害 | 3回失敗後に上流障害を返す | 502 / upstream_unavailable |
| 入力不正 | 上流APIを呼ばず拒否 | 400 / rejected / API試行0 |
実装した10ノード

- Receive Inquiry:POST WebhookでJSONを受ける。
- Validate and Normalize:Code nodeで必須項目、長さ、case_id形式を検証し、4カテゴリへ固定分類する。
- Is Valid:正常系と入力不正を分ける。
- Route Through Mock API:HTTP Requestで内部APIへ送る。timeout 3秒、最大3回、250ms間隔。
- Build Accepted Response:作成・重複の応答を整形する。
- Respond Accepted:受付結果を202で返す。
- Build Rejected Response:不正項目だけを返し、入力本文を再掲しない。
- Respond Rejected:入力不正を400で返す。
- Build Upstream Failure:内部エラー詳細を公開せず、固定エラーへ変換する。
- Respond Upstream Failure:上流継続障害を502で返す。
再試行と重複防止を分ける
HTTP Requestは503を最大3回まで再試行する。一時障害ケースは1回目・2回目が503、3回目に作成成功。継続障害ケースは3回とも503で、n8nがerror outputへ流し、Webhookには502を返した。
重複防止はcase_idを冪等キーとしてモックAPI側で実装。同じ問い合わせを再送すると新規作成せず、既存ticketとduplicate: trueを返す。HTTP Request nodeのretryだけでは二重作成を防げないため、受信先の冪等性を別に持たせた。
本番化時:このモックは逐次実行。並列リクエストではDBのunique制約やatomic upsertが必要。外部APIが冪等キー非対応なら、状態変更処理の自動retryをそのまま有効にしない。
入力と出力
入力はcase_id、subject、bodyの3項目。出力は受付可否、状態、case_id、ticket_id、category、needs_review、duplicateへ限定した。
POST /webhook/portfolio-inquiry-routing
{
"case_id": "case-normal-001",
"subject": "請求書の確認",
"body": "今月分の請求金額を確認したい。"
}HTTP 202
{
"ok": true,
"status": "created",
"case_id": "case-normal-001",
"ticket_id": "ticket-case-normal-001",
"category": "billing",
"needs_review": false,
"duplicate": false
}成果物をダウンロード
公開workflowはinactive。Credentialオブジェクトなし。URLは環境変数PORTFOLIO_MOCK_API_URLから読む。APIキーを使う実装へ変える場合はn8n Credentialへ登録し、export JSONへ秘密値を入れない。
この実装が示さないこと
- 顧客案件、受託実績、本番SLA、長期安定性
- 実在データ、個人情報、外部SaaS、OAuth、APIキー管理
- AI分類品質、共通ベンチ100件の分類・要約精度
- 並列実行、DB一意制約、高可用性、監視、夜間復旧
Cowork・Make・n8n共通ベンチは3製品とも未測定のまま。このポートフォリオの固定ルール分類を、そのAI比較結果として扱わない。
公式情報
実業務へ移す前に、
失敗と復旧を設計する。
1ワークフロー、主要8ステップ、接続3サービス以内の固定範囲。認証、重複、監視、受入条件を先に決める。
設計レビュー・実装を相談する検証:n8n 2.33.7 / 合成データ / external networkなし / customer dataなし / 2026-08-13 JST