メインコンテンツへ移動

3Dプリンター群のイベントをリアルタイムでプッシュ

Webhooks:イベント発生時に即座に通知

プリントの開始、ジョブの失敗、キューへの項目の追加、交換部品の在庫不足、フィラメントの割り当て変更が発生すると、SimplyPrintは数秒以内にイベントを指定のURLにPOSTできます。コードを書かずにイベントをDiscord、Slack、Microsoft Teamsに送信することも、生のJSONペイロードを使って独自の自動化を構築することもできます。

無料で始める 詳細情報と使い方
機能の画像

必要なときにプル。重要なときにプッシュ。

システムから情報を問い合わせるには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が送信されます。

生のJSON

Zapier、n8n、Make、独自のバックエンド向けの整理されたPOST本文。

Discord

チャンネルのWebhook URLを貼り付けるだけで、ボットなしでリッチ埋め込みを利用できます。

Slack

任意のSlack受信WebhookからBlock Kitメッセージを直接送信できます。

Microsoft Teams

TeamsのワークフローまたはコネクタのURLに送信されるアダプティブカード。

機能の画像

プリンターフリートで発生するすべてのイベントをわかりやすいカテゴリーに分類

各Webhookで必要なイベントだけを購読できます。チーム全体のDiscordチャンネルでは、プリント完了とプリント失敗だけが必要かもしれません。Zapierの自動化では、キュー項目の承認を購読できます。メンテナンスダッシュボードでは、すべてのmaintenance.*イベントが必要かもしれません。Webhookごとに設定できます。

  • プリントジョブのイベント: 開始、一時停止、再開、キャンセル、完了、失敗、ベッドの片付け、オブジェクトのスキップ
  • プリンターイベント: AutoPrintの状態、ノズルサイズ、材料、カスタムタグの付与と解除、故障状態、AIの状態、AIによる失敗検出、AIによる失敗の誤検出、AutoPrintの最大サイクル数
  • 組織イベント:アカウントのAutoPrintの状態、新規ユーザー登録、ユーザーの承認待ち
  • プリントキュー: 項目の追加、削除、移動、復元、承認待ち、承認、却下、キューの全項目削除
  • フィラメント:作成、更新、削除、プリンターへの割り当て、割り当て解除
  • メンテナンス:ジョブの作成 / 開始 / 完了 / キャンセル / 期限超過 / 再開 / 更新 / 削除、問題の報告 / 解決、交換部品の作成 / 更新 / 削除、在庫調整、在庫不足、タスクの完了 / スキップ、スケジュールの作成 / 更新 / 削除
  • 残高:請求、返金、チャージ、調整
  • クォータ:新規申請、申請の処理完了、調整、リセット
標準で60種類以上のイベントに対応し、新機能のリリースに合わせてイベントが追加されます。

コードから扱いやすいペイロード形式

通常形式のWebhook送信は、外側の構造がすべて同じです。event名、ISO形式のtimestamp、送信元のwebhook_idを含むエンベロープに、イベント固有の構造を持つdataオブジェクトが格納されます。

job.doneイベントのdataオブジェクトには、プリントジョブ、プリンター、ファイル、ユーザー、経過時間が含まれます。filament.assignedイベントには、フィラメント、プリンター、割り当て先のツールが含まれます。maintenance.job_overdueイベントには、ジョブ、プリンター、担当ユーザー、元の期限が含まれます。エンベロープは共通で、データはイベントごとに異なるため、コード内の1つのswitch文でストリーム全体を処理できます。

機能の画像
Weshape
導入事例

WeshapeがWebhooksで~50 printersを運用する方法を見る

Order queueing is a webhook that feeds into the SimplyPrint API.
- Weshape, Kolind, Denmark
Weshapeの事例を読む

本番環境にリリースする前にテスト、サンプリング、確認

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を利用するプリントファーム、学校、メイカースペース、製品開発チームで特によく見られるパターンです。

Discordの更新情報

job.doneとjob.failedをチームのチャンネルに投稿します。

Zapier / n8n

プリントキューの項目が承認されると、請求書の発行や注文処理を実行します。

メンテナンスアラート

期限を過ぎたメンテナンスや予備部品の在庫不足を運用担当者に通知します。

教室用ダッシュボード

生徒の提出物を教員にリアルタイムで表示します。

開発者向け機能を補完するプッシュ通知

