Uso del Offer decisioning con el SDK web de Platform

NOTA

El uso de Offer decisioning en el SDK web de Adobe Experience Platform está disponible en acceso anticipado para determinados usuarios. Esta funcionalidad no está disponible para todas las organizaciones de IMS.

Adobe Experience Platform Web SDK puede entregar y procesar ofertas personalizadas que se administran en Offer decisioning. Puede crear sus ofertas y otros objetos relacionados mediante la interfaz de usuario (IU) o las API de Offer decisioning.

Requisitos previos

  • La organización IMS está habilitada para la toma de decisiones de Edge
  • Ofertas, actividades creadas
  • Datastream se publica

Terminología

Es importante comprender la siguiente terminología al trabajar con Offer decisioning. Para obtener más información y ver términos adicionales, visite el Glosario de offers decisioning.

  • Contenedor: Un contenedor es un mecanismo de aislamiento para mantener diferentes preocupaciones. El ID de contenedor es el primer elemento de ruta para todas las API de repositorio. Todos los objetos de decisión residen dentro de un contenedor.

  • Ámbitos de decisión: Para el Offer decisioning, los ámbitos de decisión son las cadenas codificadas Base64 de JSON que contienen los ID de actividad y ubicación que desea que utilice el servicio de offer decisioning para proponer ofertas.

    Ámbito de la decisión JSON:

    {
      "activityId":"xcore:offer-activity:11cfb1fa93381aca",
      "placementId":"xcore:offer-placement:1175009612b0100c"
    }
    

    Alcance de la decisión Cadena codificada Base64:

    "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ=="
    
    SUGERENCIA

    Puede copiar el valor del ámbito de decisión del Información general de actividad en la interfaz de usuario.

  • Datastreams: Para obtener más información, lea la datastreams documentación.

  • Identidad: Para obtener más información, lea esta documentación que describe cómo El SDK web de Platform utiliza el servicio de identidad.

Activación del Offer decisioning

Para habilitar el Offer decisioning, realice los pasos siguientes:

  1. Adobe Experience Platform habilitado en su datastream y marque la casilla "Offer decisioning"

    offer-decisioning-edge-config

  2. Siga las instrucciones para instalación del SDK (El SDK se puede instalar de forma independiente o a través del Interfaz de usuario de recopilación de datos. Consulte la guía de inicio rápido de etiquetas) para obtener más información.

  3. Configuración del SDK para el Offer decisioning. A continuación se proporcionan pasos adicionales específicos del Offer decisioning.

    • Instalación del SDK independiente

      1. Configure la acción "sendEvent" con su decisionScopes

         alloy("sendEvent", {
            ...
            "decisionScopes": [
                "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTIxYWIwOWMxM2JkZDIyNCIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjEyMWFiMDZhODRkMDViMTEifQ==",
                "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTIxYWIyNWI5NTUwNWIxZiIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjEyMWFiMjFmOTQzMDE0MmIifQ=="
            ]
         })
        
    • Instalación del SDK mediante etiquetas

      1. Crear una propiedad de etiqueta

      2. Añadir el código de incrustación de

      3. Instale y configure la extensión del SDK web de Platform con el Datastream que ha creado seleccionando la configuración en la lista desplegable "Datastream". Consulte la documentación sobre extensiones.

        install-aep-web-sdk-extension

        configure-aep-web-sdk-extension

      4. Cree los elementos necesarios Elementos de datos. Como mínimo, debe crear un mapa de identidad del SDK web de plataforma y un elemento de datos de objeto XDM del SDK web de plataforma .

        identity-map-data-element

        xdm-object-data-element

      5. Cree su Reglas.

        • Añada una acción de Platform Web SDK Send Event y añada las decisionScopes a la configuración de esa acción

          send-event-action-decisionScopes

      6. Crear y publicar una biblioteca que contiene todas las reglas, elementos de datos y extensiones relevantes que ha configurado

Solicitudes y respuestas de ejemplo

One decisionScopes value

Solicitud

{
  "events": [
    {
      "xdm": {
        "identityMap": {
          "ECID": [
            {
              "id": "91133425615229052182584359620783097099"
            }
          ]
        }
      },
      "query": {
        "personalization": {
          "decisionScopes": [
            "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ=="
          ]
        }
      }
    }
  ]
}
Propiedad Requerido Descripción Límites Ejemplo
identityMap Consulte esta Documentación del servicio de identidad. Una identidad por solicitud. { "identityMap": { "ECID": [ { "id": "91133425615229052182584359620783097099" } ] } }.

