openapi: "3.0.0"
info:
  description: "APIs Rest para consumo, inserção e atualização de dados - Softdib <br><br> Passe **um ou mais parâmetros** na **query** para fazer a busca **filtrada**, qualquer parâmetro  conforme mostra o **retorno**, caso queira realizar filtros ainda mais detalhados especifique da seguinte maneira, informe o **parâmetro** <br><br> E use um dos prefixos **__maior**, **__menor** , **__maiorigual**, **__menorigual**, **__contem** <br><br> Ficaria da seguinte forma: http://url/?numero_pedido__maior=10 <br><br> Dessa forma você realiza filtros com **condicionais** em cada parâmetro que desejar."
  version: "1.0"
  title: "Softdib - API Rest"
  contact:
    email: "william@softdib.com.br"
tags: []

servers:
  - url: "http://softdib.ddns.net:3000/"
    description: Servidor Softdib
  - url: "http://192.168.1.3:3000/"
    description: IP Local
  - url: "http://localhost:3000/"
    description: Localhost
    

schemes:
- "http"
- "https"

components:
  securitySchemes:
    api_key: 
      type: apiKey
      in: header  
      name: x-access-token


paths:

# ooooo          .oooooo.     .oooooo.    ooooo ooooo      ooo #
# `888'         d8P'  `Y8b   d8P'  `Y8b   `888' `888b.     `8' #
#  888         888      888 888            888   8 `88b.    8 #
#  888         888      888 888            888   8   `88b.  8 #
#  888         888      888 888     ooooo  888   8     `88b.8 #
#  888       o `88b    d88' `88.    .88'   888   8       `888 #
# o888ooooood8  `Y8bood8P'   `Y8bood8P'   o888o o8o        `8 #

  /api/sd/authentication:
    post:
      tags:
      - "Softdib/Autenticação"
      summary: "Gera um token para uso da api"
      operationId: "apiPedidoAuthenticationPOST"
      consumes:
        - "application/json"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: "object"
              properties:
                user:
                  type: "string"
                  example: "SAC"
                pass: 
                  type: "string"
                  example: "5680"
                lkgp:
                  type: "string"
                  example: "ebs"
      responses:
        200:
          description: "Token gerado"
          content: 
            text/plan:
              type: string
              example: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
        401:
          description: "Não Autorizado"
      x-swagger-router-controller: "Auth"
  
# ooooooooo.   oooooooooooo oooooooooo.   ooooo oooooooooo.     .oooooo.    .oooooo..o #
# `888   `Y88. `888'     `8 `888'   `Y8b  `888' `888'   `Y8b   d8P'  `Y8b  d8P'    `Y8 #
#  888   .d88'  888          888      888  888   888      888 888      888 Y88bo. #
#  888ooo88P'   888oooo8     888      888  888   888      888 888      888  `"Y8888o. #
#  888          888    "     888      888  888   888      888 888      888      `"Y88b #
#  888          888       o  888     d88'  888   888     d88' `88b    d88' oo     .d8P #
# o888o        o888ooooood8 o888bood8P'   o888o o888bood8P'    `Y8bood8P'  8""88888P' #

  /api/sd/pedidos/:
    get:
      tags:
      - "Softdib/Consultas"
      summary: "Mostra todos os pedidos realizados"
      description: "Retorna os pedidos de acordo com os parametro passados"
      operationId: "apiSoftdibPedidos"
      produces:
      - "application/json"
      consumes:
        - "application/json"
      parameters:
        - in: "query"
          name: "numero_pedido"
          required: false
          description: "Passe o número do pedido para busca."
          schema:
            type: string
            
      responses: 
        200:
          description: "Consulta realizada com sucesso"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/definitions/properties-SDPEDIDOS"
        401:
          description: "Sem Autorização"
        403:
          description: "Parametros informados da forma incorreta"
        5XX:
          description: "Houve algum erro no processo de integração. Informe o código do erro ao suporte para mais detalhes."
      security:
      - api_key: []
      x-swagger-router-controller: "Consultas"
  /api/sd/pedidos/{numero_pedido}:
    get:
      tags:
      - "Softdib/Consultas"
      summary: "Mostra todos os detalhes de um pedido"
      description: "Retorna os detalhes de um pedido de acordo com os parametros passados (parametros opcionais no query)"
      operationId: "apiSoftdibPedido"
      produces:
      - "application/json"
      consumes:
        - "application/json"
      parameters:
        - in: "path"
          required: true
          name: "numero_pedido"
          description: "Passe o número do pedido para busca."
          schema:
            type: string
      responses: 
        200:
          description: "Consulta realizada com sucesso"
          content:
            application/json:
              schema:
                type: "object"
                $ref: "#/definitions/properties-SDPEDIDOS"
        401:
          description: "Sem Autorização"
        403:
          description: "Parametros informados da forma incorreta"
        5XX:
          description: "Houve algum erro no processo de integração. Informe o código do erro ao suporte para mais detalhes."
      security:
      - api_key: []
      x-swagger-router-controller: "Consultas"
  /api/sd/itens_pedidos/{numero_pedido}:
    get:
      tags:
      - "Softdib/Consultas"
      summary: "Mostra todos os itens de um pedido"
      description: "Retorna todos os itens de um pedido de acordo com os parametros passados (parametros opcionais no query)"
      operationId: "apiSoftdibItensPedidos"
      produces:
      - "application/json"
      consumes:
        - "application/json"
      parameters:
        - in: "path"
          required: true
          name: "numero_pedido"
          description: "Passe o pedido para a busca."
          schema:
            type: string
      responses: 
        200:
          description: "Consulta realizada com sucesso"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/definitions/properties-SDITENSPEDIDOS"
        401:
          description: "Sem Autorização"
        403:
          description: "Parametros informados da forma incorreta"
        5XX:
          description: "Houve algum erro no processo de integração. Informe o código do erro ao suporte para mais detalhes."
          
      security:
      - api_key: []
      x-swagger-router-controller: "Consultas"
      
