Documentación API – 504 Express

Integración para Empresas / Alianzas

API v1

Versión

  • API Version: v1
  • Base URL:
    https://app504express.com/api/index.php/v1
  • Formato: JSON
  • Protocolo: HTTPS obligatorio

Autenticación y Seguridad

La API utiliza doble capa de seguridad:

  1. API Key – identifica la empresa
  2. JWT Token – sesión activa
Credenciales entregadas
  • api_key
  • api_secret
Las credenciales NO deben exponerse en JavaScript ni frontend público.

1. Autenticación (Login)

Headers Requeridos

X-API-KEY: TU_API_KEY
Content-Type: application/json
    
POST /auth/login

{
  "secret": "TU_API_SECRET"
}
    
{
  "status": "success",
  "data": {
    "token": "eyJ0eXAiOiJKV1Qi..."
  }
}
    

Ejemplo cURL – Login

Ejemplo para obtener el JWT Token desde terminal usando cURL.

Endpoint
POST /auth/login
    
URL completa
https://app504express.com/api/index.php/v1/auth/login
    
Headers requeridos
X-API-KEY: TU_API_KEY
Content-Type: application/json
    
Ejemplo en Terminal (cURL)
curl -X POST "https://app504express.com/api/index.php/v1/auth/login" \
     -H "X-API-KEY: TU_API_KEY" \
     -H "Content-Type: application/json" \
     -d '{
           "secret": "TU_API_SECRET"
         }'
    
Respuesta esperada
{
  "status": "success",
  "data": {
    "token": "eyJ0eXAiOiJKV1Qi..."
  }
}
    
Nota:
El token JWT debe enviarse en el header Authorization: Bearer TU_JWT_TOKEN en los endpoints protegidos.

2. Obtener Paquetes de la Alianza

Endpoint

GET /paquetes/alianza
    

Headers Requeridos

X-API-KEY: TU_API_KEY
Authorization: Bearer TU_JWT_TOKEN
Content-Type: application/json
    
{
  "status": "success",
  "data": [
    {
      "control_interno": 149654,
      "tracking": "1Z999AA10123456784",
      "casillero": 723009734,
      "subcasillero": 33333,
      "peso": 2.5,
      "estado": 1,
      "fecha_ingreso": "2026-01-10"
    }
  ]
}
    

Códigos de Estado

CódigoDescripción
1Llegada
2Solicitud de despacho
3Despachado Miami
5Entregado a cliente

Flujo Correcto de Integración

  1. Recepción de api_key y api_secret
  2. POST /auth/login
  3. Recepción del token
  4. Consumo de endpoints
  5. Re-login automático al expirar

Ejemplo PHP (Backend)

Ver ejemplo de uso de la API en vivo
$token  = 'TOKEN_JWT';
$apiKey = 'TU_API_KEY';

$ch = curl_init('https://app504express.com/api/index.php/v1/paquetes/alianza');

curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . $token,
        'X-API-KEY: ' . $apiKey
    ]
]);

$response = curl_exec($ch);
curl_close($ch);
    

Ejemplos en Otros Lenguajes

Los siguientes ejemplos muestran cómo consumir el endpoint GET /paquetes/alianza desde distintos lenguajes.
⚠️ Todos los ejemplos deben ejecutarse desde backend.

Python (requests)
import requests

url = "https://app504express.com/api/index.php/v1/paquetes/alianza"

headers = {
    "Authorization": "Bearer TU_JWT_TOKEN",
    "X-API-KEY": "TU_API_KEY",
    "Content-Type": "application/json"
}

response = requests.get(url, headers=headers)
print(response.json())
    
.NET (C# – HttpClient)
using System.Net.Http;
using System.Net.Http.Headers;

var client = new HttpClient();
client.DefaultRequestHeaders.Authorization =
    new AuthenticationHeaderValue("Bearer", "TU_JWT_TOKEN");

client.DefaultRequestHeaders.Add("X-API-KEY", "TU_API_KEY");

var response = await client.GetAsync(
    "https://app504express.com/api/index.php/v1/paquetes/alianza"
);

var content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
    
Node.js (Axios – Backend)
const axios = require('axios');

axios.get('https://app504express.com/api/index.php/v1/paquetes/alianza', {
    headers: {
        'Authorization': 'Bearer TU_JWT_TOKEN',
        'X-API-KEY': 'TU_API_KEY',
        'Content-Type': 'application/json'
    }
})
.then(response => {
    console.log(response.data);
})
.catch(error => {
    console.error(error.response.data);
});
    
cURL (Pruebas / Postman)
curl -X GET "https://app504express.com/api/index.php/v1/paquetes/alianza" \
     -H "Authorization: Bearer TU_JWT_TOKEN" \
     -H "X-API-KEY: TU_API_KEY" \
     -H "Content-Type: application/json"
    
Importante:
• Nunca exponga api_key ni api_secret en frontend.
• El consumo debe realizarse desde backend seguro.
• El token JWT puede expirar y debe renovarse automáticamente.

Códigos de Error

CódigoDescripción
400Petición inválida
401No autorizado
403Acceso denegado
404Endpoint no encontrado
500Error interno