Webhookの設定と利用方法

Webhookの設定と利用方法

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

SalesIQ Webhook の概要

Webhook は「イベント駆動」の概念で動作するため、クライアント側アプリケーションがサーバー側アプリケーションに対して常にポーリングを行う必要がありません。つまり、クライアント側アプリケーションが新しい処理があるかどうかを確認するためにサーバー側アプリケーションを継続的にポーリングする代わりに、サーバー側アプリケーションが新しい情報をクライアントに通知する必要があるたびに(クライアントが指定した Webhook URL を呼び出すことで)クライアント側アプリケーションにコールします。これが Webhook の中核となる概念です。

メリット

  1. Webhook を使用すると、特定の処理がサーバー上で発生したときにプッシュ通知を受け取ることができます。これらの処理が発生したかどうかを確認するために、API をポーリングし続ける必要はありません。Webhook を使ってイベントを「購読」するだけで済みます。
  2. Webhook は、ユースケースの自動化や生産性の向上に利用できる強力なリソースです。必要に応じて静的なデータを作成・更新・取得する API リソースとは異なり、Webhook は動的なリソースを表します。顧客が会話を開始したり返信したりするなど、特定の操作を行ったときに自動的に通知を受け取るように設定できます。

Webhook の作成と管理

Webhook の作成と管理は、こちらで利用できる REST API から行えます。

信頼できる送信元の検証(署名による):

公開鍵とは何か、また API での生成方法
SalesIQ は、エンドポイント URL に送信される Webhook イベントに対して RSA 暗号方式を使用して署名を行います。
  1. 署名アルゴリズムには SHA256 with RSA を使用します。
  2. 署名は Base64 でエンコードされます。
  3. 使用される文字セットは UTF-8 です。
生成された公開鍵はコピーしてエンドポイントサーバーに保存でき、後で署名付きで受信したデータの正当性を検証するために使用できます。公開鍵と秘密鍵のペアが生成されます。
公開鍵を生成するには、次の API を使用します。
  1. API: /api/v2/{screenname}/webhooks/{id}/keys
  2. METHOD : POST
  3. Scope: SalesIQ.Webhook.CREATE
公開鍵を削除するには、次の API を使用します。
  1. API: /api/v2/{screenname}/webhooks/{id}/keys/{keyid}
  2. METHOD : DELETE
  3. Scope: SalesIQ.Webhook.DELETE
信頼できる送信元の検証は、Webhook を保護するための仕組みです。つまり、(連携サービスである)あなたが、API レスポンスで取得した公開鍵を使用し、そのデータに対して x-siqsignature リクエストヘッダーに含まれる署名を検証することで、SalesIQ サービスから送信されたデータであることを認証できるようにします。署名が有効であれば、その送信元は信頼できます。このプロセスにより、Webhook を不正アクセスから保護します。

署名ヘッダーを使用して送信元を認証するには、次のようにします。
  1. ヘッダー :
  2. {
  3. x-siqsignature : $signature
  4. }
セキュアなコールバックを設定する場合は、Webhook を作成し、secured を true('secured:true')に設定します。
  1. ペイロード:
  2. {
  3. webhook : {
  4. url : $webhookurl,
  5. secured : <boolean>},
  6. published : <boolean>
  7. }
Notes
メモ:
  1. ポータルごとに許可される管理者 Webhook の最大数は 3 つです。
  2. Webhook の自動再試行回数の上限は 3 回です。
  3. 自動再試行は 1 分後に行われます。
  4. 1 回の実行あたりのタイムアウトは 5 秒です。
  5. デフォルトのエラーログ保持期間は 60 日です。
  6. Webhook はエンタープライズプランでのみ利用できます。

Webhook ペイロード

Webhook は、購読しているイベントが SalesIQ 内で発生したときに呼び出されます。例えば、conversation.visitor.replied を購読している場合、訪問者がチャットに返信すると、関連するデータとともに通知されます。

ペイロードの定義:

  1. version - Webhook ペイロードのバージョン。
  2. event - 通知されたイベント。
  3. event_time - イベントが発生した時刻。
  4. org_id - あなたの SalesIQ ポータル ID。
  5. app_id - 埋め込み ID。データイベントに対してのみ利用可能です。
  6. attempt - Webhook を通じてイベント通知を試行した回数。
  7. entity - 発生したイベントのエンティティ。
  8. entity_type - エンティティの種類(例: Bot、Department、operator)。
  9. entity_id - エンティティの一意の ID。例: conversation.* イベントの場合は会話 ID。
  10. modified_fields - 更新されたプロパティの一覧。
ペイロードは次の形式で受信されます。
  1. {
  2. 'version' : '1',
  3. 'event' : 'operator.created',
  4. 'event_time' : $time of event,
  5. 'org_id' : $soid,
  6. 'app_id' : $appid,
  7. 'attempt' : $no of retries,
  8. 'entity_type' : $type of entity,
  9. 'entity_id' : $id,
  10. 'entity' : {
  11. $ENTITY OBJECT
  12. },
  13. 'modified_fields' : [ ]
  14. }
例:
  1. {
  2. 'entity_type':'conversation',
  3. 'org_id':'14327896',
  4. 'event':'conversation.operator.replied',
  5. 'entity_id':'8000000004009',
  6. 'attempt':1,
  7. 'version':'1',
  8. 'app_id':8000000000047,
  9. 'entity':{
  10. 'id':'8000000004009',
  11. 'message':{
  12. 'sender':{
  13. 'name':'Tricia',
  14. 'id':'8000000000005'
  15. },
  16. 'msgid':'1566480708251',
  17. 'text':'Hello, I need some help with the shipping status'
  18. }
  19. },
  20. 'event_time':1566480708268,
  21. 'customer_info': {
  22. 'branch': 'California',
  23. 'Band': 'Premium'
  24. }
  25. }

Webhook の前提条件

  1. セキュリティ上の理由から、URL には 'https' の使用を推奨します。
  2. 当社サーバーは、ポート番号付きの URL には接続できません。
  3. 当社サーバーからアクセスできるよう、URL が Postman や Talend API Tester などの一般的な API クライアントからアクセス可能であることを確認してください。
  4. URL が指定されると、5 秒の読み取りタイムアウトで検証のために ping が送信されます。
  5. 5 秒以内に応答が得られない場合、URL に対して HTTP HEAD リクエストが実行され、ステータスコード 200 を返すかどうかを確認します。
  6. Webhook が 10 秒以内にレスポンスを返すことを確認してください。

