adobe.target.getOffer(options)
이 함수는 Target 오퍼를 가져오는 요청을 실행합니다.
adobe.target.applyOffer()
와 함께 사용하여 응답을 처리하거나 자체적인 성공 처리를 사용할 수 있습니다. 옵션 매개 변수는 필수이며 다음 구조를 갖습니다.
Mbox 매개 변수입니다. 다음 구조를 가진 키 - 값 쌍의 개체입니다.
{ "param1": "value1", "param2": "value2"}
서버에서 응답을 받았을 때 실행할 콜백입니다. 성공 콜백 함수는 오퍼 개체의 배열을 나타내는 단일 매개 변수를 수신합니다. 다음은 성공 콜백 예입니다.
function handleSuccess(response){......}
자세한 내용은 아래 응답을 참조하십시오.
오류가 발생한 경우 실행할 콜백입니다. 오류가 있는 것으로 간주되는 몇 가지 경우가 있습니다.
- HTTP 상태 코드가 200 정상이 아닙니다.
- 응답을 구문 분석할 수 없습니다. 예를 들어, JSON이 잘못 구성되었거나 JSON 대신 HTML이 구성되었습니다.
- 응답에 "오류" 키가 포함되어 있습니다. 예를 들어, 요청을 제대로 처리할 수 없다는 예외가 에지에서 발생했습니다. mbox가 차단되어 컨텐츠를 검색할 수 없는 등의 경우 오류가 발생했습니다. 오류 콜백 함수는 두 개의 매개 변수(status 및 error)를 수신합니다. 오류 콜백 예제는 다음과 같습니다.
function handleError(status, error){......}
자세한 내용은 오류 응답을 참조하십시오.
시간 초과(밀리 초)입니다. 지정하지 않으면 at.js의 기본 시간 초과가 사용됩니다.
Administration > Implementation 아래의 Target UI에서 기본 시간 제한을 설정할 수 있습니다.
예
getOffer()을(를) 사용하여 매개 변수를 추가하고 applyOffer()을(를) 사용하여 성공 처리:
adobe.target.getOffer({
"mbox": "target-global-mbox",
"params": {
"a": 1,
"b": 2
},
"success": function(offer) {
adobe.target.applyOffer( {
"mbox": "target-global-mbox",
"offer": offer
} );
},
"error": function(status, error) {
console.log('Error', status, error);
}
});
getOffer()을(를) 사용하여 매개 변수 및 프로필 매개 변수를 추가하고 applyOffer()을(를) 사용하여 성공 처리:
adobe.target.getOffer({
"mbox": "target-global-mbox",
"params": {
"a": 1,
"b": 2,
"profile.age": 27,
"profile.gender": "male"
},
"success": function(offer) {
adobe.target.applyOffer( {
"mbox": "target-global-mbox",
"offer": offer
} );
},
"error": function(status, error) {
console.log('Error', status, error);
}
});
getOffer()에서 사용자 지정 시간 제한 및 사용자 지정 성공 처리 사용:
"YOUR_OWN_CUSTOM_HANDLING_FUNCTION"은 고객이 정의하는 함수의 자리 표시자입니다.
adobe.target.getOffer({
"mbox": "target-global-mbox",
"success": function(offer) {
YOUR_OWN_CUSTOM_HANDLING_FUNCTION(offer);
},
"error": function(status, error) {
console.log('Error', status, error);
},
"timeout": 2000
});
응답
성공 콜백에 전달되는 응답 매개 변수는 작업의 배열입니다. 작업은 개체로, 일반적으로 다음 형식을 갖습니다.
예
{
"sessionId": "1444512212156-384616",
"tntId": "1444512212156-384616.17_35",
"offers": [{
"plugins": ["<script type=\"text/javascript\">\r\n/*mboxHighlight+ (1of2) v1 ==> Response Plugin*/\r\nwindow.ttMETA=(typeof(window.ttMETA)!='undefined')?window.ttMETA:[];window.ttMETA.push({'mbox':'target-global-mbox','campaign':'at: redirect ootb','experience':'Experience B','offer':'/at_redirect_ootb/experiences/1/pages/0/1442082890250'});window.ttMBX=function(x){var mbxList=[];for(i=0;i<ttMETA.length;i++){if(ttMETA[i].mbox==x.getName()){mbxList.push(ttMETA[i])}}return mbxList[x.getId()]}\r\n</script>"],
"actions": {
"content": [{
"passMboxSession": false,
"selector": "body",
"action": "redirect",
"url": "https://example.com/04.html",
"includeAllUrlParameters": true
}]
}
}]
}
오류 응답
오류 콜백에 전달되는 "status" 및 "error" 매개 변수의 형식은 다음과 같습니다.
오류 상태를 나타냅니다. 이 매개 변수는 다음 값을 가질 수 있습니다.
- timeout: 요청 시간이 초과되었음을 나타냅니다.
- parseerror: 응답을 구문 분석할 수 없음을 나타냅니다. JSON 대신 HTML 또는 일반 텍스트가 수신된 경우가 여기에 해당됩니다.
- error: 200 정상이 아닌 HTTP 상태가 수신된 것과 같은 일반적인 오류를 나타냅니다.