Importa información del catálogo

En esta página, se describe cómo importar la información de tu catálogo y mantenerla actualizada fecha.

Los procedimientos de importación de esta página se aplican a ambas recomendaciones y buscar. Después de importar los datos, ambos servicios pueden usar esos datos, por lo que no necesitas importar dos veces si usas ambos servicios.

Importa datos de un catálogo desde BigQuery

En este instructivo, se muestra cómo usar una tabla de BigQuery para importar grandes cantidades de datos de catálogo sin límites.


Para seguir la guía paso a paso sobre esta tarea directamente en el editor de Cloud Shell, haz clic en Guiarme:

GUIARME


Importa datos de catálogos desde Cloud Storage

En este instructivo, se muestra cómo importar una gran cantidad de elementos a un catálogo.


Para seguir la guía paso a paso sobre esta tarea directamente en el editor de Cloud Shell, haz clic en Guiarme:

GUIARME


Importa datos del catálogo de forma intercalada

En este instructivo, se muestra cómo importar productos en un catálogo intercalado.


Para seguir la guía paso a paso sobre esta tarea directamente en el editor de Cloud Shell, haz clic en Guiarme:

GUIARME


Antes de comenzar

Antes de importar la información de tu catálogo, debes completar las instrucciones que se indican en Antes de comenzar, en particular, cómo configurar tu proyecto, creación de una cuenta de servicio y agregado de la cuenta de servicio a tu entorno local.

Debes tener la función IAM del Administrador de venta minorista para realizar la importación.

Prácticas recomendadas para la importación de catálogos

Se necesitan datos de alta calidad para generar resultados de alta calidad. Si tus datos están campos faltantes o valores de marcadores de posición en lugar de valores reales, la calidad de tus predicciones y los resultados de la búsqueda.

Cuando importes datos de catálogos, asegúrate de implementar las siguientes prácticas recomendadas:

  • Asegúrese de pensar cuidadosamente a la hora de determinar qué productos o grupos de productos son principales y cuáles son variantes. Antes de subir cualquier dato, consulta Niveles de producto.

    Cambiar la configuración a nivel del producto después de importar los datos requiere un esfuerzo significativo.

    Los elementos principales se muestran como recomendaciones o resultados de la búsqueda. Variante no lo son.

    Por ejemplo, si el grupo de SKU principal es "Camisa con cuello en V", el el modelo de recomendación muestra un artículo de camiseta con cuello en V y, tal vez, una camisa con cuello redondo y una camisa de cuello redondo. Sin embargo, si no se usan variantes y cada SKU es el principal, entonces cada combinación de color/talla de camisa con cuello V se muestra como un elemento distinto en el panel de recomendaciones: “Cuello en V marrón camisa, talla XL", “Camisa marrón con cuello V, talla L” hasta “Cuello en V blanco camiseta, talla M", “Camisa blanca con cuello V, talla S”.

  • Respeta los límites de importación de artículos del producto.

    Para realizar una importación masiva desde Cloud Storage, el tamaño de cada archivo debe ser de 2 GB o menos. Puedes incluir hasta 100 archivos a la vez en una sola solicitud de importación masiva.

    Para la importación intercalada, importa no más de 5,000 artículos a la vez.

  • Asegúrate de que toda la información del catálogo requerida esté incluida y sea correcta.

    No uses valores de marcador de posición.

  • Incluye la mayor cantidad posible de información opcional del catálogo.

  • Asegúrate de que todos tus eventos usen una sola moneda, especialmente si tienes pensado usar la consola de Google Cloud para obtener métricas de ingresos. La API de Vertex AI Search for Retail no admite el uso de varias monedas por catálogo.

  • Mantén actualizado tu catálogo.

    Lo ideal es actualizarlo a diario. La programación de importaciones periódicas de catálogo evita que la calidad del modelo disminuya con el tiempo. Puedes programar de forma automática y recurrente cuando importas tu catálogo mediante Consola de Search for Retail. También puedes usar Google Cloud Scheduler para automatizar las importaciones.

  • No registres eventos de usuario para los elementos de producto que aún no se importaron.

  • Después de importar la información del catálogo, revisa la información sobre el registro y los informes de errores para tu proyecto.

    Se esperan algunos errores, pero si tienes una gran cantidad de errores, debes revisarlos y solucionar los problemas de procesos que generaron los errores.

Información acerca de la importación de datos del catálogo

Puedes importar tus datos de productos desde Merchant Center, Cloud Storage, BigQuery o especificar los datos intercalados en la solicitud. Cada uno de estos procedimientos son importaciones únicas con excepto por la vinculación de Merchant Center. Programa importaciones periódicas del catálogo (idealmente, a diario) para garantizar que tu catálogo esté actualizado. Consulta Mantén tu catálogo actualizado.

También puedes importar artículos individuales. Para obtener más información, consulta Sube un producto.

Consideraciones sobre la importación de catálogos

En esta sección, se describen los métodos que se pueden usar para importar por lotes tus datos de catálogos, cuándo puedes usar cada método y algunas de sus limitaciones.

Sincronización de Merchant Center Descripción Importa datos de catálogos a través de Merchant Center mediante la vinculación. la cuenta con Vertex AI Search for Retail. Después de la vinculación, las actualizaciones de datos del catálogo en Merchant Center se sincronizan en tiempo real con Vertex AI Search para venta minorista.
Cuándo usarla Si tienes una integración existente con Merchant Center
Limitaciones Compatibilidad con el esquema limitado Por ejemplo, Merchant Center no admite las colecciones de productos. Merchant Center se convierte en la fuente de información para los datos hasta que se desvinculan, por lo que se deben agregar todos los atributos personalizados necesarios a los datos de Merchant Center.

