必要なときにプル。重要なときにプッシュ。
システムから情報を問い合わせるにはSimplyPrint APIが便利です。Webhooksを使うと、変更が発生した瞬間にSimplyPrintからシステムに通知されます。ポーリングや定期ジョブは不要で、イベントを見逃すこともありません。
ポーリングせずにイベントをプッシュ
Webhookは、SimplyPrintに登録するURLです。プリントの開始、ジョブの失敗、キュー項目の承認、交換部品の在庫不足など、アカウントで購読中のイベントが発生するたびに、SimplyPrintがそのURLにイベントペイロードを含むHTTP POSTを送信します。ポーリングの繰り返しやレート制限の調整、イベントの見逃しを心配する必要はありません。HTTPに対応するあらゆるシステムにイベントストリームを接続できます。
必要な数だけWebhookを作成できます。それぞれに通知するイベントを指定でき、削除せずに無効化することもできます。配信履歴ですべての送信を確認できます。ウェブで広く使われている仕組みを、3Dプリンターフリートでも利用できます。
4種類の配信形式を1つのWebhookシステムで
SimplyPrintはURLから送信先を自動検出し、それに合わせてペイロードを整形します。Webhookの送信先をDiscordにすると、色、フィールド、タイムスタンプを備えた埋め込みメッセージが送信されます。SlackにはSlack Block Kitメッセージ、Microsoft Teamsにはアダプティブカードが送信されます。その他の送信先には、そのまま利用できる生のJSONが送信されます。
Zapier、n8n、Make、独自のバックエンド向けの整理されたPOST本文。
チャンネルのWebhook URLを貼り付けるだけで、ボットなしでリッチ埋め込みを利用できます。
任意のSlack受信WebhookからBlock Kitメッセージを直接送信できます。
TeamsのワークフローまたはコネクタのURLに送信されるアダプティブカード。
プリンターフリートで発生するすべてのイベントをわかりやすいカテゴリーに分類
各Webhookで必要なイベントだけを購読できます。チーム全体のDiscordチャンネルでは、プリント完了とプリント失敗だけが必要かもしれません。Zapierの自動化では、キュー項目の承認を購読できます。メンテナンスダッシュボードでは、すべてのmaintenance.*イベントが必要かもしれません。Webhookごとに設定できます。
- プリントジョブのイベント: 開始、一時停止、再開、キャンセル、完了、失敗、ベッドの片付け、オブジェクトのスキップ
- プリンターイベント: AutoPrintの状態、ノズルサイズ、材料、カスタムタグの付与と解除、故障状態、AIの状態、AIによる失敗検出、AIによる失敗の誤検出、AutoPrintの最大サイクル数
- 組織イベント:アカウントのAutoPrintの状態、新規ユーザー登録、ユーザーの承認待ち
- プリントキュー: 項目の追加、削除、移動、復元、承認待ち、承認、却下、キューの全項目削除
- フィラメント:作成、更新、削除、プリンターへの割り当て、割り当て解除
- メンテナンス:ジョブの作成 / 開始 / 完了 / キャンセル / 期限超過 / 再開 / 更新 / 削除、問題の報告 / 解決、交換部品の作成 / 更新 / 削除、在庫調整、在庫不足、タスクの完了 / スキップ、スケジュールの作成 / 更新 / 削除
- 残高:請求、返金、チャージ、調整
- クォータ:新規申請、申請の処理完了、調整、リセット
コードから扱いやすいペイロード形式
通常形式のWebhook送信は、外側の構造がすべて同じです。event名、ISO形式のtimestamp、送信元のwebhook_idを含むエンベロープに、イベント固有の構造を持つdataオブジェクトが格納されます。
job.doneイベントのdataオブジェクトには、プリントジョブ、プリンター、ファイル、ユーザー、経過時間が含まれます。filament.assignedイベントには、フィラメント、プリンター、割り当て先のツールが含まれます。maintenance.job_overdueイベントには、ジョブ、プリンター、担当ユーザー、元の期限が含まれます。エンベロープは共通で、データはイベントごとに異なるため、コード内の1つのswitch文でストリーム全体を処理できます。
WeshapeがWebhooksで~50 printersを運用する方法を見る
Order queueing is a webhook that feeds into the SimplyPrint API.
本番環境にリリースする前にテスト、サンプリング、確認
Webhooksは手間なく使えるべきです。SimplyPrintでは、受信内容の確認、テスト送信、過去の全配信履歴の確認という3つのツールを用意しています。
テストイベントを送信する
任意のサブスクリプションから、実際と同じ形式のペイロードを必要なときに送信できます。
ペイロードのサンプル
コードを書く前に、ペイロードの正確な構造を確認できます。
配信履歴
各配信のURL、HTTPステータス、レスポンス本文、タイムスタンプ。
配信されるWebhookの内容
Discord、Slack、Teams形式の通知は、各アプリで埋め込みカードとして表示されます。タイトルや項目別のデータ、必要に応じてプリンターのサムネイルも含まれます。以下は、SimplyPrintを使用するプリントファームからDiscordチャンネルに実際に送信された3件の通知です。形式を一度設定すれば、埋め込みはSimplyPrintが処理します。
メンテナンスの期限超過
予定されたメンテナンスジョブが期限を過ぎました。ジョブ名、プリンター、優先度、スケジュール、グループを1枚のカードに表示します。
メンテナンスジョブの作成
新しいメンテナンス作業が予定されると、プリンター、グループ、優先度がチームのチャンネルにすぐに表示されます。
予備部品の在庫
部品の削除、在庫数の調整、補充などの在庫変更は個別のイベントとして送信され、ワークフローツールでそれぞれに対応できます。
任意のシークレット検証:リクエストがSimplyPrintから送信されたことを確認
Webhookごとにシークレットを設定すると、SimplyPrintはすべての配信でX-SP-Secretヘッダーにその値を付けて送信します。受信側では、URLを推測した無関係なIPからではなく、SimplyPrintからのリクエストであることを確認できます。内部ネットワークのWebhookなど、不要な場合はシークレットを設定しなくてもかまいません。キーが漏えいした場合はいつでも変更できます。過去の配信は無効にならず、以降の配信には新しいキーが使用されます。
各Webhookは個別に有効 / 無効を切り替えられます。切り替えスイッチで通知の多い連携を一時停止しても、イベントの購読設定や履歴は失われません。
実際の連携例
SimplyPrintを利用するプリントファーム、学校、メイカースペース、製品開発チームで特によく見られるパターンです。
job.doneとjob.failedをチームのチャンネルに投稿します。
プリントキューの項目が承認されると、請求書の発行や注文処理を実行します。
期限を過ぎたメンテナンスや予備部品の在庫不足を運用担当者に通知します。
生徒の提出物を教員にリアルタイムで表示します。
開発者向け機能を補完するプッシュ通知
WebhooksはSimplyPrintの他の開発者向け機能と組み合わせて使えます。
- SimplyPrint APIを使うと、コードからプリンター、キュー、ファイル、フィラメント、ジョブの状態を必要に応じて取得できます。
- Webhooksを使うと、変更が発生した瞬間にSimplyPrintがプッシュするため、ポーリングは不要です。
- SimplyPrint MCPサーバーを使うと、AIアシスタント(Claude、ChatGPT)が検証済みのツール一覧を通じて、同じプリンター群の情報を読み取り、操作できます。
プラン別の利用条件:Webhookが含まれるプランは?
WebhooksはPrint FarmとEnterpriseプランに追加料金なしで含まれます。Webhookごとの料金や配信ごとの料金はなく、イベント数の上限もありません。
| 機能 / 制限 | 無料 | 基本 | Pro | プリントファーム | エンタープライズ | 学校 | クラウドスライサー | フィラメントマネージャー |
|---|---|---|---|---|---|---|---|---|
|
Webhooks
通常のJSON、Discord、Slack、Microsoft Teamsに対応したマルチチャネルWebhookシステムです。すべてのイベントに対応し、シークレットによる検証と配信ごとの履歴も利用できます。
|
プランについて詳しく確認しますか?
料金と機能の比較をすべて表示よくある質問
イベントをDiscord、Slack、Microsoft Teamsに送信するにはどうすればよいですか?
discord.com/api/webhooks、hooks.slack.com/services、またはTeamsワークフローのURL)から送信先を検出し、そのプラットフォームに合わせてペイロードを整形します。ボットのインストール、アプリ、ミドルウェアは不要です。どのイベントを購読できますか?
リクエストが本当にSimplyPrintから送信されたことを確認するにはどうすればよいですか?
配信された内容を確認できますか?
本番運用前にWebhookをテストできますか?
SimplyPrint APIとの違いは何ですか?
サーバーが停止した場合、再試行はどうなりますか?
SimplyPrintは配信に失敗した場合、再試行しますか?
配信試行の履歴はどのくらい保存されますか?
Webhookはどのプランで利用できますか?
設定ガイド
初めてのWebhookの作成手順と、Discord、Slack、Microsoft TeamsのURLに関する詳細は、Webhookのヘルプ記事を参照してください。