openapi: 3.0.2 info: title: Sait Nube description: >- Esta es la documentacion de la API Sait Nube, aqui puedes encontrar las rutas, los parametros, los datos debe recibir y los de respuesta. version: 1.0.0 servers: - url: https://{subdominio}.saitnube.com:{port}/api/v1 description: API server variables: subdominio: # note! no enum here means it is an open value default: demo description: this value is assigned by the service provider, in this example `gigantic-server.com` port: default: '48805' tags: - name: General description: Rutas generales - name: Login description: Rutas relacionadas con la autentificacion del usuario - name: Clientes description: Rutas relacionadas con clientes - name: Articulos description: Rutas relacionadas con articulos - name: Pedidos description: Rutas relacionadas con pedidos paths: /: get: tags: - General summary: Ruta de prueba, regresa Hola mundo. responses: '200': description: texto de respuesta content: text/plain: schema: type: string example: Hello World /user/{id}: get: tags: - Login summary: Regresa el nombre del usuario. parameters: - name: id in: path required: true description: El id del usuario a regresar. schema: type: integer format: int64 minimum: 1 responses: '200': description: object usuario. content: application/json: schema: type: object properties: numuser: type: string example: 7 numvend: type: string example: Sergio Cont '404': description: Usuario no encontrado. '500': description: Error del servidor default: description: Unexpected error /login: post: tags: - Login summary: Inicio de sesion del usuario requestBody: content: application/json: schema: type: object properties: numuser: type: string example: 1 password: type: string example: 1234 responses: '200': description: Credenciales incorrectas content: application/json: schema: type: object properties: msg: type: object properties: numvend: type: string example: 1 nomvend: type: string example: Dalia modificardescuento: type: boolean example: true token: type: string example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c '400': description: Credenciales incorrectas content: application/json: schema: type: object properties: error: type: string example: mensaje de error msg: type: string example: login usuario y contraseƱa no coinciden /version: get: tags: - General summary: Regresa el numero de version de la API responses: '200': description: Numero de version de la API content: application/json: schema: type: object properties: version: type: string example: 1.3.1 /clientes: get: tags: - Clientes summary: listado de clientes parameters: - $ref: '#/components/parameters/search' - $ref: '#/components/parameters/offsetParam' - $ref: '#/components/parameters/limitParam' - $ref: '#/components/parameters/xtoken' responses: '200': description: objeto clientes content: application/json: schema: $ref: '#/components/schemas/clientList' /clientes/{id}: get: tags: - Clientes summary: Regresa la informacion de un usuario parameters: - name: id in: path required: true description: clave del cliente schema: type: string minimum: 1 - $ref: '#/components/parameters/xtoken' responses: '200': description: object usuario. content: application/json: schema: $ref: '#/components/schemas/cliente' '404': description: Cliente no encontrado. '500': description: Error del servidor default: description: Unexpected error /articulos: get: tags: - Articulos summary: listado de articulos parameters: - $ref: '#/components/parameters/search' - $ref: '#/components/parameters/offsetParam' - $ref: '#/components/parameters/limitParam' - $ref: '#/components/parameters/xtoken' responses: '200': description: objeto articulos content: application/json: schema: $ref: '#/components/schemas/artsList' /articulos/{id}: get: tags: - Articulos summary: Regresa la informacion de un articulo parameters: - name: id in: path required: true description: clave|codigo|descripcion del articulo schema: type: string minimum: 1 - $ref: '#/components/parameters/xtoken' responses: '200': description: object articulo. content: application/json: schema: $ref: '#/components/schemas/articulo' '500': description: Error del servidor default: description: Unexpected error /articulos/{id}/stock: get: tags: - Articulos summary: Regresa la existencia de un articulo parameters: - name: id in: path required: true description: clave del articulo schema: type: string minimum: 1 - $ref: '#/components/parameters/xtoken' responses: '200': description: object articulo. content: application/json: schema: type: object properties: numart: type: string example: abre almacenes: type: array items: $ref: '#/components/schemas/stock' '500': description: Error del servidor default: description: Unexpected error /pedidos: get: tags: - Pedidos summary: listado de Pedidos parameters: - $ref: '#/components/parameters/search' - $ref: '#/components/parameters/offsetParam' - $ref: '#/components/parameters/limitParam' - $ref: '#/components/parameters/xtoken' responses: '200': description: objeto pedidos content: application/json: schema: $ref: '#/components/schemas/pedidosList' post: tags: - Pedidos summary: listado de Pedidos parameters: - $ref: '#/components/parameters/xtoken' requestBody: content: application/json: schema: $ref: '#/components/schemas/pedido' responses: '200': description: objeto pedidos content: application/json: schema: type: object properties: folio: type: string example: vd9 msg: type: string example: Pedido generado correctamente /pedidos/{id}: get: tags: - Pedidos summary: Regresa la informacion de un pedido parameters: - name: id in: path required: true description: clave del pedido schema: type: string minimum: 1 - $ref: '#/components/parameters/xtoken' responses: '200': description: object usuario. content: application/json: schema: $ref: '#/components/schemas/pedidosList' '404': description: pedido no encontrado. '500': description: Error del servidor default: description: Unexpected error /folio/pedidos/{serie}: get: tags: - Pedidos summary: Regresa siguiente folio de esa serie parameters: - name: serie in: path required: true description: serie schema: type: string minimum: 1 - $ref: '#/components/parameters/xtoken' responses: '200': description: siguiente folio de esa serie content: application/json: schema: type: object properties: tipo: type: string example: pedido serie: type: string example: vd sigfolio: type: string example: 9 components: schemas: clientList: type: object properties: rows: type: array items: $ref: '#/components/schemas/cliente' total: type: string example: 1 cliente: type: object properties: numcli: type: string example: 1 nomcli: type: string example: Roberto Garcia rfc: type: string example: XAXX010101000 telefono: type: string example: 5348800 calle: type: string example: Carranza numext: type: string example: 1769 ciudad: type: string example: Monterrey estado: type: string example: Nuevo Leon pedidos: type: object properties: numdoc: type: string example: A1 fecha: type: string example: '2019-08-19' impuesto1: type: number example: 2220.8 importe: type: number example: 13880 numcli: type: string example: 100 nomcli: type: string example: EQUIPOS ELECTRICOS GARCIA, S.A. DE C.V. pedidosList: type: object properties: rows: type: array items: $ref: '#/components/schemas/pedidos' total: type: string example: 1 pedido: type: object properties: tipodoc: type: string example: P numdoc: type: string example: A1 numuser: type: string example: 21 nunvend: type: string example: 21 fecha: type: string example: 2019-08-19 fentrega: type: string example: 2019-08-19 fechacapt: type: string example: 2019-08-19 divisa: type: string example: D hora: type: string example: 10:20:00 hentrega: type: string example: 11:20 status: type: integer example: 1 formapago: type: string example: 1 numalm: type: string example: 1 impuesto1: type: number example: 2220.8 impuesto2: type: number example: 0 descuento: type: number example: 798.1 importe: type: number example: 13880 numcli: type: string example: 100 pjedesc: type: number example: 5 nomcli: type: string example: EQUIPOS ELECTRICOS GARCIA, S.A. DE C.V. direnvio: type: string example: tc: type: number example: 17 obs: type: string example: Desc 11 items: type: array items: $ref: '#/components/schemas/item' item: type: object properties: tipodoc: type: string example: P numdoc: type: string example: A1 numpar: type: integer example: 1 numart: type: string example: 00-4631-8-2 desc: type: string example: ASPIRADORA pend: type: number example: 2 pjedesc: type: number example: 5 cant: type: number example: 2 unidad: type: string example: PZA impuesto1: type: number example: 16 impuesto2: type: number example: 0 precio: type: number example: 6940 obs: type: string example: Desc 5 artsList: type: object properties: rows: type: array items: $ref: '#/components/schemas/articulo' total: type: string example: 1 articulo: type: object properties: numart: type: string example: 00-4631-8-2 desc: type: string example: ASPIRADORA/INYECTOR JOB marca: type: string example: KOBLENZ modelo: type: string example: JOB unidad: type: string example: PZA numprov: type: string example: 8 preciopub: type: number example: 7981 precio1: type: number example: 6940 precio2: type: number example: 0 precio3: type: number example: 0 precio4: type: number example: 0 minimo: type: number example: 0 impuesto1: type: number example: 0 impuesto2: type: number example: 0 pjedesc: type: number example: 0 existendia: type: number example: 0 stock: type: object properties: sucid: type: string example: 2 sucnom: type: string example: Sucursal 2 existencia: type: number example: 188 ubica: type: string example: "L4" parameters: limitParam: name: limit in: query description: Limita el numero de resultados retornados required: false schema: type: integer format: int32 default: 20 offsetParam: name: offset in: query description: Offset desde cual traer datos required: false schema: type: integer format: int32 default: 0 xtoken: in: header name: X-Token required: true description: Llave de la API schema: type: string example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c search: name: search in: query required: false description: cadena de busqueda de cliente schema: type: string minimum: 0