# ooooo      ooo   .oooooo.   ooooooooooooo       .o.          oooooooooooo ooooo  .oooooo..o   .oooooo.         .o.       ooooo #
# `888b.     `8'  d8P'  `Y8b  8'   888   `8      .888.         `888'     `8 `888' d8P'    `Y8  d8P'  `Y8b       .888.      `888' #
#  8 `88b.    8  888      888      888          .8"888.         888          888  Y88bo.      888              .8"888.      888 #
#  8   `88b.  8  888      888      888         .8' `888.        888oooo8     888   `"Y8888o.  888             .8' `888.     888 #
#  8     `88b.8  888      888      888        .88ooo8888.       888    "     888       `"Y88b 888            .88ooo8888.    888 #
#  8       `888  `88b    d88'      888       .8'     `888.      888          888  oo     .d8P `88b    ooo   .8'     `888.   888       o #
# o8o        `8   `Y8bood8P'      o888o     o88o     o8888o    o888o        o888o 8""88888P'   `Y8bood8P'  o88o     o8888o o888ooooood8 #

  /api/sd/notas_fiscais/:
    get:
      tags:
      - "Softdib/Consultas"
      summary: "Mostra todas as notas fiscais"
      description: "Retorna as notas fiscais de acordo com os parametro passados"
      operationId: "apiSoftdibNotasFiscais"
      produces:
      - "application/json"
      consumes:
        - "application/json"
      parameters:
        - in: "query"
          name: "numero_documento"
          description: "Passe o número da nota fiscal para busca."
          schema:
            type: string
      responses: 
        200:
          description: "Consulta realizada com sucesso"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/definitions/properties-SDNOTAFISCAL"
        401:
          description: "Sem Autorização"
        403:
          description: "Parametros informados da forma incorreta"
        5XX:
          description: "Houve algum erro no processo de integração. Informe o código do erro ao suporte para mais detalhes."
      security:
      - api_key: []
      x-swagger-router-controller: "Consultas"
  /api/sd/notas_fiscais/{numero_documento}:
    get:
      tags:
      - "Softdib/Consultas"
      summary: "Mostra todos os detalhes de uma nota fiscal"
      description: "Retorna os detalhes de uma nota fiscal de acordo com os parametro passados (parametros opcionais no query)"
      operationId: "apiSoftdibNotaFiscal"
      produces:
      - "application/json"
      consumes:
        - "application/json"
      parameters:
        - in: "path"
          required: true
          name: "numero_documento"
          description: "Passe o número da nota fiscal a busca."
          schema:
            type: string
      responses: 
        200:
          description: "Consulta realizada com sucesso"
          content:
            application/json:
              schema:
                type: "object"
                $ref: "#/definitions/properties-SDNOTAFISCAL"
        401:
          description: "Sem Autorização"
        403:
          description: "Parametros informados da forma incorreta"
        5XX:
          description: "Houve algum erro no processo de integração. Informe o código do erro ao suporte para mais detalhes."
      security:
      - api_key: []
      x-swagger-router-controller: "Consultas"
  /api/sd/itens_nota_fiscal/{numero_documento}:
    get:
      tags:
      - "Softdib/Consultas"
      summary: "Mostra todos os itens de uma nota fiscal"
      description: "Retorna os itens de uma nota fiscal de acordo com os parametros passados (parametros opcionais no query)"
      operationId: "apiSoftdibItensNotaFiscal"
      produces:
      - "application/json"
      consumes:
        - "application/json"
      parameters:
        - in: "path"
          required: true
          name: "numero_documento"
          description: "Passe o número da nota fiscal para busca."
          schema:
            type: string
      responses: 
        200:
          description: "Consulta realizada com sucesso"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/definitions/properties-SDITENSNOTAFISCAL"
        401:
          description: "Sem Autorização"
        403:
          description: "Parametros informados da forma incorreta"
        5XX:
          description: "Houve algum erro no processo de integração. Informe o código do erro ao suporte para mais detalhes."
      security:
      - api_key: []
      x-swagger-router-controller: "Consultas"


#  .oooooo..o   .oooooo.   ooo        ooooo #
# d8P'    `Y8  d8P'  `Y8b  `88.       .888' #
# Y88bo.      888           888b     d'888 #
#  `"Y8888o.  888           8 Y88. .P  888 #
#      `"Y88b 888           8  `888'   888 #
# oo     .d8P `88b    ooo   8    Y     888 #
# 8""88888P'   `Y8bood8P'  o8o        o888o #


  /api/sd/scm/solicitacao_compra:
    post:
      tags:
      - "Softdib/SCM"
      summary: "Cria uma solicitação de compra"
      description: "Realizada a criação de uma solicitação de compra"
      operationId: "apiSoftdibSolicitacaoCompra"
      produces:
        - "application/json"
      consumes:
        - "application/json"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/definitions/properties-CRIAR_SOLICITACAO_COMPRA"
      responses: 
        200:
          description: "Solicitação criada com sucesso"
          content:
            application/json:
              schema:
                items:
                  $ref: "#/definitions/properties-CRIAR_SOLICITACAO_COMPRA-SUCESSO"
        401:
          description: "Sem Autorização"
        403:
          description: "Parametros informados da forma incorreta"
        5XX:
          description: "Houve algum erro no processo de integração. Informe o código do erro ao suporte para mais detalhes."
      security:
      - api_key: []
      x-swagger-router-controller: "Consultas"  
  /api/sd/scm/solicitacao_compra/{numero_sc}:
    put:
      tags:
      - "Softdib/SCM"
      summary: "Atualiza uma solicitação de compra existente"
      description: "Atualiza uma solicitação de compra com os parâmetros desejados"
      operationId: "apiSoftdibSolicitacaoCompraAtualizar"
      produces:
      - "application/json"
      consumes:
        - "application/json"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/definitions/properties-ATUALIZAR_SOLICITACAO_COMPRA"
      parameters:
        - in: "path"
          required: true
          name: "numero_sc"
          description: "Passe o número da solicitação de compra!"
          schema:
            type: string
      responses: 
        200:
          description: "Atualização realizada com sucesso!"
          content:
            application/json:
              schema:
                items:
                  $ref: "#/definitions/properties-ATUALIZAR_SOLICITACAO_COMPRA-SUCESSO"
        401:
          description: "Sem Autorização"
        403:
          description: "Parametros informados da forma incorreta"
        5XX:
          description: "Houve algum erro no processo de integração. Informe o código do erro ao suporte para mais detalhes."
      security:
      - api_key: []
      x-swagger-router-controller: "Consultas"
      
