getOffers
getOffers(String sessionID, String interactionPoint, int numberOfOffers)
El método getOffers permite solicitar ofertas del servidor de ejecución.
*
sessionID — una cadena que identifica la sesión actual.
*
interactionPoint — una cadena que identifica el nombre del punto de interacción al que hace referencia este método.
*
*
numberOfOffers — un entero que identifica el número de ofertas solicitadas.
El método getOffers espera el número de milisegundos definido en la propiedad segmentationMaxWaitTimeInMS a que finalice toda la resegmentación antes de ejecutarse. Por lo tanto, si invoca un método postEvent que desencadena una resegmentación o un método setAudience inmediatamente antes de una llamada getOffers, puede producirse un retardo.
Valor de retorno
El servidor de ejecución responde a getOffers con un objeto de respuesta con los siguientes atributos completados:
*
*
*
*
*
Ejemplo
Este ejemplo muestra la solicitud una oferta individual para el punto de interacción Banner de la página de descripción general 1 y una forma de manejar la respuesta.
sessionID es la misma cadena que identifica la sesión de ejecución utilizada por la llamada startSession que ha iniciado esta sesión.
String interactionPoint = "Overview Page Banner 1";
int numberRequested=1;

/** Realizar la llamada */
response = api.getOffers(sessionId, interactionPoint, numberRequested);

/** Procesar la respuesta según corresponda */
// comprobar si la respuesta es satisfactoria o no
if(response.getStatusCode() == Response.STATUS_SUCCESS)
{
System.out.println("getOffers call processed with no warnings or errors");

/** Comprobar si hay alguna oferta */
OfferList offerList=response.getOfferList();

if(offerList.getRecommendedOffers() != null)
{
for(Offer offer : offerList.getRecommendedOffers())
{
// imprimir oferta
System.out.println("Nombre de oferta:"+offer.getOfferName());
}
}
else // recuento en la cadena de oferta predeterminada
System.out.println("Oferta predeterminada:"+offerList.getDefaultString()); }
else if(response.getStatusCode() == Response.STATUS_WARNING)
{
System.out.println("getOffers call processed with a warning");
}
else
{
System.out.println("getOffers call processed with an error");
}
// Para los errores, deben aparecer mensajes de aviso explicando la causa
if(response.getStatusCode() != Response.STATUS_SUCCESS)
printDetailMessageOfWarningOrError("getOffers",
response.getAdvisoryMessages());