Entregar ofertas usando a API de decisão decisioning-api
Com a Gestão de decisões, você pode criar e fornecer experiências de oferta personalizada de usuários finais, em canais e aplicativos usando lógica de negócios e regras de decisão. Uma oferta é uma mensagem de marketing que pode ter regras associadas que especificam quem está qualificado para ver a oferta.
Você pode criar e entregar ofertas fazendo uma solicitação POST para a API Decisioning.
Este tutorial requer uma compreensão funcional das APIs, especificamente no que diz respeito à Gestão de decisões. Para obter mais informações, consulte o Guia do desenvolvedor da API de Gerenciamento de Decisões. Este tutorial também requer que você tenha uma ID de posicionamento exclusiva e um valor de ID de decisão disponíveis. Se você não adquiriu esses valores, consulte os tutoriais de criação de um posicionamento e criação de uma decisão.
➡️ Descubra este recurso no vídeo
Cabeçalhos obrigatórios required-headers
A tabela a seguir mostra os valores válidos que compõem os campos Content-Type e Accept no cabeçalho da solicitação:
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}
- Todas as solicitações que contêm uma carga (POST,PUT,PATCH) exigem o cabeçalho de tipo de conteúdo
solicitação de API request
Formato da API
POST /{ENDPOINT_PATH}/decisions
{ENDPOINT_PATH}
https://platform.adobe.io/data/core/ods
Solicitação
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
, inclui conteúdo na resposta."xdm:includeContent": true
xdm:responseFormat.xdm:includeMetadata
xdm:id
e repo:etag
serão retornados por padrão.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
Resposta
Uma resposta bem-sucedida retorna informações sobre sua proposta, incluindo a xdm:propositionId
exclusiva.
{
"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 uma propriedade fallback
. Quando presente, a propriedade options
não pode estar vazia.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
atua como o contrato de processamento do cliente. Quando a experiência for montada, o compositor procurará os componentes que tenham um tipo específico.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
Códigos de resposta
A tabela abaixo lista todos os códigos que podem ser retornados na resposta:
Próximas etapas next-steps
Ao seguir este guia de API, você criou e entregou ofertas usando a API Decisions. Para obter mais informações, consulte a visão geral sobre a Gestão de Decisões.