Formia

公開フォームと連携 5 / 6

Webhook で通知する

レコードが登録・更新されたときに、基幹システムなどへ自動で知らせるWebhookの設定方法を説明します。送るイベント、署名の確認、再試行、配信ログの見かたを紹介します。

約5分で読めます

Formia マニュアルの目次(章と記事の一覧)
はじめに
アプリを使う
アプリをつくる
入力項目ガイド
計算と条件
一覧とビュー
ワークフロー(承認)
自動化
帳票(PDF・印刷)
権限とユーザー
公開フォームと連携
現場・オフライン
運用・管理
この記事の内容

Webhookは、Formiaで何かが起きたときに、指定したURLへ自動で知らせを送る仕組みです。「見積が受注になったら基幹システムへ連絡する」「問い合わせが届いたら別のシステムに記録する」といった連携に使います。この記事では、設定方法と、受け取る側が気をつけることを説明します。

設定する場所

設計モードの「管理」›「連携と外部データ」›「連携(Webhook・API)」を開き、Webhookのタブで「Webhookを追加」を押します。

連携の管理画面のWebhookタブ。「受注・経費を基幹システムへ」というWebhookが1件あり、送信先のURLと送るイベントが表示され、配信ログのボタンがある
連携の管理画面のWebhookタブ。「受注・経費を基幹システムへ」というWebhookが1件あり、送信先のURLと送るイベントが表示され、配信ログのボタンがある

Webhookのカードを押すと、名前、送信先のURL、有効・停止を直せます。「詳しく設定する」では、次の内容を決めます。

設定内容
送るイベントどんなときに送るか
対象のデータどのアプリのときだけ送るか
条件条件に合うときだけ送る(式で書く)
本文の形すべて送る・最小限・独自のテンプレート
添付送らない・署名つきURL・小さなファイルだけ本文に含める
ヘッダー追加するヘッダー(認証トークンなど)
最大試行回数・タイムアウト再試行の上限と待ち時間

送れるイベント

イベント送られるとき
submission.createdレコードが作られた
submission.submitted送信が確定した(連携では、いちばんよく使う)
submission.updated更新された
submission.deleted削除された
submission.synced現場アプリからの同期で受け取った
workflow.status_changedワークフローの状態が変わった
workflow.overdueワークフローの期限を過ぎた

submission.submittedとsubmission.syncedは分かれています。現場アプリから同期されたデータは、「3日前に現場で入力されたものが、いま届いた」ものです。受け取る側が「いま起きたこと」と取り違えないよう、本文には入力した時刻(recordedAt)と受け取った時刻(receivedAt)の両方が入ります。

送信先のURL

送信先は、原則としてhttps://です。ただし、社内ネットワークの中の宛先(社内のIPアドレスや.internalなどの名前)には、http://も使えます。インターネット上の宛先に、暗号化なしで業務データを送ることはできません。

受け取る側が確かめること

送られる本文には、署名が付きます。

Formia-Signature: t=1758103923,v1=(署名)
Formia-Event: submission.submitted
Formia-Delivery: dlv_...
  1. t(送った時刻)が、現在から5分以内かを確かめます(古い通信の使い回しを防ぎます)
  2. 「t」+「.」+「本文そのまま」を、Webhookの秘密の鍵でHMAC-SHA256にかけ、v1と一致するかを確かめます
  3. Formia-Deliveryを覚えておき、同じものを2回受けても、1回だけ処理します(同じ知らせが重ねて届くことがあるため)
  4. 重い処理はあとに回し、10秒以内に2xxを返します

秘密の鍵は、作成したときだけ表示されます。鍵の入れ替えのあいだは、新旧2つの署名が並んで届きます。

失敗したとき

2xx以外が返る、または10秒以内に応答がないと、再試行します。間隔は、1分、5分、30分、2時間、6時間の順です。それでも失敗すると、打ち切りです。受け取る側が410 Goneを返したときは、すぐに打ち切ります。

連続で100回失敗したWebhookは、自動で無効になり、管理者にメールで知らせます。

届いた内容、失敗の理由、手動の再送は、Webhookの行の「配信ログ」で確かめられます。

関連する記事

Formia マニュアルの一覧へ

Formia

ノーコードで、業務アプリを作ろう。

どんな業務をアプリにしたいか、お聞かせください。ひな形から、Formia でどんなアプリになるかをその場で試作してお見せします。

資料請求・デモの相談 →

トライアルは法人のお客様向けです。個人の方は、有料プランのお申し込みをご利用ください。