En caso de error, se espera que la DPA devuelva un código de estado HTTP junto con una respuesta HTTP que DEBE incluir un objeto JSON con más información sobre el error. El cuerpo de la respuesta de error DEBE contener una instancia de ErrorResponse.
{
"errorMessage": string,
"cause": enum(ErrorCause)
}
La respuesta de error del DPA DEBE corresponder a lo siguiente:
- Actualmente, el usuario está en roaming y la consulta de DPA está inhabilitada para este usuario. El DPA devuelve un error 403 con USER_ROAMING como causa del error.
- El DPA devuelve un código de error 404 NOT_FOUND que indica a GTAF que la clave de usuario no es válida (es decir, no existe la clave de usuario) con INVALID_NUMBER.
- El DPA devuelve un código de error 410 GONE con BAD_CPID como causa del error, lo que indica a GTAF que el cliente debe obtener una nueva clave de usuario si key_type = CPID y el CPID venció.
- El DPA devuelve un código de error 501 NOT_IMPLEMENTED que indica que no admite esta llamada con la causa de error SERVICE_UNAVAILABLE.
- El DPA devuelve un error 429 TOO MANY REQUESTS con la causa de error TOO_MANY_REQUESTS y el encabezado Retry-After que indica que GTAF está realizando demasiadas solicitudes al DPA.
- El DPA devuelve un error 409 CONFLICT que indica que no se puede completar la solicitud debido a un conflicto con el estado actual del DPA.
- El servicio no está disponible en este momento. El DPA devuelve un error 503 SERVICE UNAVAILABLE con el encabezado Retry-After que indica cuándo se puede intentar una nueva solicitud.
- El DPA devuelve un código de error 500 INTERNAL SERVER ERROR para todos los demás errores no especificados ERROR_CAUSE_UNSPECIFIED como causa del error.
En caso de errores durante una compra, los siguientes códigos de error representan resultados de transacciones fallidas:
- El DPA devuelve un código de error 400 BAD REQUEST que indica al GTAF que el ID del plan comprado no es válido.
- El DPA devuelve un código de error 402 PAYMENT REQUIRED que indica al GTAF que el usuario no tiene saldo suficiente para completar la compra.
- El DPA devuelve un código de error 409 CONFLICT, que indica al GTAF que el plan que se comprará es incompatible con la combinación de productos actual del usuario. Por ejemplo, si la política del plan de datos del operador no permite combinar planes pospagados y prepagados, intentar comprar un plan prepagado para un usuario pospagado generará un error 409 CONFLICT.
- El DPA devuelve un código de error 403 FORBIDDEN que indica a GTAF que la transacción actual es un duplicado de una transacción emitida anteriormente. El DPA DEBE devolver las siguientes causas de error en la respuesta:
- Si la transacción anterior falló, causa del error que indica el motivo de la falla.
- Si la transacción anterior se realizó correctamente, se devuelve DUPLICATE_TRANSACTION.
- Si la transacción anterior aún está en la cola, se devuelve REQUEST_QUEUED.