Integración de Glovo On-Demand (Glovo Local) con Ágora

Configura Glovo On-Demand (Glovo Local) con Ágora: pide un repartidor de Glovo desde el TPV, comprueba zona y horario y sigue cada envío en el panel.

Actualizado el 17 min de lectura Ficha de la integración

Glovo On-Demand (en la web, Glovo Local) es el servicio de Glovo para usar sus repartidores en los pedidos a domicilio del propio restaurante. Con esta integración de Connect Manager, al asignar en Ágora el repartidor de Glovo a un pedido se pide el envío a Glovo, Ágora recibe al momento si Glovo lo acepta o por qué no, y el reparto se sigue en el panel de Connect Manager App. Este manual es para el técnico que la configura en un local.

Qué hace la integración#

  • Pide un repartidor a Glovo cuando en Ágora se asigna a un pedido a domicilio el usuario-repartidor que tiene las URLs de Connect Manager.
  • Antes de crear el envío, pregunta a Glovo si puede hacerlo. Si no puede, Ágora recibe el motivo: fuera de horario, dirección de entrega o de recogida fuera de zona, direcciones en ciudades distintas, ciudad cerrada o bloqueada por alta demanda, u hora de recogida no válida.
  • Envía a Glovo la entrega (dirección, notas, cliente y teléfono, contenido e importe) y la recogida (dirección del local y hora). Si la hora de recogida que manda Ágora ya ha pasado, la pide para dentro de un minuto.
  • Cancela el envío en Glovo cuando Ágora cancela el reparto o cuando se pulsa Cancelar petición en el panel, mientras Glovo lo permita.
  • Al guardar la integración, da de alta en Glovo los avisos de cambio de estado y de posición del repartidor. No hay que pegar ninguna URL en Glovo.
  • Muestra en Recogidas de pedidos (app.connectmanager.es) cada envío con su estado, el repartidor y su teléfono, su posición en el mapa, la hora estimada de entrega y el historial de estados. La lista se actualiza sola.

Qué no hace#

  • No muestra el estado del reparto en el TPV ni en Histórico Riders del hub: se sigue en Recogidas de pedidos.
  • No pide el repartidor al crear el pedido, solo al asignar el usuario-repartidor. La vía automática es exclusiva de Catcher.
  • No consulta el precio del envío, no deja elegir repartidor y solo funciona en España (las direcciones van siempre con el país «Spain»).
  • No gestiona cobros: no envía forma de pago ni importe a cobrar. El total viaja solo como valor declarado del paquete.
  • No evita duplicados. Si Ágora vuelve a pedir el reparto de un pedido que ya lo tenía (por ejemplo, al asignar otra vez el repartidor), se pide otro envío a Glovo y el anterior no se cancela.
  • No envía el campo Detalles de la dirección: en la recogida, Glovo recibe «Nombre del local: » y el nombre del local en Connect Manager.
  • No pregunta a Glovo por el estado a petición: el panel solo cambia cuando llegan los avisos de Glovo.
  • Cancelar desde el panel anula el repartidor, no el pedido: en Ágora el pedido sigue igual.

[!WARNING] En el hub (hub.connectmanager.es, sección Ecosistema Conectado del local) aparece un proveedor «Glovo (On Demand)» con campos como «ID de Tienda» y «Aceptar automáticamente». No está conectado a nada: guardar ahí una configuración no pide ningún repartidor. Glovo On-Demand se configura en app.connectmanager.es, como se explica abajo.

Requisitos#

  • Ágora 7.1.0 o posterior: la integración con plataformas de reparto aparece en la guía del integrador de Ágora desde esa versión.
  • Un usuario de Ágora configurado como repartidor que represente a Glovo (por ejemplo, «GLOVO»).
  • Contrato de Glovo On-Demand para el local, con credenciales de API: Client id y Client secret. Las da Glovo.
  • Conectividad: Ágora tiene que poder salir a internet por HTTPS hacia app.connectmanager.es. Todas las llamadas las inicia Ágora y la integración no consulta la API de Ágora, así que no hace falta Zero Connect ni abrir puertos.
  • El local dado de alta en Connect Manager App (app.connectmanager.es).
  • Quién hace qué: FOS da de alta el local y la integración (el botón Añadir solo lo ven los administradores); el distribuidor configura el usuario-repartidor en Ágora y hace la prueba; el cliente contrata con Glovo y facilita credenciales y dirección de recogida.

