送信 Webhook

FreeMaint のイベントをリアルタイムで外部システムにプッシュ

5分で読めます
このセクションを印刷

Webhook を使うと、何かが起きた瞬間に FreeMaint があなたの管理する URL へ POST します。これにより別のシステム(ERP、請求、在庫、会計、チャットチャンネル)が、誰も入力し直すことなく同期を保てます。設定は /company-settings/webhooks から。Starter は 1 日 100 配信が上限、Business 以上は無制限です。ペイロードの詳細は「API と GraphQL > Webhook」を参照してください。

利用できるイベント

  • work_order.created — 作業指示が作成された
  • work_order.completed — 作業指示が「完了」になった
  • work_order.status_changed — 作業指示がいずれかのステータスへ遷移した。work_order.completed も引き続き発火する
  • request.created — 保全依頼が送信された
  • request.status_changed — 依頼が承認・却下・取消された
  • part.low_stock — 部品が発注点以下になった
  • part.out_of_stock — 部品が在庫ゼロになった
  • part.low_stock_summary — 1 日 1 回、発注点以下の部品を、一度も動いていない部品も含めて通知
  • part.out_of_stock_summary — 1 日 1 回、在庫ゼロの部品を通知
  • part.consumed — 作業指示で消費、または返却された
  • compliance.chain_divergence — 監査ハッシュチェーンが途切れた(Enterprise)
  • asset.downtime_started — 設備停止が開始された
  • asset.downtime_ended — 設備停止が終了した
  • report.daily_summary — その日に完了した作業を、指定した時刻に 1 日 1 回
  • purchase_order.created — 発注書が作成された
  • purchase_order.status_changed — 発注書のステータスが変わった(承認、発注済み、取消など)
  • purchase_order.received — 発注書に対する納品を受領した(一部納品を含む)

配信の仕様

  • JSON ボディを持つ POST リクエスト:{ event, timestamp, data }
  • X-FreeMaint-Signature ヘッダー — t=<unix 秒>,v1=<16 進>。v1 は Webhook シークレットを鍵として「<t>.<生ボディ>」を HMAC-SHA256 したものです。毎リクエスト、生ボディに対して検証してください
  • X-FreeMaint-Event と X-FreeMaint-Delivery-Id も併せて送信します
  • ネットワークエラーと 5xx は指数バックオフで最大 3 回まで再試行します(約 2 秒、4 秒、8 秒)。4xx は恒久的な拒否として再試行しません
  • 各試行はステータス・応答コード・試行回数とともに Webhook 配下に記録され、完了した配信はそこから再送できます
  • 任意の写真:「写真を含める」をオンにすると、"work_order" と "request" のイベントの "photos" フィールドに最大 4 件の画像リンクが含まれ、持っている人なら誰でも 7 日間開けます。ご自身で管理しているエンドポイントでのみオンにしてください

設定手順

  1. /company-settings/webhooks を開く — 会社設定の権限、または「連携を管理」権限が必要です。
  2. 「Webhook を追加」をクリック — 名前と https:// の URL を入力し、必要なイベントにチェックを入れます。
  3. 署名シークレットをコピー — 作成時に一度だけ表示されます。後から「シークレットをローテーション」で新しいものを発行でき、古いものは無効になります。
  4. 配信を確認 — Webhook の配信履歴を開いて、イベントの到達を確認し、失敗したものを再送します。

プラン別の上限

  • Starter — 1 社あたり 1 日 100 配信(カウンターは 00:00 UTC にリセット)
  • Business — 無制限
  • Enterprise — 無制限
  • カウントは配信試行ごと:同じイベントに 3 つの Webhook があれば 3 単位を消費します

ヒント

X-FreeMaint-Signature は必ずサーバー側で、生のリクエストボディに対して検証してください。検証しなければ本物の FreeMaint イベントと偽装された呼び出しを区別できず、偽の part.consumed が ERP の在庫を動かしかねません。

このページは役に立ちましたか?