JSON形式
トリガは以下の属性を含むJSONオブジェクトとして表されます。
| 名前 | データ型 | 読み取り専用 | 説明 |
| name | 文字列 | なし | ユーザーの名前 |
| enabled | 整数 | なし | トリガが有効かどうか |
| description | 文字列 | なし | トリガの説明 |
| definition | オブジェクト | なし | トリガの定義詳細については、次の「トリガの定義」を参照してください。 |
トリガの定義
メモ:「トリガの更新」で定義を編集することはできません。
各トリガの詳細については、「トリガ条件とアクションのリファレンス」を参照してください。
トリガは単純にJSONを使って定義されます。各トリガは次の3つのキーを含むJSONオブジェクトです。
| トリガ定義キー | 説明 |
| イベント | (JSON文字列)このトリガがアクティブになるイベントのタイプ。イベントのリストについては、「トリガイベント」を参照してください。 |
| 条件 | (JSONリスト)このトリガがアクションを実行するために満たさなければならない条件。詳しくは、「条件タイプ」を参照してください。 |
| アクション | アクション(JSON List)条件が満たされたときに実行されるアクションのリスト。詳しくは、「トリガアクション」を参照してください。 |
トリガイベント
以下のイベントを使用できます。
| トリガイベント | 説明 |
| page_enter | 訪問者がチャットウィジェットを読み込んだときに発生するイベント。 |
| chat_requested | 訪問者がチャットをリクエストしたときに発生するイベント。 |
| chat_message | 訪問者がチャットメッセージを送信したときに発生するイベント。 |
条件イベント
以下のイベントを使用できます。
| 条件タイプ | 説明 |
| or | いずれかの条件が満たされていることをチェック |
| and | すべての条件が満たされていることをチェック |
条件変数演算子
条件変数には以下の演算子を使用できます。別の変数には演算子を使用できない場合があります。
| 演算子 | 説明 |
| eq | 等しい |
| neq | 等しくない |
| lt | より小さい |
| gt | より大きい |
| lte | 次より小さいか等しい |
| gte | 次より大きいか等しい |
| icontains | 次を含む |
| nicontains | 次を含まない |
| contains | 次を含む(大文字と小文字を区別) |
| ncontains | 次を含まない(大文字と小文字を区別) |
| regex | 正規表現一致(大文字と小文字を区別) |
| iregex | 正規表現 |
条件変数
以下の変数を使用できます。
時間と日付の変数
| タイプ | 説明 |
| @hour_of_day | 時間(UTCタイムゾーン)0~23 |
| @day_of_week | 曜日。0 = 月曜日、6 = 日曜日 |
| @visitor_time_on_page | 訪問者が現在のページを閲覧していた秒数 |
| @visitor_time_on_site | 訪問者があなたのサイトを閲覧していた秒数 |
| stillOnSite | 次の状態を確認するまでの遅延(秒単位) |
| stillOnPage | 次の状態を確認するまでの遅延(秒単位) |
訪問者の場所
| タイプ | 説明 |
| @visitor_ip | 訪問者のIPアドレス(xxx.xxx.xxx.xxx) |
| @visitor_hostname | 訪問者のIPアドレスのホスト名 |
| @visitor_city | 訪問者の在住都市 |
| @visitor_region | 訪問者の在住地域 |
| @visitor_country_code | 訪問者の2文字の国コード |
| @visitor_country_name | 訪問者の在住国 |
前の訪問情報
| タイプ | 説明 |
| @visitor_previous_visits | 訪問者がこれまでアクセスした回数。新規アクセス = 0 |
| @visitor_previous_chats | 訪問者がこれまでエージェントとチャットした回数。新規チャット = 0 |
ページ情報
| タイプ | 説明 |
| @visitor_page_url | 訪問者が現在閲覧中のページのURL |
| @visitor_page_title | 訪問者が現在閲覧中のページのタイトル |
| @visitor_page_count | 訪問者が閲覧したページ数。最初のページ = 1 |
| @referrer | 訪問者が前回アクセスしていたページのURL |
訪問者情報
| タイプ | 説明 |
| @visitor_name | 訪問者の名前 |
| @visitor_email | 訪問者のメールアドレス |
| @visitor_referrer | 訪問者のリファラURL(訪問者があなたのサイトにアクセスしたときの) |
| @visitor_search_engine | リファラの参照検索エンジン(該当する場合) |
| @visitor_search_terms | 参照検索語(該当する場合) |
| @visitor_tags | タグの名前 (「タグを設定」操作で設定) |
| @visitor_triggered | 訪問者がトリガされた場合、'true' (「トリガ済みに設定」操作で設定) |
| @visitor_department_id | 訪問者の部門(「訪問者の部門を設定」またはJavascript APIで設定) |
訪問者のソフトウェア/コンピュータ
| タイプ | 説明 |
| @visitor_user_agent | 訪問者のブラウザのユーザーエージェント文字列 |
| @visitor_browser | 訪問者のブラウザ |
| @visitor_platform | 訪問者のオペレーティングシステム/プラットフォーム |
オンラインステータス
| タイプ | 説明 |
| @account_status | アカウントのステータス(オンライン/離席中/オフライン) |
| @visitor_status | 訪問者のステータス(オンライン/アイドル/オフライン) |
チャット関連情報
| タイプ | 説明 |
| @visitor_requesting_chat | 'true'(訪問者がチャットをリクエストしている場合) |
| @visitor_served | 'true'(訪問者が現在エージェントにより応対されている場合) |
| @department | 訪問者がこのチャットリクエストフォームで選択する部門(名) |
| @visitor_served | 'true'(訪問者が現在エージェントにより応対されている場合) |
| @sender | このメッセージの送信者の名前 |
| @sender_type | 「agent」または「visitor」 |
| @message | 送信中のメッセージ |
トリガの操作
| アクション | パラメータ | 説明 |
| sendMessageToVisitor | エージェントの名前とメッセージ(文字列) | 訪問者にメッセージを送信します |
| setTriggered | True/false(ブール値) | 訪問者に「トリガ済み」のフラグを設定します |
| wait | 期間(秒単位)(数値) | 指定された秒数だけ待機し、訪問者がまだオンラインの場合はリスト内の次のアクションを実行します |
| addTag | タグ名(文字列) | 訪問者にタグ(ダッシュボードの訪問者リストに表示)を追加します。 |
| removeTag | タグ名(文字列) | 訪問者のセッションからタグを削除します |
| banVisitor | 理由(文字列) | 理由のある訪問者を禁止します |
| banIp | 理由(文字列) | 理由のある訪問者のIPアドレスを禁止します |
| setName | 訪問者名(文字列) | 訪問者の名前を設定します |
| setDepartment | 部署ID(番号) | 訪問者の現在の部署を設定します |
| setNote | メモ(文字列) | 訪問者のためのメモ(ダッシュボードに永続的に表示)を設定します |
| appendNote | メモ(文字列) | 訪問者の現在のメモの最後にメモを追加します |
すべてのトリガを取得
GET /api/v2/triggers
アカウントのすべてのトリガを一覧表示します。
許可されるロール:
Owner
Administrator
cURLを使用する
curl https://www.zopim.com/api/v2/triggers \
-v -u {email_address}:{password}
応答の例
HTTP/1.1 200 OK
Content-Type: application/json
[
{
"name" :"Good Trigger",
"enabled" :1,
"description" :"Visitor entered page"
},
{
"name" :"Better Trigger",
"enabled" :1,
"description" :"Visitor requested chat"
}
]
トリガを取得
GET /api/v2/triggers/{trigger_name}
アカウントオーナーや管理者に名前でトリガを取得することを許可します。
許可されるロール:
Owner
Administrator
cURLを使用する
curl https://www.zopim.com/api/v2/triggers/{trigger_name} \
-v -u {email_address}:{password}
応答の例
HTTP/1.1 200 OK
Content-Type: application/json
{
"name" :"Good Trigger",
"enabled" :1,
"description" :"Visitor requested chat",
}
トリガを作成
POST /api/v2/triggers
アカウントオーナーや管理者にトリガをアカウントに追加することを許可します。
許可されるロール:
Owner
Administrator
cURLを使用する
curl https://www.zopim.com/api/v2/triggers \
-d '{
"name" :"Good Trigger",
"enabled" :1,
"description" :"Visitor requested chat"
}' \
-v -u {email_address}:{password} \
-X POST -H "Content-Type: application/json"
応答の例
HTTP/1.1 201 Created
Content-Type: application/json
{
"name" :"Good Trigger",
"enabled" :1,
"description" :"Visitor requested chat",
}
特定のページ/ディレクトリをメッセージの送信先にします
自動メッセージを特定のURLまたはディレクトリに送信します
curl https://www.zopim.com/api/v2/triggers \
-d '{
"name" :"Stripe Shoe",
"enabled" :1,
"description" :"Send discount code for Stripe Shoe",
"definition" :{
"event" :"page_enter",
"condition" :[
"and",
[
"icontains",
"@visitor_page_url",
"stripshoe"
],
[
"stillOnPage",
20
]
],
"actions" :[
[
"sendMessageToVisitor",
"Timmy",
"We have a discount code for you!Use DISCOUNT10 on your next checkout"
]
]
}
}' \
-v -u {email_address}:{password} \
-X POST -H "Content-Type: application/json"
トリガの詳細設定については、アカウントのトリガページにアクセスしてください
トリガの更新
PUT /api/v2/triggers/{trigger_name}
アカウントオーナーや管理者がトリガのデータを更新することを許可します。
Allowed for
Owner
Administrator
cURLを使用する
curl https://www.zopim.com/api/v2/triggers/{trigger_name} \
-d '{
"name" :"Best Trigger",
"description" :"Visitor requested new chat"
}' \
-v -u {email_address}:{password} \
-X PUT -H "Content-Type: application/json"
応答の例
HTTP/1.1 200 OK
Content-Type: application/json
{
"name" :"Best Trigger",
"enabled" :1,
"description" :"Visitor requested new chat",
}
トリガを削除
DELETE /api/v2/triggers/{trigger_name}
アカウントオーナーや管理者にトリガを削除することを許可します。
許可されるロール:
Owner
Administrator
cURLを使用する
curl https://www.zopim.com/api/v2/triggers/{trigger_name} \
-v -u {email_address}:{password} -X DELETE
応答の例
HTTP/1.1 204 OK
Content-Type: application/json