Datos que necesitamos#

DatoQuién lo facilita / dónde se sacaEjemplo o formatoObligatorio
Client id.Glovo, al dar de alta el servicio On-Demandglovo-client-12345Sí
Client secretGlovo, junto al Client idCadena secreta: trátala como una contraseñaSí
Dirección de recogida: calle, número, código postal y ciudadCliente: la puerta por la que sale el pedidoCalle Mayor · 5 · 28013 · MadridSí, los cuatro. Si falta uno, no se envía ni la dirección ni la hora de recogida
Latitud y longitud de la recogidaSe rellenan solas al buscar la dirección en el mapa de la configuración40.4168000 / -3.7038000Muy recomendable
URL del entorno de pruebas de GlovoGlovo, si da credenciales de pruebasURL https que indique GlovoNo
Usuario-repartidor en ÁgoraCliente o distribuidorGLOVOSí

Configuración paso a paso#

En Glovo#

  1. El cliente contrata Glovo On-Demand para el local y pide a Glovo las credenciales de API (Client id y Client secret).
  2. Confirma con Glovo que la dirección del local está dentro de su zona de servicio y en qué horario opera. Si no lo está, todas las peticiones volverán rechazadas en la validación.

En Connect Manager App (lo hace FOS)#

  1. Entra en https://app.connectmanager.es y ve a Administración → Locales. Abre el local, revisa sus datos y pulsa Guardar si has cambiado algo.
  2. En el panel Integraciones de la derecha, pulsa Integraciones de reparto.
  3. Pulsa Añadir.
  4. Proveedor: elige Glovo On Demand. Después de guardar ya no se puede cambiar.
  5. URL Api: al crear la integración se guarda siempre https://api.glovoapp.com/ (producción), escribas lo que escribas. Para usar un entorno de pruebas de Glovo, cámbiala después editando la integración: vale para la autenticación y para los envíos.
  6. Client id. y Client secret: los que ha dado Glovo.
  7. Bloque Dirección de recogida: escribe la dirección del local en Buscar. El mapa la localiza, pone la marca y rellena Nombre de la calle, Nº de la calle, Código postal, Ciudad, Latitud y Longitud. Revisa cada campo y corrígelo a mano si hace falta.
  8. Detalles de la dirección se guarda pero no viaja a Glovo; lo que recibe es el nombre del local en Connect Manager, así que comprueba que el repartidor lo pueda reconocer.
  9. Pulsa Guardar. Sale el aviso «Se ha guardado la integración de reparto». Unos segundos después, Connect Manager da de alta en Glovo los avisos de estado y de posición.
  10. La pantalla pasa a modo edición y muestra la URL de petición de recogida y la URL de cancel. de recogida, cada una con su botón de copiar (aviso «Enlace copiado al portapapeles»).

Las dos URLs llevan el número del local en Connect Manager App y tienen esta forma (aquí, con el local de ejemplo 123):

https://app.connectmanager.es/api/venues/123/deliveries/glovo-on-demand/request-pickup
https://app.connectmanager.es/api/venues/123/deliveries/glovo-on-demand/cancel-pickup

[!TIP] Si la pantalla muestra las URLs sin dominio (empiezan por /api/venues/), añade delante https://app.connectmanager.es antes de pegarlas en Ágora.

En Ágora (distribuidor)#

  1. Crea o elige un usuario configurado como repartidor que represente a Glovo, por ejemplo «GLOVO». Es el que el personal asignará a los pedidos que tenga que llevar Glovo.
  2. En la ficha de ese usuario, en sus ajustes de Integración Reparto, pega la URL de petición de recogida como URL de solicitud de reparto y la URL de cancel. de recogida como URL de cancelación. Son dos campos distintos: no las cruces.
  3. Explica al personal que, para pedir un Glovo, basta con asignar ese repartidor al pedido a domicilio, y que si Glovo no puede hacer el envío Ágora recibe el motivo.

