Reporte de Tolerancia
Análisis de tolerancia por factura — muestra la desviación respecto del monto del sistema y los resultados de aprobación/revisión/rechazo automáticos según las reglas de tolerancia configuradas.
GET
/apidev/v1/reports/portal/tolerancePermisoAPICLI_RPTPORTALPROVEEDOR_TOLERANCIA
Límite de solicitudes10 req/min (ventana deslizante)
Caché300s (5 min)
Rango máximo93 días
Resumen
Analiza cada factura contra las reglas de tolerancia configuradas, mostrando la desviación respecto del monto del sistema y la acción resultante (aprobada automáticamente, enviada a revisión o rechazada). Incluye un resumen con cantidades de anomalías y desviación promedio.
- Detalle de la regla de tolerancia — tipo configurado (
PCT,ABS,AMB), valor y origen por factura - Clasificación del resultado —
AUTO_APPROVED,REVIEWoREJECTED - Filtrado por anomalías —
anomalies_only=truedevuelve solo las facturas fuera de tolerancia - Filtrado por proveedor — restringí a proveedores específicos (hasta 100)
- Resumen — cantidades de aprobadas automáticamente, en revisión, rechazadas y desviación promedio
Solicitud
Encabezados de la solicitud
Every request to a protected endpoint requires these headers:
| Header | Required | Description |
|---|---|---|
Authorization | Yes | Bearer token obtained from the Login endpoint. Format: Bearer <token> |
X-API-Key | Yes | Company integration key provided during onboarding. Format: gtk_xxx... |
tenant | Yes | Your assigned tenant domain (default: geotareas.com) — always send your assigned tenant |
Content-Type | Conditional | application/json — required for POST and PUT requests |
Parámetros de consulta
| Parámetro | Tipo | Obligatorio | Por defecto | Descripción |
|---|---|---|---|---|
startdate | string | Sí | — | Fecha de inicio ISO 8601 |
enddate | string | Sí | — | Fecha de fin ISO 8601. Rango máximo 93 días |
providers | string | No | Todos | IDs de proveedor separados por comas. Máximo 100 |
anomalies_only | boolean | No | false | Devolver solo las facturas fuera de tolerancia (en revisión + rechazadas) |
limit | integer | No | 25 | Registros por página (1–100) |
offset | integer | No | 0 | Registros a omitir |
Ejemplos de código
- cURL
- JavaScript
- Python
curl -s "https://$TENANT/apidev/v1/reports/portal/tolerance?startdate=2026-01-01&enddate=2026-03-31&anomalies_only=true&limit=50" \
-H "Authorization: Bearer $TOKEN" \
-H "X-API-Key: $APIKEY" \
-H "tenant: $TENANT"
const response = await fetch(
`https://${TENANT}/apidev/v1/reports/portal/tolerance?startdate=2026-01-01&enddate=2026-03-31&anomalies_only=true&limit=50`,
{ headers }
);
const { data, meta } = await response.json();
console.log(`Rejected: ${data.summary.rejected}`);
response = requests.get(
f"https://{TENANT}/apidev/v1/reports/portal/tolerance",
headers=headers,
params={
"startdate": "2026-01-01",
"enddate": "2026-03-31",
"anomalies_only": True,
"limit": 50,
},
)
result = response.json()
summary = result["data"]["summary"]
Campos de la respuesta
Filas
| Campo | Tipo | Descripción |
|---|---|---|
invoice_id | string | Identificador de la factura |
provider_id | string | Identificador del proveedor |
provider_name | string | Nombre visible del proveedor |
service_id | string | Identificador del servicio asociado |
service_number | string | Número de servicio (legible) |
invoice_date | string | Fecha de la factura |
system_amount | number | Monto calculado por el sistema |
provider_amount | number | Monto reportado por el proveedor |
difference | number | Diferencia absoluta (sistema − proveedor) |
deviation_pct | number | Desviación como porcentaje del monto del sistema |
state_id | number | null | Código de estado de la factura |
state_name | string | null | Nombre legible del estado |
tolerance_configured | string | Descripción legible de la regla de tolerancia |
tolerance_type | string | Tipo de tolerancia: PCT (porcentaje), ABS (absoluta), AMB (ambas) |
tolerance_value | number | Umbral de tolerancia configurado |
tolerance_origin | string | Dónde se definió la regla de tolerancia (ej. "provider", "global", "product") |
result | string | Resultado de tolerancia: AUTO_APPROVED, REVIEW, REJECTED |
within_tolerance | boolean | Si la factura está dentro de la tolerancia configurada |
Resumen
| Campo | Tipo | Descripción |
|---|---|---|
total_invoices | number | Cantidad total de facturas en el rango |
auto_approved | number | Cantidad de facturas aprobadas automáticamente |
in_review | number | Cantidad de facturas enviadas a revisión |
rejected | number | Cantidad de facturas rechazadas |
avg_deviation_pct | number | Porcentaje de desviación promedio |
providers_with_anomalies | number | Cantidad de proveedores con al menos una anomalía |
Ejemplo de respuesta
{
"success": true,
"data": {
"rows": [
{
"invoice_id": "710450328800",
"provider_id": "504210987600",
"provider_name": "Transporte Rápido S.A.",
"service_id": "820134567800",
"service_number": "SRV-2026-00142",
"invoice_date": "2026-02-15",
"system_amount": 12500.00,
"provider_amount": 13100.00,
"difference": -600.00,
"deviation_pct": 4.80,
"state_id": 101,
"state_name": "In Review",
"tolerance_configured": "5% or $500",
"tolerance_type": "AMB",
"tolerance_value": 5.00,
"tolerance_origin": "provider",
"result": "REVIEW",
"within_tolerance": false
},
{
"invoice_id": "710450328802",
"provider_id": "504210987602",
"provider_name": "ServiFlota Express",
"service_id": "820134567803",
"service_number": "SRV-2026-00195",
"invoice_date": "2026-03-02",
"system_amount": 9200.00,
"provider_amount": 11800.00,
"difference": -2600.00,
"deviation_pct": 28.26,
"state_id": 103,
"state_name": "Rejected",
"tolerance_configured": "10%",
"tolerance_type": "PCT",
"tolerance_value": 10.00,
"tolerance_origin": "global",
"result": "REJECTED",
"within_tolerance": false
}
],
"summary": {
"total_invoices": 253,
"auto_approved": 198,
"in_review": 42,
"rejected": 13,
"avg_deviation_pct": 3.45,
"providers_with_anomalies": 8
}
},
"meta": {
"total": 55,
"limit": 50,
"offset": 0
}
}
Errores
| Código | HTTP | Descripción |
|---|---|---|
VALIDATION_ERROR | 400 | El rango de fechas supera los 93 días, > 100 proveedores |
UNAUTHORIZED | 401 | tenant / Authorization / X-API-Key ausente, inválido o expirado |
FORBIDDEN | 403 | El usuario no tiene el permiso APICLI_RPTPORTALPROVEEDOR_TOLERANCIA |
RATE_LIMITED | 429 | Se superaron 10 req/min |
INTERNAL_ERROR | 500 | Error inesperado del servidor |
Relacionado
- Panel del Portal — KPIs ejecutivos y gráficos
- Reporte de Diferencias — Comparación por factura entre sistema y proveedor
- Facturas del Portal — Endpoints de gestión de facturas
- Paginación — Parámetros de paginación estándar