Webhook が無効化されるケース:

ケース 1: Webhook が HTTP コード 400 以上を返し、完了応答を継続的に返さない場合、ポータル管理者と Webhook 作成者に対して、メールで複数回の警告が送信されます。
  1. Webhook が 3 時間連続で失敗した場合に 1 通目の警告メールが送信され、6 時間失敗が続いた場合に 2 通目の警告メールが送信されます。
  2. Webhook が 12 時間連続で失敗した場合、Webhook は無効化され、最終通知メールが送信されます。
ケース 2: 登録済みイベントの送信時に Webhook が HTTP コード 410 を返した場合、SalesIQ システムは Webhook を削除し、ポータル管理者と Webhook 作成者の両方にメールが送信されます。
Notes
メモ: この期間中に Webhook が完了応答を返した場合は、通常どおり動作します。ただし、再度失敗した場合は、上記のカウントが最初からやり直されます。

イベント

Webhook を使用すると、SalesIQ 上で特定のイベントが発生したときに通知を受け取ることができます。以下のイベントを購読している場合、それぞれのイベントが発生したタイミングでデータが通知されます。

Webhook モジュール

次のモジュールが利用可能で、それぞれのモジュールに関連する操作が発生したときに通知を受け取ることができます。
  1. Conversation : Conversation では、Web サイト訪問者とのやり取りを追跡し、内容を記録できます。Conversation には、訪問者/オペレーターのメッセージ、対応したオペレーター、会話を管理する管理者/スーパーバイザー、その他会話に関連する情報が含まれます。
  2. Department : Department は管理系のイベントであり、このイベントを購読しておくと、新しい Department の作成、更新、削除時に通知を受け取ることができます。Webhook には「データ」と「管理」の 2 種類のイベントタイプがあります。

Conversation

Conversation では、Web サイト訪問者とのやり取りを追跡し、内容を記録できます。Conversation には、訪問者/オペレーターのメッセージ、対応したオペレーター、会話を管理する管理者/スーパーバイザー、その他会話に関連する情報が含まれます。

Conversation イベントの一覧:
  1. conversation.created
  2. conversation.attender.updated
  3. conversation.missed
  4. conversation.completed
  5. conversation.rated
  6. conversation.visitor.replied
  7. conversation.operator.replied
  8. conversation.completed
  9. conversation.rated
  10. conversation.transfer.started
  11. conversation.transfer.approved
  12. conversation.transfer.rejected
  13. conversation.participant.added
  14. conversation.participant.removed
  15. conversation.supervisor.added
  16. conversation.message.edited
  17. conversation.message.deleted
  18. conversation.metrics

conversation.created

このイベントを購読すると、訪問者がチャットを開始したときに通知を受け取ることができます。

  1. データの内容:
  2. {
  3. 'id': '17000000004021',
  4. 'visitor_conversation_id': 'ad433hjdid546f8n4b734j4omfhjsrwnet46fklf7',
  5. 'reference_id': '1',
  6. 'opened_time': '1556866331533',
  7. 'attended_time': '1556866331553',
  8. 'end_time': '1556866331929',
  9. 'missed_time': '1556866333232',
  10. 'app_id': '30185567778889',
  11. 'department_id': '301050000004',
  12. '担当者': {
  13. 'id': '30102333033335',
  14. '名前': 'Patricia',
  15. 'email_id': 'patricia@zylker.com'
  16. },
  17. 'visitor':{
  18. 'email_id':'tricia@zylker.com',
  19. '電話番号':'1234354',
  20. '名前':'Tricia',
  21. '種類' : '連絡先',
  22. 'id': '30000000090034'
  23. },
  24. 'question': 'こんにちは。ダイニングセットの購入についてサポートしてほしいのですが。',
  25. 'supervisors': [
  26. '30102333033336',
  27. '30102333033337'
  28. ],
  29. '参加者': [
  30. '30102333033336',
  31. '30102333033337'
  32. ],
  33. 'ステータス': '有効',
  34. 'chat_status': {
  35. 'status_code': [
  36. '1,2'
  37. ],
  38. '状態': [
  39. '1,2,3,4'
  40. ],
  41. 'ラベル': '有効'
  42. },
  43. 'customer_info': {
  44. '支店': 'California',
  45. 'Band': 'プレミアム'
  46. }
  47. }

conversation.attender.updated

このイベントを購読すると、オペレーターがチャットを受け取ったときに通知を受け取ることができます。

  1. データの内容:

  2. {
  3. 'id': '17000000004021',
  4. 'visitor_conversation_id': 'ad433hjdid546f8n4b734j4omfhjsrwnet46fklf7',
  5. 'reference_id': '1',
  6. 'opened_time': '1556866331533',
  7. 'attended_time': '1556866331553',
  8. 'end_time': '1556866331929',
  9. 'missed_time': '1556866333232',
  10. 'app_id': '30185567778889',
  11. 'department_id': '301050000004',
  12. '担当者': {
  13. 'id': '30102333033335',
  14. '名前': 'Patricia',
  15. 'email_id': 'patricia@zylker.com'
  16. },
  17. 'visitor':{
  18. 'email_id':'tricia@zylker.com',
  19. '電話番号':'124534354',
  20. '名前':'Tricia',
  21. '種類' : '連絡先',
  22. 'id': '30000000090034'
  23. }
  24. },
  25. 'question': 'こんにちは。ダイニングセットの購入についてサポートしてほしいのですが。',
  26. 'supervisors': [
  27. '30102333033336',
  28. '30102333033337'
  29. ],
  30. '参加者': [
  31. '30102333033336',
  32. '30102333033337'
  33. ],
  34. 'ステータス': '接続済み',
  35. 'chat_status': {
  36. 'status_code': [
  37. '1,2'
  38. ],
  39. '状態': [
  40. '1,2,3,4'
  41. ],
  42. 'ラベル': '対応済み(オンライン)'
  43. },
  44. 'customer_info': {
  45. '支店': 'California',
  46. 'Band': 'プレミアム'
  47. }
  48. }