Control limitado. No puedes especificar ciertos campos o conjuntos de elementos para importar desde Merchant Center. Se importan todos los artículos y campos existentes en Merchant Center.
BigQuery Descripción Importa datos de una tabla de BigQuery cargada con anterioridad que use el esquema de Vertex AI Search for Retail Esquema de Merchant Center. Se puede realizar con el la consola de Google Cloud o curl.
Cuándo usarla Si tienes catálogos de productos con muchos atributos. BigQuery importa usa el esquema de Vertex AI Search for Retail, que tiene más atributos que a otras opciones de importación, como los valores personalizados atributos.

Si tienes grandes volúmenes de datos La importación de BigQuery no tiene un límite de datos.

Si ya usas BigQuery.
Limitaciones Requiere el paso adicional de crear una tabla de BigQuery que se asigna al esquema de Vertex AI Search for Retail.
Cloud Storage Descripción Importar datos en formato JSON desde archivos cargados en un bucket de Cloud Storage Cada archivo debe ser de 2 GB o menos, y se pueden importar hasta 100 archivos a la vez. La importación se puede realizar con la consola de Google Cloud. o curl. Usa el formato de datos JSON Product, que permite atributos personalizados.
Cuándo usarla Si necesitas cargar una gran cantidad de datos en un solo paso.
Limitaciones No es ideal para los catálogos con actualizaciones frecuentes de inventario y precios, ya que los cambios no se reflejan de inmediato.
Importación intercalada Descripción Importación mediante una llamada al método Product.import. Usos el objeto ProductInlineSource, que tiene menos productos atributos de catálogo que el esquema de Vertex AI Search for Retail, pero admite atributos.
Cuándo usarla Si tienes datos de catálogo no relacionales o planos o una frecuencia alta de actualizaciones de cantidad o precio.
Limitaciones No se pueden importar más de 100 elementos de catálogo a la vez. Sin embargo, se pueden realizar muchos pasos de carga; no hay límite de elementos.

Borrar definitivamente las ramas del catálogo

Si importa datos de catálogo nuevos a una rama existente, es importante que la rama de catálogo esté vacía Esto garantiza la integridad de los datos importados a la rama. Cuando la rama está vacía, puedes importar datos de catálogo nuevos y, luego, vincular la sucursal a una cuenta del comerciante.

Si estás entregando tráfico de predicción o de búsqueda en vivo y planeas borrar definitivamente tu considera especificar otra rama como predeterminada antes de borrarla definitivamente. Dado que la rama predeterminada entregará resultados vacíos después de su eliminación definitiva, este proceso una rama predeterminada activa puede causar una interrupción.

Para borrar definitivamente datos de una rama de catálogo, completa los siguientes pasos:

  1. Dirígete a Datos > en la consola de Search for Retail.

    Ir a la página Datos

  2. Selecciona una rama de catálogo en el campo Nombre de la rama (Branch name).

  3. En el menú de tres puntos junto al campo Branch name (Nombre de la rama), elige Purge (Purgar). de la aplicación.

    Aparecerá un mensaje que advierte que estás a punto de borrar todos los datos de la rama, así como los atributos creados para ella.

  4. Ingresa la rama y haz clic en Confirmar para borrar definitivamente los datos del catálogo del .

    Se inicia una operación de larga duración para borrar definitivamente los datos de la rama de catálogo. Cuando se completa la operación de eliminación definitiva, el estado se muestra en la lista Product catalog (Catálogo de productos) en Activity status (Estado de la actividad) en la ventana modal.

Sincroniza Merchant Center con Vertex AI Search for Retail

Para la sincronización continua entre Merchant Center y Vertex AI Search for Retail, puedes vincular tu cuenta de Merchant Center a Vertex AI Search for Retail. Después de la vinculación, la información del catálogo en tu La cuenta de Merchant Center se importa de inmediato a Vertex AI Search para venta minorista.

Cuando configures una sincronización de Merchant Center para Vertex AI Search for Retail, debes tener asignado el rol de administrador en Merchant Center. Aunque un rol de acceso estándar te permitirá leer los feeds de Merchant Center en la IU, recibirás un mensaje de error cuando intentes sincronizar Merchant Center con Vertex AI Search for Retail. Por lo tanto, antes de que puedas sincronizar correctamente tu cuenta de Merchant Center con Vertex AI Search for Retail, deberás actualizar tu rol según corresponda.

Mientras que Vertex AI Search for Retail está vinculado a Merchant Center cambios en tus datos de productos de Merchant Center se actualizan automáticamente en cuestión de minutos en Vertex AI Search for Retail. Si quieres evitar que se sincronicen los cambios de Merchant Center a Vertex AI Search for Retail, puedes desvincular tus cuenta de Merchant Center.

Si desvinculas tu cuenta de Merchant Center, no se borrará ninguna cuenta en Vertex AI Search para venta minorista. Para borrar productos importados, consulta Borra la información del producto.

Para sincronizar tu cuenta de Merchant Center, completa los siguientes pasos.

