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.
➡️ Découvrez cette fonctionnalité en vidéo
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/ods
Requê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}'
-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
, inclut le contenu de la réponse."xdm:includeContent": true
xdm:responseFormat.xdm:includeMetadata
xdm:id
et repo:etag
sont renvoyés par défaut.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
Ré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": "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
ou fallback
. Lorsqu'elle est présente, la propriété options
ne peut pas être vide.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
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-imagelink
xdm:propositions.xdm:content
text
, html block
ou 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"
ou "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
Codes 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.