ドキュメンテーション

WebhooksでSuperSaaSを他サービス・システムと連携

Webhooksを利用してSuperSaaSアカウント上で何かイベントが発生した時にその他のアプリケーションやウェブサイトにリアルタイムで通知する事が可能です。 Webhooksなど外部サービスとの連携は、高度な知識及び技術を持つ、中上級者向けの説明です。 サポートは一切出来かねますので、自己責任で願います。

Webhookを利用したいくつかの例

  • SuperSaaSアカウントで新規ユーザーが登録した場合にMailChimpメーリングリストへ追加
  • 新規ユーザー登録時に利用規約を記載したPDFを送信
  • 予約登録時にQuickBooksやFreshbooksで請求書を発行
  • 特定のクラスに新しい予定が作成されたら、そのクラスの教師のGoogleカレンダーにマークを付ける
  • 予約開始が近くなると、リマインダーメールの代わりに、Slackチャットや携帯端末に通知を送る
  • キャンセル待ちリストから正規予約リストへ移動した時にSMSテキストメッセージを送信
  • Eメール送信時にSend email via another mail server

Zapier.comやMake.comを使用して自動設定

ウェブサービスのZapier.comMake.comを利用すれば、有名な多くのウェブサイトへプログラミング不要、何百もの有名なWebサイトとSuperSaaSの間にインタラクティブにリンクを作成できます。 ZapierとMakeはどちらも、小規模ユーザー向けに試用版と無料利用枠を提供しています。

事前に作成された例からWebhookを作成するのは比較的簡単ですが、特定のイベントのみをフィルタリングしてより詳細な制御が必要な場合は、以下の詳細情報を参照してください。

新規ユーザーをMailChimpメーリングリストへ新規ユーザーをMailChimpメーリングリストへ
新規予約をGoogle Calendarへ新規予約をGoogle Calendarへ
新規予約の請求書をQuickBooks Invoiceで作成新規予約の請求書をQuickBooks Invoiceで作成
新規予約をemailフィルターへ新規予約をemailフィルターへ

サポートしているトリガー

3つのカテゴリーがあります。“new” イベント, または “change” イベント。 “change”は“new” と “delete”等の変更が含まれます。 モニタリングできるイベントがいくつかあります。 一部のイベントは、“new” イベントまたは “change”イベントのいずれかをモニタリングできます。 “change”イベントにはすべての変更が含まれるため、“new” と “delete”でも発生します。したがって、“New user” と “Changed user”の両方を設定すると、新しいユーザーがサインアップしたときに両方のフックが起動します。 サインアップを必要としないようにスケジュールを構成した場合、“New user”トリガーは表示されず、“New appointment”トリガーのみが表示されることに注意してください。

Trigger発動要因…
New user新規ユーザーが登録された時
Changed userユーザーの情報が更新された時、または管理者が実施した時
New appointment予約がユーザーにより、または管理者によって特定スケジュールで実施された時
Changed appointment予約情報が更新された時。更新には新規登録、削除、キャンセル待ちからの移動、支払い完了なども含まれます
New stand-alone form独立型フォームに入力すると発生します。 フォームが予定に添付されている場合はトリガーされないことに注意してください。代わりに、予定のWebhookがトリガーされます。
Updated stand-alone form独立型フォームに入力すると発生します。 フォームが予定に添付されている場合はトリガーされないことに注意してください。代わりに、予定のWebhookがトリガーされます。
Send mailパスワードを紛失したメールなど、アカウントから送信されたすべてのメールで発生します。自分のサーバーを介してメールを送信する場合に便利です。 このWebhookがアクティブな場合、電子メールは送信されなくなります。
Reminder
Follow-up
リマインダーまたはフォローアップで発生します。Webhookがアクティブな場合、リマインダーまたはフォローアップは送信されなくなります。
Purchaseユーザーがショップで何かを購入したときに発生します。 手動で購入を作成した場合にも発生します。

イベントのフィルタリング

ZapierやMake上で2つのサービスを接続する場合イベントのフィルターを設定する事が出来ます。

  • 予定が変更されるたびにではなく、誰かがキャンセル待ちリストに入れられたときにのみSMS通知を送信
  • クラスがその教師によって教えられている場合にのみ、新しい予約を教師に通知し、同じスケジュールの他の予約を無視
  • 予約の価値が100ドルを超える場合にのみ、管理者に通知を送信

新しいWebhookを作成すると、Zapier / MakeはSuperSaaSにサンプルオブジェクトを要求します。 サンプルオブジェクトには、使用可能なフィールドといくつかのサンプルコンテンツが一覧表示されます。 Webhookが送信するフィールドは、アカウントで有効になっているフィールドと、カスタムフォームが添付されているかどうかによって異なります。 ほとんどのトリガーには、イベントのフィルタリングに使用できる"event"フィールドと “role”フィールドが含まれています。 たとえば、フィールド"event"に値 “delete”を含むトリガーのみをフィルタリングできます。

Trigger"event"フィールド内で利用可能な値
New usernew
Changed usernew, change, delete
New appointmentcreate
Changed appointmentcreate, edit, place, pending, destroy, restore, approve, revert
New formnew
Changed formnew, change, delete, restore
Reminder / Follow-upreminder, follow_up
Purchasepurchase

"Role" fieldWho triggered the event…
0AnonymousNot logged in
1Logged in with a shared password
2Validated using an IP range check
3Regular user
4Superuser
5Administrator or Reseller
7System or Payment gateway

支払いを含む予定を作成または変更する場合、"status" と "status message"フィールドを使用すると、考えられるすべてのステータスコードのリストを使用して、特定のイベントに絞り込むことができます。 たとえば、返金された予定のメッセージにのみ作用するようにフィルターを設定できます。

webhooksを利用した独自システムの開発

ZapierまたはMakeを使用せずにWebhookを作成するには、高度なWeb開発スキルが必要です。Webhookを調整して、Webhookを自分のサーバーに直接送信したり、Webhookに含まれるペイロードを変更したりできます。 詳細は、開発者用ドキュメント