#   .oooooo.   ooooo        ooooo oooooooooooo ooooo      ooo ooooooooooooo oooooooooooo  .oooooo..o #
#  d8P'  `Y8b  `888'        `888' `888'     `8 `888b.     `8' 8'   888   `8 `888'     `8 d8P'    `Y8 #
# 888           888          888   888          8 `88b.    8       888       888         Y88bo. #
# 888           888          888   888oooo8     8   `88b.  8       888       888oooo8     `"Y8888o. #
# 888           888          888   888    "     8     `88b.8       888       888    "         `"Y88b #
# `88b    ooo   888       o  888   888       o  8       `888       888       888       o oo     .d8P #
#  `Y8bood8P'  o888ooooood8 o888o o888ooooood8 o8o        `8      o888o     o888ooooood8 8""88888P' #
  /api/sd/clientes/:
    get:
      tags:
      - "Softdib/Consultas"
      summary: "Mostra todos os clientes"
      description: "Retorna os clientes de acordo com os parametro passados"
      operationId: "apiSoftdibClientes"
      produces:
      - "application/json"
      consumes:
        - "application/json"
      parameters:
        - in: "query"
          name: "codigo_cliente_fornecedor"
          required: false
          description: "Passe o código do cliente para busca."
          schema:
            type: string
            
      responses: 
        200:
          description: "Consulta realizada com sucesso"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/definitions/properties-CLIENTES"
        401:
          description: "Sem Autorização"
        403:
          description: "Parametros informados da forma incorreta"
        5XX:
          description: "Houve algum erro no processo de integração. Informe o código do erro ao suporte para mais detalhes."
      security:
      - api_key: []
      x-swagger-router-controller: "Consultas"
      
  /api/sd/clientes/{codigo_cliente_fornecedor}:
    get:
      tags:
      - "Softdib/Consultas"
      summary: "Mostra os detalhes de um cliente"
      description: "Retorna os detalhes de um cliente"
      operationId: "apiSoftdibCliente"
      produces:
      - "application/json"
      consumes:
        - "application/json"
      parameters:
        - in: "path"
          name: "codigo_cliente_fornecedor"
          required: true
          description: "Passe o código do cliente para busca."
          schema:
            type: string
            
      responses: 
        200:
          description: "Consulta realizada com sucesso"
          content:
            application/json:
              schema:
                  $ref: "#/definitions/properties-CLIENTES"
        401:
          description: "Sem Autorização"
        403:
          description: "Parametros informados da forma incorreta"
        5XX:
          description: "Houve algum erro no processo de integração. Informe o código do erro ao suporte para mais detalhes."
      security:
      - api_key: []
      x-swagger-router-controller: "Consultas"
    
      
# ooooooooo.   ooooooooo.     .oooooo.   oooooooooo.   ooooo     ooo ooooooooooooo   .oooooo.    .oooooo..o #
# `888   `Y88. `888   `Y88.  d8P'  `Y8b  `888'   `Y8b  `888'     `8' 8'   888   `8  d8P'  `Y8b  d8P'    `Y8 #
#  888   .d88'  888   .d88' 888      888  888      888  888       8       888      888      888 Y88bo. #
#  888ooo88P'   888ooo88P'  888      888  888      888  888       8       888      888      888  `"Y8888o. #
#  888          888`88b.    888      888  888      888  888       8       888      888      888      `"Y88b #
#  888          888  `88b.  `88b    d88'  888     d88'  `88.    .8'       888      `88b    d88' oo     .d8P #
# o888o        o888o  o888o  `Y8bood8P'  o888bood8P'      `YbodP'        o888o      `Y8bood8P'  8""88888P' #
  /api/sd/produtos/:
    get:
      tags:
      - "Softdib/Consultas"
      summary: "Mostra todos os produtos"
      description: "Retorna os produtos de acordo com os parametro passados"
      operationId: "apiSoftdibProdutos"
      produces:
      - "application/json"
      consumes:
        - "application/json"
      parameters:
        - in: "query"
          name: "codigo_produto_material"
          required: false
          description: "Passe o código do produto/material para busca."
          schema:
            type: string
            
      responses: 
        200:
          description: "Consulta realizada com sucesso"
          content:
            application/json:
              schema:
                type: "array"
                items:
                  $ref: "#/definitions/properties-PRODUTOS"
        401:
          description: "Sem Autorização"
        403:
          description: "Parametros informados da forma incorreta"
        5XX:
          description: "Houve algum erro no processo de integração. Informe o código do erro ao suporte para mais detalhes."
      security:
      - api_key: []
      x-swagger-router-controller: "Consultas"
      
  /api/sd/produtos/{codigo_produto_material}:
    get:
      tags:
      - "Softdib/Consultas"
      summary: "Mostra todos os detalhes de um produto"
      description: "Retorna todos os detalhes de um produto"
      operationId: "apiSoftdibProduto"
      produces:
      - "application/json"
      consumes:
        - "application/json"
      parameters:
        - in: "path"
          name: "codigo_produto_material"
          required: true
          description: "Passe o código do produto/material para busca."
          schema:
            type: string
            
      responses: 
        200:
          description: "Consulta realizada com sucesso"
          content:
            application/json:
              schema:
                  $ref: "#/definitions/properties-PRODUTOS"
        401:
          description: "Sem Autorização"
        403:
          description: "Parametros informados da forma incorreta"
        5XX:
          description: "Houve algum erro no processo de integração. Informe o código do erro ao suporte para mais detalhes."
      security:
      - api_key: []
      x-swagger-router-controller: "Consultas"




            
            



