Distribuire le offerte tramite l’API Decisioning decisioning-api
Con la funzione di gestione delle decisioni, puoi creare e fornire esperienze di offerta personalizzate per l’utente finale, per diversi canali e applicazioni utilizzando la logica di business e le regole decisionali. Un’offerta è un messaggio di marketing a cui possono essere associate delle regole che determinano gli utenti idonei per visualizzare l’offerta.
È possibile creare e distribuire offerte effettuando una richiesta POST all'API Decisioning.
Questo tutorial richiede una buona conoscenza delle API, in particolare per quanto riguarda la gestione delle decisioni. Per ulteriori informazioni, consulta la Guida per gli sviluppatori API per la gestione delle decisioni. Questo tutorial richiede anche di avere a disposizione un ID posizionamento e un valore ID decisione univoci. Se non hai acquisito questi valori, consulta i tutorial per creare un posizionamento e creare una decisione.
➡️ Scopri questa funzione nel video
Intestazioni richieste required-headers
La tabella seguente mostra i valori validi che comprendono i campi Content-Type e Accept nell'intestazione della richiesta:
application/vnd.adobe.xdm+json; schema="https://ns.adobe.com/experience/offer-management/decision-response;version=1.0"
application/vnd.adobe.xdm+json; schema="https://ns.adobe.com/experience/offer-management/decision-request;version=1.0"
Bearer {ACCESS_TOKEN}
{IMS_ORG}
{SANDBOX_NAME}
{API_KEY}
- Tutte le richieste che contengono un payload (POST,PUT,PATCH) richiedono l’intestazione content-type
richiesta API request
Formato API
POST /{ENDPOINT_PATH}/decisions
{ENDPOINT_PATH}
https://platform.adobe.io/data/core/ods
Richiesta
curl -X POST \
'https://platform.adobe.io/data/core/ods/decisions' \
-H 'Accept: application/vnd.adobe.xdm+json; schema="https://ns.adobe.com/experience/offer-management/decision-response;version=1.0"' \
-H 'Content-Type: application/vnd.adobe.xdm+json; schema="https://ns.adobe.com/experience/offer-management/decision-request;version=1.0"'
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {IMS_ORG}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
-d '{
"xdm:propositionRequests": [
{
"xdm:placementId": "xcore:offer-placement:ffed0456",
"xdm:activityId": "xcore:offer-activity:ffed0123",
"xdm:itemCount": 2
},
{
"xdm:placementId": "xcore:offer-placement:ffed0012",
"xdm:activityId": "xcore:offer-activity:fffc0789"
}
],
"xdm:profiles": [
{
"xdm:identityMap": {
"SWCUSTID": [
{
"xdm:id": "123@abc.com"
}
]
},
"xdm:decisionRequestId": "0AA00002-0000-1224-c0de-cjf98Csj43"
}
],
"xdm:allowDuplicatePropositions": {
"xdm:acrossActivities": true,
"xdm:acrossPlacements": true
},
"xdm:mergePolicy": {
"xdm:id": "5f3ed32f-eaf1-456c-b0f0-7b338c4cb18a"
},
"xdm:responseFormat": {
"xdm:includeContent": true,
"xdm:includeMetadata": {
"xdm:activity": [
"name"
],
"xdm:option": [
"name"
],
"xdm:placement": [
"name"
]
}
}
}'
xdm:propositionRequests
xdm:propositionRequests.xdm:placementId
"xdm:placementId": "xcore:offer-placement:ffed0456"
xdm:propositionRequests.xdm:activityId
"xdm:activityId": "xcore:offer-activity:ffed0123"
xdm:itemCount
"xdm:itemCount": 2
xdm:profiles
xdm:profiles.xdm:identityMap
Email: [{"xdm:id": "123@abc.com"}]
xdm:profiles.xdm:decisionRequestId
"xdm:decisionRequestId": "0AA00002-0000-1224-c0de-cjf98Csj43"
xdm:allowDuplicatePropositions
xdm:allowDuplicatePropositions.xdm:acrossActivities
"xdm:acrossActivities": true
xdm:allowDuplicatePropositions.xdm:acrossPlacements
"xdm:acrossPlacements": true
xdm:mergePolicy.xdm:id
"xdm:id": "5f3ed32f-eaf1-456c-b0f0-7b338c4cb18a"
xdm:responseFormat
xdm:responseFormat.xdm:includeContent
true
, include contenuto nella risposta."xdm:includeContent": true
xdm:responseFormat.xdm:includeMetadata
xdm:id
e repo:etag
vengono restituiti per impostazione predefinita.name
xdm:responseFormat.xdm:activity
xdm:activity
.name
xdm:responseFormat.xdm:option
xdm:option
.name
, characteristics
xdm:responseFormat.xdm:placement
xdm:placement
.name
, channel
, componentType
Risposta
In caso di esito positivo, la risposta restituisce informazioni sulla proposta, incluso l'univoco xdm:propositionId
.
{
"xdm:propositionId": "5d0ffb5e-dfc6-4280-99b6-0bf3131cb8b8",
"xdm:propositions": [
{
"xdm:activity": {
"xdm:id": "xcore:activity:ffed0123",
"repo:etag": 4
},
"xdm:placement": {
"xdm:id": "xcore:placement:ffed0456",
"repo:etag": 1
},
"xdm:options": [
{
"xdm:id": "xcore:personalized-option:ccc0111",
"repo:etag": 3,
"@type": "https://ns.adobe.com/experience/decisioning/content-component-html-template",
"xdm:content": "<html>some html</html>"
},
{
"xdm:id": "xcore:personalized-option:ccc0222",
"repo:etag": 5,
"@type": "https://ns.adobe.com/experience/decisioning/content-component-html-template",
"xdm:content": "<html>hello, world</html>",
"xdm:score": 45.65
}
]
},
{
"xdm:activity": {
"xdm:id": "xcore:activity:ffed0123",
"repo:etag": 4
},
"xdm:placement": {
"xdm:id": "xcore:placement:ffed0789",
"repo:etag": 2
},
"xdm:fallback": {
"xdm:id": "xcore:fallback:ccc0222",
"repo:etag": 5,
"@type": "https://ns.adobe.com/experience/decisioning/content-component-imagelink",
"dc:format": "image/png",
"xdm:deliveryURL": "https://cdn.adobe.com/content/1445323-1134331.png",
"xdm:content": "https://www.adobe.com/index2.html"
}
}
],
"ode:createDate": 1566497582038
}
xdm:propositionId
"xdm:propositionId": "5d0ffb5e-dfc6-4280-99b6-0bf3131cb8b8"
xdm:propositions
options
o una proprietà fallback
. Se presente, la proprietà options
non può essere vuota.xdm:propositions.xdm:activity
"xdm:id": "xcore:activity:ffed0123"
xdm:propositions.xdm:placement
"xdm:id": "xcore:placement:ffed0456"
xdm:propositions.xdm:options
xdm:id": "xcore:personalized-option:ccc0111
xdm:propositions.xdm:options.@type
@type
funge da contratto di elaborazione per il client. Quando l'esperienza viene assemblata, il compositore cercherà i componenti che hanno un tipo specifico.https://ns.adobe.com/experience/offer-management/content-component-imagelink
xdm:propositions.xdm:content
text
, html block
o image link
xdm:score
"xdm:score": 45.65
xdm:propositions.xdm:fallback
"xdm:id": "xcore:fallback:ccc0222"
xdm:propositions.xdm:fallback.dc:format
"dc:format": "image/png"
o "image/jpeg"
xdm:propositions.xdm:fallback.xdm:deliveryURL
https://d37yhxrr0p3l3l.cloudfront.net/0fd0f090-a148-11ea-89e3-f1f2ad52f7e8/urn:aaid:sc:US:a68c86a6-9295-4940-a083-11916b665500/0/40d78a12-f8b6-3f07-8e67-7cb8ae2cc7ec
ode:createDate
"ode:createDate": 1566497582038
Codici di risposta
La tabella seguente elenca tutti i codici che possono essere restituiti nella risposta:
Passaggi successivi next-steps
Seguendo questa guida API, hai creato e consegnato offerte utilizzando l'API Decisions. Per ulteriori informazioni, consulta la panoramica sulla gestione delle decisioni.