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.
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 del tipo di contenuto
richiesta API request
Formato API
POST /{ENDPOINT_PATH}/decisions
{ENDPOINT_PATH}https://platform.adobe.io/data/core/odsRichiesta
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}' \
-H 'x-sandbox-id: {SANDBOX_ID}' \
-H 'x-request-id: e9ac8d7e-3e77-4b38-8726-555ef1737b32-example' \
-d '{
"xdm:propositionRequests": [
{
"xdm:activityId": "dps:offer-activity:15ded04b1786ea27",
"xdm:placementId": "dps:offer-placement:15d9bc01d35e1238"
}
],
"xdm:profiles": [
{
"xdm:identityMap": {
"Email": [
{
"xdm:id": "example@adobe.com",
"primary": true
}
]
}
}
],
"xdm:allowDuplicatePropositions": {
"xdm:acrossActivities": true,
"xdm:acrossPlacements": true
},
"xdm:responseFormat": {
"xdm:includeContent": true,
"xdm:includeMetadata": {
"xdm:activity": [
"name"
],
"xdm:option": [
"name"
],
"xdm:placement": [
"name"
]
}
}
}'
xdm:propositionRequestsxdm:propositionRequests.xdm:placementId"xdm:placementId": "dps:offer-placement:ffed0456"xdm:propositionRequests.xdm:activityId"xdm:activityId": "dps:offer-activity:ffed0123"xdm:itemCount"xdm:itemCount": 2xdm:profilesxdm:profiles.xdm:identityMapEmail: [{"xdm:id": "123@abc.com"}]xdm:profiles.xdm:decisionRequestId"xdm:decisionRequestId": "0AA00002-0000-1224-c0de-cjf98Csj43"xdm:allowDuplicatePropositionsxdm:allowDuplicatePropositions.xdm:acrossActivities"xdm:acrossActivities": truexdm:allowDuplicatePropositions.xdm:acrossPlacements"xdm:acrossPlacements": truexdm:enrichedAudience"xdm:enrichedAudience": truexdm:mergePolicy.xdm:id"xdm:id": "5f3ed32f-eaf1-456c-b0f0-7b338c4cb18a"xdm:responseFormatxdm:responseFormat.xdm:includeContenttrue, include contenuto nella risposta."xdm:includeContent": truexdm:responseFormat.xdm:includeMetadataxdm:id e repo:etag vengono restituiti per impostazione predefinita.namexdm:responseFormat.xdm:activityxdm:activity.namexdm:responseFormat.xdm:optionxdm:option.name, characteristicsxdm:responseFormat.xdm:placementxdm:placement.name, channel, componentTypeRisposta
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": "dps:activity:ffed0123",
"repo:etag": 4
},
"xdm:placement": {
"xdm:id": "dps:placement:ffed0456",
"repo:etag": 1
},
"xdm:options": [
{
"xdm:id": "dps: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": "dps: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": "dps:activity:ffed0123",
"repo:etag": 4
},
"xdm:placement": {
"xdm:id": "dps:placement:ffed0789",
"repo:etag": 2
},
"xdm:fallback": {
"xdm:id": "dps: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:propositionsoptions o una proprietà fallback. Se presente, la proprietà options non può essere vuota.xdm:propositions.xdm:activity"xdm:id": "dps:activity:ffed0123"xdm:propositions.xdm:placement"xdm:id": "dps:placement:ffed0456"xdm:propositions.xdm:optionsxdm:id": "dps:personalized-option:ccc0111xdm: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-imagelinkxdm:propositions.xdm:contenttext, html block o image linkxdm:score"xdm:score": 45.65xdm:propositions.xdm:fallback"xdm:id": "dps:fallback:ccc0222"xdm:propositions.xdm:fallback.dc:format"dc:format": "image/png" o "image/jpeg"xdm:propositions.xdm:fallback.xdm:deliveryURLhttps://d37yhxrr0p3l3l.cloudfront.net/0fd0f090-a148-11ea-89e3-f1f2ad52f7e8/urn:aaid:sc:US:a68c86a6-9295-4940-a083-11916b665500/0/40d78a12-f8b6-3f07-8e67-7cb8ae2cc7ecode:createDate"ode:createDate": 1566497582038Codici 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.