conversation.missed

このイベントを購読すると、訪問者によって開始されたチャットが、いずれのオペレーターにも受け取られずに取り逃がされたときに通知を受け取ることができます。

  1. データの内容:
  2. {
  3. 'id': '17000000004021',
  4. 'visitor_conversation_id': 'ad433hjdid546f8n4b734j4omfhjsrwnet46fklf7',
  5. 'reference_id': '1',
  6. 'opened_time': '1556866331533',
  7. 'attended_time': '1556866331553',
  8. 'end_time': '1556866331929',
  9. 'missed_time': '1556866333232',
  10. 'app_id': '30185567778889',
  11. 'department_id': '301050000004',
  12. '担当者': {
  13. 'id': '30102333033335',
  14. '名前': 'Patricia',
  15. 'email_id': 'patricia@zylker.com'
  16. },
  17. 'visitor':{
  18. 'email_id':'tricia@zylker.com',
  19. '電話番号':'12344354',
  20. '名前':'Tricia',
  21. '種類' : '連絡先',
  22. 'id': '30000000090034'
  23. },
  24. 'question': 'こんにちは。ダイニングセットの購入についてサポートしてほしいのですが。',
  25. 'supervisors': [
  26. '30102333033336',
  27. '30102333033337'
  28. ],
  29. '参加者': [
  30. '30102333033336',
  31. '30102333033337'
  32. ],
  33. 'ステータス': 'Missed',
  34. 'chat_status': {
  35. 'status_code': [
  36. '1,2'
  37. ],
  38. '状態': [
  39. '1,2,3,4'
  40. ],
  41. 'ラベル': 'CRM で追跡済み'
  42. },
  43. 'customer_info': {
  44. '支店': 'California',
  45. 'Band': 'プレミアム'
  46. }
  47. }

conversation.operator.replied

できること このイベントをサブスクライブすると、訪問者が開始したチャットにオペレーターが返信した際に通知を受け取れます。

  1. データの内容:

  2. {
  3. 'id':'8000000004009',
  4. 'メッセージ':{
  5. 'sender':{
  6. '名前':'Tricia',
  7. 'id':'8000000000005'
  8. },
  9. 'msgid':'1566480708251',
  10. 'text':'Hi, I need some assistance in buying a dining set.'
  11. },
  12. 'visitor':{
  13. 'email_id':'tricia@zylker.com',
  14. '電話番号':'12344354',
  15. '名前':'Tricia',
  16. '種類' : '連絡先',
  17. 'id': '30000000090034'
  18. },
  19. '担当者':{
  20. 'id':'30102333033335',
  21. '名前':'Patricia',
  22. 'email_id':'patricia@zylker.com'
  23. },
  24. 'バージョン':1
  25. }

  26. Bot Conversation データの内容:

  27. {
  28. メッセージ : {
  29. 'sender' : {
  30. 'id' : $sender wms id,
  31. '名前' : $sender 名前
  32. },
  33. 'text' : $msg, // ボットメッセージでは省略されます
  34. 'msgid' : $msg id, // ボットメッセージでは省略されます
  35. 'meta' : $meta data, ---> ボットメッセージに適用されます
  36. 'list' : [
  37. $メッセージ LIST
  38. ]
  39. },
  40. 'customer_info': {
  41. '支店': 'California',
  42. 'Band': 'プレミアム'
  43. }
  44. }

conversation。visitor。replied

できること このイベントをサブスクライブすると、訪問者が返信した際に通知を受け取れます。

  1. データの内容:

  2. {
  3. 'id': '8000000005001',
  4. 'メッセージ': {
  5. 'sender': {
  6. '名前': 'Tricia',
  7. 'id': '$2463902591169630574'
  8. },
  9. 'msgid': '1566481170562',
  10. 'text': 'Hi, i need some assistance in buying a dining set'
  11. },
  12. '担当者': {
  13. 'id': '30102333033335',
  14. '名前': 'Patricia',
  15. 'email_id': 'patricia@zylker.com'
  16. },
  17. 'visitor':{
  18. 'email_id':'tricia@zylker.com',
  19. '電話番号':'1234354',
  20. '名前':'Tricia',
  21. '種類' : '連絡先',
  22. 'id': '30000000090034'
  23. },
  24. 'バージョン': 1
  25. },
  26. 'customer_info': {
  27. '支店': 'California',
  28. 'Band': 'プレミアム'
  29. }

conversation.completed

できること このイベントをサブスクライブすると、チャット会話が終了した際に通知を受け取れます。

  1. データの内容:
  2. {
  3. 'id': '17000000004021',
  4. 'visitor_conversation_id': 'ad433hjdid546f8n4b734j4omfhjsrwnet46fklf7',
  5. 'reference_id': '1',
  6. 'opened_time': '1556866331533',
  7. 'attended_time': '1556866331553',
  8. 'end_time': '1556866331929',
  9. 'missed_time': '1556866333232',
  10. 'app_id': '30185567778889',
  11. 'department_id': '301050000004',
  12. '担当者': {
  13. 'id': '30102333033335',
  14. '名前': 'Patricia',
  15. 'email_id': 'patricia@zylker.com'
  16. },
  17. 'visitor':{
  18. 'email_id':'tricia@zylker.com',
  19. '電話番号':'12344354',
  20. '名前':'Tricia',
  21. '種類' : '連絡先',
  22. 'id': '30000000090034'
  23. },
  24. 'question': 'Hi, I need some assistance in buying a dining set.',
  25. 'supervisors': [
  26. '30102333033336',
  27. '30102333033337'
  28. ],
  29. '参加者': [
  30. '30102333033336',
  31. '30102333033337'
  32. ],
  33. 'ステータス': '完了済み',
  34. 'chat_status': {
  35. 'status_code': [
  36. '1,2'
  37. ],
  38. '状態': [
  39. '1,2,3,4'
  40. ],
  41. 'ラベル': 'メールで対応済み'
  42. },
  43. 'customer_info': {
  44. '支店': 'California',
  45. 'Band': 'プレミアム'
  46. }
  47. }

conversation。rated