Console

  1. Dirígete a Datos > en la consola de Search for Retail.

    Ir a la página Datos
  2. Haz clic en Importar para abrir el panel Importar datos.
  3. Elige Catálogo de productos.
  4. Selecciona Sincronización de Merchant Center como tu fuente de datos.
  5. Selecciona tu cuenta de Merchant Center. Verifica Acceso de usuario si no ves tu cuenta.
  6. Opcional: Selecciona Filtro de feeds de Merchant Center para importar solo las ofertas de los feeds seleccionados.

    Si no se especifica, se importarán las ofertas de todos los feeds (incluidos los futuros).
  7. Opcional: Para importar solo las ofertas orientadas a determinados países o idiomas, expanda la opción Mostrar opciones avanzadas y seleccione los idiomas y países de venta de Merchant Center que desea utilizar como filtro.
  8. Selecciona la rama a la que subirás tu catálogo.
  9. Haga clic en Import.

curl

  1. Verifica que la cuenta de servicio en tu entorno local tiene acceso a la cuenta de Merchant Center y Vertex AI Search para venta minorista. Si deseas verificar qué cuentas tienen acceso a tu cuenta de Merchant Center, consulta Acceso de los usuarios a Merchant Center.

  2. Usa el método MerchantCenterAccountLink.create para establecer el vínculo.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
     --data '{
      "merchantCenterAccountId": MERCHANT_CENTER_ID,
      "branchId": "BRANCH_ID",
      "feedFilters": [
        {"primaryFeedId": PRIMARY_FEED_ID_1}
        {"primaryFeedId": PRIMARY_FEED_ID_2}
      ],
      "languageCode": "LANGUAGE_CODE",
      "feedLabel": "FEED_LABEL",
     }' \
     "https://retail.googleapis.com/v2alpha/projects/PROJECT_ID/locations/global/catalogs/default_catalog/merchantCenterAccountLinks"
    
    • MERCHANT_CENTER_ID: Es el ID del cuenta de Merchant Center.
    • BRANCH_ID: Es el ID de la rama para establecer el vínculo. tus amigos. Acepta los valores "0", "1" o "2".
    • LANGUAGE_CODE: (OPCIONAL) el código de idioma de dos letras de los productos que quieres importar. Como se ve en Merchant Center en la columna Language del producto. Si no la estableces, se importarán todos los idiomas.
    • FEED_LABEL: (OPCIONAL) es la etiqueta de feed. de los productos que quieres importar. Puedes ver la etiqueta de feed en Merchant Center en la etiqueta de feed del producto producto de columna. Si no la estableces, se importarán todas las etiquetas de feed.
    • FEED_FILTERS: (OPCIONAL) Lista de feeds principales desde los que se incluirán los productos importado. Si no seleccionas feeds, Se comparten los feeds de las cuentas de Merchant Center. Los IDs Puedes encontrarlos en el recurso de feeds de datos de Content API o en visita Merchant Center, selecciona un feed obtener el ID del feed a partir del parámetro dataSourceId en la URL del sitio. Por ejemplo, mc/products/sources/detail?a=MERCHANT_CENTER_ID&dataSourceId=PRIMARY_FEED_ID.

Para ver tu cuenta de Merchant Center vinculada, ve a la Busca la página Datos de la consola de venta minorista y haz clic en Merchant Center. en la parte superior derecha de la página. Se abrirá el Centro de comerciante vinculado Cuentas de Google. También puedes agregar más cuentas cuentas de este panel.

Consulta el artículo Consulta información agregada sobre tu catálogo para instrucciones para ver los productos que se importaron.

Genera una lista de los vínculos de tu cuenta de Merchant Center.

Console

  1. Dirígete a Datos > en la consola de Search for Retail.

    Ir a la página Datos

  2. Haz clic en el botón Merchant Center en la parte superior derecha de la página para abrir una lista de tus cuentas vinculadas de Merchant Center.

curl

Usa el método MerchantCenterAccountLink.list. para enumerar el recurso de vínculos.

curl -X GET \
 -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
 -H "Content-Type: application/json; charset=utf-8" \
 "https://retail.googleapis.com/v2alpha/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/merchantCenterAccountLinks"

Si desvinculas tu cuenta de Merchant Center, esta dejará de funcionar sincronizando datos del catálogo con Vertex AI Search for Retail. Este procedimiento no borrar todos los productos de Vertex AI Search for Retail que ya se hayan cargado.

Console

  1. Dirígete a Datos > en la consola de Search for Retail.

    Ir a la página Datos

  2. Haz clic en el botón Merchant Center en la parte superior derecha de la página para abrir una lista de tus cuentas vinculadas de Merchant Center.

  3. Haz clic en Desvincular junto a la cuenta de Merchant Center que desvinculas y confirma tu elección en el cuadro de diálogo que aparece.

curl

Usa la MerchantCenterAccountLink.delete. método para quitar el recurso MerchantCenterAccountLink.

curl -X DELETE \
 -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
 -H "Content-Type: application/json; charset=utf-8" \
 "https://retail.googleapis.com/v2alpha/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/merchantCenterAccountLinks/BRANCH_ID_MERCHANT_CENTER_ID"

Limitaciones sobre la vinculación a Merchant Center

  • Una cuenta de Merchant Center se puede vincular a cualquier cantidad de ramas de catálogo, pero una sola rama de catálogo solo se puede vincular a una cuenta de Merchant Center.

  • Una cuenta de Merchant Center no puede ser una cuenta de varios clientes (MCA). Sin embargo, puedes vincular cuentas secundarias.

  • Es posible que la primera importación después de vincular la cuenta de Merchant Center tarde horas en completarse. El tiempo depende de la cantidad de ofertas en la cuenta de Merchant Center.

  • Cualquier modificación de producto que use métodos de API inhabilitada para las ramas vinculadas a una cuenta de Merchant Center. Los cambios en los datos del catálogo de productos en esas ramas se deben realizar con Merchant Center. Esos cambios se sincronizarán automáticamente a Vertex AI Search for Retail.

  • El tipo de producto de colección no es compatible con las ramas que usan la vinculación de Merchant Center.

  • Tu cuenta de Merchant Center solo se puede vincular con ramas de catálogo vacías para garantizar la precisión de los datos. Para borrar productos de un catálogo consulta Cómo borrar información del producto.

