Las siguientes prácticas recomendadas se aplican a la integración de extremo a extremo de los anuncios de Servicios Locales del Centro de Acciones y se pueden aprovechar para evitar problemas de usabilidad y rendimiento. La baja calidad de los datos puede provocar la eliminación del inventario.
Feeds
- Si un servicio no tiene una duración establecida, establece
duration_sec
en el feed de disponibilidad en una de las siguientes opciones:- Es la cantidad de segundos que tarda en realizar el servicio de una manera razonable.
-
Es la cantidad promedio de segundos necesarios para completar el servicio.
- Asegúrate de que la entrada del campo
Category
en el feed del comercio sea específica. Por ejemplo, un restaurante puede enviar un tipo específico, como francés o japonés. Para obtener más detalles, consulta Tipos de lugar para los valores de categoría posibles. -
Establece las condiciones del servicio específicas del comercio en el campo
Terms
del feed de Merchant Center para que aparezca la siguiente nota debajo del botón Reservar:Si continúas, aceptas las Condiciones del Servicio de <merchant>.
En este caso, "Condiciones del Servicio" es un vínculo que, cuando se hace clic en él, muestra el texto establecido en el campo de texto terms. -
Cómo comprimir tus feeds con
gzip
Servidor de reservas
Para optimizar la integración de la API de Maps Booking, haz lo siguiente:
- Usa siempre marcas de tiempo UNIX en formato UTC.
- Genera un ID de reserva único cuando se llame a una reserva nueva en la API de
CreateBooking
.
Actualizaciones en tiempo real
Para garantizar la mejor experiencia del usuario durante el proceso de reserva, haz lo siguiente:
- Para una implementación estándar, usa la API de BookingNotifications para cambiar la hora de inicio, la duración y el estado de la reserva, como la cancelación o la ausencia, de una cita.
- Cuando realices cualquier cambio en la reserva de Actions Center, envía siempre actualizaciones de reservas en tiempo real desde el sistema con la API de BookingNotification para que los datos no se vuelvan obsoletos en Actions Center. Por ejemplo, puedes cancelar, reprogramar o actualizar una reserva desde tu sistema en el Centro de acciones.
- Para cada actualización de reserva de
UpdateBookingRequest
, asegúrate de que el valor deUpdateBookingResponse
contenga el ID de reserva y de que todos los campos actualizados reflejen el valor nuevo. -
Si se implementan las RTU de inventario
- Solo actualiza la disponibilidad en lotes de 100 a 1,000 horarios por llamada a la API.
-
Usa campos
*Restrict
(comostartTimeRestrict
) para limitar el objetivo de edición, reducir el tamaño de la carga útil y evitar volver a enviar demasiados datos sin cambios. -
Si generas varios subprocesos, implementa una retirada exponencial para evitar errores de limitación. Si no implementas una retirada exponencial correctamente, es posible que obtengas un
error de cuota de
RESOURCE_EXHAUSTED
. Puedes volver a intentar la retirada exponencial para controlarlas, pero, si notas que tu servidor suele alcanzar cuotas cuando ejecutasReplaceServiceAvailability
, configúralo para que realice un reemplazo por lotes para la disponibilidad. Esta solución evita los errores de cuota porque reduce la cantidad de llamadas a la API que debe realizar tu servicio.
- Establece los límites de tiempo de respuesta de las llamadas a la API en menos de un segundo. Asegúrate de que tu servidor pueda manejar cinco consultas por segundo (QPS) con una latencia inferior a un segundo, al menos, el 95% del tiempo.