キャンペーンをAPI経由でトリガーする(クラシック)
概要
Nexthink EngageのAPIを使用すると、プログラム的にキャンペーンをトリガーでき、セルフサービスポータルやチケッティングシステムなど、サードパーティ製品と統合が可能です。
前提条件
APIを通じてキャンペーンをトリガーするには、以下の前提条件があります。
キャンペーンは手動でターゲットユーザーに向けられています。
キャンペーンが公開されています。
キャンペーンは、プロファイルにFinderへアクセスでき、かつ「APIによるキャンペーントリガーへのアクセス」のオプションがチェックされているユーザーに代わってトリガーされます。
Engage APIの呼び出し
Portalは、URLの下にREST APIとしてEngage APIを公開しています。
https://[portal.company.com]/api/campaign/v1/trigger
URLでは、ポータルの外部DNS名を[portal.company.com]
に置き換えてください。
To trigger a manually targeted campaign, submit a POST request to the URL of the API (note that GET requests are not supported, returning a 404 error) with a JSON payload containing two parameters:
CampaignUid
キャンペーンの識別子
UserSids
ユーザー識別子のリスト
EngageのAPIへのリクエストのJSONペイロードの例:
Engage APIへの呼び出しは、Portalに接続しているすべてのEngineに配信され、非同期で実行されるため、リクエストが検証された後、すぐに呼び出しが返されます。 したがって、Portalからの成功応答は、選択されたユーザーがキャンペーン通知を受け取ったことを保証しません。 失敗した応答については、以下のエラー条件のリストを参照してください。
キャンペーンのUIDとユーザーのSIDの取得
キャンペーンのUIDを取得するには:
キャンペーンの編集権限を持つユーザーとしてFinderにログインします。
左側のメニューの キャンペーン セクションで、目的のキャンペーンを見つけます。
キャンペーン名を右クリックします。
エクスポート > クリップボードにキャンペーンUIDを選択します。
ユーザーのSIDを見つける方法は次の通りです。
FinderでユーザーオブジェクトのSIDフィールドを表示します。
NXQLを使用してユーザーオブジェクトのsidフィールドを取得する、例えば:
(select sid (from user))
GetSID APIの呼び出し。
HTTPヘッダー
JSONコンテンツを指定し、基本認証を用いるための以下のHTTPヘッダーを付けて、EngageのAPIにPOSTリクエストを送信します。
Content-type: application/json
Authorization: Basic [base-64(user:password)]
Replace [base-64(user:password)]
with the credentials (in base-64 encoding) of a Nexthink user who has the right to access the API for triggering campaigns.
エラー条件
リクエストに対して問題が発生した場合、Portalは以下のいずれかの回答を送信することがあります。
アクセス拒否
未認証 401
認証エラー
禁止 403
指定されたキャンペーンを実行するための権限が不足しているユーザー
検証エラー
不正なリクエスト 400
Invalid JSON
Invalid encoding
Invalid Content-type
Invalid or missing UID of campaign
Invalid or missing SIDs of users
Unknown or not published campaign
The campaign does not target users manually
Too many user SIDs specified (limited to 12 000 users)
不明なエラー
内部サーバーエラー 500
未定義の内部エラー
静止期間
Engage APIを通じてキャンペーンをトリガーすることは、Finderから手動でトリガーするのと同等です。 したがって、API呼び出しでキャンペーンをトリガーした後の後続のAPI呼び出しは、ユーザーの以前の回答に関係なく、過去にキャンペーンの回答を拒否していたとしても、同じユーザーにキャンペーンを再送信することができます。
しかし、ユーザーを誤ったまたは繰り返しのトリガーから煩わせないように、Engage APIを介してトリガーされたキャンペーンでは、他の手動でトリガーされたキャンペーンと同じ静止期間が適用されます: 2時間。 この間にすでにキャンペーンを受け取ったユーザーは、同じキャンペーンを再び受け取ることはありません。
Engage APIへの呼び出しがオフライン中のユーザーに複数回キャンペーンをトリガーした場合、ユーザーはキャンペーンを1回だけ受信します。
関連タスク
関連項目
Last updated