Coincidencia automática personalizada

Si la estrategia de coincidencia automática predeterminada (coincidencia automática OOTB) no está alineada con los requisitos comerciales específicos, seleccione la opción de coincidencia personalizada. Esta opción admite el uso de Adobe Developer App Builder para desarrollar una aplicación de emparejamiento personalizada que administre lógicas de emparejamiento complejas o recursos procedentes de un sistema de terceros que no puedan rellenar metadatos en los AEM Assets.

Configurar la coincidencia automática personalizada

  1. En el Administrador de Commerce, vaya a Store > Configuración > ADOBE SERVICES > AEM Assets Integration.

  2. Seleccione Custom Matcher como regla coincidente.

  3. Al seleccionar esta regla coincidente, el administrador muestra campos adicionales para configurar los extremos y los parámetros de autenticación necesarios para la lógica de coincidencia personalizada.

Extremos de API de emparejador personalizados

Cuando crea una aplicación de emparejador personalizada usando App Builder, la aplicación debe exponer los siguientes extremos:

  • Extremo de recurso de App Builder a dirección URL del producto
  • Extremo de App Builder product to asset URL

Extremo de recurso de App Builder a URL del producto

Este punto de conexión recupera la lista de SKU asociadas a un recurso determinado:

Ejemplo de uso

const { Core } = require('@adobe/aio-sdk')

async function main(params) {

    // Build your own matching logic here to return the products that map to the assetId
    // var productMatches = [];
    // params.assetId
    // params.eventData.assetMetadata['commerce:isCommerce']
    // params.eventData.assetMetadata['commerce:skus'][i]
    // params.eventData.assetMetadata['commerce:roles']
    // params.eventData.assetMetadata['commerce:positions'][i]
    // ...
    // End of your matching logic

    return {
        statusCode: 500,
        body: {
            asset_id: params.assetId,
            product_matches: [
                {
                    product_sku: "<YOUR-SKU-HERE>",
                    asset_roles: ["thumbnail", "image", "swatch_image", "small_image"],
                    asset_position: 1
                }
            ]
        }
    };
}

exports.main = main;

Solicitud

POST https://your-app-builder-url/api/v1/web/app-builder-external-rule/asset-to-product
Parámetro
Tipo de datos
Descripción
assetId
Cadena
Representa el ID de recurso actualizado.
eventData
Cadena
Devuelve la carga útil de datos asociada al ID de recurso.

Respuesta

{
  "asset_id": "{ASSET_ID}",
  "product_matches": [
    {
      "product_sku": "{PRODUCT_SKU_1}",
      "asset_roles": ["thumbnail","image"]
    },
    {
      "product_sku": "{PRODUCT_SKU_2}",
      "asset_roles": ["thumbnail"]
    }
  ]
}

Extremo de URL de producto a recurso de App Builder

Este extremo recupera la lista de recursos asociados a un SKU determinado:

Ejemplo de uso

const { Core } = require('@adobe/aio-sdk')

async function main(params) {
    // return asset matches for a product
    // Build your own matching logic here to return the assets that map to the productSku
    // var assetMatches = [];
    // params.productSku
    // ...
    // End of your matching logic

    return {
        statusCode: 500,
        body: {
            product_sku: params.productSku,
            asset_matches: [
                {
                    asset_id: "<YOUR-ASSET-ID-HERE>", // urn:aaid:aem:1aa1d5i2-17h8-40a7-a228-e3ur588deee1
                    asset_roles: ["thumbnail", "image", "swatch_image", "small_image"],
                    asset_format: "image", // can be "image" or "video"
                    asset_position: 1
                }
            ]
        }
    };
}

exports.main = main;

Solicitud

POST https://your-app-builder-url/api/v1/web/app-builder-external-rule/product-to-asset
Parámetro
Tipo de datos
Descripción
productSKU
Cadena
Representa el SKU del producto actualizado.
eventData
Cadena
Devuelve la carga útil de datos asociada al SKU del producto.

Respuesta

{
  "product_sku": "{PRODUCT_SKU}",
  "asset_matches": [
    {
      "asset_id": "{ASSET_ID_1}",
      "asset_roles": ["thumbnail","image"],
      "asset_position": 1,
      "asset_format": image
    },
    {
      "asset_id": "{ASSET_ID_2}",
      "asset_roles": ["thumbnail"]
      "asset_position": 2,
      "asset_format": image
    }
  ]
}
Parámetro
Tipo de datos
Descripción
productSKU
Cadena
Representa el SKU del producto actualizado.
asset_matches
Cadena
Devuelve todos los recursos asociados con un SKU de producto específico.

El parámetro asset_matches contiene los atributos siguientes:

Atributo
Tipo de datos
Descripción
asset_id
Cadena
Representa el ID de recurso actualizado.
asset_roles
Cadena
Devuelve todas las funciones de recurso disponibles. Utiliza funciones de recurso de Commerce compatibles como thumbnail, image, small_image y swatch_image.
asset_format
Cadena
Proporciona los formatos disponibles para el recurso. Los valores posibles son image y video.
asset_position
Cadena
Muestra la posición del recurso.
recommendation-more-help
d5b74cdc-d9a8-404d-9105-1e69985d7e1b