追加のレスポンス・タイプ

Interact では、Interact API の postEvent メソッドを使用して、オファーの「承認」または「拒否」アクションをログに記録するイベントをトリガーできます。また、システムを補完して、postEvent 呼び出しが追加のレスポンス・タイプ (参照、考慮、確定、調達など) を記録できるようにすることができます。

これらのレスポンス・タイプはすべて、Campaign システム・テーブルの UA_UsrResponseType テーブル内に存在する必要があります。特定のイベント・パラメーターを postEvent メソッドに使用することで、追加のレスポンス・タイプを記録し、承認が学習に含まれている必要があるかどうかを定義できます。また、1 つのコンタクトに対し複数のレスポンス (承認/拒否) を送付しないことが推奨されます。誤った学習スコアになる可能性があるからです。

追加のレスポンス・タイプをログに記録するには、以下のイベント・パラメーターを追加する必要があります。

「オファー承認をログに記録」アクションで複数のイベント (ログに記録するレスポンス・タイプごとに 1 つ) を作成するか、あるいは「オファー承認をログに記録」アクションを使用して単一のイベントを作成し、異なる複数のレスポンス・タイプをログに記録するために使用するすべての postEvent 呼び出しに使用することができます。

例えば、レスポンスのタイプごとに、「オファー承認をログに記録」アクションでイベントを作成します。UA_UsrResponseType テーブルの [名前 (コード)] で次のカスタム・レスポンスを定義します。「参照 (EXP)」、「考慮 (CON)」、および「確定 (CMT)」。その後、3 つのイベントを作成し、それらに LogAccept_Explore、LogAccept_Consider、および LogAccept_Commit という名前を付けます。3 つのイベントはすべて (「オファー承認をログに記録」アクションを持つ) 完全に同じものですが、名前が異なるため、その API を使用して作業を行うユーザーは、それらを区別することができます。

また、「オファー承認をログに記録」アクションで単一のイベントを作成して、すべてのカスタム・レスポンス・タイプに使用することもできます。これには、例えば LogCustomResponse という名前を付けます。

この API を使用して作業を行う場合、それらのイベントに機能的な違いはありませんが、この命名規則によってコードがより明確になる場合があります。また、それぞれのカスタム・レスポンスに別個の名前を付けると、「チャネル・イベント・アクティビティー・サマリー」レポートに表示される情報が、より正確になります。

まず、すべての名前と値のペアをセットアップします。

//Define name value pairs for the UACIResponseTypeCode 
// Response type Explore 
NameValuePair responseTypeEXP = new NameValuePairImpl();
responseTypeEXP.setName("UACIResponseTypeCode");
responseTypeEXP.setValueAsString("EXP");
responseTypeEXP.setValueDataType(NameValuePair.DATA_TYPE_STRING);
 
// Response type Consider
NameValuePair responseTypeCON = new NameValuePairImpl(); 
responseTypeCON.setName("UACIResponseTypeCode");
responseTypeCON.setValueAsString("CON");
responseTypeCON.setValueDataType(NameValuePair.DATA_TYPE_STRING);
 
// Response type Commit
NameValuePair responseTypeCMT = new NameValuePairImpl(); 
responseTypeCMT.setName("UACIResponseTypeCode");
responseTypeCMT.setValueAsString("CMT");
responseTypeCMT.setValueDataType(NameValuePair.DATA_TYPE_STRING);
 
//Define name value pairs for UACILOGTOLEARNING 
//Does not log to learning 
NameValuePair noLogToLearning = new NameValuePairImpl();
noLogToLearning.setName("UACILOGTOLEARNING");
noLogToLearning.setValueAsString("0");
noLogToLearning.setValueDataType(NameValuePair.DATA_TYPE_NUMERIC);
 
//Logs to learning
NameValuePair LogToLearning = new NameValuePairImpl(); 
LogToLearning.setName("UACILogToLearning");
LogToLearning.setValueAsString("1");
LogToLearning.setValueDataType(NameValuePair.DATA_TYPE_NUMERIC);

この 1 つ目の例は、個々のイベントを使用する場合を示しています。

//EXAMPLE 1: This set of postEvent calls use the individually named events 
//PostEvent with an Explore response 
NameValuePair[] postEventParameters = { responseTypeEXP, noLogToLearning }; 
response = api.postEvent(sessionId, LogAccept_Explore, postEventParameters);
 
//PostEvent with a Consider response
NameValuePair[] postEventParameters = { responseTypeCON, noLogToLearning }; 
response = api.postEvent(sessionId, LogAccept_Consider, postEventParameters);
 
//PostEvent with a Commit response
NameValuePair[] postEventParameters = { responseTypeCOM, LogToLearning }; 
response = api.postEvent(sessionId, LogAccept_Commit, postEventParameters);

この 2 つ目の例は、単一のイベントのみを使用する場合を示しています。

//EXAMPLE 2: This set of postEvent calls use the single event 
//PostEvent with an Explore response 
NameValuePair[] postEventParameters = { responseTypeEXP, noLogToLearning }; 
response = api.postEvent(sessionId, LogCustomResponse, postEventParameters);
 
//PostEvent with a Consider response
NameValuePair[] postEventParameters = { responseTypeCON, noLogToLearning }; 
response = api.postEvent(sessionId, LogCustomResponse, postEventParameters);
 
//PostEvent with a Commit response
NameValuePair[] postEventParameters = { responseTypeCOM, LogToLearning }; 
response = api.postEvent(sessionId, LogCustomResponse, postEventParameters);

どちらの例も、完全に同じアクションを実行していますが、片方がもう 1 つの方よりも読みやすくなる場合があります。