Nota: Los usuarios no necesitan incluir el ECID en la llamada de API. Este parámetro se agrega automáticamente a la llamada si es necesario.
decisionScopes Matriz de cadenas codificadas Base64 de JSON que contienen los ID de actividad y ubicación. Máximo 30 decisionScopes por solicitud. "decisionScopes": ["eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ=="]

Respuesta

{
  "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
    }
  ]
}
Propiedad Descripción Ejemplo
scope El ámbito de decisión que dio lugar a las ofertas propuestas. "scope": "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ=="
activity.id ID exclusivo de la actividad de oferta. "id": "xcore:offer-activity:11cfb1fa93381aca"
placement.id ID exclusivo de la ubicación de la oferta. "id": "xcore:offer-placement:1175009612b0100c"
items.id El ID de la oferta propuesta. "id": "xcore:personalized-offer:124cc332095cfa74"
schema Esquema del contenido asociado con la oferta propuesta. "schema": "https://ns.adobe.com/experience/offer-management/content-component-html"
data.id El ID de la oferta propuesta. "id": "xcore:personalized-offer:124cc332095cfa74"
format El formato del contenido asociado con la oferta propuesta. "format": "text/html"
language Matriz de idiomas asociados al contenido de la oferta propuesta. "language": [ "en-US" ]
content Contenido asociado con la oferta propuesta en formato de cadena. "content": "<p style="color:red;">20% Off on shipping</p>"
deliveryUrl Contenido de imagen asociado con la oferta propuesta en formato de URL. "deliveryURL": "https://image.jpeg"
characteristics Características asociadas con la oferta propuesta en el formato de un objeto JSON. "characteristics": { "foo": "bar", "foo1": "bar1" }

Múltiple decisionScopes values

Solicitud

{
  "events": [
    {
      "xdm": {
        "identityMap": {
          "ECID": [
            {
              "id": "91133425615229052182584359620783097099"
            }
          ]
        }
      },
      "query": {
        "personalization": {
          "decisionScopes": [
            "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ==",
            "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTIyMjA4YjNhODc0MDU1OCIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjEyMjIwNDUyOTUxNGEyYzAifQ==",
            "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTIyYzkxMzg1Mjc2MDE4YyIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjEyMzMxZjU2MTYyYWEyZjcifQ=="
          ]
        }
      }
    }
  ]
}
Propiedad Requerido Descripción Límites Ejemplo
identityMap Consulte esta Documentación del servicio de identidad. Una identidad por solicitud. { "identityMap": { "ECID": [ { "id": "91133425615229052182584359620783097099" } ] } }.

Nota: Los usuarios no necesitan incluir el ECID en la llamada de API. Este parámetro se agrega automáticamente a la llamada si es necesario.
decisionScopes Matriz de cadenas codificadas Base64 de JSON que contienen los ID de actividad y ubicación. Máximo 30 decisionScopes por solicitud. "decisionScopes":["eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ==", "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTIyMjA4YjNhODc0MDU1OCIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjEyMjIwNDUyOTUxNGEyYzAifQ=="

Respuesta

{
  "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
    }
  ]
}
Propiedad Descripción Ejemplo
scope El ámbito de decisión que dio lugar a las ofertas propuestas. "scope": "eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTFjZmIxZmE5MzM4MWFjYSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExNzUwMDk2MTJiMDEwMGMifQ=="
activity.id ID exclusivo de la actividad de oferta. "id": "xcore:offer-activity:11cfb1fa93381123"
placement.id ID exclusivo de la ubicación de la oferta. "xcore:offer-placement:1175009612b01123"
items.id El ID de la oferta propuesta. "id": "xcore:personalized-offer:11e36d4a22954123"
schema Esquema del contenido asociado con la oferta propuesta. "schema": "https://ns.adobe.com/experience/offer-management/content-component-text"
data.id El ID de la oferta propuesta. "id": "xcore:personalized-offer:11e36d4a22954123"
format El formato del contenido asociado con la oferta propuesta. "format": "text/text"
language Matriz de idiomas asociados al contenido de la oferta propuesta. "language": [ "en-US" ]
content Contenido asociado con la oferta propuesta en formato de cadena. "content": "<p style="color:red;">20% Off on shipping</p>"
deliveryUrl Contenido de imagen asociado con la oferta propuesta en formato de URL. "deliveryURL": "https://image.jpeg"
characteristics Características asociadas con la oferta propuesta en el formato de un objeto JSON. "characteristics": { "foo": "bar", "foo1": "bar1" }

Limitaciones

Algunas restricciones de oferta actualmente no son compatibles con los flujos de trabajo móviles de Experience Edge, por ejemplo, Restricción. El valor del campo Restricción especifica el número de veces que se puede presentar una oferta en todos los usuarios. Para obtener más información, consulte Documentación de reglas y restricciones de idoneidad para la oferta.

En esta página