Importa datos del catálogo desde Merchant Center

Merchant Center es una herramienta que puedes usar a fin de que tus datos de tiendas y productos estén disponibles para los anuncios de Shopping y otros servicios de Google.

Puedes importar datos de catálogo de forma masiva desde Merchant Center como un procedimiento único desde BigQuery con la Esquema de Merchant Center (solo recomendaciones).

Importar de forma masiva desde Merchant Center

Puedes importar datos del catálogo desde Merchant Center con el Busca en la consola de venta minorista o en el método products.import. Masiva la importación es un procedimiento único y solo se admite recomendaciones.

Para importar tu catálogo desde Merchant Center, completa los siguientes pasos:

  1. Con las instrucciones de las transferencias de Merchant Center, configura una transferencia desde Merchant Center a BigQuery.

    Usarás el esquema de la tabla de productos de Google Merchant Center. Configura la transferencia para que se repita a diario, pero configura la fecha de vencimiento de tu conjunto de datos a 2 días.

  2. Si tu conjunto de datos de BigQuery está en otro proyecto, configura el los permisos necesarios para que Vertex AI Search for Retail pueda acceder conjunto de datos de BigQuery. Más información

  3. Importa los datos de tu catálogo de BigQuery a Vertex AI Search para venta minorista.

    Console

    1. Dirígete a Datos > en la consola de Search for Retail.

      Ir a la página Datos

    2. Haz clic en Importar para abrir el panel Importar.

    3. Elige Catálogo de productos.

    4. Selecciona BigQuery como tu fuente de datos.

    5. Selecciona la rama a la que subirás tu catálogo.

    6. Selecciona Merchant Center como el esquema de datos.

    7. Ingresa la tabla de BigQuery donde se encuentran tus datos.

    8. Opcional: Ingresa la ubicación de un bucket de Cloud Storage en tu proyecto como una ubicación temporal para tus datos.

      Si no se especifica, se usa una ubicación predeterminada. Si se especifica, el bucket de Cloud Storage y BigQuery deben estar en la misma región.

    9. Elige si quieres programar una carga recurrente para los datos de tu catálogo.

    10. Si es la primera vez que importas tu catálogo o vuelve a importar el catálogo después de borrarlo definitivamente,selecciona niveles de producto. Más información sobre los niveles de producto

      Cambia la configuración a nivel del producto después de importar datos requiere un esfuerzo significativo.

    11. Haga clic en Import.

    curl

    1. Si es la primera vez que subes tu catálogo o volver a importar el catálogo después de borrarlo definitivamente, establece niveles de producto con el Catalog.patch. Para esta operación se requiere la función de Administrador de venta minorista. Más información sobre los niveles de producto

      • ingestionProductType: Admite los valores primary (predeterminado) y variant.
      • merchantCenterProductIdField: Admite los valores offerId (predeterminado) y itemGroupId. Si no usas Merchant Center, configurado con el valor predeterminado offerId.
      curl -X PATCH \
      -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      -H "Content-Type: application/json; charset=utf-8" \
      --data '{
      "productLevelConfig": {
        "ingestionProductType": "PRODUCT_TYPE",
        "merchantCenterProductIdField": "PRODUCT_ID_FIELD"
      }
      }' \
      "https://retail.googleapis.com/v2/projects/PROJECT_ID/locations/global/catalogs/default_catalog"
    2. Importa tu catálogo mediante el método Products.import.

      • DATASET_ID: el ID del conjunto de datos de BigQuery.
      • TABLE_ID: el ID de la tabla de BigQuery que contiene tus datos.
      • STAGING_DIRECTORY: Opcional Un directorio de Cloud Storage que se usa como ubicación provisional de tus datos antes de que se importen a BigQuery. Deja este campo vacío para crear automáticamente una cuenta (opción recomendada).
      • ERROR_DIRECTORY: Opcional Un directorio de Cloud Storage para obtener información sobre los errores de la importación. Abandonar este campo vacío para crear automáticamente un directorio temporal (recomendado).
      • dataSchema: Para la propiedad dataSchema, usa el valor product_merchant_center. Consulta el esquema de la tabla de productos de Merchant Center.

      Recomendamos no especificar directorios de etapa de pruebas o con errores. bucket de Cloud Storage con nuevos directorios de etapa de pruebas y errores se crean automáticamente. Estos directorios se crean en el mismo región como el conjunto de datos de BigQuery y son únicas para cada importación (lo que evita que varios trabajos de importación almacenen datos en etapa intermedia en el mismo directorio y posiblemente volver a importar los mismos datos). Después de tres días, el bucket y los directorios se borran de forma automática para reducir los costos de almacenamiento.

      Un nombre de bucket creado automáticamente incluye el ID del proyecto, la región del bucket y el nombre del esquema de los datos, separados por guiones bajos (por ejemplo, 4321_us_catalog_retail). Los directorios creados de forma automática se denominan staging o errors, seguidos por un número (por ejemplo, staging2345 o errors5678).

      Si especificas directorios, el bucket de Cloud Storage debe estar en la misma región que el conjunto de datos de BigQuery o la importación fallará. Proporciona los directorios de etapa de pruebas y de error en el formato gs://<bucket>/<folder>/; deberían ser diferentes.

      curl -X POST \
           -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
           -H "Content-Type: application/json; charset=utf-8" \
           --data '{
             "inputConfig":{
                "bigQuerySource": {
                  "datasetId":"DATASET_ID",
                  "tableId":"TABLE_ID",
                  "dataSchema":"product_merchant_center"
                }
              }
          }' \
         "https://retail.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/branches/0/products:import"
    