definitions:
##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~
  properties-SDPEDIDOS:
    properties:
      codigo_empresa: 
        type: integer
        format: int32
      codigo_filial: 
        type: integer
        format: int32
      numero_pedido: 
        type: integer
        format: int32
      sequencia_pedido: 
        type: integer
        format: int32
      situacao_pedido: 
        type: string
      codigo_cliente: 
        type: string
      codigo_vendedor: 
        type: string
      data_pedido: 
        type: string
        format: date-time
      previsao_entrega: 
        type: string
        format: nullable
      situacao_faturamento: 
        type: string
      situacao_orcamento: 
        type: string
      codigo_vendedor_externo: 
        type: string
      numero_ultima_nf_emitida: 
        type: string
      serie_ultima_nf: 
        type: string
      ordem_expedicao_emitida: 
        type: string
      origem_venda: 
        type: integer
        format: int32
      centro_custo: 
        type: integer
        format: int32
      condicao_pagamento: 
        type: integer
        format: int32
      unidade_monetaria: 
        type: string
      valor_total_pedido: 
        type: number
      valor_frete: 
        type: integer
        format: int32
      valor_seguro: 
        type: integer
        format: int32
      valor_despesas_acessorias: 
        type: integer
        format: int32
      valor_frete_autonomos: 
        type: integer
        format: int32
      valor_outros_custos: 
        type: integer
        format: int32
      codigo_transportador: 
        type: string
      transportador_redespacho: 
        type: string
      tipo_frete: 
        type: string
      placa_veiculo_transportador: 
        type: string
      conta_gerencial: 
        type: string
      perc_desconto: 
        type: integer
        format: int32
      valor_desconto: 
        type: integer
        format: int32
      observacao_1: 
        type: string
      observacao_2: 
        type: string
      observacao_3: 
        type: string
      observacao_4: 
        type: string
      observacao_5: 
        type: string
      observacao_6: 
        type: string
      observacao_7: 
        type: string
      observacao_8: 
        type: string
      data_nf: 
        type: string
        format: date-time
      desc_vendedor: 
        type: string
      emitente: 
        type: string
      desc_cliente: 
        type: string
      desc_vendedor_ext: 
        type: string
      items: 
        type: array
        items: 
          type: object
          properties:  
            numero_pedido: 
              type: integer
              format: int32
            sequencia_pedido: 
              type: integer
              format: int32
            sequencia_item_pedido: 
              type: integer
              format: int32
            situacao_item: 
              type: string
            quantidade_pedida: 
              type: integer
              format: int32
            quantidade_pronta: 
              type: integer
              format: int32
            quantidade_atendida: 
              type: integer
              format: int32
            preco_unitario: 
              type: number
            situacao_tributaria_icms: 
              type: string
            percentual_icms: 
              type: integer
              format: int32
            aliquota_reducao_icms: 
              type: number
            base_icms: 
              type: integer
              format: int32
            valor_icms: 
              type: number
            percentual_icms_st: 
              type: integer
              format: int32
            base_icms_st: 
              type: integer
              format: int32
            valor_icms_st: 
              type: integer
              format: int32
            situacao_tributaria_ipi: 
              type: string
            percentual_ipi: 
              type: number
            base_ipi: 
              type: number
            valor_ipi: 
              type: number
            percentual_comissao: 
              type: integer
              format: int32
            valor_comissao: 
              type: number
            cfop_item: 
              type: integer
              format: int32
            numero_oc_cliente: 
              type: string
            prioridade_item_pedido: 
              type: string
            codigo_produto: 
              type: string
            previsao_entrega: 
              type: string
              format: date-time
            emitente: 
              type: string
            cliente: 
              type: string
            desc_cliente: 
              type: string
            vendedor: 
              type: string
            desc_vendedor: 
              type: string
            vendedor_ext: 
              type: string
            desc_vendedor_ext: 
              type: string