WebhooksはSimplyPrintの他の開発者向け機能と組み合わせて使えます。

  • SimplyPrint APIを使うと、コードからプリンター、キュー、ファイル、フィラメント、ジョブの状態を必要に応じて取得できます。
  • Webhooksを使うと、変更が発生した瞬間にSimplyPrintがプッシュするため、ポーリングは不要です。
  • SimplyPrint MCPサーバーを使うと、AIアシスタント(Claude、ChatGPT)が検証済みのツール一覧を通じて、同じプリンター群の情報を読み取り、操作できます。
いずれか1つでも、3つすべてでも使用できます。認証、権限モデル、データ構造は共通です。そのため、Webhookのペイロードに含まれるプリンターは、API呼び出しで返されるものと同じプリンターオブジェクトです。

機能の画像

プラン別の利用条件:Webhookが含まれるプランは?

WebhooksはPrint FarmとEnterpriseプランに追加料金なしで含まれます。Webhookごとの料金や配信ごとの料金はなく、イベント数の上限もありません。

機能 / 制限 無料 基本 Pro プリントファーム エンタープライズ 学校 クラウドスライサー フィラメントマネージャー
Webhooks
通常のJSON、Discord、Slack、Microsoft Teamsに対応したマルチチャネルWebhookシステムです。すべてのイベントに対応し、シークレットによる検証と配信ごとの履歴も利用できます。

プランについて詳しく確認しますか?

料金と機能の比較をすべて表示

よくある質問

チャンネルのwebhook URLをSimplyPrintに貼り付けるだけです。URL(discord.com/api/webhooks、hooks.slack.com/services、またはTeamsワークフローのURL)から送信先を検出し、そのプラットフォームに合わせてペイロードを整形します。ボットのインストール、アプリ、ミドルウェアは不要です。
プリントジョブ、プリンターの状態、組織、プリントキュー、フィラメント、メンテナンス、残高、クォータの8カテゴリに60以上のイベントがあります。Webhookごとに受信するイベントを選べるため、Discordチャンネルにはjob.doneとjob.failedのみを送信し、Zapier連携ではqueue.item_approvedを受信できます。主要な機能のリリースごとに新しいイベントが追加されます。
Webhookにシークレットを設定します。SimplyPrintはすべての配信でX-SP-Secretヘッダーにその値を付けて送信するため、受信側で保存済みの値と比較し、一致しないリクエストを拒否できます。シークレットはWebhookごとに設定されるため、他の連携に影響を与えずに1つの連携のキーを変更できます。
はい、すべての配信について、送信先URL、リクエスト本文、HTTPレスポンスコード、タイムスタンプが記録されます。各Webhookを開くと配信履歴全体を確認できるため、エンドポイントの設定ミスや一時的な障害を推測する必要はありません。
はい、各イベントのサブスクリプションには「テスト送信」ボタンがあります。SimplyPrintは実際と同じ形式のペイロードを作成し、必要なときにWebhookへ送信します。アカウントに実際のエンティティがあればそれを使用し、なければサンプルを生成します。各イベントのサンプルペイロードも確認できるため、最初の実際のイベントが届く前に受信側のコードを準備できます。
APIはプル型です。コードから必要に応じてSimplyPrintに状態を問い合わせます。Webhooksはプッシュ型です。変更が発生した瞬間にSimplyPrintからコードに通知されるため、ポーリングやレート制限への対応は不要で、イベントを見逃すこともありません。多くの連携では、問い合わせにAPI、変更への対応にWebhooksを使います。
配信は専用の転送サービスから行われ、試行ごとに応答コード、リクエスト本文、タイムスタンプが記録されます。そのため、障害をWebhook履歴で確認できます。受信側を冪等に設計し(各配信には固有のログIDが付いています)、停止中に見逃した状態をAPIで照合してください。
はい、配信に失敗した場合(2xx以外のレスポンスまたはタイムアウト)、その後24時間にわたって再試行の間隔を指数関数的に延ばしながら再試行します。それでも失敗した場合は恒久的な失敗として記録し、配信履歴に表示します。
配信の試行履歴(ペイロードと応答コードを含む)はWebhook配信履歴に30日間保存され、パネルでWebhookごとに確認できます。
Webhooksはプリントファーム、スクール(教育機関向け)、エンタープライズプランに含まれます。Webhookごとの料金や配信料金はなく、イベント数の上限もありません。

設定ガイド

初めてのWebhookの作成手順と、Discord、Slack、Microsoft TeamsのURLに関する詳細は、Webhookのヘルプ記事を参照してください。

目次