Importa datos de un catálogo desde BigQuery

Para importar datos del catálogo en el formato correcto desde BigQuery, usa el esquema de Vertex AI Search for Retail Crea una tabla de BigQuery con el formato correcto y carga la tabla vacía con los datos de tu catálogo. Luego, sube los datos a Vertex AI Search for Retail.

Para obtener más ayuda con las tablas de BigQuery, consulta Introducción a las tablas. Para obtener ayuda con las consultas de BigQuery, consulta Descripción general de las consultas de datos de BigQuery.


Para seguir la guía paso a paso sobre esta tarea directamente en el editor de Cloud Shell, haz clic en Guiarme:

GUIARME


Para importar tu catálogo, haz lo siguiente:

  1. Si tu conjunto de datos de BigQuery está en otro proyecto, configura el los permisos necesarios para que Vertex AI Search for Retail pueda acceder conjunto de datos de BigQuery. Más información

  2. Importa los datos de tu catálogo a Vertex AI Search for Retail.

    Console

    1. Dirígete a Datos > en la consola de Search for Retail.

      Ir a la página Datos
    2. Haz clic en Importar para abrir el panel Importar datos.
    3. Elige Catálogo de productos.
    4. Selecciona BigQuery como tu fuente de datos.
    5. Selecciona la rama a la que subirás tu catálogo.
    6. Elige Retail Product Catalogs Schema. Este es el esquema de productos de Vertex AI Search for Retail.
    7. Ingresa la tabla de BigQuery donde se encuentran tus datos.
    8. Opcional: En Mostrar opciones avanzadas, ingresa la ubicación de una bucket de Cloud Storage en tu proyecto como una ubicación temporal para tus datos.

      Si no se especifica, se usa una ubicación predeterminada. Si se especifica, BigQuery y El bucket de Cloud Storage debe estar en la misma región.
    9. Si no tienes habilitada la búsqueda y estás usando esquema de Merchant Center, selecciona el nivel de producto.

      Debes seleccionar el nivel de producto si es la primera vez que importas tu catálogo o si volver a importar el catálogo después de borrarlo definitivamente. Más información sobre los niveles de producto. Cambio de productos después de importar datos requiere un esfuerzo significativo.

      Importante: No puedes activar la búsqueda de proyectos con un que se transfirió como variantes.
    10. Haga clic en Import.

    curl

    1. Si es la primera vez que subes tu catálogo o volver a importar el catálogo después de borrarlo definitivamente, establece niveles de producto con el Catalog.patch. Para esta operación se requiere la función de Administrador de venta minorista.

      curl -X PATCH \
      -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      -H "Content-Type: application/json; charset=utf-8" \
       --data '{
         "productLevelConfig": {
           "ingestionProductType": "PRODUCT_TYPE",
           "merchantCenterProductIdField": "PRODUCT_ID_FIELD"
         }
       }' \
      "https://retail.googleapis.com/v2/projects/PROJECT_ID/locations/global/catalogs/default_catalog"
      
    2. Crea un archivo de datos para los parámetros de entrada de la importación.

      Usa el objeto BigQuerySource para apuntar a tu conjunto de datos de BigQuery.

      • DATASET_ID: el ID del conjunto de datos de BigQuery.
      • TABLE_ID: el ID de la tabla de BigQuery que contiene tus datos.
      • PROJECT_ID: Es el ID del proyecto la fuente. Si no se especifica, el ID del proyecto se hereda de la superior.
      • STAGING_DIRECTORY: Opcional Un directorio de Cloud Storage que se usa como ubicación provisional de tus datos antes de que se importen a BigQuery. Deja este campo vacío para crear automáticamente una cuenta (opción recomendada).
      • ERROR_DIRECTORY: Opcional Un directorio de Cloud Storage para obtener información sobre los errores de la importación. Abandonar este campo vacío para crear automáticamente un directorio temporal (recomendado).
      • dataSchema: Para la propiedad dataSchema, usa el valor product (predeterminado). Usarás la Esquema de Vertex AI Search for Retail.

      Recomendamos no especificar directorios de etapa de pruebas o con errores. bucket de Cloud Storage con nuevos directorios de etapa de pruebas y errores se crean automáticamente. Estos directorios se crean en el mismo región como el conjunto de datos de BigQuery y son únicas para cada importación (lo que evita que varios trabajos de importación almacenen datos en etapa intermedia en el mismo directorio y posiblemente volver a importar los mismos datos). Después de tres días, el bucket y los directorios se borran de forma automática para reducir los costos de almacenamiento.

      Un nombre de bucket creado automáticamente incluye el ID del proyecto, la región del bucket y el nombre del esquema de los datos, separados por guiones bajos (por ejemplo, 4321_us_catalog_retail). Los directorios creados de forma automática se denominan staging o errors, seguidos por un número (por ejemplo, staging2345 o errors5678).

      Si especificas directorios, el bucket de Cloud Storage debe estar en la misma región que el conjunto de datos de BigQuery o la importación fallará. Proporciona los directorios de etapa de pruebas y de error en el formato gs://<bucket>/<folder>/; deberían ser diferentes.

      {
         "inputConfig":{
           "bigQuerySource": {
             "projectId":"PROJECT_ID",
             "datasetId":"DATASET_ID",
             "tableId":"TABLE_ID",
             "dataSchema":"product"}
            }
      }
      
    3. Importa la información de tu catálogo mediante realizando una solicitud POST a Products:import REST, proporcionando el nombre del archivo de datos (aquí, mostrado como input.json).

      curl -X POST \
      -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      -H "Content-Type: application/json; charset=utf-8" -d @./input.json \
      "https://retail.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/branches/0/products:import"
      

      Puedes verificar el estado de manera programática mediante la API. Deberías recibir un objeto de respuesta similar al siguiente:

      {
      "name": "projects/PROJECT_ID/locations/global/catalogs/default_catalog/operations/import-products-123456",
      "done": false
      }
      

      El campo de nombre es el ID del objeto de operación. Para solicitar el estado de este objeto, reemplaza el campo de nombre por el valor que muestra el método import hasta que el campo done se muestre como true:

      curl -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      "https://retail.googleapis.com/v2/projects/PROJECT_ID/locations/global/catalogs/default_catalog/operations/import-products-123456"
      

      Cuando se completa la operación, el objeto que se muestra tiene un valor done de true y, además, incluye un objeto de estado similar al siguiente ejemplo:

      { "name": "projects/PROJECT_ID/locations/global/catalogs/default_catalog/operations/import-products-123456",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.retail.v2.ImportMetadata",
        "createTime": "2020-01-01T03:33:33.000001Z",
        "updateTime": "2020-01-01T03:34:33.000001Z",
        "successCount": "2",
        "failureCount": "1"
      },
      "done": true,
      "response": {
      "@type": "type.googleapis.com/google.cloud.retail.v2.ImportProductsResponse",
      },
      "errorsConfig": {
        "gcsPrefix": "gs://error-bucket/error-directory"
      }
      }
      

      Puedes inspeccionar los archivos en el directorio de errores de Cloud Storage para ver si se produjeron errores durante la importación.