##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~
  properties-SDNOTAFISCAL:
    properties:
      codigo_empresa: 
        type: integer
        format: int32
      codigo_filial: 
        type: integer
        format: int32
      codigo_cliente_fornecedor: 
        type: string
      numero_documento: 
        type: integer
        format: int32
      serie_documento: 
        type: string
      tipo_documento: 
        type: string
      nome_fornecedor: 
        type: string
      cnpj_fornecedor: 
        type: string
      endereco: 
        type: string
      uf: 
        type: string
      cidade: 
        type: string
      modelo_documento: 
        type: string
      data_emissao_documento: 
        type: string
        format: date-time
      data_recepcao_documento: 
        type: string
        format: date-time
      codigo_cfop: 
        type: integer
        format: int32
      valor_total_documento: 
        type: number
      base_calculo_icms_1: 
        type: integer
        format: int32
      percentual_icms_1: 
        type: integer
        format: int32
      valor_icms_1: 
        type: integer
        format: int32
      isentas_icms: 
        type: integer
        format: int32
      outras_icms: 
        type: number
      base_calculo_ipi: 
        type: integer
        format: int32
      percentual_ipi: 
        type: integer
        format: int32
      valor_ipi: 
        type: integer
        format: int32
      isentas_ipi: 
        type: integer
        format: int32
      outras_ipi: 
        type: number
      base_calculo_iss: 
        type: integer
        format: int32
      percentual_iss: 
        type: integer
        format: int32
      valor_iss: 
        type: integer
        format: int32
      recolh_iss_municipio: 
        type: string
      base_icms_substituto: 
        type: integer
        format: int32
      valor_icms_substituto: 
        type: integer
        format: int32
      codigo_centro_custo: 
        type: integer
        format: int32
      codigo_conta_gerencial: 
        type: string
      inscricao_estadual: 
        type: string
      flag_nf_cancelada: 
        type: string
      base_calculo_icms_2: 
        type: integer
        format: int32
      percentual_icms_2: 
        type: integer
        format: int32
      valor_icms_2: 
        type: integer
        format: int32
      base_calculo_icms_3: 
        type: integer
        format: int32
      percentual_icms_3: 
        type: integer
        format: int32
      valor_icms_3: 
        type: integer
        format: int32
      base_calculo_icms_4: 
        type: integer
        format: int32
      percentual_icms_4: 
        type: integer
        format: int32
      valor_icms_4: 
        type: integer
        format: int32
      base_calculo_irrf: 
        type: integer
        format: int32
      valor_irrf: 
        type: integer
        format: int32
      base_calculo_pis_cofins: 
        type: integer
        format: int32
      valor_pis: 
        type: integer
        format: int32
      valor_cofins: 
        type: integer
        format: int32
      base_calculo_retencao: 
        type: integer
        format: int32
      valor_csll_retencao: 
        type: integer
        format: int32
      valor_pis_retencao: 
        type: integer
        format: int32
      valor_cofins_retencao: 
        type: integer
        format: int32
      valor_inss_retencao: 
        type: integer
        format: int32
      valor_iss_retencao: 
        type: integer
        format: int32
      cf_identificacao_ecf: 
        type: string
      cf_numero_reducao_z: 
        type: string
      cf_numero_cf_inicial: 
        type: string
      cf_numero_cf_final: 
        type: string
      cf_valor_gt_inicial: 
        type: integer
        format: int32
      cf_valor_gt_final: 
        type: integer
        format: int32
      cf_valor_cancelamento: 
        type: integer
        format: int32
      valor_desconto: 
        type: integer
        format: int32
      cfop_2: 
        type: integer
        format: int32
      numero_docto_orig: 
        type: string
      uf_recolh_iss: 
        type: string
      cidade_recolh_iuss: 
        type: string
      observacoes: 
        type: string
      id_nfe_cte: 
        type: string
      vencimento: 
        type: string
        format: nullable
      codigo_cliente: 
        type: string
      codigo_vendedor: 
        type: string
      codigo_supervisor: 
        type: string
      data_prevista: 
        type: string
        format: date-time
      complemento: 
        type: string
      data_entrega: 
        type: string
        format: nullable
      valor_desp_acessorias: 
        type: integer
        format: int32
      valor_seguro: 
        type: integer
        format: int32
      valor_frete: 
        type: integer
        format: int32
      origem: 
        type: integer
        format: int32
      custo_frete: 
        type: integer
        format: int32
      icms_frete: 
        type: integer
        format: int32
      valor_pedagio: 
        type: integer
        format: int32
      condicao_pagamento: 
        type: integer
        format: int32
      desc_condicao_pagamento: 
        type: string
      items: 
        type: array
        items: 
          type: object
          properties: 
            codigo_empresa: 
              type: integer
              format: int32
            codigo_filial: 
              type: integer
              format: int32
            codigo_cliente_fornecedor: 
              type: string
            numero_documento: 
              type: integer
              format: int32
            serie_documento: 
              type: string
            tipo_documento: 
              type: string
            item_nf: 
              type: integer
              format: int32
            codigo_produto: 
              type: string
            descricao_produto: 
              type: string
            nbm: 
              type: string
            unidade_medida: 
              type: string
            situacao_tributaria_icms: 
              type: string
            quantidade: 
              type: integer
              format: int32
            valor_unitario: 
              type: number
            percent_icms: 
              type: integer
              format: int32
            valor_icms: 
              type: integer
              format: int32
            valor_icms_substituto: 
              type: integer
              format: int32
            base_calculo_icms: 
              type: integer
              format: int32
            base_calculo_icms_substituto: 
              type: integer
              format: int32
            percent_ipi: 
              type: integer
              format: int32
            valor_ipi: 
              type: integer
              format: int32
            valor_total: 
              type: number
            centro_custo: 
              type: integer
              format: int32
            conta_gerencial: 
              type: string
            base_pis_cofins: 
              type: integer
              format: int32
            valor_pis: 
              type: integer
              format: int32
            valor_cofins: 
              type: integer
              format: int32
            cfop: 
              type: integer
              format: int32
            nro_documento_original: 
              type: string
            numero_oc: 
              type: integer
              format: int32
            numero_item_oc: 
              type: integer
              format: int32
            situacao_trib_pis: 
              type: string
            situacao_trib_cofins: 
              type: string
            situacao_trib_ipi: 
              type: string
            situacao_trib_iss: 
              type: string
            codigo_ex_tipi: 
              type: string
            valor_desconto: 
              type: integer
              format: int32
            valor_desp_acessorias: 
              type: integer
              format: int32
            valor_seguro: 
              type: integer
              format: int32
            valor_frete: 
              type: integer
              format: int32
            origem: 
              type: integer
              format: int32
            frete_rateado: 
              type: integer
              format: int32
            valor_liq: 
              type: number
            venda_liq: 
              type: number
            custo_unitario: 
              type: number
            valor_icms_fcp: 
              type: integer
              format: int32
            percent_icms_fcp: 
              type: integer
              format: int32
            valor_icms_difal: 
              type: integer
              format: int32
            percent_icms_difal: 
              type: integer
              format: int32
