Tipos de respuesta adicionales
En Interact, puede utilizar el método postEvent en la API de Interact para desencadenar un evento que registra una acción "aceptar" o "rechazar" para una oferta. También puede aumentar el sistema para que la llamada postEvent pueda registrar tipos de respuesta adicionales como, por ejemplo, Explorar, Considerar, Confirmar o Cumplir. Todos estos tipos de respuesta deben existir en la tabla UA_UsrResponseType en las tablas del sistema de Campaign. Utilizando parámetros de evento específicos en el método postEvent, puede registrar tipos de respuesta adicionales y definir si debe incluirse una aceptación en el aprendizaje.
Para registrar tipos de respuesta adicionales, debe añadir los siguientes parámetros de evento:
*
UACIRESPONSETYPECODE — una cadena que representa un código de tipo de respuesta. El valor debe ser una entrada válida en la tabla UA_UsrResponseType.
Para que sea una entrada válida en UA_UsrResponseType, debe definir todas las columnas de la tabla, incluida CountsAsResponse. Los valores válidos para CountsAsResponse son 0, 1, o 2. 0 indica que no hay respuesta, 1 indica una respuesta y 2 indica un rechazo. Estas respuestas se utilizan para la creación de informes.
*
UACILOGTOLEARNING — Un número con el valor 1 ó 0. El valor 1 indica que Interact debe registrar el evento como una aceptación de aprendizaje. El valor 0 indica que Interact no debe registrar el evento de aprendizaje. Este parámetro permite crear varios métodos postEvent que registran distintos tipos de respuesta sin influir en el aprendizaje. Si no define UACILOGTOLEARNING, Interact utiliza el valor predeterminado 0.
Si lo desea, puede crear varios eventos con la acción Registrar aceptación de oferta, uno para cada tipo de respuesta que desee registrar, o un solo evento con la acción Registrar aceptación de oferta que utiliza para cada llamada postEvent utilizada para registrar tipos de respuesta diferentes.
Por ejemplo, cree un evento con la acción Registrar aceptación de oferta para cada tipo de respuesta. Defina las siguientes propiedades personalizadas en la tabla UA_UsrResponseType [como Nombre (código)]: Explorar (EXP), Considerar (CON) y Confirmar (CMT). A continuación, cree tres eventos y denomínelos LogAccept_Explore, LogAccept_Consider y LogAccept_Commit. Los tres eventos son exactamente el mismo (tienen la acción Registrar aceptación de oferta), pero los nombres son diferentes, para que la persona que trabaja con la API pueda distinguirlos.
O bien, puede crear un solo evento con la acción Registrar aceptación de oferta que utiliza para todos los tipos de respuesta personalizados. Por ejemplo, denomínelo LogCustomResponse.
Cuando trabaja con la API, no hay ninguna diferencia funcional entre los eventos, pero los convenios de denominación pueden clarificar el código. Asimismo, si asigna a cada respuesta personalizada un nombre diferente, el informe Resumen de actividad de eventos de canal muestra información más precisa.
En primer lugar, configure todos los pares nombre-valor
//Definir pares de nombre y valor para UACIRESPONSETYPECODE
// Tipo de respuesta Explore
NameValuePair responseTypeEXP = new NameValuePairImpl();
responseTypeEXP.setName("UACIRESPONSETYPECODE");
responseTypeEXP.setValueAsString("EXP");
responseTypeEXP.setValueDataType(NameValuePair.DATA_TYPE_STRING);

// Tipo de respuesta Consider
NameValuePair responseTypeCON = new NameValuePairImpl();
responseTypeCON.setName("UACIRESPONSETYPECODE");
responseTypeCON.setValueAsString("CON");
responseTypeCON.setValueDataType(NameValuePair.DATA_TYPE_STRING);

// Tipo de respuesta Commit
NameValuePair responseTypeCMT = new NameValuePairImpl();
responseTypeCMT.setName("UACIRESPONSETYPECODE");
responseTypeCMT.setValueAsString("CMT");
responseTypeCMT.setValueDataType(NameValuePair.DATA_TYPE_STRING);

//Definir pares de nombre y valor para UACILOGTOLEARNING
//No se registra en el aprendizaje
NameValuePair noLogToLearning = new NameValuePairImpl();
noLogToLearning.setName("UACILOGTOLEARNING");
noLogToLearning.setValueAsString("0");
noLogToLearning.setValueDataType(NameValuePair.DATA_TYPE_NUMERIC);

//Se registra en el aprendizaje
NameValuePair LogToLearning = new NameValuePairImpl();
LogToLearning.setName("UACILOGTOLEARNING");
LogToLearning.setValueAsString("1");
LogToLearning.setValueDataType(NameValuePair.DATA_TYPE_NUMERIC);
Este primer ejemplo muestra cómo utilizar los eventos individuales.
//EJEMPLO 1: Este conjunto de llamadas postEvent utilizan los eventos
denominados individualmente
//PostEvent con una respuesta Explore
NameValuePair[] postEventParameters = { responseTypeEXP, noLogToLearning };
response = api.postEvent(sessionId, LogAccept_Explore, postEventParameters);

//PostEvent con una respuesta Consider
NameValuePair[] postEventParameters = { responseTypeCON, noLogToLearning };
response = api.postEvent(sessionId, LogAccept_Consider, postEventParameters);

//PostEvent con una respuesta Commit
NameValuePair[] postEventParameters = { responseTypeCOM, LogToLearning };
response = api.postEvent(sessionId, LogAccept_Commit, postEventParameters);
Este segundo ejemplo muestra cómo utilizar un solo evento.
//EJEMPLO 2: Este conjunto de llamadas postEvent utilizan un solo evento
//PostEvent con una respuesta Explore
NameValuePair[] postEventParameters = { responseTypeEXP, noLogToLearning };
response = api.postEvent(sessionId, LogCustomResponse, postEventParameters);

//PostEvent con una respuesta Consider
NameValuePair[] postEventParameters = { responseTypeCON, noLogToLearning };
response = api.postEvent(sessionId, LogCustomResponse, postEventParameters);

//PostEvent con una respuesta Commit
NameValuePair[] postEventParameters = { responseTypeCOM, LogToLearning };
response = api.postEvent(sessionId, LogCustomResponse, postEventParameters);
Ambos ejemplos realizan exactamente las mismas acciones, sin embargo, una versión puede ser más fácil de leer que la otra.