Transferencia por lotes

Tus feeds de datos te permiten poner a disposición tu restaurante, servicios y menú en Order with Google.

En este documento, se explica cómo alojar los inventarios de producción y zona de pruebas, y cómo usar la transferencia por lotes para actualizar tu inventario en Order with Google.

Entornos de feed de datos

Existen tres entornos de feed de datos disponibles para el desarrollo de la integración:

Entorno del feed Descripción Transferencia por lotes
Zona de pruebas El entorno de pruebas para el desarrollo de su feed. Obligatorio
Producción Es el entorno de producción de su inventario que desea lanzar. Obligatorio

Cómo alojar feeds de datos

Para que Order with Google procese tus feeds de datos de zona de pruebas y de producción mediante la transferencia por lotes, debes alojar los archivos de tu feed de datos en Google Cloud Storage, Amazon S3 o HTTPS con un mapa del sitio.

Te recomendamos que alojes los feeds de datos para tus entornos de zona de pruebas y de producción por separado. Este enfoque te permite realizar desarrollo y pruebas en tu entorno de feed de zona de pruebas antes de implementar los cambios en producción.

Por ejemplo, si usas Google Cloud Storage como opción de hosting, tendrías las siguientes rutas:

  • Feed de zona de pruebas: gs://foorestaurant-google-feed-sandbox/
  • Feed de producción: gs://foorestaurant-google-feed-prod/

Para alojar tu inventario, haz lo siguiente:

  1. Genere sus archivos de feed de datos.
  2. Elige una solución de hosting.
  3. Aloja tus feeds de datos.
  4. Asegúrese de que los archivos de su feed de datos se actualicen periódicamente. Los feeds de datos de producción deben actualizarse diariamente.

Para obtener detalles sobre cómo crear un feed de inventario, consulta la documentación de las entidades Restaurant, Service y Menu, así como la sección sobre cómo crear un feed de datos.

Lineamientos sobre los archivos del feed de datos

Cada archivo, que puede contener varias entidades, no debe superar los 200 MB. Las entidades de nivel superior Restaurant, Service y Menu, junto con sus entidades secundarias, no deben exceder los 4 MB.

Elige una solución de hosting

En la siguiente tabla, se enumeran las opciones para alojar tus feeds de datos y cómo funcionan esos hosts con Order with Google:

Amazon S3 Google Cloud Storage HTTPS con un mapa del sitio
Credenciales y acceso

Proporciona a Google la siguiente información:

  • ID de clave de acceso
  • Clave de acceso secreta
  • Las rutas de acceso a los directorios S3 de producción y zona de pruebas y al archivo marker.txt La ruta debe comenzar con s3://.

El bucket S3 debe incluir la siguiente información:

  • Archivos de feed de su inventario
  • marker.txt, que contiene una marca de tiempo utilizada para la recuperación

Ejemplo de archivo marker.txt: 2018-12-03T08:30:42.694Z

Proporciona a Google las rutas de acceso a los directorios de depósitos de producción y de zona de pruebas y al archivo marker.txt. Las rutas de acceso deben comenzar con gs://.

Agrega la cuenta de servicio proporcionada por tu asesor de Google como lector de tu bucket de Google Cloud Storage.

Para obtener más información sobre cómo controlar el acceso de Google Cloud Storage (GCS), consulta Google Cloud Platform Console: Configura permisos del bucket .

El bucket de GCS debe incluir la siguiente información:

  • Archivos de feed de su inventario
  • marker.txt, que contiene una marca de tiempo utilizada para la recuperación

Ejemplo de archivo marker.txt: 2018-12-03T08:30:42.694Z

Proporciona a Google la siguiente información:

  • Credenciales de tu autenticación básica.
  • La ruta de acceso a tus rutas de producción y de mapa del sitio para la zona de pruebas. La ruta debe comenzar con https://.
  • Protocolo: Los archivos del feed deben estar disponibles mediante HTTPS, no HTTP.
  • Seguridad: Google recomienda que proteja sus archivos de feed alojados con la autenticación básica.
