Obtenir des offres pour des points d'interaction multiples
La méthode getOffersForMultipleInteractionPoints vous permet de demander des offres à partir du serveur d'exécution pour plusieurs points d'interaction avec dédoublonnage.
function callGetOffersForMultipleInteractionPoints(commandsToExecute, callback) {
var ssId = document.getElementById('gop_sessionId').value;
var requestDetailsStr = document.getElementById('requestDetail').value;
//trim string
var trimmed = requestDetailsStr.replace(/\{/g, "");
var parts = trimmed.split("}");
//sanitize strings
for(i = 0; i < parts.length; i += 1) {
parts[i] = parts[i].replace(/^\s+|\s+$/g, "");
}
//build get offer requests
var getOffReqs = [];
for(var i = 0; i < parts.length; i += 1) {
var getofReqObj = parseGetOfferReq(parts[i]);
if (getofReqObj) {
getOffReqs.push(getofReqObj);
InteractAPI.getOffersForMultipleInteractionPoints
(ssId, getOffReqs, callback);
}session ID - Chaîne identifiant la session en cours.
requestDetailsStr - Chaîne fournissant un tableau d'objets GetOfferRequest.
Chaque objet GetOfferRequest spécifie ce qui suit :
- ipName - Nom du point d'interaction (IP) pour lequel l'objet demande des offres.
- numberRequested - Nombre d'offres uniques nécessaires pour le point d'interaction indiqué.
- offerAttributes - Configuration requise pour les attributs des offres distribuées à l'aide d'une instance OfferAttributeRequirements
duplicationPolicy - ID de stratégie de duplication pour les offres à distribuer.
Les règles de duplication déterminent si les offres en double seront renvoyées dans différents points d'interaction dans un seul appel de méthode. (Dans un point d'interaction individuel, les offres en double ne sont jamais renvoyées). Actuellement, deux règles de duplication sont prises en charge.
- NO_DUPLICATION (valeur d'ID = 1). Aucune des offres incluses dans les instances précédentes de GetOfferRequest ne seront inclues dans cette instance de GetOfferRequest (c'est-à-dire que Unica Interact appliquera le dédoublonnage).
- ALLOW_DUPLICATION (valeur ID = 2). Toutes les offres répondant aux exigences indiquées dans cette instance de GetOfferRequest seront incluses. Les offres qui ont été inclus dans les précédentes instances de GetOfferRequest ne seront pas rapprochées.
- callback - Si la méthode aboutit, la fonction de rappel appelle onSuccess. Si elle échoue, la fonction de rappel appelle onError.
L'ordre des demandes dans le paramètre de tableau est également l'ordre de préséance lorsque des offres sont en cours de distribution.
Par exemple, supposons que les points d'interaction dans la demande sont IP1, puis IP2, qu'aucune offre en double n'est autorisée (ID de règle de duplication = 1), et que chacun demande deux offres. Si Unica Interact propose A, B et C à IP1 et A et D à IP2, la réponse contiendra les offres A et B pour IP1, et seulement l'offre D pour IP2.
Notez également que lorsque l'ID de règle de dédoublonnage est 1, les offres distribuées via un point d'interaction ayant une priorité plus élevée ne seront pas distribuées via ce point d'interaction.
La méthode getOffersForMultipleInteractionPoints attend le nombre de millisecondes défini dans la propriété segmentationMaxWaitTimeInMS afin de permettre à toute la re-segmentation de se terminer avant de s'exécuter. Par conséquent, si vous appelez une méthode postEvent qui déclenche une resegmentation ou appelez une méthode setAudience juste avant un appel getOffers, il peut y avoir un retard.
Valeur de retour
Le serveur d'exécution répond à getOffersForMultipleInteractionPoints à l'aide d'un objet de réponse dans lequel les attributs suivants sont renseignés :
- AdvisoryMessages
- ApiVersion
- Array of OfferList
- Profil
- ID session
- StatusCode