Diffuser des offres à l’aide de l’API Decisioning decisioning-api
Avec la gestion des décisions, vous pouvez créer et proposer des expériences d'offre personnalisées aux utilisateurs finaux par le biais de canaux et des applications en s'appuyant sur une logique métier et des règles de décision.
Une offre est un message marketing auquel des règles peuvent être associées et qui spécifie qui est éligible pour voir l'offre.
Vous pouvez créer et diffuser des offres en effectuant une requête POST à l'API Decisioning.
Ce tutoriel nécessite une bonne compréhension des API, tout particulièrement en ce qui concerne la gestion des décisions.
Pour plus d'informations, consultez le Guide de l'API de gestion des décisions destiné aux développeurs.
Ce tutoriel nécessite aussi que vous disposiez d'un identifiant d'emplacement et d'un identifiant de décision uniques. Si vous ne disposez pas de ces valeurs, consultez les tutoriels sur la création d'un emplacement et la création d'une décision.
En-têtes requis required-headers
Le tableau suivant montre les valeurs valides qui comprennent les champs Content-Type et Accept dans l'en-tête de la requête :
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}- Toutes les requêtes contenant une payload (POST, PUT, PATCH) nécessitent l’en-tête de type de contenu.
Requête API request
Format d’API
POST /{ENDPOINT_PATH}/decisions
{ENDPOINT_PATH}https://platform.adobe.io/data/core/odsRequête
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, inclut le contenu de la réponse."xdm:includeContent": truexdm:responseFormat.xdm:includeMetadataxdm:id et repo:etag sont renvoyés par défaut.namexdm:responseFormat.xdm:activityxdm:activity.namexdm:responseFormat.xdm:optionxdm:option.name, characteristicsxdm:responseFormat.xdm:placementxdm:placement.name, channel, componentTypeRéponse
Une réponse réussie renvoie des informations sur votre proposition, y compris son unique 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 ou fallback. Lorsqu'elle est présente, la propriété options ne peut pas être vide.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 agit en tant que contrat de traitement pour le client. Une fois l'expérience assemblée, le compositeur recherche le ou les composants ayant un type spécifique.https://ns.adobe.com/experience/offer-management/content-component-imagelinkxdm:propositions.xdm:contenttext, html block ou 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" ou "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": 1566497582038Codes de réponse
Le tableau ci-dessous répertorie tous les codes qui peuvent être renvoyés dans la réponse :
Étapes suivantes next-steps
En suivant ce guide d'API, vous avez créé et diffusé des offres à l'aide de l'API Decisions. Pour plus d'informations, consultez la présentation de la gestion des décisions.