API REST Bolsa de Carga: Integración para Desarrolladores
API REST Bolsa de Carga: Integración para Desarrolladores
Visión General
La API de Cargoffer permite integrar funcionalidades de bolsa de carga en cualquier sistema: TMS, ERP, WMS o aplicación propia.
Características Principales
- REST API con estándar JSON - Autenticación mediante API Keys y JWT - Webhooks para eventos en tiempo real - Sandbox para pruebas sin coste
Autenticación
Obtener API Key# Solic
```bash ita tu API Key en https://cargoffer.com/api ```
Autenticación con API Key
```bash curl -X GET "https://api.cargoffer.com/v1/cargas" \ -H "Authorization: Bearer TU_API_KEY" \ -H "Content-Type: application/json" ```
Autenticación con JWT (para aplicaciones web)
```bash
Obtener token
curl -X POST "https://api.cargoffer.com/v1/auth/token" \ -H "Content-Type: application/json" \ -d '{"client_id": "TU_CLIENT_ID", "client_secret": "TU_CLIENT_SECRET"}'
Usar token
curl -X GET "https://api.cargoffer.com/v1/cargas" \ -H "Authorization: Bearer TOKEN_OBTENIDO" ```
Endpoints Principales
Cargas
```bash
Listar cargas disponibles
GET /v1/cargas?origen=ES&destino=ES&fecha=2026-02-20
Publicar carga
POST /v1/cargas { "origen": { "ciudad": "Madrid", "codigo_postal": "28001", "direccion": "Calle Mayor 1" }, "destino": { "ciudad": "Barcelona", "codigo_postal": "08001", "direccion": "Avenida Diagonal 100" }, "mercancia": { "tipo": "palets", "peso_kg": 1200, "volumen_m3": 2.5, "valor_eur": 5000 }, "fecha_prevista": "2026-02-22", "remitente": { "empresa": "Empresa SL", "cif": "B12345678", "contacto": "Juan García", "telefono": "+34600123456", "email": "juan@empresa.com" } } ```
Transportistas
```bash
Buscar transportistas disponibles
GET /v1/transportistas?zona=ES&disponibles=true&valoracion_minima=4.5
Obtener perfil de transportista
GET /v1/transportistas/{id}
Ver vehículos de transportista
GET /v1/transportistas/{id}/vehiculos ```
Operaciones
```bash
Crear operación de transporte
POST /v1/operaciones { "carga_id": "CARG-2026-001", "transportista_id": "TRANS-001", "precio_acordado": 450, "condiciones": "pagero 7 dias" }
Obtener estado de operación
GET /v1/operaciones/{id}
Actualizar estado
PUT /v1/operaciones/{id}/estado { "estado": "en_transito", "ubicacion_actual": { "lat": 40.4168, "lon": -3.7038, "timestamp": "2026-02-20T10:30:00Z" } } ```
Tracking
```bash
Obtener tracking de envío
GET /v1/tracking/{operacion_id}
Historial de tracking
GET /v1/tracking/{operacion_id}/historial ```
Webhooks
Configurar Webhooks
```bash
Registrar URL de webhook
POST /v1/webhooks { "url": "https://tu-sistema.com/webhook/cargoffer", "eventos": ["operacion.creada", "operacion.entregada", "operacion.incidente"] } ```
Eventos Disponibles
| Evento | Descripción | | ----------------------- | ------------------------ | | `operacion.creada` | Nueva operación aceptada | | `operacion.en_transito` | Transportista en camino | | `operacion.entregada` | Entrega completada | | `operacion.incidente` | Incidencia reportada | | `pago.procesado` | Pago procesado | | `documento.generado` | CMR/eCMR generado |
Formato de Payload
```json { "evento": "operacion.entregada", "timestamp": "2026-02-20T15:30:00Z", "data": { "operacion_id": "OP-2026-001", "carga_id": "CARG-2026-001", "estado": "entregada", "firma_digital": "https://...", "incidentes": [] } } ```
Códigos de Error
| Código | Descripción | | ------ | --------------------------- | | 400 | Solicitud incorrecta | | 401 | Autenticación fallida | | 403 | Permisos insuficientes | | 404 | Recurso no encontrado | | 422 | Validación de datos fallida | | 429 | Rate limit excedido | | 500 | Error interno |
SDKs Disponibles
Python
```python pip install cargoffer
from cargoffer import CargofferAPI
api = CargofferAPI(api_key="TU_API_KEY")
Buscar cargas
cargas = api.cargas.list( origen="ES", destino="ES", fecha="2026-02-20" )
Publicar carga
carga = api.cargas.create({...}) ```
Node.js
```javascript const cargoffer = require("cargoffer");
const api = new cargoffer.Client({ apiKey: "TU_API_KEY" });
// Buscar cargas const cargas = await api.cargas.list({ origen: "ES", destino: "ES", }); ```
sandbox y Pruebas
Acceso a Sandbox
Todas las API keys de desarrollo incluyen acceso gratuito a sandbox:
``` https://api-sandbox.cargoffer.com/v1/... ```
Entorno de Pruebas
- Sin coste para pruebas - Datos de prueba automatizados - Simulación de todos los escenarios - Rate limits relajados
Límites y Cuotas
| Tier | Peticiones/mes | Webhooks | | ------------ | -------------- | --------- | | Free | 1,000 | 1 | | Starter | 10,000 | 5 | | Professional | 100,000 | 20 | | Enterprise | Unlimited | Unlimited |
Contacto y Soporte
- Documentación: https://docs.cargoffer.com - Soporte técnico: api@cargoffer.com - Slack community: join cargoffer developers
_Última actualización: Febrero 2026_