API Tipos de Servicio para Portabilidad v1
Descripción general
Recurso de la capa de experiencia encargado de recuperar información de tipo de servicio desde el API BotService. Además, registra la información del request y response, así como los datos clave necesarios para la auditoría y control de los llamados realizados a la API.
Categoría de Negocio: Movilidad
Capa de experiencia
Endpoint y método
GET [https://bot-xapi-services-qa.us-e2.cloudhub.io/v1/parameters/servicestypeportability](https://bot-xapi-services-qa.us-e2.cloudhub.io/v1/parameters/servicestypeportability)
Especificación (enlace si existe)
Descripción funcional
Consulta los tipos de servicio desde BotService y registra la solicitud para fines de auditoría y control.
Capa de proceso
No aplica.
Capa de sistema
Endpoint y método
GET [https://bot-sapi-services-dev.us-e2.cloudhub.io/bot/parameters/servicestypeportability/v1](https://bot-sapi-services-dev.us-e2.cloudhub.io/bot/parameters/servicestypeportability/v1)
Especificación
Descripción funcional
Consulta directamente la API BotService para obtener la información de tipos de servicio:
[http://botdev.portallteqa.p.azurewebsites.net/api/parameters/v1/getservicestypeportability](http://botdev.portallteqa.p.azurewebsites.net/api/parameters/v1/getservicestypeportability)
Ejemplos de Request/Response
Solicitud (request)
json
GET https://bot-xapi-services-qa.us-e2.cloudhub.io/v1/parameters/servicestypeportability
Respuesta exitosa (200)
json
{
"responseHeader": {
"system": {
"name": "PARAMETRICOS",
"correlationID": "4287edd2-e2a2-4b8e-a0f7-",
"processingServer": ""
},
"service": {
"status": "OK",
"responseDate": "2025-05-21T21:23:58.539331Z",
"processingServer": "",
"statusDetail": [
{
"errorCode": "OK_01",
"errorDetailCode": "Se consultaron los tipos de servicio exitosamente",
"errorMessage": "La solicitud 4287edd2-e2a2-4b8e-a0f7- fue exitosa",
"errorMessageUser": ""
}
]
},
"properties": []
},
"responseBody": {
"servicesType": [
{ "serviceType": "Prepago", "serviceTypeValue": "1" },
{ "serviceType": "Pospago", "serviceTypeValue": "2" }
]
}
}
Respuesta de error (4xx/5xx)
json
{
"status": 409,
"code": "INVALID_FIELD",
"message": { "message": "" },
"messageServer": "No such column 'Segmento' on entity 'Account'.",
"cause": [
{
"origin": "bot-xapi-services",
"message": "org.mule.extension.http.api.request.validator.ResponseValidatorTypedException"
}
]
}
json
{
"status": 500,
"code": "INTERNAL_SERVER_ERROR",
"message": {
"message": "HTTP GET on resource 'http://0.0.0.0:8080/XXXXX/services/xxxxxx' failed: internal server error (500)."
},
"messageServer": "Descripcion del error. Detalle de porque fallo.",
"cause": [
{
"origin": "bot-xapi-services",
"message": "org.mule.extension.http.api.request.validator.ResponseValidatorTypedException"
}
]
}
Esquemas de datos
Respuesta exitosa (200)
Campo | Tipo | Obligatorio | Descripción |
---|---|---|---|
responseHeader.system.name | String | Sí | Nombre del sistema que responde. |
responseHeader.system.correlationID | Number | Sí | ID de correlación para trazabilidad. |
responseHeader.system.processingServer | String | No | Servidor de procesamiento. |
responseHeader.service.status | String | Sí | Estado de la respuesta. |
responseHeader.service.responseDate | String | Sí | Fecha y hora de la respuesta. |
responseHeader.service.statusDetail.errorCode | String | Sí | Código del resultado. |
responseHeader.service.statusDetail.errorDetailCode | String | Sí | Detalle del código. |
responseHeader.service.statusDetail.errorMessage | String | No | Mensaje descriptivo. |
responseHeader.properties | Object | No | Propiedades adicionales. |
responseBody.servicesType.serviceType | String | Sí | Tipo de servicio. |
responseBody.servicesType.serviceTypeValue | String | Sí | Valor del tipo de servicio. |
Respuesta de error (4xx/5xx)
Campo | Tipo | Obligatorio | Descripción |
---|---|---|---|
code | String | Sí | Código HTTP asociado al error. |
status | Number | Sí | Código estandarizado del error. |
message.message | String | No | Mensaje comprensible para humanos. |
messageServer | String | Sí | Descripción técnica del error. |
cause.origin | String | Sí | Nombre de la API o capa generadora del error. |
cause.message | String | Sí | Descripción técnica del error. |
Diagramas
Diagrama de flujo
Espacio reservado para el diagrama de flujo.
Diagrama de secuencia
Espacio reservado para el diagrama de secuencia.
Políticas de seguridad
Autenticación
- OAuth 2.0 Access Token Enforcement Using External Provider.
- Validación del token, su vigencia y el scope asociado al client_id.
- Respuesta de “Acceso denegado” si el token es inválido o no autorizado.
SLAs
- Puede incluir límite de 1000 req/min por cliente.
- Tiempos de respuesta sujetos a acuerdos establecidos.
Rate Limits
Anypoint Security:
- Longitud máxima de ruta: 4096 bytes.
- Longitud máxima de encabezado: 16384 bytes.
CloudHub 2.0:
- Tamaño máximo de URI: 4 KB.
- Longitud máxima del encabezado HTTP: 32 KB.
Errores comunes
- 409 INVALID_FIELD: Campo inválido en la solicitud.
- 500 INTERNAL_SERVER_ERROR: Error interno al procesar la solicitud.
Dependencias
Recepción de peticiones desde sistemas externos.
Envío a la capa de sistema:
https://bot-sapi-services-dev.us-e2.cloudhub.io/bot/parameters/servicestypeportability/v1
Comunicación con BotService:
http://botdev.portallteqa.p.azurewebsites.net/api/parameters/v1/getservicestypeportability
Historial de cambios
Versión | Fecha | Descripción |
---|---|---|
En desarrollo | 16/06/2025 | Creación inicial con operación servicestypeportability |