Descubre cómo obtener información de tus pedidos en tiempo real
Los webhooks son la solución perfecta para obtener información en tiempo real. ShippyPro te permite recibir etiquetas, actualizaciones de seguimiento y mensajes de error de los pedidos de forma casi instantánea.
Índice:
-
Conectar tu Webhook
-
Errores y Troubleshooting
Más información sobre nuestras APIs y la documentación de APIs:
1. Conectar tu Webhook
-
En primer lugar, ve a API > API y haz clic en Añadir Webhook.
- Después introduce la URL del servidor en el que te gustaría recibir la información del evento o eventos específicos que escojas de la lista mostrada a continuación. Puedes escoger entre: Pedido enviado, error en el pedido y actualizaciones de seguimiento.
- Ahora introduce tu nombre de usuario y contraseña para la autenticación de Webhook en el servidor. Nota: auth no es un paso obligatorio: si tu servidor no lo tiene no es necesario que lo incluyas. Una vez introducida la información, indica si quieres habilitar la opción Volver a intentar en caso de error en Webhooks.
- También puedes fijar el máximo de intentos (hasta 10).
- Por último, decide si deseas aplicar un Header personalizado: ¿qué es eso? Los Headers personalizados dan la posibilidad de autenticar tus peticiones Webhook, y rechazar cualquiera que no contenga estos Headers personalizadas.
- Activa esta opción si deseas una medida de seguridad adicional.
- Establece entonces una Clave y un Valor del Header para completar la configuración.
-
Una vez conectado tu Webhook puedes editarlo, borrarlo o probarlo.
-
Al hacer clic en Probar verás toda la información transferida:
{
"Event": "TRACKING_UPDATE",
"tracking": "WZ116539070",
"date": 1622671204,
"message": "Shipment delivered,
"city": "Florence",
"est_delivery_date": "0",
"first_status_date": "1622152801",
"late": "0",
"code": 6,
"OrderID": "24957298",
"TransactionID": "48572_1",
"TrackingCarrier": "FedEx",
"MarketplaceID": "0",
"MarketplacePlatform": "Manual shipment",
"ExternalLink": "",
"FromAddressCompany": "John Doe srl.",
"ToAddressCompany": "",
"FromAddressCountry": "IT",
"ToAddressCountry": "IT"
}
En la primera conexión de un nuevo endpoint ShippyPro siempre envía el webhook order_shipped, incluso si el event elegido es diferente.
- Al hacer clic en Ver registro de Webhooks podrás ver una lista de todos tus registros y podrás filtrar por punto de acceso, evento, resultado o nuevo intento haciendo clic en el filtro deseado.
Esta es la información que podrás visualizar desde esta sección:
Date
Date End
Order ID
Transaction ID
Carrier
Endpoint
Event
Result
Retry
Time Spent
Request
Response
A través de Webhook Logs, insertando tu endpoint recibirás notificaciones de los cambios en el estado de la entrega, así como acceso a información útil sobre las actualizaciones de seguimiento.
También puedes usar Webhooks para las devoluciones!
Los archivos Webhook están en formato Json.
2. Errores y Troubleshooting
¿Puedo tener más de un Webhook?
Sí, siga estos pasos para hacerlo rápidamente.
- En la barra lateral haz clic en API > API.
- Dentro de la sección Webhook pulsa en Añadir Webook.
- Una vez se haya abierto el popup introduce toda la información relevante y pulsa en Guardar.
Estoy conectando webhooks y recibo "La respuesta HTTP debe estar en formato JSON. Please Retry" en la respuesta
Normalmente, el error aparece si el tipo de contenido de la respuesta no se ha establecido como application/json. Debes asegurarte de que la respuesta está formateada como application/json o, alternativamente, devolver un 204 como código HTTP y ningún cuerpo de respuesta.
Al enviar un webhook a mi servidor recibo esta respuesta:{"success":false, "reason": "CSRF token mismatch"}
Este es un error causado normalmente por un firewall que ha bloqueado la recepción del webhook.
Asegúrate de haber eliminado el bloqueo a nuestra ip e intenta hacer una nueva llamada a la API.
En general, la prueba del webhook sólo pasa si:
Código HTTP entre 200 y 300 + respuesta en json
o
Código HTTP 204 (sin resultado) y respuesta no json
¿Cuál es la dirección IP pública utilizada para las actualizaciones de los webhooks?
Los webhooks llegan desde una IP aleatoria, por lo que en caso de que desees que configuremos una dirección IP estática será necesario un presupuesto adicional por parte de nuestro Departamento de Ventas. Póngate en contacto con ellos en sales@shippypro.com
HTTP response code is 403, it must be 200. Please Retry!
El error 403 indica que la solicitud es válida, pero tu servidor está rechazando nuestra solicitud de creación (la autenticación no tiene efecto).
Una vez que hayas solucionado los problemas de autenticación para el endpoint específico, podrás conectarte correctamente al webhook.
¿Qué significa cada estatus?
A continuación encontrarás una lista de los posibles estados que se mostrarán junto con su significado:
1×× Información
2×× Éxito
3×× Redirección
4×× Error de cliente
-
400 Bad Request
-
401 Unauthorized
-
402 Payment Required
-
403 Forbidden
-
404 Not Found
-
405 Method Not Allowed
-
406 Not Acceptable
-
407 Proxy Authentication Required
-
408 Request Timeout
-
409 Conflict
-
410 Gone
-
411 Length Required
-
412 Precondition Failed
-
413 Payload Too Large
-
414 Request-URI Too Long
-
415 Unsupported Media Type
-
416 Requested Range Not Satisfiable
-
417 Expectation Failed
-
418 I'm a teapot
-
421 Misdirected Request
-
422 Unprocessable Entity
-
423 Locked
-
424 Failed Dependency
-
426 Upgrade Required
-
428 Precondition Required
-
429 Too Many Requests
-
431 Request Header Fields Too Large
-
444 Connection Closed Without Response
-
451 Unavailable For Legal Reasons
-
499 Client Closed Request
5×× Error de servidor
Si el error que recibes es el código de respuesta HTTP response code is 500, it must be 200, el error 500 indica que el webhook añadido es inalcanzable.
El código de estado HTTP 500 es una respuesta genérica de error. Significa que el servidor se encontró con una condición inesperada que le impidió cumplir con la solicitud, es decir, el servidor es inalcanzable.
Si necesitas más información sobre cómo funcionan los precios, consulta nuestra página de tarifas. 🚀