WebhooksでSuperSaaSを他サービス・システムと連携
Webhooksを利用してSuperSaaSアカウント上で何かイベントが発生した時にその他のアプリケーションやウェブサイトにリアルタイムで通知する事が可能です。 Webhooksなど外部サービスとの連携は、高度な知識及び技術を持つ、中上級者向けの説明です。 サポートは一切出来かねますので、自己責任で願います。
Webhookを利用したいくつかの例
- SuperSaaSアカウントで新規ユーザーが登録した場合にMailChimpメーリングリストへ追加
- 新規ユーザー登録時に利用規約を記載したPDFを送信
- 予約登録時にQuickBooksやFreshbooksで請求書を発行
- 特定のクラスに新しい予定が作成されたら、そのクラスの教師のGoogleカレンダーにマークを付ける
- 予約開始が近くなると、リマインダーメールの代わりに、Slackチャットや携帯端末に通知を送る
- キャンセル待ちリストから正規予約リストへ移動した時にSMSテキストメッセージを送信
- Eメール送信時Send email via another mail server
Zapier.comやMakeを使用して自動設定
ウェブサービスのZapier.comやMakeを利用すれば、有名な多くのウェブサイトへプログラミング不要、何百もの有名なWebサイトとSuperSaaSの間にインタラクティブにリンクを作成できます。 ZapierとMakeはどちらも、小規模ユーザー向けに試用版と無料利用枠を提供しています。
事前に作成された例からWebhookを作成するのは比較的簡単ですが、特定のイベントのみをフィルタリングしてより詳細な制御が必要な場合は、以下の詳細情報を参照してください。
サポートしているトリガー
モニタリングできるイベントがいくつかあります。 一部のイベントは、“new”イベントまたは“changed”イベントのいずれかをモニタリングできます。 “changed”イベントにはすべての変更が含まれるため、“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 user | new |
Changed user | new, change, delete |
New appointment | create |
Changed appointment | create, edit, place, pending, destroy, restore, approve, revert |
New form | new |
Changed form | new, change, delete, restore |
Reminder / Follow-up | reminder, follow_up |
Purchase | purchase |
“Role” field | イベントを引き起こすのは誰か… | |
---|---|---|
0 | Anonymous(匿名) | Not logged in(未ログイン) |
1 | Logged in with a shared password(共有パスワードでログイン) | |
2 | Validated using an IP range check(IPレンジ範囲を使用して検証済み) | |
3 | Regular user(レギュラーユーザー) | |
4 | Superuser | |
5 | Administrator or Reseller(管理者またはリセラー) | |
7 | System or Payment gateway |
支払いを含む予定を作成または変更する場合、“status” と "status message"フィールドを使用すると、考えられるすべてのステータスコードのリストを使用して、特定のイベントに絞り込むことができます。 たとえば、返金された予定のメッセージにのみ作用するようにフィルターを設定できます。
Webhooksを利用した独自システムの開発(上級者用)
ZapierまたはMakeを使用せずにWebhookを作成するには、高度なWeb開発スキルが必要です。Webhookを調整して、Webhookを自分のサーバーに直接送信したり、Webhookに含まれるペイロードを変更したりできます。 詳細は、開発者用ドキュメント