Skip to Content
TPC API v1

TPC API v1

API REST para integración empresarial directa con la plataforma TPC de mensajería y logística en Guatemala.

Base URL: https://api.tpcxpress.com/api/v1 · Todas las rutas requieren autenticación Bearer Token.


Quickstart en 3 pasos

Verifica tus credenciales

Confirma que tu token funciona correctamente consultando el perfil de tu empresa:

curl https://api.tpcxpress.com/api/v1/empresa \ -H "Authorization: Bearer TU_API_TOKEN"

Respuesta esperada (200 OK):

{ "success": true, "data": { "nombre": "Mi Empresa S.A.", "costoEntrega": 30.0, "tarifasPersonalizadas": [] } }

Si recibes 401 AUTH_REQUIRED → revisa que tu token sea correcto y esté en el header exacto Authorization: Bearer <token>.

Cotiza el envío (opcional)

Antes de crear una guía, puedes verificar el costo para un municipio específico:

curl -X POST https://api.tpcxpress.com/api/v1/cotizar \ -H "Authorization: Bearer TU_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "ciudadDestino": "Mixco" }'

Crea tu primera guía

curl -X POST https://api.tpcxpress.com/api/v1/guias \ -H "Authorization: Bearer TU_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "tipoServicio": "ESTANDAR", "ciudadDestino": "Mixco", "nombreDestinatario": "Juan Pérez", "telefonoDestinatario": "55551234", "direccionDestinatario": "3ra Avenida 5-10 zona 1" }'

Respuesta (201 Created):

{ "success": true, "data": { "numeroGuia": "TPCE123456789", "estado": "SIN_RECOLLECTAR", "pdfUrl": "https://api.tpcxpress.com/api/v1/guias/TPCE123456789/pdf", "createdAt": "2026-07-06T14:30:00.000Z" } }

Guarda el numeroGuia — es tu referencia principal para consultar y hacer seguimiento.


Formato de respuestas

Todas las respuestas siguen el mismo envelope JSON:

Éxito

{ "success": true, "data": { ... } }

Error

{ "success": false, "error": { "message": "Descripción legible del error", "code": "CODIGO_ERROR" } }

Headers incluidos en toda respuesta

X-RateLimit-Limit: 100 X-RateLimit-Remaining: 87 X-RateLimit-Reset: 1751824200 X-Request-Id: f47ac10b-58cc-4372-a567-0e02b2c3d479

Referencia de endpoints

MétodoRutaDescripción
GET/empresaPerfil y tarifas de tu empresa
GET/municipiosLista de municipios con cobertura activa
POST/cotizarCalcular costo de envío antes de crear guía
GET/guiasListar guías con filtros y paginación
POST/guiasCrear una guía
POST/guias/batchCrear hasta 50 guías en una operación atómica
GET/guias/{numeroGuia}Detalle completo de una guía
PATCH/guias/{numeroGuia}Editar datos del destinatario (solo en SIN_RECOLLECTAR)
DELETE/guias/{numeroGuia}Anular guía (solo en SIN_RECOLLECTAR)
GET/guias/{numeroGuia}/trackingTimeline completo de eventos
GET/guias/{numeroGuia}/pdfDescargar el PDF de la guía (binario)
GET/reportesMétricas y totales por período
POST/webhooksRegistrar endpoint para notificaciones
GET/webhooksListar webhooks activos
GET/webhooks/{id}Detalle y últimos 20 deliveries
PATCH/webhooks/{id}Actualizar URL, eventos o descripción
DELETE/webhooks/{id}Desactivar un webhook
POST/webhooks/{id}/testEnviar PING de prueba síncrono

Recursos rápidos


Ciclo de vida de una guía

Crear guía → SIN_RECOLLECTAR ↓ (recolección por TPC) RECOLECTADO ↓ (ingreso a bodega) EN_BODEGA ↓ (asignación a mensajero) EN_RUTA ↓ ↓ ENTREGADO DEVOLUCION DEVOLUCION_ENTREGADO ANULADA ← (solo desde SIN_RECOLLECTAR)

SDKs y herramientas

La API es REST estándar — funciona con curl, fetch, axios, httpx o cualquier cliente HTTP. No hay SDK oficial por el momento.

¿Quieres probar sin afectar producción? Usa tu token tpc_test_… para el modo Sandbox — las guías se simulan, sin consumo de créditos ni escrituras en la base de datos.

// Ejemplo con fetch (Node.js / navegador) const res = await fetch("https://api.tpcxpress.com/api/v1/guias", { method: "POST", headers: { Authorization: `Bearer ${process.env.TPC_API_TOKEN}`, "Content-Type": "application/json", }, body: JSON.stringify({ tipoServicio: "ESTANDAR", ciudadDestino: "Mixco", nombreDestinatario: "Juan Pérez", telefonoDestinatario: "55551234", direccionDestinatario: "3ra Avenida 5-10 zona 1", }), }); const { data } = await res.json(); console.log(data.numeroGuia); // "TPCE123456789"
Last updated on