Cómo funciona#

Pedir el repartidor#

Al asignar el repartidor «GLOVO», Ágora envía a la URL de petición el pedido: número, dirección de entrega con coordenadas, hora de recogida, nombre y teléfono del cliente, notas, importe y líneas. Connect Manager guarda la petición (una por número de pedido y local) y pide a Glovo un token con el Client id y el Client secret, que reutiliza hasta unos minutos antes de que caduque. Después pregunta a Glovo si el envío es posible con esas direcciones y esa hora. Si Glovo dice que no, guarda el código del motivo como estado y responde a Ágora «rechazado» con el motivo en español. Si dice que sí, crea el envío: Glovo devuelve su número de seguimiento (en el panel, Id. Externo) y el estado inicial, y Ágora recibe «aceptado».

Cada llamada a Glovo se intenta hasta tres veces, con medio segundo entre intentos, si falla. Si sigue fallando, Ágora recibe «rechazado» con el error y nada se reintenta más tarde: hay que volver a asignar el repartidor.

sequenceDiagram
  participant TPV as TPV Ágora
  participant CM as Connect Manager App
  participant G as Glovo
  TPV->>CM: request-pickup con el pedido
  CM->>G: token con Client id y Client secret
  CM->>G: validación de direcciones y hora
  alt Glovo no puede
    G-->>CM: código del motivo
    CM-->>TPV: rejected con el motivo
  else Glovo puede
    CM->>G: crear envío
    G-->>CM: número de seguimiento y estado
    CM-->>TPV: accepted
  end

Así se traduce el pedido de Ágora al envío de Glovo:

Dato de Ágora o de la configuraciónQué recibe Glovo
Calle, código postal y población de entregaDirección de entrega en texto: «calle, CP, población, Spain»
Latitud y longitud de entregaCoordenadas de entrega, solo si Ágora las manda
Notas del pedidoDetalles de la dirección de entrega
Nombre y teléfono del clienteContacto del envío
Importe del pedidoValor del paquete (tipo de contenido: comida)
Líneas del pedidoDescripción: «Producto: cantidad; Producto: cantidad»
Número de pedidoReferencia del paquete y código de recogida
Hora de recogidaHora de recogida en UTC; si ya ha pasado, ahora más un minuto
Calle, número, CP y ciudad de la configuraciónDirección de recogida, solo si están los cuatro
Latitud y longitud de la configuraciónCoordenadas de recogida
Nombre del local en Connect ManagerDetalles de la recogida: «Nombre del local: …»

Avisos de Glovo y seguimiento#

Al guardar la integración, Connect Manager da de alta en Glovo dos avisos que apuntan a Connect Manager: cambio de estado y posición del repartidor, con hasta cinco reintentos por parte de Glovo. Cuando llega un aviso, Connect Manager comprueba la clave que Glovo devuelve en la cabecera (si no coincide, lo rechaza con «El token proporcionado no es válido.»), busca el envío por su número de seguimiento y guarda estado, repartidor y posición. Después consulta a Glovo el detalle completo del envío para actualizar el estado, la hora estimada de entrega y si todavía se puede cancelar. El panel se refresca al momento.

Si el alta de los avisos falla, FOS recibe un aviso interno («Crear webhook (Error)») y el estado de los envíos de ese local no cambiará en el panel. Volver a pulsar Guardar en la integración reintenta el alta.

sequenceDiagram
  participant G as Glovo
  participant CM as Connect Manager App
  participant P as Panel Recogidas
  G->>CM: aviso de estado o de posición
  CM->>G: consulta el detalle del envío
  G-->>CM: estado, entrega estimada y si es cancelable
  CM-->>P: actualiza la petición al momento

Cancelar#