できること このイベントをサブスクライブすると、訪問者がオペレーターとのチャット会話を評価したりフィードバックを送信したりした際に通知を受け取れます。

  1. 評価用のデータ内容:
  2. {
  3. '評価': 4,
  4. 'フィードバック': 'Good サポート',
  5. '担当者': {
  6. 'id': '30102333033335',
  7. '名前': 'Patricia',
  8. 'email_id': 'patricia@zylker.com'
  9. },
  10. 'visitor':{
  11. 'email_id':'tricia@zylker.com',
  12. '電話番号':'12344354',
  13. '名前':'Tricia',
  14. '種類' : '連絡先',
  15. 'id': '30000000090034'
  16. },
  17. 'customer_info': {
  18. '支店': 'California',
  19. 'Band': 'プレミアム'
  20. }
  21. }

  22. フィードバック用のデータ内容:

  23. {
  24. 'entity_type': 'conversation',
  25. 'org_id': '55778119',
  26. 'event': 'conversation。rated',
  27. 'entity_id': '40526000001808033',
  28. 'attempt': 1,
  29. 'バージョン': '1',
  30. 'app_id': 40526000000002040,
  31. '項目': {
  32. '担当者': {
  33. '名前': 'Patricia',
  34. 'email_id': 'patricia@zylker.com'
  35. 'id': '40526000000002001'
  36. },
  37. 'フィードバック': 'Awesome サポート 差出人 the reps!',
  38. 'id': '40526000001808033',
  39. 'ステータス': 'Ended',
  40. 'visitor':{
  41. 'email_id':'tricia@zylker.com',
  42. '電話番号':'12344354',
  43. '名前':'Tricia',
  44. '種類' : '連絡先',
  45. 'id': '30000000090034'
  46. }
  47. },
  48. 'event_time': '1567065865617',
  49. 'customer_info': {
  50. '支店': 'California',
  51. 'Band': 'プレミアム'
  52. }
  53. }

conversation。transfer。開始済み

このイベントにサブスクライブすると、会話の転送が開始されたときに通知を受け取ることができます。

