Skip to content

API Catálogo de Ofertas v2

Descripción general

Recurso de la capa de experiencia encargado de recuperar información del catálogo de ofertas para el usuario. Registra la información del request y response, y datos clave para auditoría y control de llamados realizados.

Categoría de Negocio: Movilidad


Capa de experiencia

Endpoint y método


GET [https://bot-xapi-services-qa.us-e2.cloudhub.io/v2/salesOrder/catalog](https://bot-xapi-services-qa.us-e2.cloudhub.io/v2/salesOrder/catalog)

Especificación

Estable

Descripción funcional

Recupera el catálogo de ofertas disponible para el usuario, incluyendo planes, características técnicas, promociones y precios.


Capa de proceso

No aplica.


Capa de sistema

Endpoint y método


POST [https://bot-sapi-services-dev.us-e2.cloudhub.io/bot/salesOrder/encrypted/v1](https://bot-sapi-services-dev.us-e2.cloudhub.io/bot/salesOrder/encrypted/v1)

Especificación

Ver especificación en Anypoint Exchange

Descripción funcional

Consulta el servicio BotService para recuperar la información del catálogo comercial de ofertas. Usa cifrado para la transmisión de datos sensibles hacia:


[http://botdev.portallteqa.p.azurewebsites.net/api/saleorder/v1/commercialcatalog/get](http://botdev.portallteqa.p.azurewebsites.net/api/saleorder/v1/commercialcatalog/get)

Ejemplos de Request/Response

Solicitud (request)

json
{
  "Channel": "EDGEN-AI",
  "CorrelationID": "EDGEN-AI",
  "WSRequestHeader": {
    "System": {
      "Name": "MIETB",
      "CorrelationID": "{{correlationID}}",
      "ProcessingServer": null
    },
    "Property": [
      {
        "Name": "MIETB",
        "Value": "value"
      }
    ]
  },
  "WSRequestBody": "TURNLVBMVEUtMDIyOTQw"
}

Respuesta exitosa (200)

json
{
  "WSResponseHeader": {
    "System": {
      "name": "EDGEN-AI",
      "correlationID": "EDGEN-AI-001",
      "processingServer": null
    },
    "Service": {
      "status": "OK",
      "responseDate": "2025-03-31T16:38:16.6336118Z",
      "processingServer": null,
      "statusDetail": [
        {
          "errorCode": "OK_01",
          "errorDetailCode": "La solicitud fue exitosa, el cliente fue consultado",
          "errorMessage": "La solicitud EDGEN-AI-001 fue exitosa. El cliente fue consultado.",
          "errorMessageUser": null
        }
      ]
    },
    "Property": []
  },
  "WSResponseBody": "mZrWkd+77wePpyp9yG..."
}

Respuesta de error (4xx/5xx)

json
{
  "status": 409,
  "code": "INVALID_FIELD",
  "message": {
    "message": ""
  },
  "messageServer": "ERROR at Row:1:Column:212 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

Solicitud

CampoTipoObligatorioDescripción
ChannelStringCanal de origen de la solicitud.
CorrelationIDNumberIdentificador único de correlación.
WSRequestHeader.System.NameStringNoNombre del sistema.
WSRequestHeader.System.CorrelationIDStringIdentificador de correlación en el header.
WSRequestHeader.System.ProcessingServerStringServidor de procesamiento.
WSRequestHeader.Property.NameStringNombre de la propiedad adicional.
WSRequestHeader.Property.ValueStringValor de la propiedad adicional.
WSRequestBodyStringCuerpo cifrado de la solicitud.

Respuesta exitosa (200)

CampoTipoObligatorioDescripción
WSResponseHeader.System.nameStringNombre del sistema que responde.
WSResponseHeader.System.correlationIDNumberID de correlación de la respuesta.
WSResponseHeader.System.processingServerStringNoServidor de procesamiento.
WSResponseHeader.Service.statusStringEstado de la respuesta.
WSResponseHeader.Service.responseDateStringFecha y hora de la respuesta.
WSResponseHeader.Service.statusDetail.errorCodeStringCódigo de error en caso de fallos.
WSResponseHeader.Service.statusDetail.errorDetailCodeStringDetalle del código de error.
WSResponseHeader.Service.statusDetail.errorMessageStringNoMensaje descriptivo del error.
WSResponseHeader.PropertyObjectNoPropiedades adicionales de la respuesta.
WSResponseBodyStringCuerpo cifrado de la respuesta.

Respuesta de error (4xx/5xx)

CampoTipoObligatorioDescripción
codeStringDescripción textual del código HTTP asociado al error. Ej: "Bad Request", "Internal Server Error".
statusNumberCódigo estandarizado del error. Ej: 409, 500.
message.messageStringNoMensaje detallado para humanos.
messageServerStringDescripción técnica del error.
cause.originStringNombre de la API o capa generadora del error.
cause.messageStringDescripción de la estructura de error.

Diagramas

mermaid
flowchart TD
    A[Cliente] -->|Request GET| B[API Experiencia]
    B -->|Request Interno (POST)| C[API Sistema]
    C -->|Request| D[BotService]
    D -->|Response| C
    C -->|Response| B
    B -->|Response| A

Políticas de seguridad

Autenticación

  • OAuth 2.0 Access Token Enforcement Using External Provider.
  • Validación de token, vigencia y scope asociado al client_id.
  • Respuesta de “Acceso denegado” si el token es inválido o no autoriza.

SLAs

  • Puede incluir límites de 1000 req/min por cliente.
  • Tiempo de respuesta esperado sujeto a acuerdos.

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 no válido en el request.
  • 500 INTERNAL_SERVER_ERROR: Error interno al procesar la solicitud.

Dependencias

  • Peticiones recibidas desde sistemas externos.

  • Llamada a la capa de sistema:

    https://bot-sapi-services-dev.us-e2.cloudhub.io/bot/salesOrder/encrypted/v1
  • Comunicación con BotService en:

    http://botdev.portallteqa.p.azurewebsites.net/api/saleorder/v1/commercialcatalog/get

Historial de cambios

VersiónFechaDescripción
En desarrollo16/06/2025Creación inicial