Ir al contenido principal
Todas las coleccionesAPI
11-Configurar y Probar un Webhook
11-Configurar y Probar un Webhook

11-Configurar y Probar un Webhook

A
Escrito por Axel Candia
Actualizado hace más de una semana

En este artículo explicaremos como utilizar el entorno de pruebas para poder testear una integración con moova de punta a punta.

Requisitos

Para poder utilizar el entorno de testing es necesario.

  1. Haberse dado de alta en producción y en el entorno de testing. Si no lo hiciste aún ver las instrucciones aquí.

Entorno de Pruebas/Testing

Ir a la URL del entorno de prueba: https://b2b-api-test.moova.io/

Una vez hecho el login se encuentran con el menú principal de la plataforma de testing.

Hay varias pestañas y esto es lo que se visualizará en cada una de ellas.

Recibidos: se visualizan los pedidos recibidos por el sistema a través del endpoint : https://api-dev.moova.io/b2b/shippings en estado “DRAFT”. En esta pestaña se podrá cambiar el estado de los envíos de “DRAFT” a “READY”

Listos: se visualizarán los envíos que están en estado “READY” y se podrá programar un envío generando el evento correspondiente.

Programados: se visualizarán los envíos que están en estado “READY” con fecha de programación.

Confirmados: se visualizarán los envíos programados y podrán ser asignados a un moover y se podrá simular que el moover buscó el paquete en origen y ya comienza el recorrido al destino.

En curso: se visualizarán los envíos que están en curso. Desde aquí podremos “entregar” satisfactoriamente un envío o generar una incidencia

Historial: se visualizarán los envíos que han terminado su ciclo de vida.

Incidencias: se visualizarán los envíos que tienen incidencias y se podrá cambiar de estado a “Listos”, etc.

Creación de API Keys y configuración del WebHook en el entorno del prueba.

Entrando en el menú del usuario / perfil / API/WebHook se podrá visualizar se podrá copiar el API ID / regenerarlo e ingresar la URL del webhook, el método y los headers en caso que se quiera incorporarlos.

Entorno de Pruebas

Los shippings creados a través de /B2B/SHIPPINGS aparecerán en la pestaña de recibidos.

Desde aquí los podemos marcarlos como ready para pasarlos a este nuevo estado.

Si hemos configurado el webhook, recibiremos los siguientes JSON. La fecha indica cuando se cambiaron a READY

Si vamos a la pestaña Listos veremos todos los shippings que están en estado READY

A partir de este paso vamos a generar lo que luego los operadores de Moova van a realizar. El objetivo de esta simulación es poder generar los JSON que recibiremos a través del webhook para poder probar como se comportará el sistema en producción.

Los marcamos como para programarlos y presionamos el botón “Marcar como programado”

En el webhook, recibimos que dos mensajes donde dice que los envíos siguen en estado “ready” pero que ya están programados.

Están programados para ser entregados entre la fecha “scheduled” y “scheduled” más 300 minutos.

Ahora vamos a la pestaña “programados” donde veremos los envíos programados y los vamos a asignar a un mensajero.

En los json que recibimos vemos reflejado el cambio al estado “CONFIRMED” o sea que al envío ya tiene un mensajero confirmado. También enviamos el nombre del Mensajero y la URL de la foto del mismo.

El siguiente paso es que el mensajero recoja el paquete. Esto lo haremos desde la pestaña “Confirmados”

Este cambio se verá reflejado a través de los siguientes webhooks

El status es “PICKEDUP” o sea que ya se recogió el paquete en origen.

El status cambia a “INTRANSIT” o sea que está en transito al destino.

El siguiente paso es que el mensajero entregue el paquete. Esto lo haremos desde la pestaña “En curso”

Primero marcaremos el envío de “nicolás garcía” como entregado.

Recibimos a través del webhook un json con el status = “DELIVERED” el nombre de la persona que lo recibió y la firma

Luego marcaremos el envío de “José Perez” como con una incidencia.

En mensaje que recibimos, el status = “INCIDENCE” y la razón “absent_recipient” y la URL de la foto que prueba que se intentó la entrega.

Estás son todos las incidencias que se pueden recibir según el estado del envío.

Estado del envío

nombre de la incidencia

descripción

RETURNED

absent_client

Cliente ausente

CONFIRMED

error

Tomado por error

CONFIRMED

technical_issue

Problema técnico

PICKEDUP

absent_client

Cliente ausente

PICKEDUP

incorrect_address

Dirección incorrecta

PICKEDUP

unavailable_product

Producto no disponible

PICKEDUP

unrecognized

El cliente no reconoce el envio

PICKEDUP

wrong_size

El tamaño del paquete es distinto

INTRANSIT

technical_issue

Problema técnico

DELIVERED

absent_client

Cliente ausente

DELIVERED

incorrect_address

Dirección incorrecta

DELIVERED

unrecognized

El cliente no reconoce el envio

DELIVERED

rejected

Envio no esperado

Si vamos a la pestaña de Incidencias encontraremos esta incidencia.

Aquí por ejemplo lo podemos marcar como READY para que comience el ciclo nuevamente.

En cualquier momento se pueden visualizar los detalles de un envió haciendo click sobre el ID del mismo en cualquiera de las pestañas

Devolución a Origen

En caso que haya que realizar una devolución.

El primer paso será que habrá una incidencia con alguno de los tipos previstos:

Estado del envío

nombre de la incidencia

descripción

DELIVERED

absent_client

Cliente ausente

DELIVERED

incorrect_address

Dirección incorrecta

DELIVERED

unrecognized

El cliente no reconoce el envio

DELIVERED

rejected

Envio no esperado

INTRANSIT

technical_issue

Problema técnico

Para generar la devolución en el entorno de testing, ir a “incidencia” y poner “Resolver incidencia”

De esta manera sabemos que este envío será devuelto a ORIGEN.

Luego “el pedido sigue en curso a ser devuelto” con lo cual vamos a las pestaña de “En curso” en el entorno de testing y lo encontraremos y podremos marcarlo como devuelto.

Una vez marcado a través del webhook nos llegará. El estado “RETURNED” significa que ya ha sido devuelto.

Estado Canceled

En el caso que el envío se encuentre en estado de "READY" o "DRAFT" podremos cancelar el envío e ingresar el motivo del mismo.

Estado del envío

nombre de la incidencia

descripción

CANCELED

out_of_area

Fuera del Area

CANCELED

dangerous_area

Area Peligrosa

CANCELED

unrecognized_address

Dirección no Reconocida

CANCELED

lost_package

Paquete perdido

CANCELED

destroyed

Paquete destruido

CANCELED

fraud_risk

La orden correspondiente al envío, fue detectada como sospechosa de fraude.

CANCELED

created_by_mistake

Creado por error

CANCELED

other

Otra Razón

No llegara de esta forma el webHook y dentro del campo "details" en la "reason" va a figurar el campo con el nombre de la incidencia.

{
  id: 'e7e81110-0e3a-11ef-b7ea-dbe13835a15f',
  internalCode: 'XX475738YY',
  shippingType: 'regular',
  details: { reason: 'other', pickedUpShippings: [] },
  date: '2024-05-09 19:39:37',
  shippingStatusId: 645418,
  status: 'CANCELED'
}

Cualquier duda abrir un ticket aquí

¿Ha quedado contestada tu pregunta?