Zusätzliche Antworttypen
In Interact können Sie die Methode postEvent in der Interact-API verwenden, um ein Ereignis auszulösen, das eine Aktion "Accept" oder "Reject" für ein Angebot protokolliert. Sie können das System auch erweitern, damit der Aufruf postEvent zusätzliche Antworttypen erfasst, wie z. B. Explore, Consider, Commit oder Fulfill. Alle diese Antworttypen müssen in der Tabelle UA_UsrResponseType in den Campaign-Systemtabellen vorhanden sein. Wenn Sie bestimmte Ereignisparameter mit der Methode postEvent verwenden, können Sie zusätzliche Antworttypen erfassen und festlegen, ob ein Akzeptieren in die Lernfunktion aufgenommen werden soll.
Um zusätzliche Antworttypen zu protokollieren, müssen Sie folgende Ereignisparameter hinzufügen:
*
UACIResponseTypeCode — Eine einen Antworttypcode darstellende Zeichenfolge. Der Wert muss ein gültiger Eintrag in der Tabelle UA_UsrResponseType sein.
Um ein gültiger Eintrag in UA_UsrResponseType zu sein, müssen Sie alle Spalten in der Tabelle definieren, einschließlich CountsAsResponse. Gültige Werte für CountsAsResponse sind 0, 1 oder 2. 0 gibt keine Antwort an, 1 gibt eine Antwort an und 2 gibt eine Ablehnung an. Diese Antworten werden für die Berichterstellung verwendet.
*
UACILogToLearning — Eine Zahl mit dem Wert "1" oder "0". "1" gibt an, dass Interact das Ereignis für die Lernfunktion protokollieren soll. 0 gibt an, dass Interact das Ereignis nicht für die Lernfunktion protokollieren soll. Dieser Parameter ermöglicht es Ihnen, ohne Auswirkung auf die Lernfunktion mehrere postEvent-Methoden zum Protokollieren von verschiedenen Antworttypen zu erstellen. Wenn Sie UACILogToLearning nicht definieren, nimmt Interact den Standardwert von "0" an.
Sie können Folgendes erstellen: mehrere Ereignisse mit der Aktion Angebotsannahme protokollieren, ein Ereignis für jeden Antworttyp, den Sie protokollieren möchten, oder ein einzelnes Ereignis mit der Aktion Angebotsannahme protokollieren, das Sie für jeden postEvent-Aufruf verwenden, mit dem Sie separate Antworttypen protokollieren.
Sie erstellen beispielsweise ein Ereignis mit der Aktion Angebotsannahme protokollieren für jeden Antworttyp. Sie definieren die folgenden benutzerdefinierten Antworten in der Tabelle UA_UsrResponseType [als Name (Code)]: Explore (EXP), Consider (CON) und Commit (CMT). Dann erstellen Sie drei Ereignisse und nennen Sie LogAccept_Explore, LogAccept_Consider und LogAccept_Commit. Alle drei Ereignisse sind identisch (weisen die Aktion Angebotsannahme protokollieren auf), haben jedoch unterschiedliche Namen, sodass die Person, die mit der API arbeitet, sie unterscheiden kann.
Sie können auch ein einzelnes Ereignis mit der Aktion Angebotsakzeptanz protokollieren erstellen, das Sie für alle benutzerdefinierten Antworttypen verwenden. Nennen Sie es beispielsweise LogCustomResponse.
Beim Arbeiten mit der API besteht kein funktionaler Unterschied zwischen den Ereignissen. Die Namenskonventionen können den Code jedoch verständlicher machen. Wenn Sie jede benutzerdefinierte Antwort anders benennen, zeigt der Bericht Aktivitätsübersicht Kanalereignisse auch genauere Informationen an.
Zuerst definieren Sie alle Name/Wert-Paare.
//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);
Dieses erste Beispiel zeigt die Verwendung von einzelnen Ereignissen.
//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);
Dieses zweite Beispiel zeigt die Verwendung nur eines Ereignisses.
//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);
Beide Beispiele führen genau dieselben Aktionen durch, aber eine Version ist möglicherweise lesbarer als die andere.