openapi: "3.0.3" info: title: API Servicios Contribuyentes description: Genera comprobantes de la CDMX a las operaciones realizadas por ventana de comercio y se envía para su impresión version: "1.0.0" servers: - url: https://api-sandbox.banorte.com/api/esb description: Servidor de Sandbox. security: - oAuth2ClientCredentials: - update paths: /ServiciosContribuyentes/obtenerDocumento: post: tags: - "Documento base 64" summary: Obtiene un documento en base 64 referente a una línea de captura. description: Obtiene un documento en base 64 referente a una línea de captura. parameters: - $ref: "#/components/parameters/Accept-LanguageId" - $ref: "#/components/parameters/Authorization" - $ref: "#/components/parameters/Content-Type" - $ref: "#/components/parameters/Accept" requestBody: content: application/json: schema: $ref: "#/components/schemas/lineaCaptura" required: true responses: 200: description: Regresa documento en base 64 referente a una línea de captura. content: application/json: schema: $ref: "#/components/schemas/obtenerDocumentoResponse" 400: description: Se regresa cuando la petición no cumple con especificado en el api. content: application/json: example: status: 400 codigoRespuesta: 0 codigoError: ERRESQ002 folio: 08API1642005180146 mensaje: Datos de entrada vacío o nulo, por favor revisa el contenido enviado. detalles: enlace: https://developers.banorte.com/es/api/23 propiedad: La petición contiene un campo vacío o nulo. valorIncorrecto: lineaCaptura. 401: description: Se regresa este mensaje cuando envían un token invalido. content: application/json: example: status: 401 codigoRespuesta: 0 mensaje: Invalid token. description: Invalid token. 403: description: Se regresa cuando no se envía un token expirado o sin privilegios. content: application/json: example: status: 403 codigoRespuesta: 0 mensaje: The Token has expired. description: The Token has expired. 405: description: Se regresa cuando envían un método diferente especificado en la API. content: application/json: example: status: 405 codigoRespuesta: 0 codigoError: ERRSEG006 folio: 08API1642005180146 mensaje: Método no permitido, por favor revisa el contenido enviado. detalles: enlace: https://developers.banorte.com/es/api/23 propiedad: El método no es permitido. 406: description: Se regresa cuando envían un valor incorrecto en el encabezado de aceptación. content: application/json: example: status: 406 codigoRespuesta: 0 codigoError: ERRSEG007 folio: 08API1642005180146 mensaje: Encabezado de aceptación no válido, por favor revisa el contenido enviado. detalles: enlace: https://developers.banorte.com/es/api/23 propiedad: La petición tiene un valor incorrecto en el encabezado de aceptación. 408: description: Se regresa cuando las peticiones generan timeout. content: application/json: example: status: 408 codigoRespuesta: 0 codigoError: ERRSER001 folio: 08API1642005180146 mensaje: Tiempo de espera agotado, volver a intentar. detalles: enlace: https://developers.banorte.com/es/api/23 propiedad: La petición no recibió la respuesta en el tiempo establecido. 429: description: Se regresa cuando el recurso se ejecuta con demasiada frecuencia. content: application/json: example: status: 429 codigoRespuesta: 0 codigoError: ERRSEG006 folio: 08API1642005180146 mensaje: Limite de peticiones excedido. detalles: enlace: https://developers.banorte.com/es/api/23 propiedad: Limite de peticiones excedido. 431: description: Se regresa cuando envían demasiada información en los encabezados. content: application/json: example: status: 431 codigoRespuesta: 0 codigoError: ERRSEG007 folio: 08API1642005180146 mensaje: Limite excedido en los campos del cabecero, por favor revisa el contenido enviado. detalles: enlace: https://developers.banorte.com/es/api/23 propiedad: Limite excedido en los campos del cabecero, por favor revisa el contenido enviado. 500: description: Se regresa cuando sucede un error Interno en el servidor. content: application/json: example: status: 500 codigoRespuesta: 0 codigoError: ERRSER002 folio: 08API1642005180146 mensaje: Error en el servidor, favor de intentar más tarde. detalles: enlace: https://developers.banorte.com/es/api/23 propiedad: Servicio no disponible, favor de intentar más tarde. 503: description: Se regresa cuando las APIS están inactivas. content: application/json: example: status: 503 codigoRespuesta: 0 codigoError: ERRSER003 folio: 08API1642005180146 mensaje: Error con la conexión del servidor, favor de intentar más tarde. detalles: enlace: https://developers.banorte.com/es/api/23 propiedad: La petición genero un error de comunicación. components: securitySchemes: oAuth2ClientCredentials: type: oauth2 description: | La API debe requerir un encabezado de autorización en la solicitud http un token web JSON (JWT) emitido por el servidor de autorización Oauth2 aprobado por la empresa para la autenticación del servicio. flows: clientCredentials: tokenUrl: "/api/esb/ValidaCredenciales/accesstoken" scopes: update: Permisos para consultar la API. schemas: lineaCaptura: type: object properties: lineaCaptura: type: string description: Línea de captura asociada al Documento en base 64 que se está solicitando. obtenerDocumentoResponse: allOf: - $ref: "#/components/schemas/resultadoGenerico" - $ref: "#/components/schemas/resultadoDocumento" resultadoDocumento: description: Contiene el documento en base 64. type: object properties: Resultado: title: Resultado de la API description: Elemento que contiene los campos que regresa el api cuando se ejecuta con éxito. type: object properties: documento: title: documento. description: documento base 64 type: string example: SlZCRVJpMHhMamNLSmVMano5TUtOU0F3SUc5aWFnbzhQQzlHYVd4MFpYSXZSbXhoZEdWRVpXTnZaR1V2VEdWdVozUm9JREV5TkRrK1BuTjBjbVZoYlFwNG5LVlgyMUxqUmhCOTkxZDBxdkt3dWRRd2QybjJUUmliZFhFeGE3Um resultadoGenerico: type: object properties: status: title: Status description: Contiene el código de respuesta. type: integer maximum: 999 minimum: 0 example: 200 enum: - 200 - 400 - 401 - 403 - 405 - 406 - 408 - 429 - 431 - 500 - 503 codigoRespuesta: title: Código de Respuesta. description: Identifica si la petición se ejecutó con éxito o error 0 - Error de Negocio. 1 - Proceso correcto. type: integer maximum: 9 minimum: 0 example: 0 enum: - 0 - 1 codigoError: title: Código de Respuesta. description: Identificador del código de error para la aplicación cliente. type: string maxLength: 20 minLength: 1 example: ERRNEG001 enum: - "ERRNEG001 -Error de Negocio." - "ERRESQ001 -Cuando el JSON que viaje en el body no es válido." - "ERRESQ002 -Cuando envían campos vacíos o nulos." - "ERRESQ003 -Cuando se envían campos que no están definidos en la API." - "ERRESQ004 -Cuando la longitud de un campo es mayor o menor a lo establecido en la API." - "ERRESQ005 -Cuando en la petición envían un tipo de dato diferente en los campos de la API." - "ERRESQ006 -Cuando no envían campos requeridos de la API." - "ERRSEG001 -Cuando en la petición envían un token invalido." - "ERRSEG002 -Cuando en la petición envían un token expirado." - "ERRSEG003 -Cuando en la petición envían un token sin privilegios." - "ERRSEG004 -Cuando envían un método diferente especificado en la API." - "ERRSEG005 -Cuando envían un valor incorrecto en el encabezado de aceptación." - "ERRSEG006 -Cuando el recurso se ejecuta con demasiada frecuencia." - "ERRSEG007 -Cuando envían demasiada información en los encabezados." - "ERRSER001 -Cuando las peticiones generan timeout." - "ERRSER002 -Cuando las peticiones generan un error en los equipos de Banorte." - "ERRSER003 -Cuando los equipos de APIS no tienen conexión con Banorte." - "ERROFF001 -Cuando se apaga la funcionalidad de una API." - "ERROFF002 -Cuando se apaga la funcionalidad de todas las API." folio: title: Folio type: string description: Identificador global único generado automáticamente para cada petición recibida. maxLength: 36 minLength: 1 example: 08API1642005180146 mensaje: title: Mensaje de la operación. description: Contiene la descripción del resultado de ejecución de la API. type: string maxLength: 500 minLength: 1 example: Proceso de Entrega. resultadoGenericoError: description: Contiene los campos de resultado de la ejecución del api. type: object properties: detalles: title: Detalles del error description: Elemento que contiene los campos que explican el error sucedido. type: object properties: enlace: title: Enlace URL. description: URL que indica donde se puede obtener la solución del error. type: string maxLength: 300 minLength: 1 example: https://developers.banorte.com/es/faq propiedad: title: Mensaje. description: Mensaje de error. type: string maxLength: 300 minLength: 1 example: Json Invalido. valorIncorrecto: title: Valor Incorrecto. description: Campo que se utiliza para indicar que campo contiene información incorrecta en la petición. type: string maxLength: 50 minLength: 1 example: Campo1. parameters: Accept-LanguageId: name: accept-Language in: header required: false schema: type: string maxLength: 5 minLength: 1 enum: - "es_MX" - "en_US" description: 'Indica el idioma natural y la configuración regional que prefiere el cliente. Valores Posibles: es_MX, en_US' example: "es_MX" Authorization: name: Authorization in: header required: true schema: type: string description: 'El Token de autenticación, es una cadena generada por el servidor en respuesta a una solicitud de autenticación al ejecutar el recurso de API03_ValidaCredenciales.' example: "token" Content-Type: name: Content-Type in: header required: false schema: type: string description: 'Es la propiedad que indica al servidor que tipo de dato es enviado.' example: "application/json;charset=utf-8" Accept: name: Accept in: header required: false schema: type: string description: 'Indica que tipo de contenido el cliente puede procesar. Usando para la negociación de contenido, el servidor selecciona una de las propuestas, la utiliza e informa al cliente de la elección a través de la cabecera de respuesta Content-Type.' example: "application/json"