Configura el acceso a tu conjunto de datos de BigQuery

Para configurar el acceso cuando tu conjunto de datos de BigQuery está en un que tu servicio de Vertex AI Search for Retail, completa los siguientes pasos.

  1. Abre la página de IAM en la consola de Google Cloud.

    Abrir la página IAM

  2. Selecciona tu proyecto de Vertex AI Search for Retail.

  3. Busca la cuenta de servicio con el nombre Retail Service Account.

    Si no iniciaste una operación de importación con anterioridad, es posible que esta cuenta de servicio no aparezca en la lista. Si no ves esta cuenta de servicio, regresa a la tarea de importación para iniciar la importación. Cuando falle debido a errores de permisos, regresa aquí y completa esta tarea.

  4. Copia el identificador para la cuenta de servicio, que se parece a una dirección de correo electrónico (por ejemplo, service-525@gcp-sa-retail.iam.gserviceaccount.com).

  5. Cambia a tu proyecto de BigQuery (en la misma plataforma de IAM y administración) ) y haz clic en  Otorgar acceso.

  6. En Principales nuevas, ingresa el identificador de Vertex AI Search for Retail cuenta de servicio y selecciona la opción BigQuery > Usuario de BigQuery.

  7. Haz clic en Agregar otra función y seleccione BigQuery > Editor de datos de BigQuery.

    Si no deseas proporcionar la función de editor de datos a todo el proyecto, puedes agregar esta función directamente al conjunto de datos. Más información

  8. Haz clic en Guardar.

Importa datos de catálogos desde Cloud Storage

Para importar datos del catálogo en formato JSON, crea uno o más archivos JSON que contengan los datos del catálogo que deseas importar y súbelos a Cloud Storage. Desde allí, puedes importarlo a Vertex AI Search for Retail.

Para ver un ejemplo del formato de elemento de producto JSON, consulta Formato de datos JSON de elemento de producto.