Cómo sabe Google qué archivos se deben recuperar Lista de directorios de todos los archivos del bucket. Lista de directorios de todos los archivos del bucket. URL individuales de los archivos que aparecen en el mapa del sitio.
Cómo sabe Google que los archivos están listos para recuperarse Cuando termines de generar los feeds de datos, actualiza el archivo marker.txt con la marca de tiempo más reciente. Cuando termines de generar los feeds de datos, actualiza el archivo marker.txt con la marca de tiempo más reciente. Cuando termines de generar tus feeds de datos, actualiza el encabezado de respuesta last-modified de tu sitemap.xml con la marca de tiempo más reciente.
Límites de archivos

Cantidad máxima de archivos: 100,000.

Debes tener menos de 100,000 archivos en total en tu bucket de Amazon S3.

Cantidad máxima de archivos: 100,000.

Debes tener menos de 100,000 archivos en total en tu bucket de Google Cloud Storage.

Cantidad máxima de archivos: 100,000.

La cantidad de rutas de acceso del archivo XML del mapa del sitio debe ser inferior a 100,000.

Conecte sus feeds de datos para la transferencia por lotes

Después de alojar tus feeds, debes conectarlos a tu proyecto en el portal de socios. La configuración inicial de los feeds de producción se realiza en la página Tareas de integración. Más adelante, cualquier usuario con una función administrativa puede actualizar en cualquier momento la configuración de los feeds de producción y de la zona de pruebas desde la página Configuración Feeds. El entorno de la zona de pruebas se usa con fines de desarrollo y prueba, mientras que los feeds de producción se muestran a los usuarios.

Si aloja sus feeds de datos con Amazon S3

  1. En el Portal para socios, ve a Configuración > Feeds.
  2. Haga clic en Editar y llene el formulario Actualizar feed:

    • Método de publicación del feed: Debe establecerse en Amazon S3.
    • Archivo de marcador: Proporciona la URL del archivo marker.txt.
    • Archivos de datos: Proporcione la URL al depósito S3 que contiene los feeds de datos.
    • ID de acceso: ingresa el ID de la clave de acceso de IAM con permisos para leer desde los recursos de S3
    • Clave de acceso:ingresa la clave de acceso secreta de IAM con permisos para leer desde los recursos de S3.
  3. Haz clic en Enviar.
  4. Después de una o dos horas, verifica si la transferencia por lotes recupera tus archivos de feed.

Si aloja sus feeds de datos con Google Cloud Storage

  1. En el Portal para socios, ve a Configuración > Feeds.
  2. Haga clic en Editar y llene el formulario Actualizar feed:

    • Método de publicación del feed:Establézcalo en Google Cloud Storage.
    • Archivo de marcador: Proporciona la URL del archivo marker.txt.
    • Archivos de datos: Proporcione la URL al depósito de GCS que contiene los feeds de datos.
  3. Haz clic en Enviar.
  4. Se crea una cuenta de servicio para acceder a tu bucket de GCS. El nombre de la cuenta se puede encontrar en Configuración Feeds después de que se completan las tareas de integración. Esta cuenta de servicio necesita la función de “Lector de objetos heredados de almacenamiento”. Esta función se puede otorgar a la cuenta de servicio en la página de IAM de Google Cloud Console.
  5. Después de una o dos horas, verifica si la transferencia por lotes recupera tus archivos de feed.

Si aloja sus feeds de datos con HTTPS

  1. En el Portal para socios, ve a Configuración > Feeds.
  2. Haga clic en Editar y llene el formulario Actualizar feed:

    • Método de publicación del feed: Establézcalo en HTTPS.
    • Archivo de mapa del sitio: Proporciona la URL del archivo sitemap.xml.
    • Nombre de usuario: Ingresa las credenciales de nombre de usuario para acceder al servidor HTTPS.
    • Password: Ingresa la contraseña para acceder al servidor HTTPS.
  3. Haz clic en Enviar.
  4. Después de una o dos horas, verifica si la transferencia por lotes recupera tus archivos de feed.

Rutas de ejemplo

La siguiente tabla contiene ejemplos de rutas para cada una de las opciones de hosting:

Amazon S3 Google Cloud Storage HTTPS con un mapa del sitio
Path s3://foorestaurant-google-feed-sandbox/ gs://foorestaurant-google-feed-sandbox/ https://sandbox-foorestaurant.com/sitemap.xml
Archivo de marcador s3://foorestaurant-google-feed-sandbox/marker.txt gs://foorestaurant-google-feed-sandbox/marker.txt No aplicable

