Saltar al contenido principal

Convenciones

Esta página describe los estándares y convenciones que la API Comex de EURUS PRO aplica de forma transversal a todos los endpoints. Conocerlas te ahorrará sorpresas al integrar.

Base URL y versionado

La URL base de la API incluye dos elementos variables antes del path del recurso:

https://api-comex.eurus.pro/{idAgencia}/v1/...
SegmentoDescripción
{idAgencia}Identificador numérico de tu agencia EURUS PRO. Se asigna al provisionar el acceso.
v1Versión mayor de la API.
  • Cambios breaking se publican en una nueva versión mayor (/v2).
  • Cambios no-breaking (nuevos campos opcionales, nuevos endpoints) se añaden a la versión actual.
  • Las versiones anteriores se mantienen activas durante un período de migración que se anunciará en el Changelog.
Política de deprecación

Cuando un endpoint o campo se marque como deprecated, se anunciará en el Changelog con al menos 90 días de anticipación antes de su retirada.

Identificadores comunes

Casi todas las llamadas a la API Comex involucran estos tres identificadores:

idAgencia (path)

Segmento numérico que identifica tu agencia EURUS PRO. Forma parte del path, antes de /v1.

https://api-comex.eurus.pro/12345/v1/...
^^^^^
idAgencia

key (query, obligatorio)

API Key que autentica la llamada. Ver Autenticación.

rut (query, obligatorio en la mayoría de endpoints)

RUT del cliente final del que estás consultando datos.

Formato de RUT

El parámetro rut debe enviarse en un formato normalizado muy estricto:

  • Solo dígitos.
  • Sin puntos (.).
  • Sin guion (-).
  • Sin la letra verificadora como letra. Si el RUT termina en K, reemplaza la K por 1.
RUT formato comúnrut en la API
76.543.210-K765432101
12.345.678-9123456789
9.876.543-298765432
1-919

Helper en JavaScript

function normalizarRut(rut) {
// Elimina puntos, guion y espacios
const limpio = rut.replace(/[.\-\s]/g, "").toUpperCase();
// Reemplaza K final por 1
return limpio.endsWith("K") ? limpio.slice(0, -1) + "1" : limpio;
}

normalizarRut("76.543.210-K"); // "765432101"
normalizarRut("12.345.678-9"); // "123456789"

Helper en Python

def normalizar_rut(rut: str) -> str:
limpio = rut.replace(".", "").replace("-", "").replace(" ", "").upper()
return limpio[:-1] + "1" if limpio.endswith("K") else limpio

normalizar_rut("76.543.210-K") # "765432101"
normalizar_rut("12.345.678-9") # "123456789"

Formato de request y response

  • Content type: application/json en request body y response body.
  • Charset: UTF-8.
  • Fechas: en los parámetros (startDate, endDate) usa formato YYYY-MM-DD (ISO 8601). En las respuestas, timestamps en formato ISO 8601 con zona horaria UTC (2026-04-10T15:02:44Z).
  • Identificadores: los numeroDespacho y fileName son strings.
  • Nombres de campos: camelCase en responses.

Headers recomendados

HeaderValorNotas
Acceptapplication/jsonRecomendado incluir explícitamente.
Accept-Languagees o enIdioma preferido para mensajes de error legibles.
User-AgentMiApp/1.2.3 (+https://miapp.com)Recomendado — ayuda al soporte a identificar tu tráfico.

Paginación

Placeholder

Los endpoints actualmente disponibles devuelven todos los resultados en una sola respuesta (con un campo total). Si los volúmenes crecen, se añadirá paginación por parámetros page y limit, documentados en una próxima versión.

Rate limits

La API aplica límites de tasa para proteger la plataforma:

PlanRequests/minutoRequests/día
Default6010 000
EmpresaA convenirA convenir
Placeholder

Los límites exactos se confirmarán antes del release público.

Cuando superas un límite, la API responde con HTTP 429 y los siguientes headers estándar:

HeaderDescripción
X-RateLimit-LimitLímite total de la ventana actual.
X-RateLimit-RemainingRequests restantes antes del reset.
X-RateLimit-ResetEpoch timestamp (segundos) en que se resetea la ventana.
Retry-AfterSegundos a esperar antes de reintentar.

Recomendación: implementa back-off exponencial con jitter ante respuestas 429 o 5xx.

Códigos HTTP usados

CódigoSignificadoCuándo
200 OKÉxito.GET exitoso.
400 Bad RequestRequest mal formado.Parámetros faltantes, tipos incorrectos, RUT en formato inválido, fechas mal formadas.
401 UnauthorizedAPI Key ausente o inválido.Falta ?key=... o el key fue revocado.
403 ForbiddenSin permisos.API Key válido pero sin acceso al recurso o RUT.
404 Not FoundRecurso no existe.numeroDespacho inexistente o fuera del alcance del key/RUT.
429 Too Many RequestsRate limit excedido.Implementa back-off.
500 Internal Server ErrorError del servidor.Reintentar con back-off, reportar si persiste.
503 Service UnavailableMantenimiento / sobrecarga.Reintentar con back-off.

Ver Errores para el formato estándar del cuerpo de error y el catálogo de códigos aplicativos.