##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~
  properties-SDITENSNOTAFISCAL:
    properties:
      codigo_empresa: 
        type: integer
        format: int32
      codigo_filial: 
        type: integer
        format: int32
      codigo_cliente_fornecedor: 
        type: string
      numero_documento: 
        type: integer
        format: int32
      serie_documento: 
        type: string
      tipo_documento: 
        type: string
      item_nf: 
        type: integer
        format: int32
      codigo_produto: 
        type: string
      descricao_produto: 
        type: string
      nbm: 
        type: string
      unidade_medida: 
        type: string
      situacao_tributaria_icms: 
        type: string
      quantidade: 
        type: integer
        format: int32
      valor_unitario: 
        type: number
      percent_icms: 
        type: integer
        format: int32
      valor_icms: 
        type: integer
        format: int32
      valor_icms_substituto: 
        type: integer
        format: int32
      base_calculo_icms: 
        type: integer
        format: int32
      base_calculo_icms_substituto: 
        type: integer
        format: int32
      percent_ipi: 
        type: integer
        format: int32
      valor_ipi: 
        type: integer
        format: int32
      valor_total: 
        type: number
      centro_custo: 
        type: integer
        format: int32
      conta_gerencial: 
        type: string
      base_pis_cofins: 
        type: integer
        format: int32
      valor_pis: 
        type: integer
        format: int32
      valor_cofins: 
        type: integer
        format: int32
      cfop: 
        type: integer
        format: int32
      nro_documento_original: 
        type: string
      numero_oc: 
        type: integer
        format: int32
      numero_item_oc: 
        type: integer
        format: int32
      situacao_trib_pis: 
        type: string
      situacao_trib_cofins: 
        type: string
      situacao_trib_ipi: 
        type: string
      situacao_trib_iss: 
        type: string
      codigo_ex_tipi: 
        type: string
      valor_desconto: 
        type: integer
        format: int32
      valor_desp_acessorias: 
        type: integer
        format: int32
      valor_seguro: 
        type: integer
        format: int32
      valor_frete: 
        type: integer
        format: int32
      origem: 
        type: integer
        format: int32
      frete_rateado: 
        type: integer
        format: int32
      valor_liq: 
        type: number
      venda_liq: 
        type: number
      custo_unitario: 
        type: number
      valor_icms_fcp: 
        type: integer
        format: int32
      percent_icms_fcp: 
        type: integer
        format: int32
      valor_icms_difal: 
        type: integer
        format: int32
      percent_icms_difal: 
        type: integer
        format: int32
##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~##~~
  properties-SDITENSPEDIDOS:
    properties:
      
      numero_pedido: 
        type: integer
        format: int32
      sequencia_pedido: 
        type: integer
        format: int32
      sequencia_item_pedido: 
        type: integer
        format: int32
      situacao_item: 
        type: string
      quantidade_pedida: 
        type: integer
        format: int32
      quantidade_pronta: 
        type: integer
        format: int32
      quantidade_atendida: 
        type: integer
        format: int32
      preco_unitario: 
        type: number
      situacao_tributaria_icms: 
        type: string
      percentual_icms: 
        type: integer
        format: int32
      aliquota_reducao_icms: 
        type: number
      base_icms: 
        type: integer
        format: int32
      valor_icms: 
        type: number
      percentual_icms_st: 
        type: integer
        format: int32
      base_icms_st: 
        type: integer
        format: int32
      valor_icms_st: 
        type: integer
        format: int32
      situacao_tributaria_ipi: 
        type: string
      percentual_ipi: 
        type: number
      base_ipi: 
        type: number
      valor_ipi: 
        type: number
      percentual_comissao: 
        type: integer
        format: int32
      valor_comissao: 
        type: number
      cfop_item: 
        type: integer
        format: int32
      numero_oc_cliente: 
        type: string
      prioridade_item_pedido: 
        type: string
      codigo_produto: 
        type: string
      previsao_entrega: 
        type: string
        format: date-time
      emitente: 
        type: string
      cliente: 
        type: string
      desc_cliente: 
        type: string
      vendedor: 
        type: string
      desc_vendedor: 
        type: string
      vendedor_ext: 
        type: string
      desc_vendedor_ext: 
        type: string


# oooooooooo.   oooooooooooo oooooooooooo     .oooooo..o   .oooooo.   ooo        ooooo #
# `888'   `Y8b  `888'     `8 `888'     `8    d8P'    `Y8  d8P'  `Y8b  `88.       .888' #
#  888      888  888          888            Y88bo.      888           888b     d'888 #
#  888      888  888oooo8     888oooo8        `"Y8888o.  888           8 Y88. .P  888 #
#  888      888  888    "     888    "            `"Y88b 888           8  `888'   888 #
#  888     d88'  888       o  888            oo     .d8P `88b    ooo   8    Y     888 #
# o888bood8P'   o888ooooood8 o888o           8""88888P'   `Y8bood8P'  o8o        o888o #

  properties-CRIAR_SOLICITACAO_COMPRA:
      properties:
        tipo_oc: 
          type: string
          required: true
          example: (M) Materiais (S) Servicos
        material: 
          type: string
          required: true
        solicitante: 
          type: string
          required: true
        centro_de_custo: 
          type: string
          format: int
          example: 143
          required: true
        quantidade: 
          type: string
          format: decimal
          example: "2.00"
        descr_servico: 
          type: string
        tempo_ressuprimento: 
          type: string
          format: int
          example: 0
        data_utilizacao: 
          type: string
          format: date
        numero_pedido: 
          type: string
          format: int
          example: 0
        local_pedido: 
          type: string
          format: int
          example: 0
        seq_pedido: 
          type: string
          format: int
          example: 0
        onde_usa: 
          type: string
        conta_gerencial: 
          type: string
          format: int
          example: 0
        aplicacao: 
          type: string
        obs_sc: 
          type: string
        local_entrega: 
          type: string
          format: int
          example: 0
        qtde_unid_compra: 
          type: string
          format: decimal
          example: "2.00"
        origem: 
          type: string
          format: int
          example: 0
        comprador: 
          type: string
        seq_roteiro_produc: 
          type: string
          format: int
          example: 0
        tipo_pedido: 
          type: string
          format: int
          example: 0-Nenhum; 1-Pedido de vendas; 2-O.F.; 3-OS; 4-SGM; 5-Obras
          
  properties-CRIAR_SOLICITACAO_COMPRA-SUCESSO:
    properties:
      gravacao_sc: 
        type: array
        items: 
          type: object
          properties: 
            mensagem: 
              type: string
              example: Solicitacao gravada com sucesso
            codigo_oc: 
              type: string
              example: 000563
        
  properties-ATUALIZAR_SOLICITACAO_COMPRA:
      properties:
        tipo_oc: 
          type: string
          required: true
          example: (M) Materiais (S) Servicos
        material: 
          type: string
          required: true
        solicitante: 
          type: string
          required: true
        centro_de_custo: 
          type: string
          format: int
          example: 0
          required: true
        quantidade: 
          type: string
          format: decimal
          example: "2.00"
        descr_servico: 
          type: string
        tempo_ressuprimento: 
          type: string
          format: int
          example: 0
        data_utilizacao: 
          type: string
          format: date
        numero_pedido: 
          type: string
          format: int
          example: 0
        local_pedido: 
          type: string
          format: int
          example: 0
        seq_pedido: 
          type: string
          format: int
          example: 0
        onde_usa: 
          type: string
        conta_gerencial: 
          type: string
          format: int
          example: 0
        aplicacao: 
          type: string
        obs_sc: 
          type: string
        local_entrega: 
          type: string
          format: int
          example: 0
        qtde_unid_compra: 
          type: string
          format: decimal
          example: "2.00"
        origem: 
          type: string
          format: int
          example: 0
        comprador: 
          type: string
        seq_roteiro_produc: 
          type: string
          format: int
          example: 0
        tipo_pedido: 
          type: string
          format: int
          example: 0-Nenhum; 1-Pedido de vendas; 2-O.F.; 3-OS; 4-SGM; 5-Obras

          
  properties-ATUALIZAR_SOLICITACAO_COMPRA-SUCESSO:
    properties:
      gravacao_sc: 
        type: array
        items: 
          type: object
          properties: 
            mensagem: 
              type: string
              example: Solicitacao Atualizada com Sucesso
            codigo_oc: 
              type: string
              example: 000549
        example: [
            mensagem: Solicitacao Atualizada com Sucesso,
            codigo_oc: 000549
        ]  
  
