Tus feeds de datos te permiten hacer que tus restaurantes, servicios y menú estén disponibles en Pedidos de extremo a extremo.
En este documento, se explica cómo alojar los inventarios de zona de pruebas y de producción, y usar la transferencia por lotes para actualizar tu inventario en Orden de extremo a extremo.
Entornos de feeds de datos
Hay tres entornos de feed de datos disponibles para el desarrollo de tu integración:
Entorno del feed | Descripción | Transferencia por lotes |
---|---|---|
Zona de pruebas | El entorno de pruebas para el desarrollo de tu feed. | Obligatorio |
Producción | Es el entorno de producción del inventario que quieres lanzar. | Obligatorio |
Aloja feeds de datos
Para que los pedidos de extremo a extremo procesen tus feeds de datos de zona de pruebas y de producción mediante transferencia por lotes, debes alojar los archivos del 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 los entornos de zona de pruebas y de producción por separado. Este enfoque te permite realizar el desarrollo y las pruebas en el entorno del feed de la zona de pruebas antes de implementar los cambios en la producción.
Por ejemplo, si usas Google Cloud Storage como opción de hosting, tendrías las siguientes rutas de acceso:
- Feed de la zona de pruebas:
gs://foorestaurant-google-feed-sandbox/
- Feed de producción:
gs://foorestaurant-google-feed-prod/
Para alojar tu inventario, haz lo siguiente:
- Genera los archivos de tu feed de datos.
- Elige una solución de hosting.
- Aloja tus feeds de datos.
- Asegúrese de que los archivos de su feed de datos se actualicen con regularidad. Los feeds de datos de producción deben actualizarse a diario.
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 Cómo crear un feed de datos.
Lineamientos sobre los archivos de 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 todas juntas.
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 el ordenamiento de extremo a extremo:
Amazon S3 | Google Cloud Storage | HTTPS con un mapa del sitio | |
---|---|---|---|
Credenciales y acceso |
Proporciona la siguiente información a Google:
El bucket de S3 debe incluir la siguiente información:
Ejemplo de archivo |
Proporciona a Google las rutas de acceso a los directorios de tu bucket de producción y zona de pruebas, y al archivo
Agrega la cuenta de servicio que proporcionó 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 a Google Cloud Storage (GCS), consulta Google Cloud Platform Console: Configura permisos de buckets. El bucket de GCS debe incluir la siguiente información:
Ejemplo de archivo |
Proporciona la siguiente información a Google:
|
Cómo sabe Google qué archivos se deben recuperar | Lista de directorios de todos los archivos en el bucket. | Lista de directorios de todos los archivos en el bucket. | Las URLs individuales de los archivos que se enumeran en el mapa del sitio. |
Cómo sabe Google que los archivos están listos para recuperarse | Cuando termines de generar tus 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 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 archivo en tu archivo en formato XML de mapa del sitio debe ser inferior a 100,000. |
Conecta tus feeds de datos para la transferencia por lotes
Después de alojar tus feeds, debes conectarlos a tu proyecto en el Centro de Acciones. La configuración inicial de los feeds de producción se realiza en la página Tareas de integración. Los usuarios del portal con un rol administrativo pueden actualizar más adelante la configuración de los feeds de producción y de la zona de pruebas desde la página Configuración > Feeds en cualquier momento. 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 alojas sus feeds de datos con Amazon S3
- En el Centro de acciones, ve a Configuración > Feeds.
-
Haz clic en Editar y completa el formulario Actualizar feed:
- Método de entrega del feed: Configurado como Amazon S3.
- Marker File: Proporciona la URL del archivo
marker.txt
. - Archivos de datos: Proporciona la URL al bucket de S3 que contiene los feeds de datos.
- ID de acceso: Ingresa el ID de 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.
- Haga clic en Enviar.
- Después de una o dos horas, verifica si la transferencia por lotes recupera los archivos de tu feed.
Si alojas sus feeds de datos en Google Cloud Storage,
- En el Centro de acciones, ve a Configuración > Feeds.
-
Haz clic en Editar y completa el formulario Actualizar feed:
- Método de publicación del feed: Configurado en Google Cloud Storage.
- Marker File: Proporciona la URL del archivo
marker.txt
. - Archivos de datos: Proporciona la URL al bucket de GCS que contiene los feeds de datos.
- Haga clic en Enviar.
- Se crea una cuenta de servicio para acceder a tu bucket de GCS. Podrás encontrar el nombre de la cuenta en Configuración > Feeds una vez que se completen las tareas de integración. Esta cuenta de servicio necesita el rol “Lector de objetos heredados de Storage”. Este rol se puede otorgar a la cuenta de servicio en la página IAM de la consola de Google Cloud.
- Después de una o dos horas, verifica si la transferencia por lotes recupera los archivos de tu feed.
Si alojas sus feeds de datos con HTTPS
- En el Centro de acciones, ve a Configuración > Feeds.
-
Haz clic en Editar y completa el formulario Actualizar feed:
- Método de publicación del feed: Debe establecerse en HTTPS.
- Archivo de mapa del sitio: Proporciona la URL del archivo
sitemap.xml
. - Nombre de usuario: Ingresa las credenciales del nombre de usuario para acceder al servidor HTTPS.
- Contraseña: Ingresa la contraseña para acceder al servidor HTTPS.
- Haga clic en Enviar.
- Después de una o dos horas, verifica si la transferencia por lotes recupera los archivos de tu feed.
Rutas de ejemplo
La siguiente tabla contiene rutas de ejemplo para cada una de las opciones de hosting:
Amazon S3 | Google Cloud Storage | HTTPS con un mapa del sitio | |
---|---|---|---|
Ruta de acceso | 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
Usa los siguientes lineamientos cuando definas mapas del sitio:
- Los vínculos del mapa del sitio deben apuntar a los archivos en sí.
- 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 URLs, como
https://www.yourcloudprovider.com/your_id
, sea estable y exclusivo 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 solo transferirá los archivos del mapa del sitio, lo que provocará que los niveles de inventario caigan y que se bloquee la transferencia del feed.
- Asegúrate de que las rutas de acceso a los archivos a los que se hace referencia en el mapa del sitio no cambien. Por ejemplo, no tengas la referencia
https://www.yourcloudprovider.com/your_id/10000.json
de tu mapa del sitio hoy, sino la referenciahttps://www.yourcloudprovider.com/your_id/20000.json
mañana.
Ejemplo de mapa del sitio
Este es un archivo sitemap.xml
de ejemplo que publica archivos de 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
Después de conectar tus feeds de datos, Google busca actualizaciones una vez por hora, pero solo transfiere todos los feeds de datos cuando se modifican los archivos marker.txt
o sitemap.xml
. Esperamos que actualices tus feeds de datos una vez al día para evitar que el inventario esté 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
utiliza estos valores para determinar qué tan actualizado es un feed de datos.
Mientras se transfiere el feed por lotes,
- Se insertarán las entidades nuevas que no existan en tu inventario de pedidos de extremo a extremo actual y no tengan ningún error.
-
Las entidades que ya están presentes en el inventario y que no tienen errores en la transferencia y tienen un
dateModified
más reciente que su entrada actual o, en caso de no tener undateModified
, la hora de inicio de la transferencia del feed es más reciente que la entrada actual que se actualizarían; de lo contrario, se marcarían como inactivas. - Se borrarán las entidades que formaban parte de un feed anterior y que ya no estén incluidas en el feed por lotes que se procesa, siempre que no haya errores a nivel de archivo en el feed.
La marca de tiempo o el encabezado de respuesta last-modified
solo se deben actualizar después de que se hayan generado y actualizado 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, debes dejar un espacio de al menos tres horas entre cada trabajo por lotes. Si no sigues estos pasos, es posible que Google recupere archivos inactivos.