Cuando en Ágora se cancela el reparto de un pedido que aún no se ha recogido, Ágora llama a la URL de cancelación con el número de pedido. Connect Manager busca la petición de ese local y, si Glovo todavía la marca como cancelable, pide a Glovo que la anule, vuelve a leer el estado y responde «aceptado». Si Glovo ya no lo permite, responde «Ocurrió un error: El pedido P-123 no se puede cancelar.»; si el pedido nunca se pidió por esta integración, «Ocurrió un error: El pedido P-123 no está dado de alta en el sistema.». El botón Cancelar petición del panel hace la misma llamada y solo aparece mientras el envío es cancelable; si va bien, avisa con «Se ha enviado la cancelación del pedido al proveedor.».

Estados que verás en el panel#

En Recogidas de pedidos (con sus vistas Peticiones en curso e Historial de pedidos) cada envío lleva el estado de Glovo: Creado, Agendado, Activado, Aceptado (repartidor asignado), En proceso de recogida, Recogido, En proceso de entrega, Entregado, Cancelado, Devuelto, En proceso de devolución y Rechazado. Las peticiones que Glovo no validó se quedan en Peticiones en curso con el motivo como estado: Error en la hora de recogida, Fuera de las zonas de trabajo (que en realidad significa fuera de horario), Dirección de recogida fuera de la zona de trabajo, Dirección de entrega fuera de la zona de trabajo, Las direcciones no están en la misma ciudad, Ciudad bloqueada o Ciudad cerrada.

Cada fila tiene Ver detalle (mapa, datos de recogida, de entrega y del repartidor, e historial de estados) y, si se puede, Cancelar petición. El menú lo ven los administradores y los usuarios de cliente o distribuidor cuyos locales tienen una integración de reparto.

Comprobar que funciona#

  1. En la integración guardada se ven la URL de petición de recogida y la URL de cancel. de recogida, y en Ágora están pegadas en el usuario «GLOVO», cada una en su campo.
  2. Pregunta a FOS si ha llegado algún aviso «Crear webhook (Error)» de ese local. Si ha llegado, vuelve a guardar la integración antes de seguir.
  3. Crea en Ágora un pedido a domicilio real, con una dirección cercana dentro de la zona de Glovo y en su horario, con nombre y teléfono del cliente.
  4. Asigna el repartidor «GLOVO». Ágora debe aceptar la asignación; si la rechaza, el motivo te dice qué falla (tabla de abajo).
  5. En app.connectmanager.es, abre Recogidas de pedidos → Peticiones en curso: el pedido aparece con su Nº de pedido de Agora, su Id. Externo de Glovo y su estado.
  6. Espera a que Glovo asigne repartidor: el estado debe avanzar solo y en Ver detalle deben aparecer el repartidor, su posición y la entrega estimada. Si el estado no se mueve, los avisos no están dados de alta.
  7. Prueba la cancelación con un pedido que todavía no se haya recogido, desde Ágora o con Cancelar petición: el estado pasa a Cancelado. Es un repartidor real, así que hazlo enseguida.

Errores frecuentes y solución#