Mapas del sitio para hosting HTTPS

Cuando definas mapas del sitio, usa los siguientes lineamientos:

  • Los vínculos del mapa del sitio deben dirigir a los archivos.
  • Si tu mapa del sitio incluye referencias a un proveedor de servicios en la nube en lugar de tu propio nombre de dominio, asegúrate de que el inicio de las URL, como https://www.yourcloudprovider.com/your_id, sea estable y único para tu trabajo por lotes.
  • Ten cuidado de no subir mapas del sitio parciales (como en el caso de una carga parcial de datos). Si lo haces, Google transferirá solo los archivos del mapa del sitio, lo que provocará que los niveles de tu inventario disminuyan y que es posible que se bloquee la transferencia de tu feed.
  • Asegúrate de que las rutas a los archivos a los que se hace referencia en el mapa del sitio no se modifiquen. Por ejemplo, no hagas que tu mapa del sitio haga referencia a https://www.yourcloudprovider.com/your_id/10000.json hoy mismo, sino que haga referencia a https://www.yourcloudprovider.com/your_id/20000.json mañana.
Ejemplo de mapa del sitio

A continuación, se muestra un ejemplo de un archivo sitemap.xml que muestra archivos de un feed de datos:

Ejemplo 1: Entidades agrupadas por comercios (recomendado)

XML

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
 <url>
   <loc>https://your_fulfillment_url.com/restaurant_1.ndjson</loc>
   <lastmod>2018-06-11T10:46:43+05:30</lastmod>
 </url>
 <url>
   <loc>https://your_fulfillment_url.com/restaurant_2.ndjson</loc>
   <lastmod>2018-06-11T10:46:43+05:30</lastmod>
 </url>
 <url>
   <loc>https://your_fulfillment_url.com/restaurant_3.ndjson</loc>
   <lastmod>2018-06-11T10:46:43+05:30</lastmod>
 </url>
</urlset>

Ejemplo 2: Entidades agrupadas por tipos.

XML

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
 <url>
   <loc>https://your_fulfillment_url.com/restaurant.json</loc>
   <lastmod>2018-06-11T10:46:43+05:30</lastmod>
 </url>
 <url>
   <loc>https://your_fulfillment_url.com/menu.json</loc>
   <lastmod>2018-06-11T10:46:43+05:30</lastmod>
 </url>
 <url>
   <loc>https://your_fulfillment_url.com/service.json</loc>
   <lastmod>2018-06-11T10:46:43+05:30</lastmod>
 </url>
</urlset>

Actualice sus feeds de datos

Una vez conectados tus feeds de datos, Google comprueba si hay actualizaciones una vez por hora, pero solo transferimos todos los feeds de datos cuando se modifican los archivos marker.txt o sitemap.xml. Esperamos que actualice sus feeds de datos una vez al día para evitar el inventario inactivo.

A fin de especificar que los feeds de datos se modificaron y están listos para la transferencia por lotes, actualiza el campo de metadatos del objeto last-modified del archivo marker.txt (para GCP y S3) o el encabezado de respuesta last-modified del archivo sitemap.xml. Google usa estos valores para determinar qué tan reciente es un feed de datos.

Mientras se transfiere el feed por lotes,

  • Se insertarán nuevas entidades que no existen en tu inventario de OwG actual y que no tienen errores.
  • Las entidades que ya están en el inventario no tienen errores de transferencia y tienen un dateModified más reciente que su entrada actual o, en el caso de que no tengan un dateModified, la hora de inicio de transferencia del feed es más reciente que la entrada actual que se actualizaría; de lo contrario, se marcarían como inactivas.
  • Se borrarán las entidades que formaban parte de un feed anterior y que ya no se encuentren en el feed por lotes procesado, siempre y cuando no haya errores de nivel de archivo en el feed.

La marca de tiempo o el encabezado de respuesta last-modified deben actualizarse solo después de que se generen y actualicen todos los archivos del feed de datos. Limita los trabajos por lotes que actualizan tus feeds de datos para que se ejecuten solo una vez al día. Como alternativa, puede haber un intervalo de al menos tres horas entre cada trabajo por lotes. Si no realizas estos pasos, es posible que Google recupere archivos inactivos.