Skip to content

Codigos de error

Esta referencia combina dos capas de error:

  1. validaciones y rechazos del modulo ms-recargas
  2. respuestas de negocio y transporte del SPR de Claro
CapaEscenarioRespuestaEstado final esperado
HTTP moduloJWT invalido401rechazo inmediato
HTTP moduloFalta permiso403rechazo inmediato
HTTP moduloAction token invalido401rechazo inmediato
HTTP moduloLimite diario o rate limit429rechazo inmediato
HTTP moduloService key invalida401rechazo inmediato
HTTP moduloDTO invalido400rechazo inmediato
Webhooksource_xml_hash duplicado409rejected o conflicto
Webhookproduct_code sin mapping400 o 201 rechazadorejected
Claro negocioSTATUS=ERROR o ID_CODIGO != 0200 con error logicofailed
Claro transporteSOAP Fault502unavailable
Claro transportetimeout504unavailable
Claro red/configIP no validadafault 350unavailable

#GateCapaAplica aResultado al fallar
1JWT invalido o expiradoAuthGuardManual401
2Falta create_recargas o view_recargasPermissionsGuardManual403
2.aX-Action-Token ausente, invalido o ya usadoActionTokenGuardManual401
2.bLimite diario alcanzadoDailyRechargeLimitGuardManual429
2.cRate limit rechargeThrottlerGuardManual429
3Service key invalidaServiceKeyGuardAutomatico401
4Telefono invalidoDTO o webhookAmbos400
5Producto sin mappingWebhookServiceAutomatico400 o rejected
6Factura duplicada por hashDB / servicioAutomatico409
7external_transaction_id duplicadoDB / ClaroAmbosfailed o rechazo
8SOAP Fault o timeoutClaroClientServiceAmbos502 o 504
9STATUS=ERROR o result != 0RecargasServiceAmbosfailed
10Excepcion inesperadafiltro globalAmbos500

Se devuelve 401 Unauthorized. Aplica a endpoints del dashboard.

Se devuelve 403 Forbidden cuando el usuario autenticado no tiene create_recargas o view_recargas.

Se devuelve 401 Unauthorized en el webhook. La factura no debe procesarse.

Se devuelve 400 Bad Request cuando faltan campos o el formato de datos no cumple las reglas.

Si source_xml_hash ya existe, el webhook responde 409 Conflict para mantener idempotencia.

Si n8n envia un SKU como RECCLARO99 y no existe una fila de traduccion hacia Claro, la transaccion se rechaza antes de llamar al SPR.

Respuesta tipica:

{
"success": false,
"status": "rejected",
"error": "Codigo de producto RECCLARO99 no tiene mapeo a Claro"
}

IP no validada en la configuracion del SPR

Section titled “IP no validada en la configuracion del SPR”

La IP desde la que se invoca el servicio no esta registrada. El gateway responde con un SOAP Fault en lugar del formato <umsprot>:

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ns0="http://claro/">
<env:Body>
<env:Fault>
<faultcode>350</faultcode>
<faultstring>El id_requerimiento es nulo debido a que el xml
recibido en el body del request no corresponde a ningun formato
configurado para la ip del llamante: 10.35.2.31</faultstring>
<data name=" CODIGO ERROR"">1</data>
</env:Fault>
</env:Body>
</env:Envelope>

Impacto esperado: ms-recargas debe marcar la transaccion como unavailable, devolver 502 y registrar alerta claro.ip_rejected.

El USERID enviado es invalido o esta desactivado:

<umsprot version="1">
<exec_rsp result="OK" diagnostic="Conexion Exitosa">
<data name="MENSAJE">El usuario ingresado es incorrecto o se
encuentra inactivo.R.12</data>
<data name="ID_CODIGO">1</data>
<data name="STATUS">ERROR</data>
</exec_rsp>
</umsprot>

El PASSWORD enviado no corresponde al USERID:

<umsprot version="1">
<exec_rsp result="OK" diagnostic="Conexion Exitosa">
<data name="MENSAJE">La clave ingresada es incorrecta. R.11</data>
<data name="ID_CODIGO">1</data>
<data name="STATUS">ERROR</data>
</exec_rsp>
</umsprot>

Un campo requerido esta vacio o ausente:

<umsprot version="1">
<exec_rsp result="OK" diagnostic="Conexion Exitosa">
<data name="SYSTEMMESSAGE">El siguiente parametro es requerido
para la transaccion solicitada: EXTERNALTRANSACTIONID</data>
<data name="ID_CODIGO"/>
<data name="STATUS">ERROR</data>
</exec_rsp>
</umsprot>

Duplicidad de COMPANYID + EXTERNALTRANSACTIONID

Section titled “Duplicidad de COMPANYID + EXTERNALTRANSACTIONID”

Claro rechaza la recarga cuando el identificador ya fue usado:

<umsprot version="1">
<exec_rsp result="OK" diagnostic="Successful balance request">
<data name="SYSTEMMESSAGE">Imposible realizar la recarga.
Intente nuevamente.-</data>
<data name="ID_CODIGO">R.AV.7</data>
<data name="STATUS">ERROR</data>
</exec_rsp>
</umsprot>

Impacto esperado: la transaccion no debe marcarse como exitosa. Si el identificador ya fue consumido, se debe analizar antes de reintentar para no duplicar recargas.


EstadoCuando aplica
successClaro confirma STATUS=SUCCESS e ID_CODIGO=0
failedClaro responde error de negocio
unavailableSOAP Fault, timeout, ECONNREFUSED, VPN o IP no autorizada
rejectedEl webhook rechaza la factura antes de llamar a Claro
ignoredn8n descarta el correo y solo se bitacora
errorSolo para registros legacy

<umsprot version="1">
<exec_rsp result="OK" diagnostic="Conexion Exitosa">
<data name="SYSTEMMESSAGE">Transaccion no encontrada</data>
<data name="ID_CODIGO">1</data>
<data name="STATUS">ERROR</data>
</exec_rsp>
</umsprot>

Producto de recarga incorrecto para consultar

Section titled “Producto de recarga incorrecto para consultar”
<umsprot version="1">
<exec_rsp result="OK" diagnostic="Conexion Exitosa">
<data name="SYSTEMMESSAGE">Error al Obtener Parametros
Producto, intente nuevamente por favor.</data>
<data name="ID_CODIGO">1</data>
<data name="STATUS">ERROR</data>
</exec_rsp>
</umsprot>

El TERMINAL enviado no esta configurado para el USERID:

<umsprot version="1">
<exec_rsp result="OK" diagnostic="Conexion Exitosa">
<data name="SYSTEMMESSAGE">El terminal no se encuentra
asignado al usuario.</data>
<data name="STATUS">ERROR</data>
</exec_rsp>
</umsprot>

Accion recomendada: verificar que el TERMINAL coincida con el dispositivo registrado para el usuario en la configuracion de Claro.


  1. Distingue siempre errores HTTP del modulo, errores logicos de Claro y fallos de transporte.
  2. Conserva raw_request_xml y raw_response_xml para auditoria y troubleshooting.
  3. Trata timeout y fault como fallos reintentables solo si la idempotencia esta garantizada.
  4. Si el webhook rechaza una factura, notifica con contexto suficiente para reprocesarla manualmente.
  5. Implementa alertas cuando se repitan errores de IP, credenciales o mapping de producto.