SíntomaCausaSolución
Ágora rechaza con «Ocurrió una Exception: Fuera de horas de trabajo»Glovo no opera en esa ciudad a esa horaPedir dentro del horario de Glovo o llevarlo con un repartidor propio
«Ocurrió una Exception: Dirección de entrega fuera del área de trabajo»El cliente está fuera de la zona de Glovo, o la dirección del pedido está mal escritaRevisar la dirección del cliente en Ágora; si es correcta, no se puede repartir con Glovo
«Ocurrió una Exception: Dirección de recogida fuera del área de trabajo»La dirección o las coordenadas de recogida de la configuración están mal, o el local está fuera de zonaRevisar calle, número, CP, ciudad, latitud y longitud de la integración
«Ocurrió una Exception: Las direcciones no están en la misma ciudad»Glovo solo reparte dentro de la misma ciudadRevisar la población del pedido; si es otra ciudad, no se puede repartir con Glovo
«Ocurrió una Exception: Los pedidos están bloqueados en esta ciudad debido a la alta demanda. Por favor, prueba en 5 minutos» o «Ocurrió una Exception: El servicio en esta ciudad está actualmente cerrado»Glovo ha bloqueado la ciudad por saturación o no da servicio en ese momentoVolver a asignar el repartidor pasados unos minutos o repartir por otra vía
«Ocurrió una Exception: Hora de recogida no válida»Glovo no acepta la hora de recogida pedidaRevisar la hora de entrega del pedido en Ágora y volver a asignar
«Ocurrió una Exception: Error no especificado»Glovo devolvió un código de validación que Connect Manager no traduceMirar el estado de la petición en el panel: guarda el código tal cual lo mandó Glovo
«Ocurrió una Exception: » seguido de otro texto de GlovoGlovo no acepta algún dato del envío (dirección, teléfono, hora)Corregir el dato en el pedido de Ágora o en la configuración y volver a asignar
«Ocurrió una Exception: Undefined property: stdClass::$status»Glovo validó el envío pero rechazó crearlo, y Connect Manager no consigue mostrar su motivoVolver a asignar el repartidor; si se repite, pedir a FOS que revise el registro de esa petición
«Ocurrió una Exception: HTTP request returned status code 401…»Client id o Client secret erróneos, o URL Api: de otro entorno distinto al de las credencialesRevisar las credenciales con Glovo y la URL Api; corregir y guardar
Ágora da error al asignar y no aparece nada en el panelURL mal copiada: número de local de otro local, o local sin integración Glovo On DemandVolver a copiar las URLs desde la integración de ese local
«Ocurrió un error: El pedido P-123 no se puede cancelar.»Glovo ya no permite cancelar ese envíoResolverlo directamente con Glovo
«Ocurrió un error: El pedido P-123 no está dado de alta en el sistema.»Ese pedido no se pidió por esta integración o la URL de cancelación es de otro localComprobar la URL de cancelación del usuario «GLOVO»
El estado se queda en el inicial y no aparece el repartidorLos avisos de Glovo no se dieron de alta (FOS recibe «Crear webhook (Error)»)Volver a guardar la integración; si Glovo responde que ya existen, avisar a FOS
Glovo no tiene la dirección ni la hora de recogida del localFalta alguno de los cuatro campos de la dirección de recogida: entonces no se envían ni la dirección ni la horaRellenar calle, número, CP y ciudad y guardar
Dos envíos de Glovo para el mismo pedidoSe asignó el repartidor dos veces y Connect Manager pidió dos envíosCancelar el sobrante con Glovo; no reasignar un pedido que ya tiene envío

Preguntas frecuentes#

¿Cómo conecto Glovo On-Demand (Glovo Local) con Ágora?#

FOS da de alta la integración en app.connectmanager.es, en las integraciones de reparto del local, con el Client id, el Client secret y la dirección de recogida. Después se pegan la URL de petición y la de cancelación en un usuario-repartidor de Ágora, y basta con asignar ese repartidor al pedido.

¿Glovo On-Demand es lo mismo que recibir pedidos de Glovo en Ágora?#

No. Recibir en Ágora los pedidos que entran por la app de Glovo es la integración de Glovo como plataforma de pedidos (manual de Glovo). Glovo On-Demand sirve para pedir un repartidor de Glovo para tus propios pedidos a domicilio.

¿Se pide el repartidor de Glovo automáticamente al crear el pedido?#

No. Solo cuando se asigna en Ágora el usuario-repartidor de Glovo. La petición automática al crear el pedido solo existe para Catcher.

¿Dónde veo por dónde va el repartidor de Glovo?#

En app.connectmanager.es, en Recogidas de pedidos: posición en el mapa, entrega estimada y datos del repartidor. No se ve en el TPV ni en Histórico Riders del hub.

¿Puedo cancelar un Glovo que ya he pedido?#

Sí, desde Ágora o con Cancelar petición en el panel, mientras Glovo lo marque como cancelable. Cancelar el repartidor no anula el pedido en Ágora.

¿Funciona fuera de España?#

No. Las direcciones se envían siempre con el país «Spain».

Referencias#

¿Te ha servido este manual? ¡Gracias! Nos ayuda a mejorarlo. No hemos podido guardar tu respuesta. Inténtalo de nuevo.
¿Te has atascado?

910 91 92 11 · Lunes a jueves de 9 a 18 h · viernes de 9 a 15 h

Escríbenos