# oooooooooo.   oooooooooooo oooooooooooo      .oooooo.   ooooo        ooooo oooooooooooo ooooo      ooo ooooooooooooo oooooooooooo  .oooooo..o #
# `888'   `Y8b  `888'     `8 `888'     `8     d8P'  `Y8b  `888'        `888' `888'     `8 `888b.     `8' 8'   888   `8 `888'     `8 d8P'    `Y8 #
#  888      888  888          888            888           888          888   888          8 `88b.    8       888       888         Y88bo. #
#  888      888  888oooo8     888oooo8       888           888          888   888oooo8     8   `88b.  8       888       888oooo8     `"Y8888o. #
#  888      888  888    "     888    "       888           888          888   888    "     8     `88b.8       888       888    "         `"Y88b #
#  888     d88'  888       o  888            `88b    ooo   888       o  888   888       o  8       `888       888       888       o oo     .d8P #
# o888bood8P'   o888ooooood8 o888o            `Y8bood8P'  o888ooooood8 o888o o888ooooood8 o8o        `8      o888o     o888ooooood8 8""88888P' #

  properties-CLIENTES:
    properties:
      codigo_empresa: 
        type: integer
        format: int32
      codigo_filial: 
        type: integer
        format: int32
      codigo_cliente_fornecedor: 
        type: string
      tipo_cadastro: 
        type: string
      razao_social: 
        type: string
      nome_fantasia: 
        type: string
      tipo_pessoa: 
        type: string
      cnpj_cpf: 
        type: string
      rg: 
        type: string
      inscricao_estadual: 
        type: string
      inscricao_municipal: 
        type: string
      endereco_comercial: 
        type: string
      bairro_comercial: 
        type: string
      cidade_comercial: 
        type: string
      estado_comercial: 
        type: string
      cep_comercial: 
        type: string
      ddd: 
        type: integer
        format: int32
      telefone: 
        type: string
      ddd_celular: 
        type: integer
        format: int32
      celular: 
        type: string
      email: 
        type: string
      micro_empresa: 
        type: string
      enquadra_simples: 
        type: string
      codigo_grupo: 
        type: integer
        format: int32
      pais: 
        type: string
      numero_fax: 
        type: string
      endereco_entrega: 
        type: string
      bairro_entrega: 
        type: string
      cidade_entrega: 
        type: string
      estado_entrega: 
        type: string
      cep_entrega: 
        type: string
      ddd_entrega: 
        type: integer
        format: int32
      telefone_entrega: 
        type: string
      fax_entrega: 
        type: string
      endereco_cobranca: 
        type: string
      bairro_cobranca: 
        type: string
      cidade_cobranca: 
        type: string
      estado_cobranca: 
        type: string
      cep_cobranca: 
        type: string
      ddd_cobranca: 
        type: integer
        format: int32
      telefone_cobranca: 
        type: string
      fax_cobranca: 
        type: string
      fisica_pai: 
        type: string
      fisica_mae: 
        type: string
      fisica_data_nascimento: 
        type: string
        format: date-time
      fisica_conjuge: 
        type: string
      fisica_aniver_casamento: 
        type: string
      fisica_aniver_conjuge: 
        type: string
        format: nullable
      fisica_hobby: 
        type: string
      fisica_ref_comercial1: 
        type: string
      fisica_ref_comercial2: 
        type: string
      fisica_ref_pessoal1: 
        type: string
      fisica_ref_pessoal2: 
        type: string
      fisica_ref_bancaria1: 
        type: string
      fisica_ref_bancaria2: 
        type: string
      fisica_renda_familiar: 
        type: integer
        format: int32
      fisica_sexo: 
        type: string
      fisica_consumidor_final: 
        type: string
      juridica_ref_comercial1: 
        type: string
      juridica_ref_comercial2: 
        type: string
      juridica_ref_pessoal1: 
        type: string
      juridica_ref_pessoal2: 
        type: string
      juridica_ref_bancaria1: 
        type: string
      juridica_ref_bancaria2: 
        type: string
      juridica_consumidor_final: 
        type: string
      hist_data_primeiro_movto: 
        type: string
        format: nullable
      hist_data_ultimo_movto: 
        type: string
        format: nullable
      hist_maior_atraso: 
        type: integer
        format: int32
      hist_data_ultimo_atraso: 
        type: string
        format: nullable
      hist_dias_ultimo_atraso: 
        type: integer
        format: int32
      hist_data_ultima_nf: 
        type: string
        format: nullable
      hist_valor_ultima_nf: 
        type: integer
        format: int32
      hist_atraso_medio_dias: 
        type: integer
        format: int32
      hist_data_maior_atraso: 
        type: string
        format: nullable
      atividade: 
        type: string
      codigo_regiao: 
        type: integer
        format: int32
      pessoa_contato1: 
        type: string
      cargo_contato1: 
        type: string
      pessoa_contato2: 
        type: string
      cargo_contato2: 
        type: string
      pessoa_contato3: 
        type: string
      cargo_contato3: 
        type: string
      codigo_suframa: 
        type: string
      codigo_vendedor_rep: 
        type: string
      codigo_vendedor_interno: 
        type: string
      perc_comissao_vendedor: 
        type: integer
        format: int32
      situacao: 
        type: string
      certificado_iso: 
        type: string
      observacoes: 
        type: string
      taxa_financeira: 
        type: integer
        format: int32
      tipo_frete: 
        type: string
      codigo_transportador: 
        type: string
      conta_contabil: 
        type: string
      conta_adiantamento: 
        type: string
      grupo_economico: 
        type: string
      incoterm: 
        type: string
      prazo_entrega: 
        type: integer
        format: int32
      tab_preco: 
        type: string
      condicao_pgto: 
        type: integer
        format: int32
      vlr_min_ped: 
        type: integer
        format: int32
      data_cadastro: 
        type: string
        format: date-time
      usuario_cad: 
        type: string
      data_alteracao: 
        type: string
        format: date-time
      usuario_alt: 
        type: string
      tipo_cliente: 
        type: string
      exige_agendamento: 
        type: string
      grupo_cliente: 
        type: integer
        format: int32
      vlr_limite: 
        type: integer
        format: int32
      vlr_saldo_disponivel: 
        type: integer
        format: int32
      emite_boleto: 
        type: string
        
