O uso do Offer Decisioning no Adobe Experience Platform Web SDK está disponível com acesso antecipado para usuários selecionados. Essa funcionalidade não está disponível para todas as organizações IMS.
Adobe Experience Platform Web SDK O pode entregar e renderizar ofertas personalizadas que são gerenciadas no Offer Decisioning. É possível criar suas ofertas e outros objetos relacionados usando a interface ou as APIs do Offer Decisioning.
É importante entender a seguinte terminologia ao trabalhar com o Offer Decisioning. Para obter mais informações e exibir termos adicionais, visite o Glossário do Offer Decisioning.
Contêiner: Um contêiner é um mecanismo de isolamento para manter diferentes preocupações separadas. A ID do contêiner é o primeiro elemento de caminho para todas as APIs do repositório. Todos os objetos de decisão residem em um contêiner.
Escopos de decisão: Para o Offer Decisioning, os escopos de decisão são as strings codificadas em Base64 do JSON que contêm as IDs de atividade e posicionamento que você deseja que o serviço offer decisioning use para propor ofertas.
Âmbito de decisão JSON:
{
"activityId":"xcore:offer-activity:11cfb1fa93381aca",
"placementId":"xcore:offer-placement:1175009612b0100c"
}
Sequência de caracteres codificada Base64 do escopo de decisão:
"eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ=="
Você pode copiar o valor do escopo de decisão do Visão geral da atividade na interface do usuário.
Datastreams: Para obter mais informações, leia o datastreams documentação.
Identidade: Para obter mais informações, leia esta documentação descrevendo como O SDK da Web da plataforma usa o Serviço de identidade.
Para ativar o Offer Decisioning, execute as seguintes etapas:
Adobe Experience Platform ativada na sua datastream e marque a caixa "Offer decisioning"
Siga as instruções para instalar o SDK (O SDK pode ser instalado de forma independente ou por meio do Interface do usuário da coleção de dados. Consulte a guia de início rápido das tags) para obter mais informações.
Configurar o SDK para Offer Decisioning. Etapas adicionais específicas do Offer decisioning são fornecidas abaixo.
Instalar o SDK independente
Configure a ação "sendEvent" com seu decisionScopes
alloy("sendEvent", {
...
"decisionScopes": [
"eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTIxYWIwOWMxM2JkZDIyNCIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjEyMWFiMDZhODRkMDViMTEifQ==",
"eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTIxYWIyNWI5NTUwNWIxZiIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjEyMWFiMjFmOTQzMDE0MmIifQ=="
]
})
Instalar o SDK por meio de tags
Instale e configure a extensão SDK da Web da plataforma com o Datastream criado selecionando a configuração na lista suspensa "Datastream". Consulte a documentação em extensões.
Crie o Elementos de dados. No mínimo, você deve criar um Mapa de identidade do SDK da Web da plataforma e um elemento de dados do Objeto XDM do SDK da Web da plataforma.
Crie seu Regras.
Adicione uma ação Platform Web SDK Send Event e adicione o evento relevante decisionScopes
à configuração dessa ação
Criar e publicar uma biblioteca contendo todas as regras, elementos de dados e extensões relevantes que você configurou
decisionScopes
valueSolicitação
{
"events": [
{
"xdm": {
"identityMap": {
"ECID": [
{
"id": "91133425615229052182584359620783097099"
}
]
}
},
"query": {
"personalization": {
"decisionScopes": [
"eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ=="
]
}
}
}
]
}
Propriedade | Obrigatório | Descrição | Limites | Exemplo |
---|---|---|---|---|
identityMap |
Sim | Consulte esta Documentação do Serviço de identidade. | Uma identidade por solicitação. | { "identityMap": { "ECID": [ { "id": "91133425615229052182584359620783097099" } ] } } . Observação: Os usuários não precisam incluir a variável ECID na chamada da API. Esse parâmetro é adicionado automaticamente à chamada , se necessário. |
decisionScopes |
Sim | Uma matriz de strings codificadas em Base64 do JSON que contém as IDs de atividade e posicionamento. | Máximo 30 decisionScopes por solicitação. |
"decisionScopes": ["eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ=="] |
Resposta
{
"requestId": "94c4f2f1-9218-43ce-afd3-eb0d853c5174",
"handle": [
{
"payload": [
{
"id": "2862bb89-5df2-4bc6-85c2-d8f7e1a091de",
"scope": "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ==",
"activity": {
"id": "xcore:offer-activity:11cfb1fa93381aca",
"etag": "2"
},
"placement": {
"id": "xcore:offer-placement:1175009612b0100c",
"etag": "1"
},
"items": [
{
"id": "xcore:personalized-offer:124cc332095cfa74",
"schema": "https://ns.adobe.com/experience/offer-management/content-component-html",
"etag": "1",
"data": {
"id": "xcore:personalized-offer:124cc332095cfa74",
"format": "text/html",
"language": [
"en-US"
],
"content": "<p>20% Off on shipping</p>",
"characteristics": {
"foo": "bar",
"foo1": "bar1"
}
}
}
]
}
],
"type": "personalization:decisions",
"eventIndex": 0
}
]
}
Propriedade | Descrição | Exemplo |
---|---|---|
scope |
O âmbito de decisão que resultou nas ofertas propostas. | "scope": "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ==" |
activity.id |
A ID exclusiva da atividade de oferta. | "id": "xcore:offer-activity:11cfb1fa93381aca" |
placement.id |
A ID exclusiva da disposição da oferta. | "id": "xcore:offer-placement:1175009612b0100c" |
items.id |
A ID da oferta proposta. | "id": "xcore:personalized-offer:124cc332095cfa74" |
schema |
O schema do conteúdo associado à oferta proposta. | "schema": "https://ns.adobe.com/experience/offer-management/content-component-html" |
data.id |
A ID da oferta proposta. | "id": "xcore:personalized-offer:124cc332095cfa74" |
format |
O formato do conteúdo associado à oferta proposta. | "format": "text/html" |
language |
Uma matriz de idiomas associados ao conteúdo da oferta proposta. | "language": [ "en-US" ] |
content |
Conteúdo associado à oferta proposta no formato de uma string. | "content": "<p style="color:red;">20% Off on shipping</p>" |
deliveryUrl |
Conteúdo da imagem associada à oferta proposta no formato de um URL. | "deliveryURL": "https://image.jpeg" |
characteristics |
Características associadas à oferta proposta no formato de um objeto JSON. | "characteristics": { "foo": "bar", "foo1": "bar1" } |
decisionScopes
valuesSolicitação
{
"events": [
{
"xdm": {
"identityMap": {
"ECID": [
{
"id": "91133425615229052182584359620783097099"
}
]
}
},
"query": {
"personalization": {
"decisionScopes": [
"eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ==",
"eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTIyMjA4YjNhODc0MDU1OCIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjEyMjIwNDUyOTUxNGEyYzAifQ==",
"eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTIyYzkxMzg1Mjc2MDE4YyIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjEyMzMxZjU2MTYyYWEyZjcifQ=="
]
}
}
}
]
}
Propriedade | Obrigatório | Descrição | Limites | Exemplo |
---|---|---|---|---|
identityMap |
Sim | Consulte esta Documentação do Serviço de identidade. | Uma identidade por solicitação. | { "identityMap": { "ECID": [ { "id": "91133425615229052182584359620783097099" } ] } } . Observação: Os usuários não precisam incluir a variável ECID na chamada da API. Esse parâmetro é adicionado automaticamente à chamada , se necessário. |
decisionScopes |
Sim | Uma matriz de strings codificadas em Base64 do JSON que contém as IDs de atividade e posicionamento. | Máximo 30 decisionScopes por solicitação. |
"decisionScopes":["eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ==", "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTIyMjA4YjNhODc0MDU1OCIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjEyMjIwNDUyOTUxNGEyYzAifQ==" |
Resposta
{
"requestId": "94c4f2f1-9218-43ce-afd3-eb0d853c5174",
"handle": [
{
"payload": [
{
"id": "a2804dfb-a0ec-4df9-8311-59d3ecdeb642",
"scope": "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MTEyMyIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDExMjMifQ==",
"activity": {
"id": "xcore:offer-activity:11cfb1fa93381123",
"etag": "1"
},
"placement": {
"id": "xcore:offer-placement:1175009612b01123",
"etag": "3"
},
"items": [
{
"id": "xcore:personalized-offer:11e36d4a22954123",
"schema": "https://ns.adobe.com/experience/offer-management/content-component-text",
"etag": "2",
"data": {
"id": "xcore:personalized-offer:11e36d4a22954123",
"format": "text/text",
"language": [
"en"
],
"content": "20% Off on shipping",
"characteristics": {
"foo2": "bar2"
}
}
}
]
},
{
"id": "a2804dfb-a0ec-4df9-8311-59d3ecdeb642",
"scope": "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ==",
"activity": {
"id": "xcore:offer-activity:11cfb1fa93381aca",
"etag": "2"
},
"placement": {
"id": "xcore:offer-placement:1175009612b0100c",
"etag": "1"
},
"items": [
{
"id": "xcore:personalized-offer:11e36d4a2295415d",
"schema": "https://ns.adobe.com/experience/offer-management/content-component-imagelink",
"etag": "1",
"data": {
"id": "xcore:personalized-offer:11e36d4a2295415d",
"format": "image/png",
"language": [
"en"
],
"deliveryURL": "https://image.jpeg",
"characteristics": {
"foo": "bar",
"foo1": "bar1"
}
}
}
]
}
],
"type": "personalization:decisions",
"eventIndex": 0
}
]
}
Propriedade | Descrição | Exemplo |
---|---|---|
scope |
O âmbito de decisão que resultou nas ofertas propostas. | "scope": "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ==" |
activity.id |
A ID exclusiva da atividade de oferta. | "id": "xcore:offer-activity:11cfb1fa93381123" |
placement.id |
A ID exclusiva da disposição da oferta. | "xcore:offer-placement:1175009612b01123" |
items.id |
A ID da oferta proposta. | "id": "xcore:personalized-offer:11e36d4a22954123" |
schema |
O schema do conteúdo associado à oferta proposta. | "schema": "https://ns.adobe.com/experience/offer-management/content-component-text" |
data.id |
A ID da oferta proposta. | "id": "xcore:personalized-offer:11e36d4a22954123" |
format |
O formato do conteúdo associado à oferta proposta. | "format": "text/text" |
language |
Uma matriz de idiomas associados ao conteúdo da oferta proposta. | "language": [ "en-US" ] |
content |
Conteúdo associado à oferta proposta no formato de uma string. | "content": "<p style="color:red;">20% Off on shipping</p>" |
deliveryUrl |
Conteúdo da imagem associada à oferta proposta no formato de um URL. | "deliveryURL": "https://image.jpeg" |
characteristics |
Características associadas à oferta proposta no formato de um objeto JSON. | "characteristics": { "foo": "bar", "foo1": "bar1" } |
No momento, algumas restrições de oferta não são compatíveis com os fluxos de trabalho da borda da experiência móvel, por exemplo, Limitação. O valor do campo Limitação especifica o número de vezes que uma oferta pode ser apresentada em todos os usuários. Para obter mais detalhes, consulte Documentação de regras e restrições de qualificação de oferta.