データの内容:
  1. {
  2. '担当者': {
  3. 'email_id': 'patricia@zylker.com',
  4. '名前': 'patricia@zylker.com',
  5. 'id': '30000000099007'
  6. },
  7. 'transfer': {
  8. 'メモ': 'その他 info 必須',
  9. '種類': 'ユーザー|部署',
  10. 'department_id': '30000000148001',
  11. 'transferred_by': {
  12. '種類': 'bot|operator',
  13. 'email_id': 'patricia@zylker.com',
  14. '名前': 'patricia@zylker.com',
  15. 'id': '30000000099007'
  16. },
  17. 'transferred_to': [
  18. {
  19. 'id': '30000000000006',
  20. '名前': 'Patricia',
  21. 'email_id': 'patricia@zylker.com'
  22. }
  23. ]
  24. },
  25. 'waiting_time': '60',
  26. 'question': 'Hi, I need some assistance in buying a dining set',
  27. 'department_id': '30000000000018',
  28. 'id': '30000000095001',
  29. 'visitor_conversation_id': '2d665c42a02e919ac0f91f62fa78581d',
  30. 'visitor': {
  31. 'email_id': 'tricia@zylker.com',
  32. '電話番号': '1234354',
  33. '名前': 'Tricia',
  34. '種類': '連絡先',
  35. 'id': '30000000090034'
  36. }

conversation。transfer。承認済み

このイベントにサブスクライブすると、転送されたチャットがオペレーターによって承認されたときに通知を受け取ることができます。

データの内容:
  1. {
  2. 'accepted_by': {
  3. '名前': 'Patricia',
  4. 'id': '30000000000006',
  5. 'email_id': 'patricia@zylker.com'
  6. },
  7. 'question': 'Hi, i need some assistance in buying a dining set',
  8. 'department_id': '30000000000018',
  9. 'id': '30000000158001',
  10. 'visitor': {
  11. 'email_id': 'tricia@zylker.com',
  12. '電話番号': '1234354',
  13. '名前': 'Tricia',
  14. '種類': '連絡先',
  15. 'id': '30000000090034'
  16. },
  17. 'visitor_conversation_id': '2d665c42a02e919a171b7845509162e6'
  18. }

conversation。transfer。却下済み

このイベントにサブスクライブすると、転送されたチャットがオペレーターによって却下されたときに通知を受け取ることができます。

データの内容:
  1. {
  2. 'rejected_by': {
  3. '種類': 'auto | manual',
  4. '名前': 'Patricia',
  5. 'id': '30000000000006',
  6. 'email_id': 'patricia@zylker.com'
  7. },
  8. 'question': 'Hi, i need some assistance in buying a dining set',
  9. 'department_id': '30000000000018',
  10. 'id': '30000000158001',
  11. 'visitor': {
  12. 'email_id': 'tricia@zylker.com',
  13. '電話番号': '1234354',
  14. '名前': 'Tricia',
  15. '種類': '連絡先',
  16. 'id': '30000000090034'
  17. },
  18. 'visitor_conversation_id': '2d665c42a02e919ac0f91f62fa78581d'
  19. }

conversation。参加者。added

このイベントにサブスクライブすると、チャットに参加者が招待されたときに通知を受け取ることができます。

データの内容:
  1. {
  2. 'question': 'こんにちは。ダイニングセットの購入について相談したいです',
  3. 'department_id': '30000000000018',
  4. 'id': '30000000095001',
  5. 'invite': {
  6. 'メモ': 'asdfqsf',
  7. 'added_by': {
  8. '名前': 'patricia@zylker.com',
  9. 'id': '30000000099007',
  10. 'email_id': 'patricia@zylker.com'
  11. },
  12. 'added_operators': [
  13. {
  14. '名前': 'Patricia',
  15. 'id': '30000000000006',
  16. 'email_id': 'patricia@zylker.com'
  17. }
  18. ]
  19. },
  20. 'visitor_conversation_id': '2d665c42a02e919ac0f91f62fa78581d',
  21. 'visitor': {
  22. 'email_id': 'tricia@zylker.com',
  23. '電話番号': '1234354',
  24. '名前': 'Tricia',
  25. '種類': '連絡先',
  26. 'id': '30000000090034'
  27. },
  28. '担当者': {
  29. '名前': 'Patricia',
  30. 'id': '30000000000006',
  31. 'email_id': 'patricia@zylker.com'
  32. }
  33. }

conversation。参加者。削除

このイベントに サブスクリプション管理 を行うと、会話から参加者が削除されたときに通知を受け取ることができます。

データの内容:
  1. {
  2. 'question': 'こんにちは。ダイニングセットの購入について相談したいです',
  3. 'department_id': '30000000000018',
  4. 'deleted_by': {
  5. '名前': 'Patricia',
  6. 'id': '30000000000006',
  7. 'email_id': 'patricia@zylker.com'
  8. },
  9. 'deleted_operators': [
  10. {
  11. '名前': 'Patricia+1',
  12. 'id': '30000000000106',
  13. 'email_id': 'patricia@zylker.com'
  14. }
  15. ],
  16. 'visitor': {
  17. 'email_id': 'tricia@zylker.com',
  18. '電話番号': '1234354',
  19. '名前': 'Tricia',
  20. '種類': '連絡先',
  21. 'id': '30000000090034'
  22. },
  23. '担当者': {
  24. '名前': 'Patricia',
  25. 'id': '30000000000006',
  26. 'email_id': 'patricia@zylker.com'
  27. },
  28. 'id': '30000000095001',
  29. 'visitor_conversation_id': '2d665c42a02e919ac0f91f62fa78581d'
  30. }

conversation。supervisor。added

このイベントに サブスクリプション管理 を行うと、チャットにスーパーバイザーが追加されたときに通知を受け取ることができます。

データの内容:
  1. {
  2. 'added_operators': [
  3. {
  4. '名前': 'Patricia',
  5. 'id': '30000000000006',
  6. 'email_id': 'patricia@zylker.com'
  7. }
  8. ],
  9. 'id': '30000000095001',
  10. 'question': 'こんにちは。ダイニングセットの購入について相談したいです',
  11. 'department_id': '30000000000018',
  12. 'visitor': {
  13. 'email_id': 'tricia@zylker.com',
  14. '電話番号': '1234354',
  15. '名前': 'Tricia',
  16. '種類': '連絡先',
  17. 'id': '30000000090034'
  18. },
  19. '担当者': {
  20. '名前': 'Patricia+1',
  21. 'id': '30000000000106',
  22. 'email_id': 'patricia@zylker.com'
  23. },
  24. 'visitor_conversation_id': '2d665c42a02e919ac0f91f62fa78581d'
  25. }

conversation。メッセージ。編集

このイベントに サブスクリプション管理 を行うと、チャット内のメッセージが編集されたときに通知を受け取ることができます。

データの内容:
  1. {
  2. 'id': '8000000005001',
  3. 'メッセージ': {
  4. 'sender': {
  5. '名前': 'Patricia',
  6. 'id': '30000000000006'
  7. },
  8. 'msgid': '1566481170562',
  9. 'text': 'abcc'
  10. },
  11. 'visitor': {
  12. 'email_id': 'tricia@zylker.com',
  13. '電話番号': '1234354',
  14. '名前': 'Tricia',
  15. '種類': '連絡先',
  16. 'id': '30000000090034'
  17. },
  18. '担当者': {
  19. '名前': 'Patricia+1',
  20. 'id': '30000000000106',
  21. 'email_id': 'patricia@zylker.com'
  22. },
  23. 'visitor_conversation_id': '2d665c42a02e919ac0f91f62fa78581d'
  24. }

conversation。メッセージ。削除

チャット内でメッセージが削除された際に通知を受け取りたい場合は、このイベントをサブスクライブできます。

データの内容:
  1. {
  2. 'id': '8000000005001',
  3. 'メッセージ': {
  4. 'sender': {
  5. '名前': 'Patricia',
  6. 'id': '30000000000006'
  7. },
  8. 'msgid': '1566481170562'
  9. },
  10. 'visitor': {
  11. 'email_id': 'tricia@zylker.com',
  12. '電話番号': '1234354',
  13. '名前': 'Tricia',
  14. '種類': '連絡先',
  15. 'id': '30000000090034'
  16. },
  17. '担当者': {
  18. '名前': 'Patricia+1',
  19. 'id': '30000000000106',
  20. 'email_id': 'patricia@zylker.com'
  21. },
  22. 'visitor_conversation_id': '2d665c42a02e919ac0f91f62fa78581d',
  23. }

conversation.metrics

このイベントをサブスクライブすると、会話が終了したタイミングで、その会話のメトリクスやメタデータを含む通知を受け取ることができます。

データの内容:
  1. {
  2. 'entity_type': 'conversation',
  3. 'org_id': '65423290',
  4. 'event': 'conversation。metrics',
  5. 'entity_id': '115844000014120021',
  6. 'attempt': 1,
  7. 'バージョン': '1',
  8. 'app_id': '115844000002965011',
  9. '項目': {
  10. 'inititated_by': 'visitor',
  11. 'question': '12',
  12. 'end_time': '1721653023236',
  13. 'chat_id': '29115',
  14. 'connected_time': '1721653003085',
  15. 'opened_time': '1721652997651',
  16. 'ended_by': 'agent',
  17. 'id': '115844000014120021',
  18. 'metrics': {
  19. 'operator_message_count': '2',
  20. 'visitor_message_count': '3',
  21. 'bot_message_count':'2',
  22. 'info_message_count':'4',
  23. 'system_event_count':'1',
  24. 'average_response_time': '5792',
  25. 'first_response_time': '6105',
  26. 'total_chat_duration': '20151',
  27. 'visitor_waiting_time': '5434',
  28. 'missed_reason':'すべてのオペレーターが対応中です。',
  29. 'bot_pickup_after':'1721652997651',
  30. 'bot_duration':'172165299764',
  31. 'queued_duration':'1721652997751',
  32. 'first_agent_accept_after':'1721652999651',
  33. 'total_operator_duration':'1721652997651',
  34.             
  35. },
  36. '時間': {
  37. 'initiated_time':'1721652997651',
  38. 'connected_time':'1721652997655',
  39. 'bot_pickup_time':'1721652997655',
  40. 'bot_transfer_time':'1721652997687',
  41. 'queue_intime':'1721652997651',
  42. 'queue_outtime':'1721672997651',
  43. 'missed_time':'1721652997653',
  44. 'connected_time':'1721652997651',
  45. 'first_agent_accept_time':'1721652998651',
  46. 'end_time':'1721652998651',
  47. 'last_mail_at','1721652999651'
  48. },
  49. '部署': {
  50. '名前': 'サポート',
  51. 'id': '115844000000002016'
  52. },
  53. 'ブランド': {
  54. '名前': 'Zylker Shop',
  55. 'id': '115844000002965011'
  56. },
  57. 'attender': {
  58. '名前': 'James',
  59. 'id': '115844000003392001',
  60. '種類': 'operator'
  61. },
  62. 'ステータス': 'Attended オンライン'
  63. },
  64. 'event_time': '1721653023413'
  65. }

部署

Webhook には「データ」と「管理」の 2 種類の処理があります。部署イベントは管理イベントです。このイベントをサブスクライブすると、新しい部署がポータル内で作成、更新、または削除された際に通知を受け取ることができます。

部署に関する処理の一覧:
  1. 部署。作成
  2. 部署。削除
  3. 部署。updated

部署。作成

ポータル内で新しい部署が作成されるたびに通知を受け取りたい場合は、このイベントをサブスクライブできます。

  1. データの内容:

  2. {
  3. 'entity_type': '部署',
  4. 'org_id': '55778119',
  5. 'event': '部署.作成',
  6. 'entity_id': '40526000001808025',
  7. 'attempt': 1,
  8. 'バージョン': '1',
  9. '項目': {
  10. 'is_enabled': '真',
  11. 'created_time': '1571032858870',
  12. 'modified_time': '1571032858870',
  13. 'operators': [
  14. '6000000000005'
  15. ],
  16. 'is_system_generated': '無効',
  17. '名前': 'サポート',
  18. 'is_public': '真',
  19. 'email_configurations': {
  20. 'missedchat_recipients': '',
  21. 'cc_recipients': '',
  22. 'is_blockip_mail_enabled': '真',
  23. 'from_email': 'tricia@zylker.com',
  24. 'transcript_recipients': 'tricia@zylker.com',
  25. 'is_feedback_mail_enabled': '真',
  26. 'blockip_recipients': '',
  27. 'feedback_recipients': '',
  28. 'is_missedchat_mail_enabled': '真',
  29. 'is_cc_mail_enabled': '真',
  30. 'is_transcript_mail_enabled': '真'
  31. },
  32. '説明': 'サイト訪問者をサポートするチーム',
  33. 'id': '6000000009015',
  34. 'display_name': 'Zylker-サポート',
  35. 'created_by': '6000000000005'
  36. },
  37. 'event_time': '1567065647511',
  38. 'customer_info': {
  39. '支店': 'California',
  40. 'Band': 'プレミアム'
  41. }
  42. }

部署.削除

このイベントにサブスクライブすると、ポータル内で部署が削除されたときに通知を受け取ることができます。

  1. データの内容:

  2. {
  3. 'entity_type': '部署',
  4. 'org_id': '55778119',
  5. 'event': '部署.削除',
  6. 'entity_id': '40526000001808025',
  7. 'attempt': 1,
  8. 'バージョン': '1',
  9. 'event_time': '1567065647511',
  10. 'customer_info': {
  11. '支店': 'California',
  12. 'Band': 'プレミアム'
  13. }
  14. }

部署.updated

このイベントにサブスクライブすると、部署の詳細が更新されたときに通知を受け取ることができます。
  1. データの内容:
  2. {
  3. 'entity_type': '部署',
  4. 'org_id': '55778119',
  5. 'event': '部署.updated',
  6. 'entity_id': '40526000001808025',
  7. 'attempt': 1,
  8. 'バージョン': '1',
  9. '項目': {
  10. 'is_enabled': '真',
  11. 'created_time': '1571032858870',
  12. 'modified_time': '1571032858870',
  13. 'operators': [
  14. '6000000000005'
  15. ],
  16. 'is_system_generated': '無効',
  17. '名前': 'サポート',
  18. 'is_public': '真',
  19. 'email_configurations': {
  20. 'missedchat_recipients': '',
  21. 'cc_recipients': '',
  22. 'is_blockip_mail_enabled': '真',
  23. 'from_email': 'tricia@zylker.com',,
  24. 'transcript_recipients': 'tricia@zylker.com',
  25. 'is_feedback_mail_enabled': '真',
  26. 'blockip_recipients': '',
  27. 'feedback_recipients': '',
  28. 'is_missedchat_mail_enabled': '真',
  29. 'is_cc_mail_enabled': '真',
  30. 'is_transcript_mail_enabled': '真'
  31. },
  32. '説明': 'サイト訪問者をサポートするチーム',
  33. 'id': '6000000009015',
  34. 'display_name': 'Zylker-サポート',
  35. 'created_by': '6000000000005'
  36. },
  37. 'event_time': '1567065647511',
  38. 'customer_info': {
  39. '支店': 'California',
  40. 'Band': 'プレミアム'
  41. }
  42. }

オペレーター

Webhook には、データ処理と管理処理の 2 種類の処理があります。オペレーターは管理イベントであり、これにサブスクライブすると、オペレーターイベントが実行されたときに通知を受け取ることができます。

オペレーター処理の一覧:
  1. operator.作成
  2. operator.updated
  3. operator.削除
  4. operator.部署.関連付け済み
  5. operator.部署.dissociated

operator.作成

このイベントにサブスクライブすると、新しいオペレーターが組織に追加されるたびに通知を受け取ることができます。

データの内容:
  1. {
  2. 'entity_type': 'operator',
  3. 'org_id': '15188410',
  4. 'event': 'operator.created',
  5. 'entity_id': '115000000029087',
  6. 'attempt': 1,
  7. 'version': '1',
  8. 'data': {
  9. 'email_id': 'patricia@zylker.com',
  10. 'access_levels': [
  11. 'chat',
  12. 'tracking'
  13. ],
  14. 'role': 'Administrator',
  15. 'signature': '2e8132839ffef039e24ab8e162b5b1f1',
  16. 'date_of_birth': '',
  17. 'description': '',
  18. 'language': '',
  19. 'chat_enabled': true,
  20. 'type': 'SalesIQ user',
  21. 'locale': '',
  22. 'confirmed': false,
  23. 'enabled': true,
  24. 'notification': {
  25. 'return_visit': false,
  26. 'new_visit': false
  27. },
  28. 'modified_time': '1596093400214',
  29. 'id': '115000000029087',
  30. 'departments': [
  31. '115000000004001',
  32. '115000000000018'
  33. ],
  34. 'first_name': '',
  35. 'is_owner': false,
  36. 'created_time': '1596093400198',
  37. 'time_format': '12 hours',
  38. 'address': {
  39. 'country': '',
  40. 'pincode': '',
  41. 'city': '',
  42. 'street': '',
  43. 'state': ''
  44. },
  45. 'maximum_concurrent_chat': 'none',
  46. 'image_url': '',
  47. 'mobile': '',
  48. 'last_name': '',
  49. 'time_zone': '',
  50. 'locale_country': '',
  51. 'deleted': false,
  52. 'phone': '',
  53. 'nick_name': 'Patricia',
  54. 'social_media': {
  55. 'Twitter': {
  56. 'profile_url': ''
  57. },
  58. 'linkedin': {
  59. 'profile_url': ''
  60. },
  61. 'enabled': false
  62. },
  63. 'status': 'available'
  64. },
  65. 'event_time': '1596093402483',
  66. 'customer_info': {
  67. 'branch': 'California',
  68. 'Band': 'Premium'
  69. }
  70. }

operator.updated

このイベントにサブスクリプション管理を設定すると、オペレーターの設定が更新されるたびに通知を受け取ることができます。

データの内容:
  1. {
  2. 'entity_type': 'operator',
  3. 'org_id': '15188410',
  4. 'event': 'operator.updated',
  5. 'entity_id': '115000000000094',
  6. 'attempt': 1,
  7. 'バージョン': '1',
  8. '項目': {
  9. 'email_id': 'patricia@zylker.com',
  10. 'access_levels': [
  11. 'chat',
  12. 'tracking'
  13. ],
  14. '役割': 'Administrator',
  15. '署名': '2e8132839ffef039e7eaaa00748b47ec',
  16. 'date_of_birth': '',
  17. '説明': '',
  18. '言語': 'en',
  19. 'chat_enabled': 真,
  20. '種類': 'Salesiq ユーザー',
  21. 'locale': 'en',
  22. 'confirmed': 真,
  23. '有効': 真,
  24. '通知': {
  25. 'return_visit': 無効,
  26. 'new_visit': 無効
  27. },
  28. 'modified_time': '1596092957234',
  29. 'id': '115000000000094',
  30. '部署': [
  31. '115000000000018'
  32. ],
  33. 'first_name': 'Patricia',
  34. '担当者': 無効,
  35. 'created_time': '1594720783132',
  36. 'time_format': '12 時間',
  37. '住所': {
  38. '国': 'us',
  39. 'pincode': '625012',
  40. '市区町村': 'Malibu',
  41. '町名・番地': 'Pacific Coast Highway',
  42. '状態': 'California'
  43. },
  44. 'maximum_concurrent_chat': 'なし',
  45. 'image_url': '',
  46. 'モバイル': '08903694722',
  47. 'last_name': 'Smith',
  48. 'time_zone': 'United 都道府県/California',
  49. 'zuid': '15102744',
  50. 'locale_country': 'us',
  51. '削除': 無効,
  52. '電話番号': '1234567890',
  53. 'nick_name': 'Patricia',
  54. 'social_media': {
  55. 'Twitter': {
  56. 'profile_url': ''
  57. },
  58. 'linkedin': {
  59. 'profile_url': ''
  60. },
  61. '有効': 無効
  62. },
  63. 'ステータス': '利用可能'
  64. },
  65. 'event_time': '1596092957257',
  66. 'customer_info': {
  67. '支店': 'California',
  68. 'Band': 'プレミアム'
  69. }
  70. }

operator.deleted

オペレーターが削除されたときに通知を受け取りたい場合は、このイベントをサブスクライブできます。

データの内容:
  1. {
  2. 'entity_type': 'operator',
  3. 'org_id': '15188410',
  4. 'entity_id': '115000000029087',
  5. 'event': 'operator.deleted',
  6. 'バージョン': '1',
  7. 'attempt': 1,
  8. 'event_time': '1596093526367',
  9. 'customer_info': {
  10. '支店': 'California',
  11. 'Band': 'プレミアム'
  12. }

  13. }

operator.departments.associated

オペレーターが部署に関連付けられたときに毎回通知を受け取りたい場合は、このイベントをサブスクライブできます。
データの内容:
  1. {
  2. 'entity_type': 'operator',
  3. 'org_id': '15188410',
  4. 'event': 'operator.departments.associated',
  5. 'entity_id': '115000000000006',
  6. 'attempt': 1,
  7. 'バージョン': '1',
  8. '項目': {
  9. '部署': [
  10. '115000000004001'
  11. ],
  12. 'id': '115000000000006'
  13. },
  14. 'event_time': '1596094781678',
  15. 'customer_info': {
  16. '支店': 'California',
  17. 'Band': 'プレミアム'
  18. }
  19. }

operator.departments.dissociated

オペレーターが部署から削除されたときに通知を受け取りたい場合は、このイベントをサブスクライブできます。
データの内容:
  1. {
  2. 'entity_type': 'operator',
  3. 'org_id': '15188410',
  4. 'event': 'operator。部署。dissociated',
  5. 'entity_id': '115000000000006',
  6. 'attempt': 1,
  7. 'バージョン': '1',
  8. '項目': {
  9. '部署': [
  10. '115000000004001'
  11. ],
  12. 'id': '115000000000006'
  13. },
  14. 'event_time': '1596094781678',
  15. 'customer_info': {
  16. '支店': 'California',
  17. 'Band': 'プレミアム'
  18. }
  19. }

訪問者

Webhook には、データ処理と管理処理の 2 種類の処理タイプがあります。訪問者はデータイベントであり、このイベントにサブスクライブしておくと、訪問者イベントが実行された際に通知を受け取ることができます。

訪問者処理の一覧:
  1. visitor。updated

visitor。updated

訪問者情報が更新されたときに通知を受け取りたい場合は、このイベントをサブスクライブできます。

ケース 1: リード情報が更新されると、次のデータの内容を受け取ります。

データの内容:
  1. {
  2. 'id': '30000000095001',
  3. '種類': 'lead ',
  4. 'first_name': 'Scott',
  5. 'last_name': 'Smith',
  6. 'modifier': {
  7. '種類': 'operator',
  8. 'email_id': 'patricia@zylker.com',
  9. '名前': 'patricia@zylker.com',
  10. 'id': '30000000099007'
  11. },
  12. 'customer_info': {
  13. '支店': 'California',
  14. 'Band': 'プレミアム'
  15. }
  16. }
ケース 2: リードに連絡先情報が追加されると、次のデータの内容を受け取ります。

Notes
メモ: メールアドレスや電話番号などの情報が初めて入力されると、リードは連絡先に変換されます。

データの内容:
  1. {
  2. 'id': '30000000095001',
  3. '種類': '連絡先',
  4. 'first_name': 'Scott',
  5. 'last_name': 'Smith',
  6. 'email_id': 'scottsmith@zylker.com',
  7. '電話番号': '9123459876',
  8. 'lead': {
  9. 'id': '30000000090034'
  10. },
  11. 'modifier': {
  12. '種類': 'operator',
  13. 'email_id': 'patricia@zylker.com',
  14. '名前': 'patricia@zylker.com',
  15. 'id': '30000000099007'
  16. },
  17. 'customer_info': {
  18. '支店': 'California',
  19. 'Band': 'プレミアム'
  20. }
  21. }
ケース 3: 連絡先の情報が更新されると、次のデータの内容を受け取ります。

データの内容:
  1. {
  2. 'id': '30000000095001',
  3. '種類': '連絡先',
  4. 'first_name': 'Scott',
  5. 'last_name': 'Smith',
  6. 'email_id': 'scottsmith@zylker.com',
  7. '電話番号': '91234598121',
  8. 'modifier': {
  9. '種類': 'operator',
  10. 'email_id': 'patricia@zylker.com',
  11. '名前': 'patricia@zylker.com',
  12. 'id': '30000000099007'
  13. },
  14. 'customer_info': {
  15. '支店': 'California',
  16. 'Band': 'プレミアム'
  17. }
  18. }

Webhook の設定

Webhook を設定するには、
  1. SalesIQ ダッシュボードで、設定 > Developers > Webhook に移動します。
  2. ここでは、管理タブとデータタブで、それぞれポータルベースおよび埋め込みベースの処理を Webhook 経由で追加できます。イベントが発生すると、指定した URL に通知されます。


管理タブでポータルベースの Webhook を追加する方法

管理タブでは、ポータルの操作に基づいて Webhook を作成できます。サブスクライブすると、ポータルイベントが発生するたびに通知されます。新規 Webhook を追加するには、
  1. [追加する] をクリックします。
  2. 呼び出す必要がある URL を入力します。
  3. Webhook に関連付けたい処理を選択します。

  1. 最後に、Webhook を作成 をクリックすると、Webhook が作成されます。
  2. ここで Webhook の仕様も確認できます。


管理タブでポータルベースのWebhookを削除する方法
Webhook を削除するには:
  1. ダッシュボードで削除したい Webhook の上にマウスカーソルを置き、右端に表示される削除アイコンをクリックします。

  1. 確認ポップアップが表示されます。[削除] をクリックすると、Webhook が削除されます。

管理タブで Webhook を有効化/無効化する方法
Webhook を有効化/無効化するには:
  1. 各 Webhook の右端に表示されるトグルボタンをクリックします。
データタブで埋め込みベースの Webhook を追加する方法

データタブ内では、埋め込み操作に基づいた Webhook を作成できます。サブスクリプションにより、埋め込みイベントが発生するたびに通知を受け取ります。新しい Webhook を追加するには、
  1. [追加] をクリックします。
  2. Webhook を作成したい SalesIQ アプリを選択します。

  1. 呼び出す必要がある URL を入力します。
  2. Webhook に関連付けたい処理を選択します。

  1. 最後に、[Webhook を作成] をクリックすると、Webhook が作成されます。
  2. ここで Webhook の手順も確認できます。



データタブで埋め込みベースの Webhook を削除する方法

Webhook を削除するには、
  1. ダッシュボードで削除したい Webhook の上にマウスカーソルを置き、右端に表示される削除アイコンをクリックします。

  1. 確認ポップアップが表示されます。[削除] をクリックすると、Webhook が削除されます。


データタブで Webhook を有効化/無効化する方法

Webhook を有効化/無効化するには、
  1. 各 Webhook の右端に表示されるトグルボタンをクリックします。

ダッシュボード:

Webhook ダッシュボードでは、次の詳細を表示できます:
  1. 失敗: Webhook が失敗した回数
  2. 最終実行: Webhook が最後に実行された日時
  3. App: Webhook が関連付けられているアプリの一覧



    Zoho CRM 管理者向けトレーニング

    「導入したばかりで基本操作や設定に不安がある」、「短期間で集中的に運用開始できる状態にしたい」、「運用を開始しているが再度学び直したい」 といった課題を抱えられているユーザーさまに向けた少人数制のオンライントレーニングです。

    日々の営業活動を効率的に管理し、導入効果を高めるための方法を学びましょう。

    Zoho CRM Training



              Zoho Campaigns Resources

                Zoho WorkDrive Resources




                  • Desk Community Learning Series


                  • Digest


                  • Functions


                  • Meetups


                  • Kbase


                  • Resources


                  • Glossary


                  • Desk Marketplace


                  • MVP Corner


                  • Word of the Day


                  • Ask the Experts









                                  Resources

                                  Videos

                                  Watch comprehensive videos on features and other important topics that will help you master Zoho CRM.



                                  eBooks

                                  Download free eBooks and access a range of topics to get deeper insight on successfully using Zoho CRM.



                                  Webinars

                                  Sign up for our webinars and learn the Zoho CRM basics, from customization to sales force automation and more.



                                  CRM Tips

                                  Make the most of Zoho CRM with these useful tips.