Si necesitas ayuda para subir archivos a Cloud Storage, consulta Sube objetos.

  1. Asegúrate de que la cuenta de servicio de Vertex AI Search for Retail tenga permiso para leer y escribir en el bucket.

    La cuenta de servicio de Vertex AI Search for Retail aparece en la Página de IAM en la consola de Google Cloud con el nombre Cuenta de servicio de venta minorista. Usa el identificador de la cuenta de servicio, que se parece a una dirección de correo electrónico (por ejemplo, service-525@gcp-sa-retail.iam.gserviceaccount.com), cuando agregas la cuenta a los permisos de tu bucket.

  2. Importa los datos de tu catálogo.

    Console

    1. Dirígete a Datos > en la consola de Search for Retail.

      Ir a la página Datos
    2. Haz clic en Importar para abrir el panel Importar datos.
    3. Elige Catálogo de productos como fuente de datos.
    4. Selecciona la rama a la que subirás tu catálogo.
    5. Elige Retail Product Catalogs Schema como esquema.
    6. Ingresa la ubicación de Cloud Storage de tus datos.
    7. Si no habilitaste la búsqueda, selecciona los niveles de producto.

      Debes seleccionar los niveles de producto si es la primera vez que importas tu catálogo o si volver a importar el catálogo después de borrarlo definitivamente. Más información sobre los niveles de producto. Cambio de productos después de importar datos requiere un esfuerzo significativo.

      Importante: No puedes activar la búsqueda de proyectos con un que se transfirió como variantes.
    8. Haga clic en Import.

    curl

    1. Si es la primera vez que subes tu catálogo o volver a importar el catálogo después de borrarlo definitivamente, establece a nivel del producto con el método Catalog.patch. Más información sobre los niveles de producto

      curl -X PATCH \
      -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      -H "Content-Type: application/json; charset=utf-8" \
       --data '{
         "productLevelConfig": {
           "ingestionProductType": "PRODUCT_TYPE",
           "merchantCenterProductIdField": "PRODUCT_ID_FIELD"
         }
       }' \
      "https://retail.googleapis.com/v2/projects/PROJECT_ID/locations/global/catalogs/default_catalog"
      
    2. Crea un archivo de datos para los parámetros de entrada de la importación. Usa el objeto GcsSource para que apunte a tu bucket de Cloud Storage.

      Puedes proporcionar varios archivos o solo uno. En este ejemplo, se usan dos archivos.

      • INPUT_FILE: Son los archivos en Cloud Storage que contienen tus datos de catálogo.
      • ERROR_DIRECTORY: Un directorio de Cloud Storage para obtener información sobre los errores de la importación

      Los campos de archivo de entrada deben tener el formato gs://<bucket>/<path-to-file>/. El directorio de errores debe tener el formato gs://<bucket>/<folder>/. Si el directorio de errores no existe, se crea. El bucket ya debe existir.

      {
      "inputConfig":{
       "gcsSource": {
         "inputUris": ["INPUT_FILE_1", "INPUT_FILE_2"]
        }
      },
      "errorsConfig":{"gcsPrefix":"ERROR_DIRECTORY"}
      }
      
    3. Importa la información del catálogo una solicitud POST al REST Products:import proporcionando el nombre del archivo de datos (aquí, que se muestra como input.json).

      curl -X POST \
      -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      -H "Content-Type: application/json; charset=utf-8" -d @./input.json \
      "https://retail.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/branches/0/products:import"
      

      La manera más fácil de verificar el estado de tu operación de importación es usa la consola de Google Cloud. Para obtener más información, consulta Consulta el estado de una operación de integración específica.

      También puedes verificar el estado de manera programática mediante la API. Deberías recibir un objeto de respuesta similar al siguiente:

      {
      "name": "projects/PROJECT_ID/locations/global/catalogs/default_catalog/operations/import-products-123456",
      "done": false
      }
      

      El campo de nombre es el ID del objeto de operación. Tú solicita el estado de este objeto y reemplaza el campo name por el valor que muestra el método de importación, hasta que el campo done muestre como true:

      curl -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      "https://retail.googleapis.com/v2/projects/PROJECT_ID/locations/global/catalogs/default_catalog/operations/[OPERATION_NAME]"
      

      Cuando se completa la operación, el objeto tiene un done de true y, además, incluye un objeto de estado similar al siguiente ejemplo:

      { "name": "projects/PROJECT_ID/locations/global/catalogs/default_catalog/operations/import-products-123456",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.retail.v2.ImportMetadata",
        "createTime": "2020-01-01T03:33:33.000001Z",
        "updateTime": "2020-01-01T03:34:33.000001Z",
        "successCount": "2",
        "failureCount": "1"
      },
      "done": true,
      "response": {
      "@type": "type.googleapis.com/google.cloud.retail.v2.ImportProductsResponse"
      },
      "errorsConfig": {
        "gcsPrefix": "gs://error-bucket/error-directory"
      }
      }
      

      Puedes inspeccionar los archivos en el directorio de errores de Cloud Storage para ver qué tipo de errores se produjeron durante la importación.

Importa datos del catálogo de forma intercalada

curl

Importarás la información del catálogo de forma intercalada realiza una solicitud POST al método de REST Products:import usando el objeto productInlineSource para especificar tu catálogo de datos no estructurados.

Proporciona un producto completo en una sola línea. Cada producto debe estar por sí solo línea.

Para ver un ejemplo del formato de elemento de producto JSON, consulta Formato de datos JSON de elemento de producto.

  1. Crea el archivo JSON para tu producto y llámalo ./data.json:

    {
    "inputConfig": {
    "productInlineSource": {
      "products": [
        { PRODUCT_1 }
        { PRODUCT_2 }
      ]
    }
    }
    }
    
  2. Llama al método POST:

    curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data @./data.json \
    "https://retail.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/branches/0/products:import"
    

Java

public static String importProductsFromInlineSource(
    List<Product> productsToImport)
    throws IOException, InterruptedException, ExecutionException {
  ProductServiceClient productClient = getProductServiceClient();

  ProductInlineSource inlineSource = ProductInlineSource.newBuilder()
      .addAllProducts(productsToImport)
      .build();

  ProductInputConfig inputConfig = ProductInputConfig.newBuilder()
      .setProductInlineSource(inlineSource)
      .build();

  ImportProductsRequest importRequest = ImportProductsRequest.newBuilder()
      .setParent(IMPORT_PARENT)
      .setRequestId(REQUEST_ID)
      .setReconciliationMode(ReconciliationMode.INCREMENTAL)
      .setInputConfig(inputConfig)
      .build();

  String operationName = productClient
      .importProductsAsync(importRequest).getName();

  productClient.shutdownNow();
  productClient.awaitTermination(2, TimeUnit.SECONDS);

  return operationName;
}

Formato de datos JSON de elementos de productos

Las entradas Product en tu archivo JSON deberían verse como los siguientes ejemplos.

Proporciona un producto completo en una sola línea. Cada producto debe estar por sí solo línea.

Campos obligatorios mínimos:

  {
    "id": "1234",
    "categories": "Apparel & Accessories > Shoes",
    "title": "ABC sneakers"
  }
  {
    "id": "5839",
    "categories": "casual attire > t-shirts",
    "title": "Crew t-shirt"
  }

