Ventajas
- Flexibilidad: conectas cualquier transportista que tenga API, además de las opciones integradas.
- Tarifas exactas: el cliente ve en el pago el costo real de envío según tu cuenta con la transportista.
- Despacho automatizado: los pedidos pagados se envían a la transportista sin trabajo manual.
- Seguimiento sincronizado: el número y la URL de seguimiento vuelven al pedido en Chateea.
Cómo funciona
- Tu servicio registra la transportista en la cuenta de Chateea con una URL de devolución de llamada (callback).
- Durante el pago, Chateea llama a esa URL con el carrito y la dirección de destino, y tu servicio responde con las tarifas de la transportista.
- Cuando entra un pedido, Chateea envía un webhook a tu servicio, que crea el envío en la transportista.
- Cuando la transportista genera el seguimiento, tu servicio crea el despacho (fulfillment) del pedido en Chateea.
- Si se desinstala la integración, tu servicio elimina la transportista registrada.
Requisitos
Conocimientos
- Desarrollo backend (por ejemplo Node.js o Python).
- API REST, webhooks y el flujo de autorización OAuth 2.0.
Servicio backend
Tu servicio debe poder:- Recibir la redirección de OAuth de Chateea.
- Recibir webhooks de Chateea (eventos de pedidos) y de la transportista (actualizaciones de envío).
- Hacer llamadas a la API de Chateea y a la API de la transportista.
- Servir la interfaz de configuración, si no la alojas aparte.
Base de datos
Para guardar de forma segura:- Los tokens OAuth de Chateea (de acceso y de actualización) asociados al ID de cada cuenta.
- Las credenciales de la transportista (claves y secretos) que introduce el usuario, asociadas a la cuenta.
- La relación entre los pedidos de Chateea y los envíos de la transportista.
Endpoints que debes implementar
Paso 1: Configuración inicial
Crea la aplicación
Para crear una aplicación con acceso OAuth a la API de Chateea, obtener sus credenciales y conocer la URL base de la API, escribe a soporte de Chateea en [email protected]. Configúrala así:- Tipo de aplicación: a nivel de cuenta, para que se instale en cuentas concretas.
- URL de redirección: el endpoint de tu servicio que recibe la respuesta de OAuth, por ejemplo
https://tu-backend.com/oauth/callback. - URL de webhooks: el endpoint que recibe los webhooks de Chateea, por ejemplo
https://tu-backend.com/webhooks/chateea. Activa los webhooksOrderCreateyOrderStatusUpdate.
Permisos necesarios
orders.readonlyorders.writeshipping.readonlyshipping.write
Interfaz de configuración
Crea una página donde el usuario introduzca las credenciales de su transportista (clave de API, secreto, ID de cuenta, etc.) e insértala en Chateea como un enlace de menú personalizado que apunte a tu página.Identifica la cuenta del usuario
Tu página y tu backend deben saber en qué cuenta está trabajando el usuario. Al cargar tu página, solicita el contexto a la ventana principal con un mensajeREQUEST_USER_DATA y espera la respuesta REQUEST_USER_DATA_RESPONSE. La respuesta trae los datos del usuario cifrados: envíalos a tu backend y descífralos allí con el secreto compartido de tu aplicación para obtener el ID de la cuenta.
Gestiona las credenciales de la transportista
- Recibe las credenciales desde tu interfaz.
- Guárdalas de forma segura en tu base de datos, asociadas al ID de la cuenta.
- Valídalas con una llamada de prueba a la API de la transportista e informa el resultado al usuario.
- Con las credenciales validadas, registra en la transportista la URL de tu receptor de webhooks, por ejemplo
https://tu-backend.com/webhooks/transportista, para que te avise de cambios en los envíos.
Paso 2: Tarifas de envío en vivo
Registra la transportista
Haz una solicitudPOST /shipping-carrier a la API de Chateea con el contexto de la cuenta y los datos de tu integración:
name: el nombre que verá el usuario en la configuración de envíos.callbackUrl: la URL de tu endpoint de tarifas en vivo. Haz un pago de prueba y comprueba en tus registros que las llamadas llegan a la ruta que esperas.
_id de la transportista creada. Guárdalo como shippingCarrierId, asociado a la cuenta y a sus credenciales.
Implementa el endpoint de tarifas
Durante el pago, Chateea envía unPOST a tu callbackUrl con el origen, el destino, los artículos del carrito y la moneda:
grams es el peso por unidad y totalPrice es la cantidad por el precio unitario.
Tu endpoint debe:
- Leer la solicitud.
- Buscar las credenciales de la transportista asociadas al
altId. - Convertir los datos al formato de la API de la transportista y pedir las tarifas.
- Responder con las tarifas en este formato:
estimatedDays es opcional.
Agrega la tarifa a las zonas de envío
Después de registrar la transportista, hay que agregar una tarifa basada en ella en cada zona de envío donde quieras ofrecerla. Puede hacerlo el usuario desde la configuración de envíos de su tienda o tu integración de forma automática:- Lista las zonas de envío de la cuenta con
GET /shipping-zone?altId=<id_de_la_cuenta>&altType=location. - En cada zona, crea una tarifa con
isCarrierRateentrue, elshippingCarrierIdque guardaste y unamountde 0 como referencia, porque el costo real se obtiene en vivo.
Paso 3: Sincronizar pedidos y despachos
Cuando entra un pedido
Con los webhooksOrderCreate y OrderStatusUpdate activos, tu receptor recibe los eventos de pedidos. Para cada evento:
- Verifica la autenticidad del webhook.
- Comprueba que el pedido esté en un estado listo para enviar, por ejemplo completado o pagado, y que tenga productos físicos.
- Obtén el detalle completo con
GET /orders/{orderId}. - Busca las credenciales de la transportista de esa cuenta.
- Crea el envío en la API de la transportista.
- Guarda la relación entre el
orderIdde Chateea y el ID del envío de la transportista.
Cuando la transportista actualiza el envío
Cuando la transportista avisa que generó la etiqueta, el número de seguimiento o que envió el paquete:- Verifica la autenticidad del webhook según el mecanismo de la transportista.
- Extrae el ID del envío, el número y la URL de seguimiento y el estado.
- Busca el
orderIdy la cuenta correspondientes en tu base de datos. - Si ya hay número de seguimiento, crea el despacho del pedido en Chateea con
POST /orders/{orderId}/fulfillments:
notifyCustomer en true, el cliente recibe el aviso del despacho y ve el seguimiento en el centro de acceso del cliente.
Paso 4: Desinstalación
Configura tu aplicación para recibir el webhook de desinstalación. Cuando llegue para una cuenta:- Busca el
shippingCarrierIdde esa cuenta. - Elimina la transportista con
DELETE /shipping-carrier/{shippingCarrierId}?altId=<id_de_la_cuenta>&altType=location. - Limpia tus datos: borra las credenciales guardadas y los webhooks registrados en la transportista.
Buenas prácticas
- Maneja los errores con cuidado y registra lo que ocurre para facilitar la depuración.
- Protege las credenciales: cífralas en reposo y nunca las expongas en el navegador.
- Prepara tu servicio y tu base de datos para crecer con el volumen de pedidos.
- Revisa periódicamente los cambios en la API de Chateea y en la de tu transportista.
Artículos relacionados
Integraciones privadas
Conecta tus propios sistemas con permisos controlados.
Personalizar la página de pago
Campos de dirección que afectan el cálculo de tarifas.