# oooooooooo.   oooooooooooo oooooooooooo    ooooooooo.   ooooooooo.     .oooooo.   oooooooooo.   ooooo     ooo ooooooooooooo   .oooooo.    .oooooo..o #
# `888'   `Y8b  `888'     `8 `888'     `8    `888   `Y88. `888   `Y88.  d8P'  `Y8b  `888'   `Y8b  `888'     `8' 8'   888   `8  d8P'  `Y8b  d8P'    `Y8 #
#  888      888  888          888             888   .d88'  888   .d88' 888      888  888      888  888       8       888      888      888 Y88bo. #
#  888      888  888oooo8     888oooo8        888ooo88P'   888ooo88P'  888      888  888      888  888       8       888      888      888  `"Y8888o. #
#  888      888  888    "     888    "        888          888`88b.    888      888  888      888  888       8       888      888      888      `"Y88b #
#  888     d88'  888       o  888             888          888  `88b.  `88b    d88'  888     d88'  `88.    .8'       888      `88b    d88' oo     .d8P #
# o888bood8P'   o888ooooood8 o888o           o888o        o888o  o888o  `Y8bood8P'  o888bood8P'      `YbodP'        o888o      `Y8bood8P'  8""88888P' #

  properties-PRODUTOS:
    properties:
      codigo_empresa: 
        type: integer
        format: int32
      codigo_filial: 
        type: integer
        format: int32
      GP_codigo_grupo: 
        type: integer
        format: int32
      SGP_codigo_subgrupo: 
        type: integer
        format: int32
      LP_codigo_linha: 
        type: string
      codigo_produto_material: 
        type: string
      descricao_produto: 
        type: string
      tipo_material: 
        type: string
      classificacao_ncm: 
        type: string
      unidade_medida: 
        type: string
      codigo_situacao_tributaria: 
        type: string
      percentual_ipi: 
        type: integer
        format: int32
      aliquota_reducao_icms: 
        type: integer
        format: int32
      estoque_minimo: 
        type: integer
        format: int32
      dias_reposicao_fornecedor: 
        type: integer
        format: int32
      percentual_icms: 
        type: integer
        format: int32
      tributacao_pis_cofins: 
        type: string
      aplicacao: 
        type: string
      localizacao: 
        type: string
      valor_reposicao: 
        type: integer
        format: int32
      valor_venda: 
        type: integer
        format: int32
      estoque_maximo: 
        type: integer
        format: int32
      estoque_fisico: 
        type: integer
        format: int32
      deposito_indisp: 
        type: integer
        format: int32
      pedidos_em_aberto: 
        type: integer
        format: int32
      reserva_oficina: 
        type: integer
        format: int32
      reserva_planejamento: 
        type: integer
        format: int32
      solicit_compras: 
        type: integer
        format: int32
      compras_pendentes: 
        type: integer
        format: int32
      em_producao: 
        type: integer
        format: int32
      aguardando_nf: 
        type: integer
        format: int32
      estoque_virtual: 
        type: integer
        format: int32
      data_planejamento: 
        type: string
      data_ult_compra: 
        type: string
        format: date-time
      data_ult_saida: 
        type: string
      data_ult_invent: 
        type: string
      peso_liquido: 
        type: integer
        format: int32
      peso_bruto: 
        type: integer
        format: int32
      cest: 
        type: string
      custo_medio: 
        type: integer
        format: int32
      codigo_produto_anp: 
        type: string
      codigo_original: 
        type: string
      codigo_distribuidor: 
        type: string
      descricao_complementar: 
        type: string
      peso_especifico: 
        type: integer
        format: int32
      situacao_produto: 
        type: string
      desc_situacao_produto: 
        type: string