Objeto completo:

  {
    "name": "projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/branches/0/products/1234",
    "id": "1234",
    "categories": "Apparel & Accessories > Shoes",
    "title": "ABC sneakers",
    "description": "Sneakers for the rest of us",
    "attributes": { "vendor": {"text": ["vendor123", "vendor456"]} },
    "language_code": "en",
    "tags": [ "black-friday" ],
    "priceInfo": {
      "currencyCode": "USD", "price":100, "originalPrice":200, "cost": 50
    },
    "availableTime": "2020-01-01T03:33:33.000001Z",
    "availableQuantity": "1",
    "uri":"http://example.com",
    "images": [
      {"uri": "http://example.com/img1", "height": 320, "width": 320 }
    ]
  }
  {
    "name": "projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/branches/0/products/4567",
    "id": "4567",
    "categories": "casual attire > t-shirts",
    "title": "Crew t-shirt",
    "description": "A casual shirt for a casual day",
    "attributes": { "vendor": {"text": ["vendor789", "vendor321"]} },
    "language_code": "en",
    "tags": [ "black-friday" ],
    "priceInfo": {
      "currencyCode": "USD", "price":50, "originalPrice":60, "cost": 40
    },
    "availableTime": "2020-02-01T04:44:44.000001Z",
    "availableQuantity": "2",
    "uri":"http://example.com",
    "images": [
      {"uri": "http://example.com/img2", "height": 320, "width": 320 }
    ]
  }

Datos históricos de catálogos

Vertex AI Search for Retail admite la importación y administración de datos datos del catálogo. Los datos históricos de catálogos pueden ser útiles cuando usas eventos históricos de los usuarios para el entrenamiento de modelos. La información de productos anteriores se puede usar para enriquecer datos históricos de eventos del usuario y mejorar la exactitud del modelo.

Los productos históricos se almacenan como productos vencidos. No se muestran en las respuestas de la búsqueda, pero son visibles para las llamadas a la API Update, List y Delete.

Importación de datos históricos de catálogos

Cuando el campo expireTime de un producto se establece en una marca de tiempo anterior, este producto se considera como un producto histórico. Establece el producto availability [disponibilidad] para OUT_OF_STOCK para evitar que se vea afectado recomendaciones.

Recomendamos usar los siguientes métodos para importar datos históricos de catálogos:

Llama al método Product.Create

Usa el método Product.Create para crear una entrada Product con el campo expireTime configurado en una marca de tiempo anterior.

Importación intercalada de productos vencidos

Los pasos son idénticos a los de la importación intercalada, con la excepción de que los productos debe tener los campos expireTime establecidos en un pasado y marca de tiempo.

Proporciona un producto completo en una sola línea. Cada producto debe estar por sí solo línea.

Un ejemplo de ./data.json que se usa en la solicitud de importación intercalada:

{
"inputConfig": {
  "productInlineSource": {
      "products": [
          {
            "id": "historical_product_001",
            "categories": "Apparel & Accessories > Shoes",
            "title": "ABC sneakers",
            "expire_time": {
              "second": "2021-10-02T15:01:23Z"  // a past timestamp
            }
          },
          {
            "id": "historical product 002",
            "categories": "casual attire > t-shirts",
            "title": "Crew t-shirt",
            "expire_time": {
              "second": "2021-10-02T15:01:24Z"  // a past timestamp
            }
          }
      ]
    }
  }
}

Importa productos vencidos de BigQuery o Cloud Storage

Usa los mismos procedimientos documentados importar datos del catálogo desde BigQuery o importar datos del catálogo desde Cloud Storage. Sin embargo, asegúrate de establecer el campo expireTime a una marca de tiempo de pasado.

Mantén tu catálogo actualizado

Para obtener mejores resultados, tu catálogo debe contener información actualizada. Te recomendamos importar el catálogo a diario para asegurarte de que esté actualizado. Puedes usar Google Cloud Scheduler para programar importaciones o elegir un opción de programación automática cuando importas datos con la Consola de Google Cloud

Solo puedes actualizar los elementos de productos nuevos o modificados o puedes importar todo el catálogo. Si importas productos que ya están en tu catálogo, no se vuelven a agregar. Se actualiza cualquier elemento que haya cambiado.

Para actualizar un solo artículo, consulta Cómo actualizar la información del producto.

Actualización por lotes

Puedes usar el método de importación para actualizar por lotes tu catálogo. Tú lo haces de la misma manera que haces la importación inicial; sigue los pasos que se indican Importa datos del catálogo.

Supervisa el estado de la importación

Para supervisar la transferencia y el estado del catálogo, sigue estos pasos:

  1. Consulta la información agregada sobre tu catálogo y la vista previa que subiste en la pestaña Catálogo de Search for Retail Datos.

    Ir a la página Datos

  2. Evalúa si necesitas actualizar los datos del catálogo para mejorar la calidad de resultados de la búsqueda y desbloquea niveles de rendimiento en la En la página Calidad de los datos.

    Más información para verificar la calidad de los datos de la búsqueda y ver su rendimiento niveles, consulta Cómo desbloquear los niveles de rendimiento de la Búsqueda. Para obtener un resumen de disponibles en esta página, consulta Métricas de calidad del catálogo.

    Ir a la página Calidad de los datos

  3. Para crear alertas que te notifiquen si hay algún problema con tus datos cargas, sigue los procedimientos que se indican en Configura alertas de Cloud Monitoring.

    Mantener tu catálogo actualizado es importante para obtener una alta calidad resultados. Utiliza alertas para supervisar las tasas de errores de importación y toma medidas si según tus necesidades.

¿Qué sigue?