{
  "openapi" : "3.0.1",
  "info" : {
    "title" : "API-SGF",
    "description" : "Este documento apresenta as especificações da API de integração com o sistema Trier Drogarias, desenvolvida para atender clientes e parceiros da Trier Sistemas.\nA API tem como objetivo facilitar a comunicação entre sistemas externos e o SGF, promovendo interoperabilidade e automação de processos.\n\nA interface pode ser acessada por meio do endereço do servidor, conforme o exemplo:\nhttp://localhost:4647/sgfpod1/rest/*\n\nPara utilizar os métodos disponíveis, é necessário realizar autenticação via token do tipo Bearer, fornecido pela Trier Sistemas.\n\nInformações técnicas:\n- BASE_URL: http://localhost:4647/sgfpod1 (localhost deve ser substituído pelo IP do servidor no ambiente do cliente)\n- Acesso externo: requer IP fixo ou DDNS e redirecionamento da porta 4647 no modem ou roteador da farmácia (NAT ou Virtual Server)\n- Acesso interno: não é necessário redirecionamento de porta\n\nEm caso de dúvidas durante o processo de homologação ou desenvolvimento, entre em contato com a equipe de parcerias da Trier Sistemas pelo e-mail: parcerias@grupotrier.com.br.",
    "contact" : {
      "name" : "Suporte Trier Sistemas",
      "url" : "https://triersistemas.com.br/suporte/"
    },
    "version" : "1.5.22"
  },
  "externalDocs" : {
    "description" : "Mais informações...",
    "url" : "https://homologacao.triersistemas.com.br/api-sgf/"
  },
  "servers" : [ {
    "url" : "./",
    "description" : "Servidor atual"
  } ],
  "tags" : [ {
    "name" : "AgileGO",
    "description" : "Métodos para integração com o parceiro AgileGO."
  }, {
    "name" : "Cartão",
    "description" : "Métodos para integração de cartões."
  }, {
    "name" : "Categoria",
    "description" : "Métodos para integração de categorias."
  }, {
    "name" : "Cliente",
    "description" : "Métodos para integração de clientes."
  }, {
    "name" : "Compra",
    "description" : "Métodos para integração de compras."
  }, {
    "name" : "Departamento financeiro",
    "description" : "Métodos para integração de departamentos financeiros."
  }, {
    "name" : "Desconto empresa e grupo de produto",
    "description" : "Métodos para integração de descontos por empresa e grupo de produto."
  }, {
    "name" : "Estoque",
    "description" : "Métodos para integração de estoque."
  }, {
    "name" : "Conta financeira",
    "description" : "Métodos para integração de contas financeiras."
  }, {
    "name" : "Financeiro",
    "description" : "Métodos para integração financeira."
  }, {
    "name" : "Fornecedor",
    "description" : "Métodos para integração de fornecedores."
  }, {
    "name" : "Kit",
    "description" : "Métodos para integração de kits de produtos."
  }, {
    "name" : "Laboratório",
    "description" : "Métodos para integração de laboratórios."
  }, {
    "name" : "Parcelas cartão",
    "description" : "Métodos para integração de parcelas cartão."
  }, {
    "name" : "Pedido",
    "description" : "Métodos para integração de pedidos."
  }, {
    "name" : "Desconto por produto e condição de pagamento",
    "description" : "Métodos para integração de descontos por produto e condição de pagamento."
  }, {
    "name" : "Desconto por Encarte",
    "description" : "Métodos para integração de descontos por Encarte."
  }, {
    "name" : "Desconto por grupo e condição de pagamento",
    "description" : "Métodos para integração de descontos por grupo e condição de pagamento."
  }, {
    "name" : "Melhor desconto",
    "description" : "Métodos para integração de melhores descontos."
  }, {
    "name" : "Desconto parceiro e produto",
    "description" : "Métodos para integração de descontos por parceiro e produto."
  }, {
    "name" : "Desconto e vigência",
    "description" : "Métodos para integração de descontos e vigência."
  }, {
    "name" : "Grupo de produtos",
    "description" : "Métodos para integração de grupos de produtos."
  }, {
    "name" : "Produto",
    "description" : "Métodos para integração de produtos."
  }, {
    "name" : "Precificação",
    "description" : "Métodos para integração de descontos por precificação."
  }, {
    "name" : "Smartped",
    "description" : "Métodos para integração com o parceiro Smartped."
  }, {
    "name" : "Venda E-commerce",
    "description" : "Métodos para integração de vendas do e-commerce."
  }, {
    "name" : "Venda",
    "description" : "Métodos para integração de vendas."
  }, {
    "name" : "Vendedor",
    "description" : "Métodos para integração de vendedores."
  } ],
  "paths" : {
    "/integracao/agilego/atualizar-status-v1" : {
      "post" : {
        "tags" : [ "AgileGO" ],
        "summary" : "Atualiza o status da venda conforme notificação do Agilego.",
        "description" : "Para fazer uma requisição para esse endpoint, é necessário que o Agilego esteja configurado no sistema.",
        "operationId" : "atualizarStatusV1",
        "requestBody" : {
          "description" : "Objeto contendo as informações do webhook do Agilego.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/WebhookDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Status da venda atualizado com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string",
                  "enum" : [ "OK", "INTERNAL_SERVER_ERROR", "BAD_REQUEST" ]
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na atualização do status da venda."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/cartao/obter-v1" : {
      "get" : {
        "tags" : [ "Cartão" ],
        "summary" : "Lista cartões.",
        "description" : "Retorna os cartões cadastrados conforme os filtros informados.",
        "operationId" : "obterCartaoV1",
        "parameters" : [ {
          "name" : "codigoCartao",
          "in" : "query",
          "description" : "Código do cartão.",
          "schema" : {
            "type" : "string"
          },
          "example" : 1
        }, {
          "name" : "ativo",
          "in" : "query",
          "description" : "Indica se o cartão está ativo ou inativo.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Lista de cartões retornada com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/CartaoIntegracaoRetornoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta dos cartões."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/cartao/obter-alterados-v1" : {
      "get" : {
        "tags" : [ "Cartão" ],
        "summary" : "Lista cartões alterados.",
        "description" : "Retorna os cartões cadastrados que foram alterados dentro do intervalo de datas informado.",
        "operationId" : "obterCartoesAlteradosV1",
        "parameters" : [ {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Lista de cartões alterados retornada com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/CartaoIntegracaoRetornoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta dos cartões alterados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/cartao/obter-todos-v1" : {
      "get" : {
        "tags" : [ "Cartão" ],
        "summary" : "Lista todos os cartões.",
        "description" : "Retorna todos os cartões cadastrados.",
        "operationId" : "obterTodosCartoesV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Lista de cartões retornada com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/CartaoIntegracaoRetornoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta dos cartões."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/categoria/obter-alterados-v1" : {
      "get" : {
        "tags" : [ "Categoria" ],
        "summary" : "Lista categorias alteradas no sistema.",
        "description" : "Retorna uma lista com as categorias alteradas entre as datas informadas.",
        "operationId" : "obterCategoriasAlteradasV1",
        "parameters" : [ {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Categorias alteradas retornadas com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/CategoriaIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de categorias alteradas."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/categoria/obter-todos-v1" : {
      "get" : {
        "tags" : [ "Categoria" ],
        "summary" : "Lista categorias do sistema.",
        "description" : "Retorna uma lista com todas as categorias.",
        "operationId" : "obterTodosCategoriasV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Categorias retornadas com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/CategoriaIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de categorias."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/cliente/obter-alterados-v1" : {
      "get" : {
        "tags" : [ "Cliente" ],
        "summary" : "Lista clientes alterados em um período.",
        "description" : "Retorna lista de clientes que tiveram seus cadastros alterados no período informado, respeitando a paginação.",
        "operationId" : "obterClientesAlteradosV1",
        "parameters" : [ {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Clientes alterados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ClienteIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de clientes alterados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/cliente/obter-v1" : {
      "get" : {
        "tags" : [ "Cliente" ],
        "summary" : "Lista clientes com filtros.",
        "description" : "Retorna lista de clientes cadastrados conforme os filtros informados, respeitando a paginação.",
        "operationId" : "obterClientesV1",
        "parameters" : [ {
          "name" : "codigo",
          "in" : "query",
          "description" : "Códigos dos clientes a serem filtrados.",
          "schema" : {
            "type" : "string"
          },
          "example" : 5
        }, {
          "name" : "ativo",
          "in" : "query",
          "description" : "Filtra clientes ativos ou inativos.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "numeroCpfCnpj",
          "in" : "query",
          "description" : "CPF ou CNPJ do cliente a ser filtrado.",
          "schema" : {
            "type" : "string"
          },
          "example" : 12454764598
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Clientes retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ClienteIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de clientes."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/cliente/obter-todos-v1" : {
      "get" : {
        "tags" : [ "Cliente" ],
        "summary" : "Lista todos os clientes.",
        "description" : "Retorna lista com todos os clientes cadastrados, respeitando a paginação.",
        "operationId" : "obterTodosClientesV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Clientes retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ClienteIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de clientes."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/compra/obter-alterados-v1" : {
      "get" : {
        "tags" : [ "Compra" ],
        "summary" : "Lista compras alteradas.",
        "description" : "Obtém todas as compras que foram alteradas entre as datas informadas.",
        "operationId" : "obterComprasAlteradasV1",
        "parameters" : [ {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T00:00:00-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Compras alteradas retornadas com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/CompraIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de compras alteradas."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/compra/obter-v1" : {
      "get" : {
        "tags" : [ "Compra" ],
        "summary" : "Lista compras com filtros",
        "description" : "Consulta a lista de compras com filtros opcionais e paginação.",
        "operationId" : "obterComprasAvancadoV1",
        "parameters" : [ {
          "name" : "dataEntradaInicial",
          "in" : "query",
          "description" : "Data de entrada inicial em formato ISO 8601.",
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          },
          "example" : "2020-01-01T00:00:00-0300"
        }, {
          "name" : "dataEntradaFinal",
          "in" : "query",
          "description" : "Data de entrada final em formato ISO 8601.",
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          },
          "example" : "2020-02-01T23:59:59-0300"
        }, {
          "name" : "chavenfe",
          "in" : "query",
          "description" : "Chave de acesso da NF-e.",
          "schema" : {
            "type" : "string"
          },
          "example" : "42180261940292005872550160000011331149753323"
        }, {
          "name" : "xmlNfe",
          "in" : "query",
          "description" : "Quando true, retorna informações com referência ao XML da NF-e.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Compras retornadas com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/CompraIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de compras."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/compra/obter-todos-v1" : {
      "get" : {
        "tags" : [ "Compra" ],
        "summary" : "Lista todas as compras.",
        "description" : "Obtém todas as compras cadastradas.",
        "operationId" : "obterTodasComprasV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Compras retornadas com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/CompraIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de compras."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/financeiro/departamento/obter-alterados-v2" : {
      "get" : {
        "tags" : [ "Departamento financeiro" ],
        "summary" : "Lista departamentos que possuem alteração.",
        "description" : "Retorna lista de departamentos alterados no período especificado.",
        "operationId" : "obterDepartamentosAlteradosV2",
        "parameters" : [ {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Departamentos alterados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DepartamentoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de departamentos alterados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/financeiro/departamento/obter-movimentados-v2" : {
      "get" : {
        "tags" : [ "Departamento financeiro" ],
        "summary" : "Lista departamentos que possuem movimentações.",
        "description" : "Retorna lista de departamentos movimentados no período especificado.",
        "operationId" : "obterDepartamentosMovimentadosV1",
        "parameters" : [ {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Departamentos movimentados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DepartamentoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de departamentos movimentados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/financeiro/departamento/obter-todos-v2" : {
      "get" : {
        "tags" : [ "Departamento financeiro" ],
        "summary" : "Lista todos os departamentos.",
        "description" : "Consulta departamentos com filtros opcionais e paginação.",
        "operationId" : "obterTodosV2",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Departamentos retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DepartamentoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de departamentos."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/financeiro/departamento/obter-v2" : {
      "get" : {
        "tags" : [ "Departamento financeiro" ],
        "summary" : "Consulta departamentos com filtros avançados.",
        "description" : "Consulta departamentos com filtros avançados.",
        "operationId" : "obterV2",
        "parameters" : [ {
          "name" : "codigoDepartamento",
          "in" : "query",
          "description" : "Código do departamento.",
          "schema" : {
            "type" : "string"
          },
          "example" : 1
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Departamentos retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DepartamentoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de departamentos."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/desconto/empresa-grupo-produto/obter-alterados-v1" : {
      "get" : {
        "tags" : [ "Desconto empresa e grupo de produto" ],
        "summary" : "Obtém descontos por empresa e grupo de produto alterados no período",
        "description" : "Retorna descontos por empresa e grupo de produto que foram alterados no período informado. Caso seja utilizado o token do central, serão retornados os descontos de todas as lojas. Caso seja utilizado o token de uma filial, retorna somente os descontos da filial em questão.",
        "operationId" : "obterDescontoEmpresaGrupoProdutoAlteradosV1",
        "parameters" : [ {
          "name" : "nomeEmpresa",
          "in" : "query",
          "description" : "Nome (ou parte do nome) da empresa convênio.",
          "schema" : {
            "type" : "string"
          },
          "example" : "Empresa Exemplo"
        }, {
          "name" : "codigoEmpresa",
          "in" : "query",
          "description" : "Código da empresa convênio.",
          "schema" : {
            "type" : "string"
          },
          "example" : 10
        }, {
          "name" : "nomeGrupoProduto",
          "in" : "query",
          "description" : "Nome (ou parte do nome) do grupo de produtos.",
          "schema" : {
            "type" : "string"
          },
          "example" : "Medicamentos"
        }, {
          "name" : "codigoGrupoProduto",
          "in" : "query",
          "description" : "Código do grupo de produtos.",
          "schema" : {
            "type" : "string"
          },
          "example" : 5
        }, {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Data/hora inicial da última alteração a ser considerada, em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2026-01-01T00:00:00-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Data/hora final da última alteração a ser considerada, em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2026-01-31T23:59:59-0300"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Descontos por empresa e grupo de produto alterados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DescontoEmpresaGrupoProdutoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta dos descontos por empresa e grupo de produto alterados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/desconto/empresa-grupo-produto/obter-v1" : {
      "get" : {
        "tags" : [ "Desconto empresa e grupo de produto" ],
        "summary" : "Obtém descontos por empresa e grupo de produto com filtros",
        "description" : "Retorna descontos cadastrados por empresa e grupo de produto, permitindo filtros por nome da empresa, nome do grupo de produtos, código do grupo de produtos e período de vigência. Caso seja utilizado o token do central, serão retornados os descontos de todas as lojas. Caso seja utilizado o token de uma filial, retorna somente os descontos da filial em questão.",
        "operationId" : "obterDescontoEmpresaGrupoProdutoV1",
        "parameters" : [ {
          "name" : "nomeEmpresa",
          "in" : "query",
          "description" : "Nome (ou parte do nome) da empresa convênio.",
          "schema" : {
            "type" : "string"
          },
          "example" : "Empresa Exemplo"
        }, {
          "name" : "codigoEmpresa",
          "in" : "query",
          "description" : "Código da empresa convênio.",
          "schema" : {
            "type" : "string"
          },
          "example" : 10
        }, {
          "name" : "nomeGrupoProduto",
          "in" : "query",
          "description" : "Nome (ou parte do nome) do grupo de produtos.",
          "schema" : {
            "type" : "string"
          },
          "example" : "Medicamentos"
        }, {
          "name" : "codigoGrupoProduto",
          "in" : "query",
          "description" : "Código do grupo de produtos.",
          "schema" : {
            "type" : "string"
          },
          "example" : 5
        }, {
          "name" : "dataReferencia",
          "in" : "query",
          "description" : "Data de vigência em formato ISO 8601.",
          "schema" : {
            "type" : "string"
          },
          "example" : "2026-01-01T00:00:00-0300"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Descontos por empresa e grupo de produto retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DescontoEmpresaGrupoProdutoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta dos descontos por empresa e grupo de produto."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/desconto/empresa-grupo-produto/obter-todos-v1" : {
      "get" : {
        "tags" : [ "Desconto empresa e grupo de produto" ],
        "summary" : "Obtém todos os descontos por empresa e grupo de produto",
        "description" : "Retorna todos os descontos cadastrados por empresa e grupo de produto. Caso seja utilizado o token do central, serão retornados os descontos de todas as lojas. Caso seja utilizado o token de uma filial, retorna somente os descontos da filial em questão.",
        "operationId" : "obterTodosDescontoEmpresaGrupoProdutoV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Descontos por empresa e grupo de produto retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DescontoEmpresaGrupoProdutoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta dos descontos por empresa e grupo de produto."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/estoque/obter-alterados-v1" : {
      "get" : {
        "tags" : [ "Estoque" ],
        "summary" : "Lista estoques de produtos que possuem alteração.",
        "description" : "Retorna lista de estoques de produtos alterados no período especificado.",
        "operationId" : "obterEstoqueAlteradosV1",
        "parameters" : [ {
          "name" : "integracaoEcommerce",
          "in" : "query",
          "description" : "Filtra produtos disponíveis ou não disponíveis para integração com E-Commerce.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Estoques alterados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/EstoqueIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de estoques alterados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/estoque/obter-movimentados-v1" : {
      "get" : {
        "tags" : [ "Estoque" ],
        "summary" : "Lista estoques de produtos que possuem movimentações.",
        "description" : "Retorna lista de estoques de produtos movimentados no período especificado.",
        "operationId" : "obterEstoqueMovimentadoV1",
        "parameters" : [ {
          "name" : "integracaoEcommerce",
          "in" : "query",
          "description" : "Filtra produtos disponíveis ou não disponíveis para integração com E-Commerce.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Estoques movimentados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/EstoqueIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de estoques movimentados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/estoque/obter-todos-v1" : {
      "get" : {
        "tags" : [ "Estoque" ],
        "summary" : "Lista todos os estoques de produtos.",
        "description" : "Retorna o estoque de produtos com filtros opcionais e paginação.",
        "operationId" : "obterTodosV1",
        "parameters" : [ {
          "name" : "integracaoEcommerce",
          "in" : "query",
          "description" : "Filtra produtos disponíveis ou não disponíveis para integração com E-Commerce.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Estoques retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/EstoqueIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de estoques."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/estoque/obter-v1" : {
      "get" : {
        "tags" : [ "Estoque" ],
        "summary" : "Consulta estoques de produtos com filtros avançados.",
        "description" : "Consulta o estoque de produtos com filtros avançados.",
        "operationId" : "obterV1",
        "parameters" : [ {
          "name" : "codigoProduto",
          "in" : "query",
          "description" : "Código reduzido do produto.",
          "schema" : {
            "type" : "integer",
            "format" : "int64"
          },
          "example" : 1
        }, {
          "name" : "quantidadeEstoqueInicial",
          "in" : "query",
          "description" : "Exibe os produtos com estoque maior ou igual ao valor informado.",
          "schema" : {
            "type" : "integer",
            "format" : "int64"
          },
          "example" : -1
        }, {
          "name" : "quantidadeEstoqueFinal",
          "in" : "query",
          "description" : "Filtra produtos com estoque negativo. Pode ser combinado com quantidadeEstoqueInicial para definir uma faixa.",
          "schema" : {
            "type" : "integer",
            "format" : "int64"
          },
          "example" : 1
        }, {
          "name" : "ativo",
          "in" : "query",
          "description" : "Filtra por estoque de produtos ativos ou inativos.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "integracaoEcommerce",
          "in" : "query",
          "description" : "Filtra produtos disponíveis ou não disponíveis para integração com E-Commerce.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Estoques retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/EstoqueIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de estoques."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/financeiro/conta/obter-alterados-v1" : {
      "get" : {
        "tags" : [ "Conta financeira" ],
        "summary" : "Lista contas que possuem alteração.",
        "description" : "Retorna lista de contas alteradas no período especificado.",
        "operationId" : "obterSaldosContasAlteradosV1",
        "parameters" : [ {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Contas alteradas retornadas com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/FinanceiroContaIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de contas alteradas."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/financeiro/conta/obter-movimentados-v1" : {
      "get" : {
        "tags" : [ "Conta financeira" ],
        "summary" : "Lista contas que possuem movimentações.",
        "description" : "Retorna lista de contas movimentadas no período especificado.",
        "operationId" : "obterSaldosContasMovimentadosV1",
        "parameters" : [ {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Contas movimentadas retornadas com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/FinanceiroContaIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de contas movimentadas."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/financeiro/conta/obter-todos-v1" : {
      "get" : {
        "tags" : [ "Conta financeira" ],
        "summary" : "Lista todas as contas financeiras.",
        "description" : "Consulta contas com filtros opcionais e paginação.",
        "operationId" : "obterTodosSaldosContasV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Contas retornadas com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/FinanceiroContaIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de contas."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/financeiro/obter-classificacao-financeira-v1" : {
      "get" : {
        "tags" : [ "Financeiro" ],
        "summary" : "Lista centros de custos",
        "description" : "Retorna lista de classificações financeiras no período especificado.",
        "operationId" : "obterClassificacaoFinanceiraV1",
        "parameters" : [ {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Classificações financeiras retornadas com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/FinanceiroClassificacaoFinanceiraIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta das classificações financeiras."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/financeiro/obter-resultado-exercicio-v1" : {
      "get" : {
        "tags" : [ "Financeiro" ],
        "summary" : "Lista resultados do exercício",
        "description" : "Retorna lista de resultado do exercício no período especificado.",
        "operationId" : "obterResultadoExercicioV1",
        "parameters" : [ {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Resultado do exercício retornado com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/FinanceiroResultadoExercicioIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta do resultado do exercício."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/financeiro/obter-resultado-financeiro-v1" : {
      "get" : {
        "tags" : [ "Financeiro" ],
        "summary" : "Lista resultados financeiros",
        "description" : "Retorna lista de resultado financeiro no período especificado.",
        "operationId" : "obterResultadoFinanceiroV1",
        "parameters" : [ {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Resultado financeiro retornado com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/FinanceiroResultadoFinanceiroIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta do resultado financeiro."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/fornecedor/obter-alterados-v1" : {
      "get" : {
        "tags" : [ "Fornecedor" ],
        "summary" : "Lista fornecedores alterados",
        "description" : "Obtém os fornecedores que foram alterados dentro de um intervalo de datas.",
        "operationId" : "obterFornecedoresAlteradosV1",
        "parameters" : [ {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Fornecedores alterados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FornecedorIntegracaoDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de fornecedores alterados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/fornecedor/obter-movimentados-v1" : {
      "get" : {
        "tags" : [ "Fornecedor" ],
        "summary" : "Lista fornecedores movimentados",
        "description" : "Obtém os fornecedores que foram movimentados dentro de um intervalo de datas.",
        "operationId" : "obterFornecedoresMovimentadosV1",
        "parameters" : [ {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Fornecedores movimentados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FornecedorIntegracaoDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de fornecedores movimentados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/fornecedor/obter-todos-v1" : {
      "get" : {
        "tags" : [ "Fornecedor" ],
        "summary" : "Lista todos os fornecedores",
        "description" : "Obtém todos os fornecedores cadastrados no sistema.",
        "operationId" : "obterTodosFornecedoresV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Fornecedores retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FornecedorIntegracaoDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de fornecedores."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/kit/obter-alterados-v1" : {
      "get" : {
        "tags" : [ "Kit" ],
        "summary" : "Lista kits de produtos alterados no período.",
        "description" : "Retorna kits que foram alterados em um período específico, com paginação e filtros opcionais.",
        "operationId" : "obterAlteradosV1",
        "parameters" : [ {
          "name" : "codigoKit",
          "in" : "query",
          "description" : "Código do kit de produto. Aceita múltiplos valores.",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "format" : "int64"
            }
          },
          "example" : [ 1 ]
        }, {
          "name" : "codigoProduto",
          "in" : "query",
          "description" : "Código reduzido do produto.",
          "schema" : {
            "type" : "integer",
            "format" : "int64"
          },
          "example" : 1
        }, {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Consulta de kits alterados realizada com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CadcpkitIntegracaoDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de kits alterados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/kit/obter-movimentados-v1" : {
      "get" : {
        "tags" : [ "Kit" ],
        "summary" : "Lista kits de produtos movimentados no período.",
        "description" : "Retorna kits que tiveram movimentação de venda em um período específico, com paginação e filtros opcionais.",
        "operationId" : "obterMovimentadosV1",
        "parameters" : [ {
          "name" : "codigoKit",
          "in" : "query",
          "description" : "Código do kit de produto. Para múltiplos valores, repita o parâmetro: ?codigoKit=1&codigoKit=2.",
          "schema" : {
            "type" : "string"
          },
          "example" : 1
        }, {
          "name" : "codigoReduzido",
          "in" : "query",
          "description" : "Código reduzido do kit no cadastro de produtos.",
          "schema" : {
            "type" : "string"
          },
          "example" : 1000
        }, {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Consulta de kits movimentados realizada com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CadcpkitIntegracaoDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de kits movimentados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/kit/obter-todos-v1" : {
      "get" : {
        "tags" : [ "Kit" ],
        "summary" : "Obter todos os kits de produtos.",
        "description" : "Consulta todos os kits ativos com paginação e filtros opcionais.",
        "operationId" : "obterTodosV1_1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Consulta de kits realizada com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CadcpkitIntegracaoDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de kits."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/kit/obter-v1" : {
      "get" : {
        "tags" : [ "Kit" ],
        "summary" : "Lista kits de produtos com filtros",
        "description" : "Consulta todos os kits ativos com paginação e filtros opcionais.",
        "operationId" : "obterV1_1",
        "parameters" : [ {
          "name" : "codigoKit",
          "in" : "query",
          "description" : "Código do kit de produto. Aceita múltiplos valores.",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "format" : "int64"
            }
          },
          "example" : [ 1 ]
        }, {
          "name" : "codigoProduto",
          "in" : "query",
          "description" : "Código reduzido do produto.",
          "schema" : {
            "type" : "integer",
            "format" : "int64"
          },
          "example" : 1
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Kits de produtos retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CadcpkitIntegracaoDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de kits."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/laboratorio/obter-alterados-v1" : {
      "get" : {
        "tags" : [ "Laboratório" ],
        "summary" : "Obtém laboratórios alterados",
        "description" : "Obtém os laboratórios que foram alterados dentro de um intervalo de datas.",
        "operationId" : "obterLaboratoriosAlteradosV1",
        "parameters" : [ {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Data inicial em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Data final em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Laboratórios alterados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/LaboratorioIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta dos laboratórios alterados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/laboratorio/obter-movimentados-v1" : {
      "get" : {
        "tags" : [ "Laboratório" ],
        "summary" : "Obtém laboratórios movimentados",
        "description" : "Obtém os laboratórios que foram movimentados dentro de um intervalo de datas.",
        "operationId" : "obterLaboratoriosMovimentadosV1",
        "parameters" : [ {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Data inicial em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Data final em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Laboratórios movimentados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/LaboratorioIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta dos laboratórios movimentados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/laboratorio/obter-todos-v1" : {
      "get" : {
        "tags" : [ "Laboratório" ],
        "summary" : "Obtém todos os laboratórios",
        "description" : "Obtém todos os laboratórios cadastrados no sistema.",
        "operationId" : "obterTodosLaboratoriosV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Laboratórios retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/LaboratorioIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta dos laboratórios."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/parcelas-cartao/obter-alterados-v1" : {
      "get" : {
        "tags" : [ "Parcelas cartão" ],
        "summary" : "Obtém parcelas de cartão alteradas",
        "description" : "Obtém as parcelas de cartão cadastradas no sistema que foram alteradas em um determinado período.",
        "operationId" : "obterParcelasCartaoAlteradasV1",
        "parameters" : [ {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Data inicial em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Data final em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Parcelas de cartão alteradas retornadas com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ParcelaCartaoIntegracaoDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta das parcelas de cartão alteradas."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/parcelas-cartao/estorno-v1" : {
      "get" : {
        "tags" : [ "Parcelas cartão" ],
        "summary" : "Obtém parcelas de cartão de estorno",
        "description" : "Obtém as parcelas de cartão de estorno cadastradas no sistema, com filtros de data de emissão.",
        "operationId" : "obterParcelasCartaoEstornoV1",
        "parameters" : [ {
          "name" : "dataEmissaoInicial",
          "in" : "query",
          "description" : "Data inicial de emissão em formato ISO 8601.",
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01"
        }, {
          "name" : "dataEmissaoFinal",
          "in" : "query",
          "description" : "Data final de emissão em formato ISO 8601.",
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Parcelas de cartão de estorno retornadas com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ParcelaCartaoEstornoIntegracaoDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta das parcelas de cartão de estorno."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/parcelas-cartao/obter-v1" : {
      "get" : {
        "tags" : [ "Parcelas cartão" ],
        "summary" : "Obtém parcelas de cartão",
        "description" : "Obtém as parcelas de cartão cadastradas no sistema, com filtros de data de emissão.",
        "operationId" : "obterParcelasCartaoV1",
        "parameters" : [ {
          "name" : "dataEmissaoInicial",
          "in" : "query",
          "description" : "Data inicial de emissão em formato ISO 8601.",
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01"
        }, {
          "name" : "dataEmissaoFinal",
          "in" : "query",
          "description" : "Data final de emissão em formato ISO 8601.",
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Parcelas de cartão retornadas com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ParcelaCartaoIntegracaoDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta das parcelas de cartão."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/parcelas-cartao/obter-todos-v1" : {
      "get" : {
        "tags" : [ "Parcelas cartão" ],
        "summary" : "Obtém todas as parcelas de cartão",
        "description" : "Obtém todas as parcelas de cartão cadastradas no sistema.",
        "operationId" : "obterTodasParcelasCartaoV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Parcelas de cartão retornadas com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ParcelaCartaoIntegracaoDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta das parcelas de cartão."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/pedido/itens/resumido/obter-alterados-v1" : {
      "get" : {
        "tags" : [ "Pedido" ],
        "summary" : "Obtém itens de pedidos resumidos alterados",
        "description" : "Obtém itens de pedidos resumidos cadastrados no sistema que foram alterados dentro do intervalo de datas fornecido.",
        "operationId" : "obterItensPedidosResumidoAlteradosV1",
        "parameters" : [ {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Data inicial em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Data final em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Itens de pedidos resumidos alterados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ItemPedidoResumidoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta dos itens de pedidos resumidos alterados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/pedido/itens/resumido/obter-v1" : {
      "get" : {
        "tags" : [ "Pedido" ],
        "summary" : "Obtém itens de pedidos resumidos",
        "description" : "Obtém itens de pedidos resumidos cadastrados no sistema com base em filtros opcionais.",
        "operationId" : "obterItensPedidosResumidoV1",
        "parameters" : [ {
          "name" : "dataEmissaoInicial",
          "in" : "query",
          "description" : "Data de emissão inicial para filtro dos pedidos.",
          "schema" : {
            "type" : "string"
          },
          "example" : "2024-01-31"
        }, {
          "name" : "dataEmissaoFinal",
          "in" : "query",
          "description" : "Data de emissão final para filtro dos pedidos.",
          "schema" : {
            "type" : "string"
          },
          "example" : "2024-02-01"
        }, {
          "name" : "numeroPedido",
          "in" : "query",
          "description" : "Número do pedido para filtro.",
          "schema" : {
            "type" : "string"
          },
          "example" : "1001,1002,1003"
        }, {
          "name" : "codigoComprador",
          "in" : "query",
          "description" : "Código do comprador para filtro.",
          "schema" : {
            "type" : "string"
          },
          "example" : "200,201,202"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Itens de pedidos resumidos retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ItemPedidoResumidoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta dos itens de pedidos resumidos."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/pedido/resumido/obter-alterados-v1" : {
      "get" : {
        "tags" : [ "Pedido" ],
        "summary" : "Obtém pedidos resumidos alterados",
        "description" : "Obtém pedidos resumidos cadastrados no sistema que foram alterados dentro do intervalo de datas fornecido.",
        "operationId" : "obterPedidosResumidoAlteradosV1",
        "parameters" : [ {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Data inicial em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Data final em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Pedidos resumidos alterados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/PedidoResumidoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta dos pedidos resumidos alterados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/pedido/resumido/obter-v1" : {
      "get" : {
        "tags" : [ "Pedido" ],
        "summary" : "Obtém pedidos resumidos",
        "description" : "Obtém pedidos resumidos cadastrados no sistema com base em filtros opcionais.",
        "operationId" : "obterPedidosResumidoV1",
        "parameters" : [ {
          "name" : "dataEmissaoInicial",
          "in" : "query",
          "description" : "Data de emissão inicial para filtro dos pedidos.",
          "schema" : {
            "type" : "string"
          },
          "example" : "2024-01-31"
        }, {
          "name" : "dataEmissaoFinal",
          "in" : "query",
          "description" : "Data de emissão final para filtro dos pedidos.",
          "schema" : {
            "type" : "string"
          },
          "example" : "2024-02-01"
        }, {
          "name" : "numeroPedido",
          "in" : "query",
          "description" : "Número do pedido para filtro.",
          "schema" : {
            "type" : "string"
          },
          "example" : "1001,1002,1003"
        }, {
          "name" : "codigoComprador",
          "in" : "query",
          "description" : "Código do comprador para filtro.",
          "schema" : {
            "type" : "string"
          },
          "example" : "200,201,202"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Pedidos resumidos retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/PedidoResumidoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta dos pedidos resumidos."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/pedido/itens/resumido/obter-todos-v1" : {
      "get" : {
        "tags" : [ "Pedido" ],
        "summary" : "Obtém todos os itens de pedidos resumidos",
        "description" : "Obtém todos os itens de pedidos resumidos cadastrados no sistema.",
        "operationId" : "obterTodosItensPedidosResumidoV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Itens de pedidos resumidos retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ItemPedidoResumidoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta dos itens de pedidos resumidos."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/pedido/resumido/obter-todos-v1" : {
      "get" : {
        "tags" : [ "Pedido" ],
        "summary" : "Obtém todos os pedidos resumidos",
        "description" : "Obtém todos os pedidos resumidos cadastrados no sistema.",
        "operationId" : "obterTodosPedidosResumidoV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Pedidos resumidos retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/PedidoResumidoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta dos pedidos resumidos."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/desconto/condicao-pagamento/obter-alterados-v1" : {
      "get" : {
        "tags" : [ "Desconto por produto e condição de pagamento" ],
        "summary" : "Obter descontos por produto e condição de pagamento alterados no período",
        "description" : "Consulta descontos alterados por produto e condição de pagamento em um período específico, com paginação e filtros opcionais.",
        "operationId" : "obterAlteradosV1_1",
        "parameters" : [ {
          "name" : "codigoProduto",
          "in" : "query",
          "description" : "Código interno do produto para filtro exato.",
          "schema" : {
            "type" : "string"
          },
          "example" : 12345
        }, {
          "name" : "codigoBarras",
          "in" : "query",
          "description" : "Código de barras do produto para filtro exato.",
          "schema" : {
            "type" : "string"
          },
          "example" : 7891234567890
        }, {
          "name" : "nomeProduto",
          "in" : "query",
          "description" : "Nome ou parte do nome do produto para filtro.",
          "schema" : {
            "type" : "string"
          },
          "example" : "DIPIRONA"
        }, {
          "name" : "codigoCondicaoPagamento",
          "in" : "query",
          "description" : "Código da condição de pagamento para filtro.",
          "schema" : {
            "type" : "string"
          },
          "example" : 1
        }, {
          "name" : "somenteAtivos",
          "in" : "query",
          "description" : "Filtrar somente produtos ativos.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "removerRestricaoEstoque",
          "in" : "query",
          "description" : "Remove a filtragem de somente produtos com estoque positivo.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Data inicial para filtro de alteração dos descontos (formato: yyyy-MM-dd).",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2024-01-01"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Data final para filtro de alteração dos descontos (formato: yyyy-MM-dd).",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2024-12-31"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro (offset) para paginação. Inicia em 0.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros por página.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 100
        } ],
        "responses" : {
          "200" : {
            "description" : "Consulta realizada com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ProdutoDescontoCondicaoPagamentoIntegracaoRetornoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida ou parâmetros de data inválidos."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de descontos por produto e condição de pagamento."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/desconto/condicao-pagamento/obter-todos-v1" : {
      "get" : {
        "tags" : [ "Desconto por produto e condição de pagamento" ],
        "summary" : "Obter todos os descontos por produto e condição de pagamento",
        "description" : "Consulta todos os descontos vigentes por produto e condição de pagamento, com paginação.",
        "operationId" : "obterTodosV1_2",
        "parameters" : [ {
          "name" : "removerRestricaoEstoque",
          "in" : "query",
          "description" : "Remove a filtragem de somente produtos com estoque positivo.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro (offset) para paginação. Inicia em 0.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros por página.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 100
        } ],
        "responses" : {
          "200" : {
            "description" : "Consulta realizada com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ProdutoDescontoCondicaoPagamentoIntegracaoRetornoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de descontos por produto e condição de pagamento."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/desconto/condicao-pagamento/obter-v1" : {
      "get" : {
        "tags" : [ "Desconto por produto e condição de pagamento" ],
        "summary" : "Obter descontos por produto e condição de pagamento",
        "description" : "Consulta descontos vigentes por produto e condição de pagamento, com paginação e filtros opcionais.",
        "operationId" : "obterV1_2",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro (offset) para paginação. Inicia em 0.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros por página.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 100
        }, {
          "name" : "dataReferencia",
          "in" : "query",
          "description" : "Data de referência para verificar a vigência dos descontos. Se não informada, utiliza a data atual.",
          "schema" : {
            "type" : "string"
          },
          "example" : "2026-01-01"
        }, {
          "name" : "codigoProduto",
          "in" : "query",
          "description" : "Código interno do produto para filtro exato.",
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 12345
        }, {
          "name" : "codigoBarras",
          "in" : "query",
          "description" : "Código de barras do produto para filtro exato.",
          "schema" : {
            "type" : "integer",
            "format" : "int64"
          },
          "example" : 7891234567890
        }, {
          "name" : "nomeProduto",
          "in" : "query",
          "description" : "Nome ou parte do nome do produto para filtro.",
          "schema" : {
            "type" : "string"
          },
          "example" : "DIPIRONA"
        }, {
          "name" : "codigoCondicaoPagamento",
          "in" : "query",
          "description" : "Código da condição de pagamento para filtro.",
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 1
        }, {
          "name" : "somenteAtivos",
          "in" : "query",
          "description" : "Filtrar somente produtos ativos.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "removerRestricaoEstoque",
          "in" : "query",
          "description" : "Remove a filtragem de somente produtos com estoque positivo.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        } ],
        "responses" : {
          "200" : {
            "description" : "Consulta realizada com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ProdutoDescontoCondicaoPagamentoIntegracaoRetornoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de descontos por produto e condição de pagamento."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/desconto/encarte/obter-alterados-v1" : {
      "get" : {
        "tags" : [ "Desconto por Encarte" ],
        "summary" : "Obter descontos de encarte alterados",
        "description" : "Retorna os produtos com descontos em encartes que sofreram alterações dentro do intervalo de datas informado.",
        "operationId" : "obterProdutoDescontoEncarteAlteradosV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        }, {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Data inicial em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2026-01-01T00:00:00-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Data final em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2026-01-31T23:59:59-0300"
        } ],
        "responses" : {
          "200" : {
            "description" : "Lista de descontos de encarte alterados retornada com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ProdutoDescontoEncarteIntegracaoRetorno"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de descontos por grupo e condição de pagamento."
          }
        }
      }
    },
    "/integracao/produto/desconto/encarte/obter-v1" : {
      "get" : {
        "tags" : [ "Desconto por Encarte" ],
        "summary" : "Obter descontos de encarte",
        "description" : "Retorna uma lista de produtos com descontos ativos em encartes, filtrando por parâmetros opcionais de consulta.",
        "operationId" : "obterProdutoDescontoEncarteV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        }, {
          "name" : "dataReferencia",
          "in" : "query",
          "description" : "Data de referência para considerar os descontos (formato: ISO 8601). Se não informada, utiliza a data atual.",
          "schema" : {
            "type" : "string"
          },
          "example" : "2026-01-01T00:00:00-0300"
        }, {
          "name" : "codigoProduto",
          "in" : "query",
          "description" : "Código interno do produto",
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 12345
        }, {
          "name" : "codigoBarras",
          "in" : "query",
          "description" : "Código de barras do produto",
          "schema" : {
            "type" : "integer",
            "format" : "int64"
          },
          "example" : 7891234567890
        }, {
          "name" : "nomeProduto",
          "in" : "query",
          "description" : "Nome (ou parte do nome) do produto para filtro.",
          "schema" : {
            "type" : "string"
          },
          "example" : "DORFLEX 36 CPR"
        }, {
          "name" : "nomeEncarte",
          "in" : "query",
          "description" : "Nome (ou parte do nome) do encarte para filtro.",
          "schema" : {
            "type" : "string"
          },
          "example" : "ENCARTE DE VERÃO"
        } ],
        "responses" : {
          "200" : {
            "description" : "Lista de descontos de encarte retornada com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ProdutoDescontoEncarteIntegracaoRetorno"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de descontos por grupo e condição de pagamento."
          }
        }
      }
    },
    "/integracao/produto/desconto/encarte/obter-todos-v1" : {
      "get" : {
        "tags" : [ "Desconto por Encarte" ],
        "summary" : "Obter todos os descontos de encarte",
        "description" : "Retorna todos os produtos com descontos em encartes ativos.",
        "operationId" : "obterTodosProdutoDescontoEncarteV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Lista completa de descontos de encarte retornada com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ProdutoDescontoEncarteIntegracaoRetorno"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de descontos por grupo e condição de pagamento."
          }
        }
      }
    },
    "/integracao/produto/desconto/grupo/obter-alterados-v1" : {
      "get" : {
        "tags" : [ "Desconto por grupo e condição de pagamento" ],
        "summary" : "Obtém descontos por grupo e condição de pagamento alterados",
        "description" : "Obtém os descontos por grupo e condição de pagamento que foram alterados entre as datas informadas.",
        "operationId" : "obterProdutoDescontoGrupoAlteradosV1",
        "parameters" : [ {
          "name" : "grupoProduto",
          "in" : "query",
          "description" : "Filtro pelo código do grupo de produto.",
          "schema" : {
            "type" : "string"
          },
          "example" : 5
        }, {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Data inicial em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Data final em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Descontos por grupo e condição de pagamento alterados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ProdutoDescontoGrupoIntegracaoRetornoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de descontos por grupo e condição de pagamento alterados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/desconto/grupo/obter-v1" : {
      "get" : {
        "tags" : [ "Desconto por grupo e condição de pagamento" ],
        "summary" : "Obtém descontos por grupo e condição de pagamento",
        "description" : "Obtém os descontos por grupo e condição de pagamento cadastrados no sistema.",
        "operationId" : "obterProdutoDescontoGrupoV1",
        "parameters" : [ {
          "name" : "grupoProduto",
          "in" : "query",
          "description" : "Filtro pelo código do grupo de produto.",
          "schema" : {
            "type" : "string"
          },
          "example" : 5
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Descontos por grupo e condição de pagamento retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ProdutoDescontoGrupoIntegracaoRetornoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de descontos por grupo e condição de pagamento."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/desconto/grupo/obter-todos-v1" : {
      "get" : {
        "tags" : [ "Desconto por grupo e condição de pagamento" ],
        "summary" : "Obtém todos os descontos por grupo e condição de pagamento",
        "description" : "Obtém todos os descontos por grupo e condição de pagamento cadastrados no sistema.",
        "operationId" : "obterTodosProdutoDescontoGrupoV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Descontos por grupo e condição de pagamento retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ProdutoDescontoGrupoIntegracaoRetornoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de descontos por grupo e condição de pagamento."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/desconto/progressivo/obter-alterados-v1" : {
      "get" : {
        "tags" : [ "Melhor desconto" ],
        "summary" : "Obtém descontos progressivos alterados",
        "description" : "Obtém os descontos progressivos cadastrados no sistema que foram alterados dentro do intervalo de datas fornecido.",
        "operationId" : "obterDescontoProgressivoAlteradosV1",
        "parameters" : [ {
          "name" : "removerRestricaoEstoque",
          "in" : "query",
          "description" : "Remove a filtragem de somente produtos com estoque positivo.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Data inicial em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Data final em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Descontos progressivos alterados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DescontoProgressivoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta dos descontos progressivos alterados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/desconto/progressivo/obter-alterados-v2" : {
      "get" : {
        "tags" : [ "Melhor desconto" ],
        "summary" : "Obtém os descontos progressivos alterados",
        "description" : "Obtém os descontos progressivos que tiveram alterações no período informado, retornando apenas os registros modificados.",
        "operationId" : "obterDescontoProgressivoAlteradosV2",
        "parameters" : [ {
          "name" : "removerRestricaoEstoque",
          "in" : "query",
          "description" : "Remove a filtragem de somente produtos com estoque positivo.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Data/hora inicial da última alteração a ser considerada, em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T00:00:00-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Data/hora final da última alteração a ser considerada, em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-31T23:59:59-0300"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Descontos progressivos alterados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DescontoProgressivoRetornoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta dos descontos progressivos alterados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/desconto/progressivo/obter-v1" : {
      "get" : {
        "tags" : [ "Melhor desconto" ],
        "summary" : "Obtém descontos progressivos",
        "description" : "Obtém os descontos progressivos cadastrados no sistema com base nos parâmetros fornecidos.",
        "operationId" : "obterDescontoProgressivoV1",
        "parameters" : [ {
          "name" : "codigoBarras",
          "in" : "query",
          "description" : "Código de barras do produto.",
          "schema" : {
            "type" : "string"
          },
          "example" : 7898455107541
        }, {
          "name" : "codigoProduto",
          "in" : "query",
          "description" : "Código do produto.",
          "schema" : {
            "type" : "string"
          },
          "example" : 5
        }, {
          "name" : "considerarTodasCondicoesPagamento",
          "in" : "query",
          "description" : "Indica se todas as condições de pagamento devem ser consideradas.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "removerRestricaoEstoque",
          "in" : "query",
          "description" : "Remove a filtragem de somente produtos com estoque positivo.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Descontos progressivos retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DescontoProgressivoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta dos descontos progressivos."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/desconto/progressivo/obter-v2" : {
      "get" : {
        "tags" : [ "Melhor desconto" ],
        "summary" : "Obtém os descontos progressivos",
        "description" : "Obtém os descontos progressivos cadastrados no sistema com base nos parâmetros fornecidos.",
        "operationId" : "obterDescontoProgressivoV2",
        "parameters" : [ {
          "name" : "codigoBarras",
          "in" : "query",
          "description" : "Código de barras do produto.",
          "schema" : {
            "type" : "string"
          },
          "example" : 7898455107541
        }, {
          "name" : "codigoProduto",
          "in" : "query",
          "description" : "Código do produto.",
          "schema" : {
            "type" : "string"
          },
          "example" : 5
        }, {
          "name" : "considerarTodasCondicoesPagamento",
          "in" : "query",
          "description" : "Indica se todas as condições de pagamento devem ser consideradas.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "dataReferencia",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "removerRestricaoEstoque",
          "in" : "query",
          "description" : "Remove a filtragem de somente produtos com estoque positivo.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Descontos progressivos retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DescontoProgressivoRetornoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta dos descontos progressivos."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/desconto/melhor/obter-alterados-v1" : {
      "get" : {
        "tags" : [ "Melhor desconto" ],
        "summary" : "Obtém melhores descontos alterados",
        "description" : "Obtém os melhores descontos cadastrados no sistema que foram alterados dentro do intervalo de datas fornecido.",
        "operationId" : "obterMelhorDescontoAlteradosV1",
        "parameters" : [ {
          "name" : "removerRestricaoEstoque",
          "in" : "query",
          "description" : "Remove a filtragem de somente produtos com estoque positivo.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Data inicial em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Data final em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-01-01T23:59:59-0300"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Melhores descontos alterados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DescontoMelhorIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta dos melhores descontos alterados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/desconto/melhor/obter-v1" : {
      "get" : {
        "tags" : [ "Melhor desconto" ],
        "summary" : "Obtém melhores descontos",
        "description" : "Obtém os melhores descontos cadastrados no sistema com base nos parâmetros fornecidos.",
        "operationId" : "obterMelhorDescontoV1",
        "parameters" : [ {
          "name" : "codigoBarras",
          "in" : "query",
          "description" : "Código de barras do produto.",
          "schema" : {
            "type" : "string"
          },
          "example" : 7898455107541
        }, {
          "name" : "codigoProduto",
          "in" : "query",
          "description" : "Código do produto.",
          "schema" : {
            "type" : "string"
          },
          "example" : 5
        }, {
          "name" : "considerarTodasCondicoesPagamento",
          "in" : "query",
          "description" : "Indica se todas as condições de pagamento devem ser consideradas.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "removerRestricaoEstoque",
          "in" : "query",
          "description" : "Remove a filtragem de somente produtos com estoque positivo.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Melhores descontos retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DescontoMelhorIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta dos melhores descontos."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/desconto/progressivo/obter-todos-v1" : {
      "get" : {
        "tags" : [ "Melhor desconto" ],
        "summary" : "Obtém todos os descontos progressivos",
        "description" : "Obtém todos os descontos progressivos cadastrados no sistema.",
        "operationId" : "obterTodosDescontoProgressivoV1",
        "parameters" : [ {
          "name" : "removerRestricaoEstoque",
          "in" : "query",
          "description" : "Remove a filtragem de somente produtos com estoque positivo.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Descontos progressivos retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DescontoProgressivoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta dos descontos progressivos."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/desconto/progressivo/obter-todos-v2" : {
      "get" : {
        "tags" : [ "Melhor desconto" ],
        "summary" : "Obtém todos os descontos progressivos",
        "description" : "Obtém todos os descontos progressivos cadastrados no sistema.",
        "operationId" : "obterTodosDescontosProgressivoV2",
        "parameters" : [ {
          "name" : "removerRestricaoEstoque",
          "in" : "query",
          "description" : "Remove a filtragem de somente produtos com estoque positivo.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Descontos progressivos retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DescontoProgressivoRetornoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta dos descontos progressivos."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/desconto/melhor/obter-todos-v1" : {
      "get" : {
        "tags" : [ "Melhor desconto" ],
        "summary" : "Obtém todos os melhores descontos",
        "description" : "Obtém todos os melhores descontos cadastrados no sistema.",
        "operationId" : "obterTodosMelhorDescontoV1",
        "parameters" : [ {
          "name" : "removerRestricaoEstoque",
          "in" : "query",
          "description" : "Remove a filtragem de somente produtos com estoque positivo.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Melhores descontos retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DescontoMelhorIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta dos melhores descontos."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/desconto/parceiro/obter-alterados-v1" : {
      "get" : {
        "tags" : [ "Desconto parceiro e produto" ],
        "summary" : "Obtém descontos por parceiro e produto alterados no período",
        "description" : "Retorna descontos/promoções de parceiro e produto que foram alterados no período informado. Caso seja utilizado o token do central, serão retornados os descontos de todas as lojas. Caso seja utilizado o token de uma filial, retorna somente os descontos da filial em questão.",
        "operationId" : "obterDescontoParceiroAlteradosV1",
        "parameters" : [ {
          "name" : "codigoProduto",
          "in" : "query",
          "description" : "Código do produto para filtro.",
          "schema" : {
            "type" : "string"
          },
          "example" : 5
        }, {
          "name" : "codigoBarras",
          "in" : "query",
          "description" : "Código de barras do produto para filtro.",
          "schema" : {
            "type" : "string"
          },
          "example" : 7898455107541
        }, {
          "name" : "nomeProduto",
          "in" : "query",
          "description" : "Nome ou parte do nome do produto para filtro.",
          "schema" : {
            "type" : "string"
          },
          "example" : "Dipirona"
        }, {
          "name" : "removerRestricaoEstoque",
          "in" : "query",
          "description" : "Remove a filtragem de somente produtos com estoque positivo.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Data/hora inicial da última alteração em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2025-01-01T00:00:00-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Data/hora final da última alteração em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2025-01-31T23:59:59-0300"
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro (offset) para paginação. Inicia em 0.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros por página.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Descontos por parceiro e produto alterados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DescontoParceiroIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta dos descontos por parceiro e produto alterados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/desconto/parceiro/obter-v1" : {
      "get" : {
        "tags" : [ "Desconto parceiro e produto" ],
        "summary" : "Obtém descontos por parceiro e produto com filtros",
        "description" : "Retorna descontos/promoções cadastrados em parceiro e produto, permitindo filtros por produto, código de barras, nome, data de vigência e somente produtos ativos. Caso seja utilizado o token do central, serão retornados os descontos de todas as lojas. Caso seja utilizado o token de uma filial, retorna somente os descontos da filial em questão.",
        "operationId" : "obterDescontoParceiroV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro (offset) para paginação. Inicia em 0.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros por página.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        }, {
          "name" : "dataReferencia",
          "in" : "query",
          "description" : "Data de vigência em formato ISO 8601. Se não informada, utiliza a data atual.",
          "schema" : {
            "type" : "string"
          },
          "example" : "2025-01-01T00:00:00-0300"
        }, {
          "name" : "codigoProduto",
          "in" : "query",
          "description" : "Código do produto para filtro.",
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 5
        }, {
          "name" : "codigoBarras",
          "in" : "query",
          "description" : "Código de barras do produto para filtro.",
          "schema" : {
            "type" : "integer",
            "format" : "int64"
          },
          "example" : 7898455107541
        }, {
          "name" : "nomeProduto",
          "in" : "query",
          "description" : "Nome ou parte do nome do produto para filtro.",
          "schema" : {
            "type" : "string"
          },
          "example" : "Dipirona"
        }, {
          "name" : "somenteAtivos",
          "in" : "query",
          "description" : "Filtrar somente produtos ativos.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "removerRestricaoEstoque",
          "in" : "query",
          "description" : "Remove a filtragem de somente produtos com estoque positivo.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        } ],
        "responses" : {
          "200" : {
            "description" : "Descontos por parceiro e produto retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DescontoParceiroIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta dos descontos por parceiro e produto."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/desconto/parceiro/obter-todos-v1" : {
      "get" : {
        "tags" : [ "Desconto parceiro e produto" ],
        "summary" : "Obtém todos os descontos por parceiro e produto",
        "description" : "Retorna todos os descontos/promoções cadastrados em parceiro e produto. Caso seja utilizado o token do central, serão retornados os descontos de todas as lojas. Caso seja utilizado o token de uma filial, retorna somente os descontos da filial em questão.",
        "operationId" : "obterTodosDescontoParceiroV1",
        "parameters" : [ {
          "name" : "removerRestricaoEstoque",
          "in" : "query",
          "description" : "Remove a filtragem de somente produtos com estoque positivo.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro (offset) para paginação. Inicia em 0.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros por página.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Descontos por parceiro e produto retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DescontoParceiroIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta dos descontos por parceiro e produto."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/desconto/vigencia/obter-alterados-v1" : {
      "get" : {
        "tags" : [ "Desconto e vigência" ],
        "summary" : "Obtém descontos de produto por vigência alterados",
        "description" : "Retorna descontos de produto por vigência alterados no período especificado.",
        "operationId" : "obterProdutoVigenciaAlteradosV1",
        "parameters" : [ {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Data inicial em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2025-01-01T00:00:00-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Data final em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2025-01-31T23:59:59-0300"
        }, {
          "name" : "removerRestricaoEstoque",
          "in" : "query",
          "description" : "Remove a filtragem de somente produtos com estoque positivo.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Descontos de produto por vigência alterados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DescontoProdutoVigenciaIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de descontos de produto por vigência alterados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/desconto/vigencia/obter-movimentados-v1" : {
      "get" : {
        "tags" : [ "Desconto e vigência" ],
        "summary" : "Obtém descontos de produto por vigência movimentados",
        "description" : "Retorna descontos de produto por vigência movimentados no período especificado.",
        "operationId" : "obterProdutoVigenciaMovimentadosV1",
        "parameters" : [ {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Data inicial em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2025-01-01T00:00:00-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Data final em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2025-01-31T23:59:59-0300"
        }, {
          "name" : "removerRestricaoEstoque",
          "in" : "query",
          "description" : "Remove a filtragem de somente produtos com estoque positivo.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Data inicial em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : "2025-01-01T00:00:00-0300"
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Descontos de produto por vigência movimentados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DescontoProdutoVigenciaIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de descontos de produto por vigência movimentados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/desconto/vigencia/obter-todos-v1" : {
      "get" : {
        "tags" : [ "Desconto e vigência" ],
        "summary" : "Obtém todos os descontos de produto por vigência",
        "description" : "Retorna todos os descontos de produto por vigência com paginação.",
        "operationId" : "obterTodosProdutoVigenciaV1",
        "parameters" : [ {
          "name" : "removerRestricaoEstoque",
          "in" : "query",
          "description" : "Remove a filtragem de somente produtos com estoque positivo.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Descontos de produto por vigência retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DescontoProdutoVigenciaIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de descontos de produto por vigência."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/grupo/obter-alterados-v1" : {
      "get" : {
        "tags" : [ "Grupo de produtos" ],
        "summary" : "Obtém grupos de produtos alterados",
        "description" : "Retorna grupos de produtos alterados no período especificado.",
        "operationId" : "obterAlteradosV1_2",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        }, {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Data inicial em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2025-01-01T00:00:00-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Data final em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2025-01-31T23:59:59-0300"
        } ],
        "responses" : {
          "200" : {
            "description" : "Grupos de produtos alterados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/GrupoProdutoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de grupos de produtos alterados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/grupo/obter-movimentados-v1" : {
      "get" : {
        "tags" : [ "Grupo de produtos" ],
        "summary" : "Obtém grupos de produtos movimentados",
        "description" : "Retorna grupos de produtos movimentados no período especificado.",
        "operationId" : "obterMovimentadosV1_1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        }, {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Data inicial em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2025-01-01T00:00:00-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Data final em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2025-01-31T23:59:59-0300"
        } ],
        "responses" : {
          "200" : {
            "description" : "Grupos de produtos movimentados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/GrupoProdutoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de grupos de produtos movimentados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/grupo/obter-todos-v1" : {
      "get" : {
        "tags" : [ "Grupo de produtos" ],
        "summary" : "Obtém todos os grupos de produtos",
        "description" : "Retorna grupos de produtos com paginação.",
        "operationId" : "obterTodosV1_3",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Grupos de produtos retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/GrupoProdutoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de grupos de produtos."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/obter-alterados-v1" : {
      "get" : {
        "tags" : [ "Produto" ],
        "summary" : "Lista produtos alterados",
        "description" : "Retorna produtos alterados no período especificado com filtros opcionais e paginação.",
        "operationId" : "obterAlteradosV1_3",
        "parameters" : [ {
          "name" : "integracaoEcommerce",
          "in" : "query",
          "description" : "Filtra por integração e-commerce.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "processaCustoMedio",
          "in" : "query",
          "description" : "Processa custo médio.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : false
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        }, {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          },
          "example" : "2025-01-01T00:00:00-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          },
          "example" : "2025-01-31T23:59:59-0300"
        } ],
        "responses" : {
          "200" : {
            "description" : "Produtos alterados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ProdutoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de produtos alterados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/obter-v1" : {
      "get" : {
        "tags" : [ "Produto" ],
        "summary" : "Lista produtos",
        "description" : "Consulta a lista de produtos com filtros opcionais e paginação.",
        "operationId" : "obterAvancadoV1",
        "parameters" : [ {
          "name" : "codigo",
          "in" : "query",
          "description" : "Código reduzido do produto. Aceita múltiplos valores.",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "format" : "int64"
            }
          },
          "example" : [ 123 ]
        }, {
          "name" : "tipo.codigo",
          "in" : "query",
          "description" : "Código do tipo do produto. Aceita múltiplos valores.",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "format" : "int64"
            }
          },
          "example" : [ 1 ]
        }, {
          "name" : "codigoBarras",
          "in" : "query",
          "description" : "Código de barras. Aceita múltiplos valores.",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "format" : "int64"
            }
          },
          "example" : [ 7891234567890 ]
        }, {
          "name" : "tipoLista",
          "in" : "query",
          "description" : "Tipo de lista.",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "example" : "PADRAO"
            }
          }
        }, {
          "name" : "observacaoVenda",
          "in" : "query",
          "description" : "Observação de venda.",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "example" : "Produto não fracionável."
            }
          }
        }, {
          "name" : "ativo",
          "in" : "query",
          "description" : "Filtra por ativo.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "integracaoEcommerce",
          "in" : "query",
          "description" : "Filtra por integração e-commerce.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "processaCustoMedio",
          "in" : "query",
          "description" : "Processa custo médio.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : false
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Produtos retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ProdutoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de produtos."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/identificador/obter-alterados-v1" : {
      "get" : {
        "tags" : [ "Produto" ],
        "summary" : "Lista identificadores de produtos alterados",
        "description" : "Retorna identificadores de produtos alterados no período especificado.",
        "operationId" : "obterIdentificadoresProdutosAlteradosV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        }, {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          },
          "example" : "2025-01-01T00:00:00-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          },
          "example" : "2025-01-31T23:59:59-0300"
        } ],
        "responses" : {
          "200" : {
            "description" : "Identificadores de produtos alterados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/IdentificadorProdutoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de identificadores de produtos alterados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/identificador/obter-movimentados-v1" : {
      "get" : {
        "tags" : [ "Produto" ],
        "summary" : "Lista identificadores de produtos movimentados",
        "description" : "Retorna identificadores de produtos movimentados no período especificado.",
        "operationId" : "obterIdentificadoresProdutosMovimentadosV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        }, {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          },
          "example" : "2025-01-01T00:00:00-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          },
          "example" : "2025-01-31T23:59:59-0300"
        } ],
        "responses" : {
          "200" : {
            "description" : "Identificadores de produtos movimentados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/IdentificadorProdutoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de identificadores de produtos movimentados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/obter-movimentados-v1" : {
      "get" : {
        "tags" : [ "Produto" ],
        "summary" : "Lista produtos movimentados",
        "description" : "Retorna produtos movimentados no período especificado e com paginação.",
        "operationId" : "obterMovimentadosV1_2",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        }, {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          },
          "example" : "2025-01-01T00:00:00-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          },
          "example" : "2025-01-31T23:59:59-0300"
        } ],
        "responses" : {
          "200" : {
            "description" : "Produtos movimentados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ProdutoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de produtos movimentados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/principio-ativo/obter-alterados-v1" : {
      "get" : {
        "tags" : [ "Produto" ],
        "summary" : "Lista princípios ativos de produtos alterados",
        "description" : "Retorna princípios ativos de produtos alterados no período especificado.",
        "operationId" : "obterTiposProdutosAlteradosV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        }, {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          },
          "example" : "2025-01-01T00:00:00-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          },
          "example" : "2025-01-31T23:59:59-0300"
        } ],
        "responses" : {
          "200" : {
            "description" : "Princípios ativos de produtos alterados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/PrincipioAtivoProdutoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de princípios ativos de produtos alterados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/principio-ativo/obter-movimentados-v1" : {
      "get" : {
        "tags" : [ "Produto" ],
        "summary" : "Lista princípios ativos de produtos movimentados",
        "description" : "Retorna princípios ativos de produtos movimentados no período especificado.",
        "operationId" : "obterTiposProdutosMovimentadosV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        }, {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          },
          "example" : "2025-01-01T00:00:00-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Informar data em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          },
          "example" : "2025-01-31T23:59:59-0300"
        } ],
        "responses" : {
          "200" : {
            "description" : "Princípios ativos de produtos movimentados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/PrincipioAtivoProdutoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de princípios ativos de produtos movimentados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/identificador/obter-todos-v1" : {
      "get" : {
        "tags" : [ "Produto" ],
        "summary" : "Lista identificadores de produtos",
        "description" : "Retorna identificadores de produtos com paginação.",
        "operationId" : "obterTodosIdentificadoresProdutosV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Identificadores de produtos retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/IdentificadorProdutoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de identificadores de produtos."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/principio-ativo/obter-todos-v1" : {
      "get" : {
        "tags" : [ "Produto" ],
        "summary" : "Lista princípios ativos de produtos",
        "description" : "Retorna princípios ativos de produtos com paginação.",
        "operationId" : "obterTodosTiposProdutosV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Princípios ativos de produtos retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/PrincipioAtivoProdutoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de princípios ativos de produtos."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/obter-todos-v1" : {
      "get" : {
        "tags" : [ "Produto" ],
        "summary" : "Lista todos os produtos",
        "description" : "Retorna produtos com paginação.",
        "operationId" : "obterTodosV1_4",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Produtos retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ProdutoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de produtos."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/precificacao/obter-alterados-v1" : {
      "get" : {
        "tags" : [ "Precificação" ],
        "summary" : "Lista descontos por precificação alterados",
        "description" : "Retorna descontos por precificação alterados no período especificado.",
        "operationId" : "obterDescontoPrecificacaoAlteradosV1",
        "parameters" : [ {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Data inicial em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2025-01-01T00:00:00-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Data final em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2025-01-31T23:59:59-0300"
        }, {
          "name" : "removerRestricaoEstoque",
          "in" : "query",
          "description" : "Remove a filtragem de somente produtos com estoque positivo.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Descontos alterados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DescontoPrecificacaoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de descontos por precificação alterados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/precificacao/obter-movimentados-v1" : {
      "get" : {
        "tags" : [ "Precificação" ],
        "summary" : "Lista descontos por precificação movimentados",
        "description" : "Retorna descontos por precificação movimentados no período especificado.",
        "operationId" : "obterDescontoPrecificacaoMovimentadosV1",
        "parameters" : [ {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Data inicial em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2025-01-01T00:00:00-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Data final em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "2025-01-31T23:59:59-0300"
        }, {
          "name" : "removerRestricaoEstoque",
          "in" : "query",
          "description" : "Remove a filtragem de somente produtos com estoque positivo.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Descontos movimentados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DescontoPrecificacaoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de descontos por precificação movimentados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/produto/precificacao/obter-todos-v1" : {
      "get" : {
        "tags" : [ "Precificação" ],
        "summary" : "Lista todos os descontos por precificação",
        "description" : "Retorna todos os descontos por precificação com paginação.",
        "operationId" : "obterTodosDescontoPrecificacaoV1",
        "parameters" : [ {
          "name" : "removerRestricaoEstoque",
          "in" : "query",
          "description" : "Remove a filtragem de somente produtos com estoque positivo.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Descontos retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DescontoPrecificacaoIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de descontos por precificação."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/smartped/obter-todos-v1" : {
      "get" : {
        "tags" : [ "Smartped" ],
        "summary" : "Lista todas as movimentações do Smartped",
        "description" : "Retorna a lista de movimentações do Smartped com paginação.",
        "operationId" : "obterMovimentacaoSmartpedTodosV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Movimentações retornadas com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/RetornoConsultaSmartpedDTO"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de movimentações do Smartped."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/smartped/obter-v1" : {
      "get" : {
        "tags" : [ "Smartped" ],
        "summary" : "Obtém movimentações do Smartped",
        "description" : "Consulta movimentações do Smartped com filtros opcionais e paginação.",
        "operationId" : "obterMovimentacaoSmartpedV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Movimentações retornadas com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/RetornoConsultaSmartpedDTO"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de movimentações do Smartped."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/venda/ecommerce/atualizar-status-v1" : {
      "post" : {
        "tags" : [ "Venda E-commerce" ],
        "summary" : "Atualizar status da venda e-commerce",
        "description" : "Atualiza o status de uma venda e-commerce.",
        "operationId" : "atualizarStatusPedidoV1",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AtualizaStatusPedidoEcommerceDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Status atualizado com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/VendaEcommerceIntegracaoRetDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na atualização do status da venda."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/venda/ecommerce/consultar-venda-v1" : {
      "get" : {
        "tags" : [ "Venda E-commerce" ],
        "summary" : "Consultar venda e-commerce",
        "description" : "Consulta vendas do e-commerce por parâmetros.",
        "operationId" : "consultarVendaV1",
        "parameters" : [ {
          "name" : "numeroNota",
          "in" : "query",
          "description" : "Número da venda gerada no PDV.",
          "schema" : {
            "type" : "string"
          },
          "example" : 12345
        }, {
          "name" : "numeroPedido",
          "in" : "query",
          "description" : "Número do pedido no e-commerce vinculado à venda.",
          "schema" : {
            "type" : "string"
          },
          "example" : "PED-20240001"
        }, {
          "name" : "numerosPedidos",
          "in" : "query",
          "description" : "Números dos pedidos no e-commerce vinculado à venda.",
          "schema" : {
            "type" : "string"
          },
          "example" : "PED-001,PED-002,PED-003"
        }, {
          "name" : "limiteMensal",
          "in" : "query",
          "description" : "Se true, limita a consulta às vendas dos últimos 30 dias.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        } ],
        "responses" : {
          "200" : {
            "description" : "Consulta realizada com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/StatusVendaEcommerceIntegracaoRetDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de vendas."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/venda/ecommerce/efetuar-venda-v1" : {
      "post" : {
        "tags" : [ "Venda E-commerce" ],
        "summary" : "Efetuar venda e-commerce",
        "description" : "Efetua uma venda no e-commerce.",
        "operationId" : "efetuarVendaV1",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/VendaEcommerceIntegracaoDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Venda efetuada com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/VendaEcommerceIntegracaoRetDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na geração da venda."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/venda/cancelamento/obter-alterados-v1" : {
      "get" : {
        "tags" : [ "Venda" ],
        "summary" : "Lista cancelamentos de venda alterados",
        "description" : "Retorna lista de cancelamentos de venda alterados no período especificado.",
        "operationId" : "obterCancelamentosAlteradosV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        }, {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Data inicial em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          },
          "example" : "2020-01-01T00:00:00-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Data final em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          },
          "example" : "2020-01-31T23:59:59-0300"
        } ],
        "responses" : {
          "200" : {
            "description" : "Cancelamentos de venda alterados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/VendaIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de cancelamentos de venda alterados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/venda/cancelamento/obter-v1" : {
      "get" : {
        "tags" : [ "Venda" ],
        "summary" : "Lista cancelamentos de venda com filtros",
        "description" : "Consulta a lista de cancelamentos de venda com filtros opcionais e paginação.",
        "operationId" : "obterCancelamentosAvancadoV1",
        "parameters" : [ {
          "name" : "numeroNota",
          "in" : "query",
          "description" : "Número da nota fiscal. Aceita múltiplos valores.",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "format" : "int64"
            }
          },
          "example" : [ 123 ]
        }, {
          "name" : "codigoCliente",
          "in" : "query",
          "description" : "Código do cliente. Aceita múltiplos valores.",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "format" : "int64"
            }
          },
          "example" : [ 1 ]
        }, {
          "name" : "dataEmissaoInicial",
          "in" : "query",
          "description" : "Data de emissão inicial em formato ISO 8601.",
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          },
          "example" : "2020-01-01T00:00:00-0300"
        }, {
          "name" : "dataEmissaoFinal",
          "in" : "query",
          "description" : "Data de emissão final em formato ISO 8601.",
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          },
          "example" : "2020-01-31T23:59:59-0300"
        }, {
          "name" : "xmlNfe",
          "in" : "query",
          "description" : "Quando true, retorna informações com referência ao XML da NF-e.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Cancelamentos de venda retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/VendaIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de cancelamentos de venda."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/venda/cancelamento/obter-todos-v1" : {
      "get" : {
        "tags" : [ "Venda" ],
        "summary" : "Lista todos os cancelamentos de venda",
        "description" : "Retorna a lista de cancelamentos de venda com paginação.",
        "operationId" : "obterCancelamentosSimplesV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Cancelamentos de venda retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/VendaIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de cancelamentos de venda."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/venda/obter-alterados-v1" : {
      "get" : {
        "tags" : [ "Venda" ],
        "summary" : "Lista vendas alteradas",
        "description" : "Retorna lista de vendas alteradas no período especificado.",
        "operationId" : "obterVendasAlteradasV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        }, {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Data inicial em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          },
          "example" : "2020-01-01T00:00:00-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Data final em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          },
          "example" : "2020-01-31T23:59:59-0300"
        } ],
        "responses" : {
          "200" : {
            "description" : "Vendas alteradas retornadas com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/VendaIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de vendas alteradas."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/venda/obter-v1" : {
      "get" : {
        "tags" : [ "Venda" ],
        "summary" : "Lista vendas com filtros",
        "description" : "Consulta a lista de vendas com filtros opcionais e paginação.",
        "operationId" : "obterVendasAvancadoV1",
        "parameters" : [ {
          "name" : "numeroNota",
          "in" : "query",
          "description" : "Número da nota fiscal. Aceita múltiplos valores.",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "format" : "int64"
            }
          },
          "example" : [ 123 ]
        }, {
          "name" : "codigoCliente",
          "in" : "query",
          "description" : "Código do cliente. Aceita múltiplos valores.",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "format" : "int64"
            }
          },
          "example" : [ 1 ]
        }, {
          "name" : "dataEmissaoInicial",
          "in" : "query",
          "description" : "Data de emissão inicial em formato ISO 8601.",
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          },
          "example" : "2020-01-01T00:00:00-0300"
        }, {
          "name" : "dataEmissaoFinal",
          "in" : "query",
          "description" : "Data de emissão final em formato ISO 8601.",
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          },
          "example" : "2020-02-01T00:00:00-0300"
        }, {
          "name" : "xmlNfe",
          "in" : "query",
          "description" : "Quando true, retorna informações com referência ao XML da NF-e.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "entrega",
          "in" : "query",
          "description" : "Quando true, filtra vendas de tele entrega.",
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Vendas retornadas com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/VendaIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de vendas."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/venda/obter-todos-v1" : {
      "get" : {
        "tags" : [ "Venda" ],
        "summary" : "Lista todas as vendas",
        "description" : "Retorna a lista de vendas com paginação.",
        "operationId" : "obterVendasSimplesV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Vendas retornadas com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/VendaIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de vendas."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/venda/obter-atendimentos-diario-vendedor-v1" : {
      "get" : {
        "tags" : [ "Venda" ],
        "summary" : "Lista atendimentos diários por vendedor",
        "description" : "Retorna a lista de atendimentos diários por vendedor no período especificado.",
        "operationId" : "obterVendasVendedorV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        }, {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Data inicial em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          },
          "example" : "2020-01-01T00:00:00-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Data final em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          },
          "example" : "2020-01-31T23:59:59-0300"
        } ],
        "responses" : {
          "200" : {
            "description" : "Atendimentos retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/VendasVendedorIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de atendimentos por vendedor."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/vendedor/obter-v1" : {
      "get" : {
        "tags" : [ "Vendedor" ],
        "summary" : "Lista vendedores com filtros",
        "description" : "Consulta a lista de vendedores com filtros opcionais e paginação.",
        "operationId" : "obterTodosVendedoresAvancadoV1",
        "parameters" : [ {
          "name" : "codigo",
          "in" : "query",
          "description" : "Código do vendedor. Aceita múltiplos valores.",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "format" : "int64"
            }
          },
          "example" : [ 1 ]
        }, {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Vendedores retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/VendedorIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de vendedores."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/vendedor/obter-todos-v1" : {
      "get" : {
        "tags" : [ "Vendedor" ],
        "summary" : "Lista todos os vendedores",
        "description" : "Retorna a lista de vendedores com paginação.",
        "operationId" : "obterTodosVendedoresSimplesV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        } ],
        "responses" : {
          "200" : {
            "description" : "Vendedores retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/VendedorIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de vendedores."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/vendedor/obter-alterados-v1" : {
      "get" : {
        "tags" : [ "Vendedor" ],
        "summary" : "Lista vendedores alterados",
        "description" : "Retorna lista de vendedores alterados no período especificado.",
        "operationId" : "obterVendedoresAlteradosV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        }, {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Data inicial em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          },
          "example" : "2020-01-01T00:00:00-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Data final em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          },
          "example" : "2020-01-31T23:59:59-0300"
        } ],
        "responses" : {
          "200" : {
            "description" : "Vendedores alterados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/VendedorIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de vendedores alterados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    },
    "/integracao/vendedor/obter-movimentados-v1" : {
      "get" : {
        "tags" : [ "Vendedor" ],
        "summary" : "Lista vendedores movimentados",
        "description" : "Retorna lista de vendedores movimentados no período especificado.",
        "operationId" : "obterVendedoresMovimentadosV1",
        "parameters" : [ {
          "name" : "primeiroRegistro",
          "in" : "query",
          "description" : "Índice do primeiro registro a ser retornado.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 0
        }, {
          "name" : "quantidadeRegistros",
          "in" : "query",
          "description" : "Quantidade máxima de registros a serem retornados.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 50
        }, {
          "name" : "dataInicial",
          "in" : "query",
          "description" : "Data inicial em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          },
          "example" : "2020-01-01T00:00:00-0300"
        }, {
          "name" : "dataFinal",
          "in" : "query",
          "description" : "Data final em formato ISO 8601.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          },
          "example" : "2020-01-31T23:59:59-0300"
        } ],
        "responses" : {
          "200" : {
            "description" : "Vendedores movimentados retornados com sucesso.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/VendedorIntegracaoDto"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Requisição inválida."
          },
          "401" : {
            "description" : "Não autorizado."
          },
          "500" : {
            "description" : "Erro na consulta de vendedores movimentados."
          }
        },
        "security" : [ {
          "bearerAuth" : [ ]
        } ]
      }
    }
  },
  "components" : {
    "schemas" : {
      "WebhookDto" : {
        "type" : "object",
        "properties" : {
          "Type" : {
            "type" : "string",
            "description" : "Identificador do status.",
            "example" : "STATUS_UPDATE"
          },
          "StoreId" : {
            "type" : "string",
            "description" : "Identificador da loja.",
            "example" : "220"
          },
          "StoreGroupId" : {
            "type" : "string",
            "description" : "Identificador do grupo da loja.",
            "example" : "1"
          },
          "CurrentOrderValue" : {
            "type" : "number",
            "description" : "Valor atual do pedido.",
            "format" : "double",
            "example" : 20.0
          },
          "OldOrderValue" : {
            "type" : "number",
            "description" : "Valor antigo do pedido.",
            "format" : "double",
            "example" : 12.0
          },
          "StoreGroupName" : {
            "type" : "string",
            "description" : "Nome do grupo da loja.",
            "example" : "PANVEL"
          },
          "DeliveryOrderId" : {
            "type" : "integer",
            "description" : "Identificador da ordem de entrega.",
            "format" : "int32",
            "example" : 540
          },
          "DeliveryOrderPointId" : {
            "type" : "integer",
            "description" : "Identificador do ponto da ordem de entrega.",
            "format" : "int32",
            "example" : 1168
          },
          "CustomerOrderCode" : {
            "type" : "string",
            "description" : "Código interno do pedido.",
            "example" : "001-220"
          },
          "Status" : {
            "type" : "string",
            "description" : "Enumeração que representa os possíveis status de um pedido no Agilego.",
            "example" : "FINISHED",
            "enum" : [ "PENDING", "FINISHED", "CANCELED", "IN_PROGRESS", "ERROR" ]
          },
          "SubStatus" : {
            "type" : "string",
            "description" : "Enumeração que representa os substatus de um pedido no AgileGO.",
            "example" : "DELIVERED",
            "enum" : [ "FINISHING_ANOTHER_ORDER", "WAITING_DRIVER", "DELIVERED", "NOT_DELIVERED", "RETURNED", "HEADING_TO_PICKUP", "PICKED_UP", "ON_DELIVER", "ADDRESS_NOT_FOUND", "CUSTOMER_NOT_FOUND", "HEADING_TO_RETURN_PRODUCT" ]
          },
          "DriverName" : {
            "type" : "string",
            "description" : "Nome do entregador.",
            "example" : "Pedro"
          },
          "DeliveredTo" : {
            "type" : "string",
            "description" : "Nome do recebedor.",
            "example" : "José"
          },
          "Distance" : {
            "type" : "number",
            "description" : "Distância percorrida em quilômetros.",
            "format" : "double",
            "example" : 5.0
          },
          "UpdateAt" : {
            "type" : "string",
            "description" : "Data e hora da atualização do status.",
            "example" : "2024-01-04 15:36:53"
          },
          "ActionBy" : {
            "type" : "string",
            "description" : "Quem realizou a ação.",
            "example" : "DRIVER"
          },
          "Lat" : {
            "type" : "string",
            "description" : "Latitude da entrega.",
            "example" : "-30.0296507"
          },
          "Lng" : {
            "type" : "string",
            "description" : "Longitude da entrega.",
            "example" : "-51.1961756"
          }
        },
        "description" : "Objeto que representa o webhook enviado pelo Agilego."
      },
      "BandeiraDto" : {
        "type" : "object",
        "properties" : {
          "codigoBandeira" : {
            "type" : "integer",
            "description" : "Código da bandeira.",
            "format" : "int32",
            "example" : 1
          },
          "nomeBandeira" : {
            "type" : "string",
            "description" : "Nome da bandeira.",
            "example" : "VISA"
          }
        },
        "description" : "Objeto que representa a bandeira do cartão.",
        "example" : {
          "codigoBandeira" : "1",
          "nomeBandeira" : "VISA"
        }
      },
      "CartaoIntegracaoRetornoDto" : {
        "type" : "object",
        "properties" : {
          "codigoCartao" : {
            "type" : "integer",
            "description" : "Código do cartão.",
            "format" : "int32",
            "example" : 1,
            "x-since-version" : "8.1"
          },
          "nomeCartao" : {
            "type" : "string",
            "description" : "Nome do cartão.",
            "example" : "CARTAO PADRAO"
          },
          "gerenciadorTEF" : {
            "$ref" : "#/components/schemas/BandeiraDto"
          },
          "ativo" : {
            "type" : "boolean",
            "description" : "Define se o cartão está ativo ou inativo.",
            "example" : true
          },
          "taxaAdministrativa" : {
            "type" : "number",
            "description" : "Taxa administrativa do cartão.",
            "format" : "double",
            "example" : 1.23
          },
          "taxaAdministrativaParcela" : {
            "type" : "array",
            "description" : "Lista de taxas administrativas por parcela.",
            "example" : [ {
              "parcelaInicial" : "1",
              "parcelaFinal" : "1",
              "taxaAdministrativa" : "1.23"
            } ],
            "items" : {
              "$ref" : "#/components/schemas/ListaTaxaParcelaIntegracaoDto"
            }
          },
          "modalidadeVenda" : {
            "type" : "string",
            "description" : "Modalidade de venda do cartão.",
            "example" : "DÉBITO"
          },
          "carteiraDigital" : {
            "type" : "string",
            "description" : "Carteira digital do cartão.",
            "example" : "PIC PAY"
          },
          "administradora" : {
            "$ref" : "#/components/schemas/FornecedorDto"
          },
          "qtdMaxParcelas" : {
            "type" : "integer",
            "description" : "Quantidade máxima de parcelas permitidas.",
            "format" : "int32",
            "example" : 12
          },
          "vencimentoParcelas" : {
            "type" : "array",
            "description" : "Dias de vencimento por parcela.",
            "example" : [ "30", "60", "90" ],
            "items" : {
              "type" : "string",
              "description" : "Dias de vencimento por parcela.",
              "example" : "[\"30\",\"60\",\"90\"]"
            }
          },
          "descontoCartao" : {
            "type" : "number",
            "format" : "double"
          },
          "descontoMaximoCartao" : {
            "type" : "number",
            "format" : "double"
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "Objeto que retorna as informações do cartão cadastrado."
      },
      "FornecedorDto" : {
        "type" : "object",
        "properties" : {
          "codigoFornecedor" : {
            "type" : "integer",
            "description" : "Código do fornecedor.",
            "format" : "int32",
            "example" : 1
          },
          "nomeFornecedor" : {
            "type" : "string",
            "description" : "Nome do fornecedor.",
            "example" : "FORNECEDOR PADRÃO"
          }
        },
        "description" : "Objeto que representa o fornecedor do cartão.",
        "example" : {
          "codigoFornecedor" : "1",
          "nomeFornecedor" : "ADMINISTRADORA PADRÃO"
        }
      },
      "ListaTaxaParcelaIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "parcelaInicial" : {
            "type" : "string",
            "description" : "Parcela inicial.",
            "example" : "1"
          },
          "parcelaFinal" : {
            "type" : "string",
            "description" : "Parcela final.",
            "example" : "1"
          },
          "taxaAdministrativa" : {
            "type" : "string",
            "description" : "Taxa administrativa da parcela.",
            "example" : "1.23"
          }
        },
        "description" : "Objeto que representa a taxa administrativa por parcela.",
        "example" : [ {
          "parcelaInicial" : "1",
          "parcelaFinal" : "1",
          "taxaAdministrativa" : "1.23"
        } ]
      },
      "CategoriaIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "codigo" : {
            "type" : "integer",
            "description" : "Código da categoria.",
            "format" : "int32",
            "example" : 1
          },
          "nome" : {
            "type" : "string",
            "description" : "Nome da categoria.",
            "example" : "SABONETES"
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "Objeto que representa uma categoria."
      },
      "ClienteIntegracaoDto" : {
        "required" : [ "nome", "numeroCpfCnpj" ],
        "type" : "object",
        "properties" : {
          "codigo" : {
            "type" : "integer",
            "description" : "Código do cliente, se não informado, será gerado automaticamente pelo PDV.",
            "format" : "int32",
            "example" : 0
          },
          "nome" : {
            "maxLength" : 40,
            "minLength" : 0,
            "type" : "string",
            "description" : "Nome do cliente.",
            "example" : "EDENEI JOSE CIMA"
          },
          "numeroCpfCnpj" : {
            "maxLength" : 18,
            "minLength" : 0,
            "type" : "string",
            "description" : "Número do CPF ou CNPJ do cliente.",
            "example" : "145.440.400-00"
          },
          "codigoCidade" : {
            "type" : "string",
            "description" : "Código da cidade do cliente.",
            "example" : "LAJEADO"
          },
          "email" : {
            "maxLength" : 80,
            "minLength" : 0,
            "type" : "string",
            "description" : "E-mail do cliente.",
            "example" : "email@teste.com"
          },
          "cep" : {
            "maxLength" : 9,
            "type" : "string",
            "description" : "CEP do cliente.",
            "example" : "95900000"
          },
          "estado" : {
            "maxLength" : 2,
            "type" : "string",
            "description" : "Estado do cliente.",
            "example" : "RS"
          },
          "fone" : {
            "maxLength" : 14,
            "minLength" : 0,
            "type" : "string",
            "description" : "Número de telefone do cliente.",
            "example" : "(48)99999-9999"
          },
          "bairro" : {
            "type" : "string",
            "description" : "Bairro do cliente.",
            "example" : "CENTRO"
          },
          "logradouro" : {
            "type" : "string",
            "description" : "Logradouro do cliente.",
            "example" : "RUA PARAIBA"
          },
          "numeroEndereco" : {
            "type" : "string",
            "description" : "Número do endereço do cliente.",
            "example" : "759"
          },
          "ativo" : {
            "type" : "boolean",
            "description" : "Indica se o cliente está ativo.",
            "example" : true
          },
          "limiteCredito" : {
            "type" : "string",
            "description" : "Valor do limite de crédito.",
            "example" : "1000.0"
          },
          "limiteDisponivel" : {
            "type" : "string",
            "description" : "Valor do limite de crédito disponível.",
            "example" : "1000.0"
          },
          "qtdMaxParcelaCrediario" : {
            "type" : "string",
            "description" : "Quantidade máxima de parcelas do crediario.",
            "example" : "12"
          },
          "diaLimiteVendas" : {
            "type" : "string",
            "description" : "Dia limite para realização da venda. Caso a venda seja efetuada após esse dia, o vencimento da parcela será automaticamente definido para o mês seguinte.",
            "example" : "15"
          },
          "diaVencimento" : {
            "type" : "string",
            "description" : "Dia de vencimento da parcela.",
            "example" : "30"
          },
          "qtdDiasPagamento" : {
            "type" : "string",
            "description" : "Quantidade de dias para o pagamento da parcela.",
            "example" : "30"
          },
          "grupo" : {
            "$ref" : "#/components/schemas/Grupo"
          },
          "empresaConvenio" : {
            "$ref" : "#/components/schemas/EmpresaConvenio"
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "Objeto utilizado para representar o cliente em integrações com o PDV."
      },
      "EmpresaConvenio" : {
        "type" : "object",
        "properties" : {
          "codigo" : {
            "type" : "integer",
            "format" : "int32"
          },
          "nome" : {
            "type" : "string"
          }
        },
        "description" : "Empresa convênio vinculada ao cliente."
      },
      "Grupo" : {
        "type" : "object",
        "properties" : {
          "codigo" : {
            "type" : "integer",
            "description" : "Código do grupo.",
            "format" : "int32",
            "example" : 1
          },
          "nome" : {
            "type" : "string",
            "description" : "Nome do grupo.",
            "example" : "PADRAO"
          }
        },
        "description" : "Objeto que retorna o grupo.",
        "example" : {
          "codigo" : 1,
          "nome" : "PADRAO"
        }
      },
      "CompraIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "dataEntrada" : {
            "type" : "string",
            "description" : "Data de entrada.",
            "format" : "date-time"
          },
          "numeroNotaFiscal" : {
            "type" : "integer",
            "description" : "Número da nota fiscal.",
            "format" : "int32",
            "example" : 1133
          },
          "codigoFornecedor" : {
            "type" : "integer",
            "description" : "Código do fornecedor.",
            "format" : "int32",
            "example" : 1
          },
          "valorTotalNota" : {
            "type" : "number",
            "description" : "Valor total da nota.",
            "format" : "double",
            "example" : 115.81
          },
          "valorTotalProdutos" : {
            "type" : "number",
            "description" : "Valor total dos produtos.",
            "format" : "double",
            "example" : 112.81
          },
          "quantidadeItens" : {
            "type" : "integer",
            "description" : "Quantidade de itens da nota.",
            "format" : "int32",
            "example" : 2
          },
          "chaveAcessoNfe" : {
            "type" : "string",
            "description" : "Chave de acesso NFE.",
            "example" : "42180261940292005872550160000011331149753323"
          },
          "xmlNfe" : {
            "type" : "string",
            "description" : "Conteúdo do XML da NF-e (quando disponível).",
            "nullable" : true,
            "example" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?><nfeProc>...</nfeProc>"
          },
          "itens" : {
            "type" : "array",
            "description" : "Itens da compra.",
            "items" : {
              "$ref" : "#/components/schemas/ComprasItemIntegracaoDto"
            }
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "Objeto que representa a compra para integração."
      },
      "ComprasItemIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "codigoProduto" : {
            "type" : "integer",
            "description" : "Código do produto.",
            "format" : "int32",
            "example" : 92295
          },
          "quantidadeProdutos" : {
            "type" : "integer",
            "description" : "Quantidade do produto.",
            "format" : "int32",
            "example" : 2
          },
          "fatorCompra" : {
            "type" : "integer",
            "description" : "Fator de compra do produto.",
            "format" : "int32",
            "example" : 1
          },
          "valorUnitario" : {
            "type" : "number",
            "description" : "Valor unitário do produto.",
            "format" : "double",
            "example" : 8.86
          },
          "valorUnitarioLiquido" : {
            "type" : "number",
            "description" : "Valor unitário líquido do produto (valor unitário - desconto).",
            "format" : "double",
            "example" : 8.86
          },
          "valorCusto" : {
            "type" : "number",
            "description" : "Valor de custo do produto.",
            "format" : "double",
            "example" : 8.86
          },
          "valorST" : {
            "type" : "number",
            "description" : "Valor ST do produto.",
            "format" : "double",
            "example" : 12.75
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "Itens da compra."
      },
      "DepartamentoIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "codigo" : {
            "type" : "integer",
            "description" : "Código do departamento.",
            "format" : "int32",
            "example" : 1
          },
          "nome" : {
            "type" : "string",
            "description" : "Nome do departamento.",
            "example" : "Geral"
          },
          "ativo" : {
            "type" : "boolean",
            "description" : "Define se o departamento está ativo ou inativo.",
            "example" : true
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "Objeto que retorna o departamento."
      },
      "CondicaoPagamentoDto" : {
        "type" : "object",
        "properties" : {
          "codigo" : {
            "type" : "integer",
            "description" : "Código da condição de pagamento.",
            "format" : "int32",
            "example" : 5
          },
          "nome" : {
            "type" : "string",
            "description" : "Nome da condição de pagamento.",
            "example" : "À Vista"
          }
        },
        "description" : "DTO de condição de pagamento na integração."
      },
      "DescontoEmpresaGrupoProdutoIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "codigoFilial" : {
            "type" : "integer",
            "description" : "Código da filial",
            "format" : "int32",
            "example" : 1
          },
          "dataInicio" : {
            "type" : "string",
            "description" : "Data inicial de vigência da promoção",
            "format" : "date-time"
          },
          "dataFim" : {
            "type" : "string",
            "description" : "Data final de vigência da promoção",
            "format" : "date-time"
          },
          "codigoEmpresa" : {
            "type" : "integer",
            "description" : "Código da empresa (convênio)",
            "format" : "int32",
            "example" : 10
          },
          "nomeEmpresa" : {
            "type" : "string",
            "description" : "Nome da empresa (convênio)",
            "example" : "Empresa Exemplo Ltda"
          },
          "codigoGrupoProduto" : {
            "type" : "integer",
            "description" : "Código do grupo de produtos",
            "format" : "int32",
            "example" : 5
          },
          "nomeGrupoProduto" : {
            "type" : "string",
            "description" : "Nome do grupo de produtos",
            "example" : "Medicamentos"
          },
          "percentualDesconto" : {
            "type" : "number",
            "description" : "Percentual de desconto cadastrado para o grupo de produto",
            "format" : "double",
            "example" : 15.0
          },
          "percentualDescontoMax" : {
            "type" : "number",
            "description" : "Percentual de desconto máximo para o grupo de produto",
            "format" : "double",
            "example" : 20.0
          },
          "condicoesPagamento" : {
            "type" : "array",
            "description" : "Lista de condições de pagamento vinculadas ao desconto",
            "items" : {
              "$ref" : "#/components/schemas/CondicaoPagamentoDto"
            }
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "DTO de retorno de desconto por empresa e grupo de produto na integração"
      },
      "EstoqueIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "codigoProduto" : {
            "type" : "integer",
            "description" : "Código reduzido de um produto.",
            "format" : "int32",
            "example" : 12345
          },
          "quantidadeEstoque" : {
            "type" : "integer",
            "description" : "Quantidade em estoque.",
            "format" : "int32",
            "example" : 2
          },
          "valorCustoMedio" : {
            "type" : "number",
            "description" : "Custo médio do produto.",
            "example" : 36.32
          },
          "dataUltimaEntrada" : {
            "type" : "string",
            "description" : "Data da última entrada do produto.",
            "format" : "date-time"
          },
          "valorUltimaEntrada" : {
            "type" : "number",
            "description" : "Valor da última entrada do produto.",
            "format" : "double",
            "example" : 35.43
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "Objeto que retorna o estoque de um produto."
      },
      "FinanceiroContaIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "nome" : {
            "type" : "string",
            "description" : "Nome da conta.",
            "example" : "Conta caixa"
          },
          "numeroAgencia" : {
            "type" : "string",
            "description" : "Número da agência.",
            "example" : "6442"
          },
          "digitoAgencia" : {
            "type" : "string",
            "description" : "Dígito da agência.",
            "example" : "1"
          },
          "numero" : {
            "type" : "string",
            "description" : "Número da conta.",
            "example" : "1234"
          },
          "digito" : {
            "type" : "string",
            "description" : "Dígito da conta.",
            "example" : "2"
          },
          "dataAtualizacao" : {
            "type" : "string",
            "description" : "Data de atualização.",
            "format" : "date-time"
          },
          "saldo" : {
            "type" : "number",
            "description" : "Saldo da conta.",
            "example" : 10.85
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "Objeto que representa uma conta financeira."
      },
      "FinanceiroClassificacaoFinanceiraIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "tipoClassificacao" : {
            "type" : "string",
            "description" : "D = Despesa / R = Receita.",
            "example" : "D"
          },
          "fixoVariavel" : {
            "type" : "string",
            "description" : "F = Fixo / V = Variável.",
            "example" : "V"
          },
          "creditoDebito" : {
            "type" : "string",
            "description" : "D = Débito / C = Crédito.",
            "example" : "C"
          },
          "ativo" : {
            "type" : "boolean",
            "description" : "Ativo ou inativo.",
            "example" : true
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          },
          "nomeDescricao" : {
            "type" : "string",
            "description" : "Nome do centro de custo que pertence.",
            "example" : "Despesas variaveis (Credito/Ativo)"
          },
          "centroCusto" : {
            "type" : "string",
            "description" : "Código do centro de custo que pertence.",
            "example" : "12"
          }
        },
        "description" : "Objeto que retorna classificação financeira."
      },
      "FinanceiroResultadoExercicioIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "data" : {
            "type" : "string",
            "description" : "Data de lançamento do movimento.",
            "format" : "date",
            "example" : "2012-12-30"
          },
          "codigoDepartamento" : {
            "type" : "integer",
            "description" : "Código departamento.",
            "format" : "int32",
            "example" : 1
          },
          "valorBruto" : {
            "type" : "number",
            "description" : "Valor bruto.",
            "example" : 8725.21
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          },
          "centroCusto" : {
            "type" : "string",
            "description" : "Centro de custo que ele pertence.",
            "example" : "2"
          }
        },
        "description" : "Objeto que retorna resultado do exercício financeiro."
      },
      "FinanceiroResultadoFinanceiroIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "data" : {
            "type" : "string",
            "description" : "Data de baixa do movimento.",
            "format" : "date",
            "example" : "2012-12-30"
          },
          "baixadoAberto" : {
            "type" : "string",
            "description" : "Movimento baixado ou aberto.",
            "example" : "A"
          },
          "codigoDepartamento" : {
            "type" : "integer",
            "description" : "Código do departamento.",
            "format" : "int32",
            "example" : 1
          },
          "valorBruto" : {
            "type" : "number",
            "description" : "Valor bruto do movimento.",
            "example" : 62.6
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          },
          "centroCusto" : {
            "type" : "string",
            "description" : "Centro de custo que pertence.",
            "example" : "2"
          }
        },
        "description" : "Objeto que retorna resultado de movimentação financeira."
      },
      "FornecedorIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "codigo" : {
            "type" : "integer",
            "description" : "Código do fornecedor.",
            "format" : "int32",
            "example" : 1
          },
          "nomeFantasia" : {
            "type" : "string",
            "description" : "Nome fantasia do fornecedor.",
            "example" : "SANTA CRUZ DIST.DE MEDICAMNETOS LTDA."
          },
          "razaoSocial" : {
            "type" : "string",
            "description" : "Razão social do fornecedor.",
            "example" : "SANTA CRUZ DIST.DE MEDICAMNETOS LTDA."
          },
          "numeroCnpj" : {
            "type" : "string",
            "description" : "CNPJ do fornecedor.",
            "example" : "61.940.292/0058-72"
          },
          "nomeCidade" : {
            "type" : "string",
            "description" : "Cidade do fornecedor.",
            "example" : "FLORIANOPOLIS"
          },
          "email" : {
            "type" : "string",
            "description" : "E-mail do fornecedor.",
            "example" : "teste@teste.com.br"
          },
          "ativo" : {
            "type" : "boolean",
            "description" : "Ativo ou inativo.",
            "example" : true
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "DTO de integração de fornecedor."
      },
      "CadcpkitIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "codigoRede" : {
            "type" : "integer",
            "description" : "Código da rede.",
            "format" : "int32",
            "example" : 1
          },
          "codigoFilial" : {
            "type" : "integer",
            "description" : "Código da filial.",
            "format" : "int32",
            "example" : 1
          },
          "codigoKit" : {
            "type" : "integer",
            "description" : "Código do kit.",
            "format" : "int32",
            "example" : 1123
          },
          "nomeKit" : {
            "type" : "string",
            "description" : "Nome do kit.",
            "example" : "Kit Shampoo x max"
          },
          "dataInicio" : {
            "type" : "string",
            "description" : "Data de início da validade do kit.",
            "format" : "date-time"
          },
          "dataFim" : {
            "type" : "string",
            "description" : "Data de fim da validade do kit.",
            "format" : "date-time"
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          },
          "itensKit" : {
            "type" : "array",
            "description" : "Lista de itens do kit.",
            "items" : {
              "$ref" : "#/components/schemas/CadipkitIntegracaoDto"
            }
          }
        },
        "description" : "Representa um kit de produtos para integração."
      },
      "CadipkitIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "codigoKit" : {
            "type" : "integer",
            "description" : "Código do kit.",
            "format" : "int32",
            "example" : 1123
          },
          "numeroSequencial" : {
            "type" : "integer",
            "description" : "Número sequencial do item no kit.",
            "format" : "int32",
            "example" : 1
          },
          "codigoReduzido" : {
            "type" : "integer",
            "description" : "Código reduzido do produto.",
            "format" : "int32",
            "example" : 4567
          },
          "quantidadeItem" : {
            "type" : "integer",
            "description" : "Quantidade do item no kit.",
            "format" : "int32",
            "example" : 2
          },
          "valorItem" : {
            "type" : "number",
            "description" : "Valor do item no kit.",
            "format" : "double",
            "example" : 29.9
          },
          "nomeProduto" : {
            "type" : "string",
            "description" : "Nome do produto.",
            "example" : "Shampoo x"
          },
          "nomeKit" : {
            "type" : "string",
            "description" : "Nome do kit.",
            "example" : "Kit Shampoo x max"
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "Representa um item de kit de produtos para integração."
      },
      "LaboratorioIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "codigo" : {
            "type" : "integer",
            "description" : "Código do laboratório.",
            "format" : "int32",
            "example" : 1
          },
          "nome" : {
            "type" : "string",
            "description" : "Nome do laboratório.",
            "example" : "LABORATORIO TESTE"
          },
          "cnpj" : {
            "type" : "string",
            "description" : "CNPJ do laboratório.",
            "example" : "99.999.999/0001-99"
          },
          "ativo" : {
            "type" : "boolean",
            "description" : "Define se o laboratório está ativo ou inativo.",
            "example" : true
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "Objeto que retorna as informações de um laboratório."
      },
      "ParcelaCartaoIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "codigoLoja" : {
            "type" : "integer",
            "description" : "Código da filial.",
            "format" : "int32",
            "example" : 1
          },
          "cnpjLoja" : {
            "type" : "string",
            "description" : "Número do CNPJ da filial.",
            "example" : "99.999.999/0001-99"
          },
          "inscricaoEstadualLoja" : {
            "type" : "string",
            "description" : "Inscrição estadual da filial.",
            "example" : "ISENTO"
          },
          "razaoSocial" : {
            "type" : "string",
            "description" : "Razão social da filial.",
            "example" : "FARMACIA E DROGARIA LTDA"
          },
          "transacoes" : {
            "type" : "array",
            "description" : "Lista de parcelas de cartão.",
            "items" : {
              "$ref" : "#/components/schemas/ParcelaCartaoTransacaoIntegracaoDto"
            }
          }
        },
        "description" : "Objeto que retorna as informações de parcelas de cartão."
      },
      "ParcelaCartaoTransacaoIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "idTransacao" : {
            "type" : "string",
            "description" : "Identificação da transação (Venda + ID / Recebimento + ID).",
            "example" : "VE:352698"
          },
          "dataEmissao" : {
            "type" : "string",
            "description" : "Data de emissão.",
            "format" : "date-time"
          },
          "dataVencimento" : {
            "type" : "string",
            "description" : "Data do vencimento.",
            "format" : "date-time"
          },
          "dataPagamento" : {
            "type" : "string",
            "description" : "Data do pagamento.",
            "format" : "date-time"
          },
          "idParcela" : {
            "type" : "integer",
            "description" : "Identificação da parcela.",
            "format" : "int32",
            "example" : 1
          },
          "modalidadeVenda" : {
            "type" : "string",
            "description" : "Modalidade da venda (CREDITO / DEBITO).",
            "example" : "CREDITO"
          },
          "prazoVenda" : {
            "type" : "string",
            "description" : "Prazo da venda (A VISTA / PARCELADO).",
            "example" : "A VISTA"
          },
          "documentoFiscal" : {
            "type" : "integer",
            "description" : "Número do documento fiscal.",
            "format" : "int32",
            "example" : 789651
          },
          "codigoAutorizacao" : {
            "type" : "string",
            "description" : "Código de autorização.",
            "example" : "789321"
          },
          "formaCaptura" : {
            "type" : "string",
            "description" : "Forma de captura (TEF / POS).",
            "example" : "TEF"
          },
          "nsuOrigem" : {
            "type" : "integer",
            "description" : "NSU de origem.",
            "format" : "int32",
            "example" : 1
          },
          "nsuAdministradora" : {
            "type" : "string",
            "description" : "NSU da administradora.",
            "example" : "123456"
          },
          "nomeAdquirente" : {
            "type" : "string",
            "description" : "Nome da adquirente (opcional).",
            "example" : "FACISC"
          },
          "codigoEstabelecimentoAdquirente" : {
            "type" : "integer",
            "description" : "Código do estabelecimento na adquirente (opcional).",
            "example" : 1234567890
          },
          "codigoBandeira" : {
            "type" : "string",
            "description" : "Código nacional da bandeira (opcional).",
            "example" : "999"
          },
          "numeroParcela" : {
            "type" : "integer",
            "description" : "Número da parcela.",
            "format" : "int32",
            "example" : 1
          },
          "totalParcelas" : {
            "type" : "number",
            "description" : "Quantidade total de parcelas.",
            "format" : "double",
            "example" : 2.0
          },
          "valorParcela" : {
            "type" : "number",
            "description" : "Valor líquido a receber da parcela.",
            "format" : "double",
            "example" : 48.0
          },
          "valorTaxas" : {
            "type" : "number",
            "description" : "Valor total das taxas da transação.",
            "format" : "double",
            "example" : 2.0
          },
          "valorTotal" : {
            "type" : "number",
            "description" : "Valor total pago em cartão.",
            "format" : "double",
            "example" : 100.0
          },
          "administradoraCartao" : {
            "type" : "string",
            "description" : "Administradora do cartão.",
            "example" : "CONVCARD ADMIN. DE CARTOES"
          },
          "codigoCartao" : {
            "type" : "integer",
            "description" : "Código do cartão.",
            "format" : "int32",
            "example" : 5
          },
          "nomeCartao" : {
            "type" : "string",
            "description" : "Nome do cartão.",
            "example" : "CONVCARD"
          },
          "idTransacaoPIX" : {
            "type" : "string",
            "description" : "Identificação da transação Pix (Skytef).",
            "example" : "1321097743"
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "Objeto que retorna as informações de parcelas de cartão."
      },
      "ParcelaCartaoEstornoIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "codigoLoja" : {
            "type" : "integer",
            "description" : "Código da filial.",
            "format" : "int32",
            "example" : 1
          },
          "cnpjLoja" : {
            "type" : "string",
            "description" : "Número do CNPJ da filial.",
            "example" : "99.999.999/0001-99"
          },
          "inscricaoEstadualLoja" : {
            "type" : "string",
            "description" : "Inscrição estadual da filial.",
            "example" : "ISENTO"
          },
          "razaoSocial" : {
            "type" : "string",
            "description" : "Razão social da filial.",
            "example" : "FARMACIA E DROGARIA LTDA"
          },
          "estornos" : {
            "type" : "array",
            "description" : "Lista de estornos de parcelas de cartão.",
            "items" : {
              "$ref" : "#/components/schemas/ParcelaCartaoEstornoTransacaoIntegracaoDto"
            }
          }
        },
        "description" : "Objeto que retorna as informações de estorno de parcelas de cartão."
      },
      "ParcelaCartaoEstornoTransacaoIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "numeroNotaDevolucao" : {
            "type" : "integer",
            "description" : "Número da nota de devolução.",
            "format" : "int32",
            "example" : 98766
          },
          "dataEmissaoDevolucao" : {
            "type" : "string",
            "description" : "Data de emissão da nota de devolução.",
            "format" : "date-time"
          },
          "totalNotaDevolucao" : {
            "type" : "number",
            "description" : "Total da nota de devolução (apenas considerado total do cartão).",
            "format" : "double",
            "example" : 24.5
          },
          "numeroNotaOrigem" : {
            "type" : "integer",
            "description" : "Número da nota original da venda.",
            "format" : "int32",
            "example" : 98765
          },
          "dataEmissaoOrigem" : {
            "type" : "string",
            "description" : "Data de emissão da nota original da venda.",
            "format" : "date-time"
          },
          "totalNotaOrigem" : {
            "type" : "number",
            "description" : "Total da nota original da venda (apenas considerado total do cartão).",
            "format" : "double",
            "example" : 24.5
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "Objeto que retorna as informações de estorno de parcelas de cartão."
      },
      "ItemPedidoResumidoIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "numeroPedido" : {
            "type" : "integer",
            "description" : "Número do pedido.",
            "format" : "int32",
            "example" : 1
          },
          "numeroSequencialItem" : {
            "type" : "integer",
            "description" : "Número sequencial do item no pedido.",
            "format" : "int32",
            "example" : 4
          },
          "codigoComprador" : {
            "type" : "integer",
            "description" : "Código do usuário que efetuou o pedido no sistema.",
            "format" : "int32",
            "example" : 30
          },
          "nomeComprador" : {
            "type" : "string",
            "description" : "Nome do comprador.",
            "example" : "JOÃO DA SILVA"
          },
          "dataEmissao" : {
            "type" : "string",
            "description" : "Data de emissão do pedido no formato ISO 8601.",
            "format" : "date-time"
          },
          "horaEmissao" : {
            "type" : "string",
            "description" : "Hora de emissão do pedido no formato ISO 8601.",
            "format" : "date-time"
          },
          "codigoFornecedor" : {
            "type" : "integer",
            "description" : "Código do fornecedor do pedido.",
            "format" : "int32",
            "example" : 14
          },
          "nomeFornecedor" : {
            "type" : "string",
            "description" : "Nome do fornecedor do pedido.",
            "example" : "FORNECEDOR XYZ"
          },
          "codigoProduto" : {
            "type" : "integer",
            "description" : "Código do produto.",
            "format" : "int32",
            "example" : 1
          },
          "codigoBarras" : {
            "type" : "integer",
            "description" : "Código de barras do produto.",
            "format" : "int64",
            "example" : 7891234567890
          },
          "nomeProduto" : {
            "type" : "string",
            "description" : "Nome do produto.",
            "example" : "PRODUTO ABC"
          },
          "fatorCompra" : {
            "type" : "integer",
            "description" : "Fator de compra do produto.",
            "format" : "int32",
            "example" : 1
          },
          "quantidadeProdutos" : {
            "type" : "integer",
            "description" : "Quantidade de produtos no item do pedido.",
            "format" : "int32",
            "example" : 20
          },
          "valorUnitario" : {
            "type" : "number",
            "description" : "Valor unitário do produto no item do pedido.",
            "format" : "double",
            "example" : 10.5
          },
          "transmitido" : {
            "type" : "boolean",
            "description" : "Indica se o pedido foi transmitido.",
            "example" : true
          },
          "quantidadeEstoque" : {
            "type" : "integer",
            "description" : "Quantidade do produto em estoque.",
            "format" : "int32",
            "example" : 100
          },
          "valorUnitarioUltimaCompra" : {
            "type" : "number",
            "description" : "Valor unitário da última compra do produto.",
            "format" : "double",
            "example" : 9.8
          },
          "fatorCompraUltimaCompra" : {
            "type" : "integer",
            "description" : "Fator de compra da última compra do produto.",
            "format" : "int32",
            "example" : 1
          },
          "codigoFornecedorUltimaCompra" : {
            "type" : "integer",
            "description" : "Código do fornecedor da última compra do produto.",
            "format" : "int32",
            "example" : 14
          },
          "nomeFornecedorUltimaCompra" : {
            "type" : "string",
            "description" : "Nome do fornecedor da última compra do produto.",
            "example" : "FORNECEDOR XYZ"
          },
          "cnpjFornecedorUltimaCompra" : {
            "type" : "string",
            "description" : "CNPJ do fornecedor da última compra do produto.",
            "example" : "99.999.999/0001-99"
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "Representa um resumo das informações principais de um item de pedido para integração."
      },
      "PedidoResumidoIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "numeroPedido" : {
            "type" : "integer",
            "description" : "Número do pedido.",
            "format" : "int32",
            "example" : 1
          },
          "codigoComprador" : {
            "type" : "integer",
            "description" : "Código do usuário que efetuou o pedido no sistema.",
            "format" : "int32",
            "example" : 30
          },
          "nomeComprador" : {
            "type" : "string",
            "description" : "Nome do comprador.",
            "example" : "JOÃO DA SILVA"
          },
          "dataEmissao" : {
            "type" : "string",
            "description" : "Data de emissão do pedido no formato ISO 8601.",
            "format" : "date-time"
          },
          "horaEmissao" : {
            "type" : "string",
            "description" : "Hora de emissão do pedido no formato ISO 8601.",
            "format" : "date-time"
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "Representa um resumo das informações principais de um pedido para integração."
      },
      "ProdutoCondicaoPagamentoDto" : {
        "type" : "object",
        "properties" : {
          "codigoProduto" : {
            "type" : "integer",
            "format" : "int32"
          },
          "nomeProduto" : {
            "type" : "string"
          },
          "codigoBarras" : {
            "type" : "string"
          }
        }
      },
      "ProdutoDescontoCondicaoPagamentoIntegracaoRetornoDto" : {
        "type" : "object",
        "properties" : {
          "codigoFilial" : {
            "type" : "integer",
            "format" : "int32"
          },
          "nomeCampanha" : {
            "type" : "string"
          },
          "dataInicio" : {
            "type" : "string"
          },
          "dataFim" : {
            "type" : "string"
          },
          "produto" : {
            "$ref" : "#/components/schemas/ProdutoCondicaoPagamentoDto"
          },
          "condicoesPagamento" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/CondicaoPagamentoDto"
            }
          },
          "percentualDesconto" : {
            "type" : "number",
            "format" : "double"
          },
          "percentualDescontoMax" : {
            "type" : "number",
            "format" : "double"
          },
          "valorVenda" : {
            "type" : "number",
            "format" : "double"
          },
          "valorPromocao" : {
            "type" : "number",
            "format" : "double"
          },
          "diasSemana" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        }
      },
      "ProdutoDescontoEncarteIntegracaoRetorno" : {
        "type" : "object",
        "properties" : {
          "codigoEncarte" : {
            "type" : "integer",
            "description" : "Código identificador do encarte.",
            "format" : "int32",
            "example" : 123
          },
          "nomeCampanha" : {
            "type" : "string",
            "description" : "Nome da campanha/encarte.",
            "example" : "Encarte Dia das Mães"
          },
          "dataInicio" : {
            "type" : "string",
            "description" : "Data de início da vigência do encarte.",
            "example" : "01/05/2024"
          },
          "dataFim" : {
            "type" : "string",
            "description" : "Data de término da vigência do encarte.",
            "example" : "15/05/2024"
          },
          "produtosEncarte" : {
            "$ref" : "#/components/schemas/ProdutoEncarteDto"
          },
          "diasSemana" : {
            "type" : "array",
            "description" : "Dias da semana em que o encarte é válido.",
            "example" : "[ DOM, SEG, TER ]",
            "items" : {
              "type" : "string",
              "description" : "Dias da semana em que o encarte é válido.",
              "example" : "[ DOM, SEG, TER ]"
            }
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "Informações de encarte e seus produtos com desconto."
      },
      "ProdutoEncarteDto" : {
        "type" : "object",
        "properties" : {
          "codigoProduto" : {
            "type" : "integer",
            "description" : "Código interno do produto",
            "format" : "int32",
            "example" : 1
          },
          "nomeProduto" : {
            "type" : "string",
            "description" : "Nome do produto",
            "example" : "DORFLEX 36 CPR"
          },
          "quantidadeProduto" : {
            "type" : "integer",
            "description" : "Quantidade de unidades do produto necessária para que o desconto seja aplicado",
            "format" : "int32",
            "example" : 2
          },
          "valorPromocao" : {
            "type" : "number",
            "description" : "Valor promocional aplicado ao produto",
            "example" : 9.9
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "Informações de produto em encarte promocional"
      },
      "ProdutoDescontoGrupoIntegracaoRetornoDto" : {
        "type" : "object",
        "properties" : {
          "codigoFilial" : {
            "type" : "integer",
            "description" : "Código da filial.",
            "format" : "int32",
            "example" : 1
          },
          "nomeCampanha" : {
            "type" : "string",
            "description" : "Nome da campanha de desconto.",
            "example" : "DESCONTO PADRAO"
          },
          "dataInicio" : {
            "type" : "string",
            "description" : "Data de início da campanha.",
            "example" : "2024-01-01"
          },
          "dataFim" : {
            "type" : "string",
            "description" : "Data de fim da campanha.",
            "example" : "2024-12-31"
          },
          "grupoProduto" : {
            "type" : "integer",
            "description" : "Código do grupo de produto.",
            "format" : "int32",
            "example" : 10
          },
          "percentualDesconto" : {
            "type" : "number",
            "description" : "Percentual de desconto.",
            "format" : "double",
            "example" : 5.0
          },
          "percentualDescontoMax" : {
            "type" : "number",
            "description" : "Percentual máximo de desconto.",
            "format" : "double",
            "example" : 15.0
          },
          "condicaoPagamento" : {
            "$ref" : "#/components/schemas/CondicaoPagamentoDto"
          },
          "diasSemana" : {
            "type" : "array",
            "description" : "Dias da semana em que o desconto é aplicável. Caso não possua nenhum dia específico, deverá ser retornado todos os dias da semana, de DOMINGO a SÁBADO.",
            "example" : [ "SEGUNDA", "TERÇA", "QUARTA" ],
            "items" : {
              "type" : "string",
              "description" : "Dias da semana em que o desconto é aplicável. Caso não possua nenhum dia específico, deverá ser retornado todos os dias da semana, de DOMINGO a SÁBADO.",
              "example" : "[\"SEGUNDA\",\"TERÇA\",\"QUARTA\"]"
            }
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "DTO de retorno de desconto por grupo de produto na integração."
      },
      "DescontoProgressivoIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "codigoProduto" : {
            "type" : "integer",
            "description" : "Código do produto.",
            "format" : "int32",
            "example" : 1
          },
          "nomeProduto" : {
            "type" : "string",
            "description" : "Nome do produto.",
            "example" : "REFRESH GEL 0,3% OFT 10G"
          },
          "codigoBarras" : {
            "type" : "integer",
            "description" : "Código de barras do produto.",
            "format" : "int64",
            "example" : 7897316804858
          },
          "quantidadeEstoque" : {
            "type" : "integer",
            "description" : "Quantidade em estoque.",
            "format" : "int32",
            "example" : 2
          },
          "codigoLaboratorio" : {
            "type" : "integer",
            "description" : "Código do laboratório.",
            "format" : "int32",
            "example" : 14
          },
          "nomeLaboratorio" : {
            "type" : "string",
            "description" : "Nome do laboratório.",
            "example" : "REFERENCIA OTC"
          },
          "valorVenda" : {
            "type" : "number",
            "description" : "Preço de venda cadastrado no produto.",
            "format" : "double",
            "example" : 100.0
          },
          "quantidadeItens" : {
            "type" : "integer",
            "description" : "Quantidade de itens para obter o desconto progressivo.",
            "format" : "int32",
            "example" : 5
          },
          "percentualDesconto" : {
            "type" : "number",
            "description" : "Percentual de desconto para quantidades vendidas maior ou igual a quantidadeItens.",
            "format" : "double",
            "example" : 20.0
          },
          "valorPromocao" : {
            "type" : "number",
            "description" : "Preço de venda para quantidades vendidas maior ou igual a quantidadeItens.",
            "format" : "double",
            "example" : 80.0
          },
          "dataInicio" : {
            "type" : "string",
            "description" : "Data de início da campanha.",
            "format" : "date-time"
          },
          "dataFim" : {
            "type" : "string",
            "description" : "Data final da campanha.",
            "format" : "date-time"
          },
          "origemDesconto" : {
            "type" : "string"
          },
          "condicaoPagamento" : {
            "type" : "integer",
            "format" : "int32"
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "DTO de desconto progressivo integração."
      },
      "DescontoProgressivoRetornoIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "codigoProduto" : {
            "type" : "integer",
            "format" : "int32"
          },
          "nomeProduto" : {
            "type" : "string"
          },
          "codigoBarras" : {
            "type" : "integer",
            "format" : "int64"
          },
          "quantidadeEstoque" : {
            "type" : "integer",
            "format" : "int32"
          },
          "codigoLaboratorio" : {
            "type" : "integer",
            "format" : "int32"
          },
          "nomeLaboratorio" : {
            "type" : "string"
          },
          "valorVenda" : {
            "type" : "number",
            "format" : "double"
          },
          "quantidadeItens" : {
            "type" : "integer",
            "format" : "int32"
          },
          "percentualDesconto" : {
            "type" : "number",
            "format" : "double"
          },
          "valorPromocao" : {
            "type" : "number",
            "format" : "double"
          },
          "dataInicio" : {
            "type" : "string",
            "format" : "date-time"
          },
          "dataFim" : {
            "type" : "string",
            "format" : "date-time"
          },
          "origemDesconto" : {
            "type" : "string",
            "description" : "Origem do desconto aplicado",
            "example" : "PRODUTO"
          },
          "condicoesPagamento" : {
            "type" : "array",
            "description" : "Lista de condições de pagamento aplicadas no desconto",
            "example" : "DINHEIRO, CARTÃO",
            "items" : {
              "type" : "string",
              "description" : "Lista de condições de pagamento aplicadas no desconto",
              "example" : "DINHEIRO, CARTÃO"
            }
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "DTO de retorno de desconto progressivo de produto na integração"
      },
      "DescontoMelhorIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "codigoProduto" : {
            "type" : "integer",
            "description" : "Código do produto.",
            "format" : "int32",
            "example" : 1
          },
          "nomeProduto" : {
            "type" : "string",
            "description" : "Nome do produto.",
            "example" : "REFRESH GEL 0,3% OFT 10G"
          },
          "codigoBarras" : {
            "type" : "integer",
            "description" : "Código de barras do produto.",
            "format" : "int64",
            "example" : 7897316804858
          },
          "quantidadeEstoque" : {
            "type" : "integer",
            "description" : "Quantidade em estoque.",
            "format" : "int32",
            "example" : 100
          },
          "codigoLaboratorio" : {
            "type" : "integer",
            "description" : "Código do laboratório.",
            "format" : "int32",
            "example" : 14
          },
          "nomeLaboratorio" : {
            "type" : "string",
            "description" : "Nome do laboratório.",
            "example" : "REFERENCIA OTC"
          },
          "valorVenda" : {
            "type" : "number",
            "description" : "Valor de venda cadastrado no produto.",
            "format" : "double",
            "example" : 50.78
          },
          "percentualDesconto" : {
            "type" : "number",
            "description" : "Melhor percentual de desconto encontrado para o produto.",
            "format" : "double",
            "example" : 10.45
          },
          "codigoCondicaoPagamento" : {
            "type" : "integer",
            "description" : "Código da condição de pagamento que oferece o melhor desconto.",
            "format" : "int32",
            "example" : 3
          },
          "nomeCondicaoPagamento" : {
            "type" : "string",
            "description" : "Nome da condição de pagamento que oferece o melhor desconto.",
            "example" : "DINHEIRO"
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          },
          "valorPromocao" : {
            "type" : "number",
            "description" : "Valor de promoção com base no melhor percentual de desconto encontrado para o produto.",
            "format" : "double",
            "example" : 10.59
          }
        },
        "description" : "DTO de desconto melhor integração."
      },
      "DescontoParceiroIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "codigoFilial" : {
            "type" : "integer",
            "description" : "Código da filial",
            "format" : "int32",
            "example" : 1
          },
          "codigoProduto" : {
            "type" : "integer",
            "description" : "Código do produto",
            "format" : "int32",
            "example" : 100
          },
          "nomeProduto" : {
            "type" : "string",
            "description" : "Nome do produto",
            "example" : "Dipirona 500mg"
          },
          "codigoBarras" : {
            "type" : "integer",
            "description" : "Código de barras do produto",
            "format" : "int64",
            "example" : 7898455107541
          },
          "codigoParceiro" : {
            "type" : "integer",
            "description" : "Código do parceiro",
            "format" : "int32",
            "example" : 10
          },
          "nomeParceiro" : {
            "type" : "string",
            "description" : "Nome do parceiro",
            "example" : "PEC"
          },
          "percentualDesconto" : {
            "type" : "number",
            "description" : "Percentual de desconto cadastrado",
            "format" : "double",
            "example" : 15.0
          },
          "valorPromocao" : {
            "type" : "number",
            "description" : "Valor de promoção cadastrado",
            "format" : "double",
            "example" : 9.99
          },
          "valorVenda" : {
            "type" : "number",
            "description" : "Valor de venda do produto",
            "format" : "double",
            "example" : 12.5
          },
          "dataInicio" : {
            "type" : "string",
            "description" : "Data inicial de vigência da promoção",
            "format" : "date-time"
          },
          "dataFim" : {
            "type" : "string",
            "description" : "Data final de vigência da promoção",
            "format" : "date-time"
          },
          "diasSemana" : {
            "type" : "array",
            "description" : "Lista de dias da semana em que o desconto é vigente. Caso vazia, todos os dias são vigentes.",
            "example" : [ "SEGUNDA", "TERÇA", "QUARTA" ],
            "items" : {
              "type" : "string",
              "description" : "Lista de dias da semana em que o desconto é vigente. Caso vazia, todos os dias são vigentes.",
              "example" : "[\"SEGUNDA\",\"TERÇA\",\"QUARTA\"]"
            }
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "DTO de retorno de desconto por parceiro e produto na integração"
      },
      "DescontoProdutoVigenciaIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "codigoDesconto" : {
            "type" : "integer",
            "description" : "Código interno do desconto.",
            "format" : "int64",
            "example" : 123456
          },
          "codigoFilial" : {
            "type" : "integer",
            "description" : "Código da filial.",
            "format" : "int32",
            "example" : 101
          },
          "dataInicio" : {
            "type" : "string",
            "description" : "Data de início da vigência.",
            "example" : "2025-01-10"
          },
          "dataFim" : {
            "type" : "string",
            "description" : "Data de término da vigência.",
            "example" : "2025-02-15"
          },
          "codigoProduto" : {
            "type" : "integer",
            "description" : "Código do produto (SKU).",
            "format" : "int32",
            "example" : 7890123
          },
          "percentualDesconto" : {
            "type" : "number",
            "description" : "Percentual de desconto aplicado (0 a 100).",
            "format" : "double",
            "example" : 12.5
          },
          "valorPromocao" : {
            "type" : "number",
            "description" : "Valor promocional final do produto.",
            "format" : "double",
            "example" : 79.9
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "DTO de retorno de desconto vigência de produto na integração."
      },
      "GrupoProdutoIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "codigo" : {
            "type" : "integer",
            "description" : "Código do grupo de produtos.",
            "format" : "int32",
            "example" : 10
          },
          "nome" : {
            "type" : "string",
            "description" : "Nome do grupo de produtos.",
            "example" : "Perfumaria"
          },
          "ativo" : {
            "type" : "boolean",
            "description" : "Indica se o grupo está ativo.",
            "example" : true
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "Dados de integração do grupo de produtos."
      },
      "CorEcommerce" : {
        "type" : "object",
        "properties" : {
          "codigo" : {
            "type" : "integer",
            "description" : "Código da cor.",
            "format" : "int32",
            "example" : 10
          },
          "nome" : {
            "type" : "string",
            "description" : "Nome da cor.",
            "example" : "Azul"
          }
        },
        "description" : "Cor para e-commerce."
      },
      "ProdutoIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "codigo" : {
            "type" : "integer",
            "description" : "Codigo do produto.",
            "format" : "int32",
            "example" : 12345
          },
          "nome" : {
            "type" : "string",
            "description" : "Nome do produto.",
            "example" : "Paracetamol 750mg"
          },
          "valorVenda" : {
            "type" : "number",
            "description" : "Valor de venda.",
            "format" : "double",
            "example" : 19.9
          },
          "valorCusto" : {
            "type" : "number",
            "description" : "Valor de custo.",
            "format" : "double",
            "example" : 12.5
          },
          "valorCustoMedio" : {
            "type" : "number",
            "description" : "Valor de custo medio.",
            "example" : 13.1
          },
          "quantidadeEstoque" : {
            "type" : "integer",
            "description" : "Quantidade em estoque.",
            "format" : "int32",
            "example" : 100
          },
          "unidade" : {
            "type" : "string",
            "description" : "Unidade de medida.",
            "example" : "UN"
          },
          "codigoBarras" : {
            "type" : "integer",
            "description" : "Codigo de barras.",
            "format" : "int64",
            "example" : 7891234567890
          },
          "codigoLaboratorio" : {
            "type" : "integer",
            "description" : "Codigo do laboratorio.",
            "format" : "int32",
            "example" : 101
          },
          "nomeLaboratorio" : {
            "type" : "string",
            "description" : "Nome do laboratorio.",
            "example" : "Laboratorio Exemplo"
          },
          "codigoDepartamento" : {
            "type" : "integer",
            "description" : "Codigo do departamento.",
            "format" : "int32",
            "example" : 20
          },
          "nomeDepartamento" : {
            "type" : "string",
            "description" : "Nome do departamento.",
            "example" : "Medicamentos"
          },
          "codigoGrupo" : {
            "type" : "integer",
            "description" : "Codigo do grupo.",
            "format" : "int32",
            "example" : 30
          },
          "nomeGrupo" : {
            "type" : "string",
            "description" : "Nome do grupo.",
            "example" : "Analgesicos"
          },
          "codigoPrincipioAtivo" : {
            "type" : "string",
            "description" : "Codigo do principio ativo.",
            "example" : "PARA"
          },
          "nomePrincipioAtivo" : {
            "type" : "string",
            "description" : "Nome do principio ativo.",
            "example" : "Paracetamol"
          },
          "codigoCategoria" : {
            "type" : "integer",
            "description" : "Codigo da categoria.",
            "format" : "int32",
            "example" : 40
          },
          "nomeCategoria" : {
            "type" : "string",
            "description" : "Nome da categoria.",
            "example" : "Uso Adulto"
          },
          "codigoClassificacao" : {
            "type" : "integer",
            "description" : "Codigo da classificacao.",
            "format" : "int32",
            "example" : 50
          },
          "nomeClassificacao" : {
            "type" : "string",
            "description" : "Nome da classificacao.",
            "example" : "Tarja Amarela"
          },
          "ativo" : {
            "type" : "boolean",
            "description" : "Indica se o produto esta ativo.",
            "example" : true
          },
          "percentualDesconto" : {
            "type" : "number",
            "description" : "Percentual de desconto.",
            "format" : "double",
            "example" : 10.0
          },
          "percentualDescontoMax" : {
            "type" : "number",
            "description" : "Percentual maximo de desconto.",
            "format" : "double",
            "example" : 15.0
          },
          "tipoLista" : {
            "type" : "string",
            "description" : "Tipo de lista de precos.",
            "example" : "PADRAO"
          },
          "tipo" : {
            "$ref" : "#/components/schemas/Tipo"
          },
          "observacaoVenda" : {
            "type" : "string",
            "description" : "Observacao de venda.",
            "example" : "Produto nao fracionavel."
          },
          "tags" : {
            "type" : "array",
            "description" : "Tags do produto.",
            "items" : {
              "type" : "string",
              "description" : "Tags do produto."
            }
          },
          "integracaoEcommerce" : {
            "type" : "boolean",
            "description" : "Indica integracao com e-commerce.",
            "example" : true
          },
          "nomeEcommerce" : {
            "type" : "string",
            "description" : "Nome do produto para e-commerce.",
            "example" : "Paracetamol 750mg - 20 comprimidos"
          },
          "descricaoEcommerce" : {
            "type" : "string",
            "description" : "Descricao do produto para e-commerce.",
            "example" : "Analgesico indicado para dores e febre."
          },
          "valorVendaEcommerce" : {
            "type" : "number",
            "description" : "Valor de venda para e-commerce.",
            "format" : "double",
            "example" : 21.9
          },
          "quantidadeEstoqueEcommerce" : {
            "type" : "integer",
            "description" : "Quantidade de estoque para e-commerce.",
            "format" : "int32",
            "example" : 50
          },
          "larguraEcommerce" : {
            "type" : "integer",
            "description" : "Largura em milimetros para e-commerce.",
            "format" : "int32",
            "example" : 40
          },
          "alturaEcommerce" : {
            "type" : "integer",
            "description" : "Altura em milimetros para e-commerce.",
            "format" : "int32",
            "example" : 120
          },
          "profundidadeEcommerce" : {
            "type" : "integer",
            "description" : "Profundidade em milimetros para e-commerce.",
            "format" : "int32",
            "example" : 20
          },
          "pesoEcommerce" : {
            "type" : "integer",
            "description" : "Peso em gramas para e-commerce.",
            "format" : "int32",
            "example" : 150
          },
          "corEcommerce" : {
            "$ref" : "#/components/schemas/CorEcommerce"
          },
          "tamanhoEcommerce" : {
            "$ref" : "#/components/schemas/TamanhoEcommerce"
          },
          "qtdLimiteCarrinhoEcommerce" : {
            "type" : "integer",
            "description" : "Limite de itens por carrinho no e-commerce.",
            "format" : "int32",
            "example" : 5
          },
          "codClaFiscal" : {
            "type" : "string",
            "description" : "Codigo da classificacao fiscal.",
            "example" : "1234.56.78"
          },
          "codDepto" : {
            "type" : "integer",
            "description" : "Codigo do departamento.",
            "format" : "int32",
            "example" : 20
          },
          "nomDepto" : {
            "type" : "string",
            "description" : "Nome do departamento.",
            "example" : "Medicamentos"
          },
          "codTipo" : {
            "type" : "integer",
            "description" : "Codigo do tipo.",
            "format" : "int32",
            "example" : 1
          },
          "nomTipo" : {
            "type" : "string",
            "description" : "Nome do tipo.",
            "example" : "Medicamento"
          },
          "idProduto" : {
            "type" : "string",
            "description" : "Identificador externo do produto.",
            "example" : "SKU-000123"
          },
          "produtoManipulado" : {
            "type" : "string",
            "description" : "Indica se o produto e manipulado.",
            "example" : "N"
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "Dados de integração do produto."
      },
      "TamanhoEcommerce" : {
        "type" : "object",
        "properties" : {
          "codigo" : {
            "type" : "integer",
            "description" : "Código do tamanho.",
            "format" : "int32",
            "example" : 5
          },
          "nome" : {
            "type" : "string",
            "description" : "Nome do tamanho.",
            "example" : "M"
          }
        },
        "description" : "Tamanho para e-commerce."
      },
      "Tipo" : {
        "type" : "object",
        "properties" : {
          "codigo" : {
            "type" : "integer",
            "description" : "Código do tipo.",
            "format" : "int32",
            "example" : 1
          },
          "nome" : {
            "type" : "string",
            "description" : "Nome do tipo.",
            "example" : "Medicamento"
          }
        },
        "description" : "Tipo do produto."
      },
      "IdentificadorProdutoIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "codigo" : {
            "type" : "integer",
            "description" : "Codigo reduzido do produto.",
            "format" : "int32",
            "example" : 12345
          },
          "identificador" : {
            "type" : "integer",
            "description" : "Identificador do produto (codigo de barras ou codigo reduzido).",
            "format" : "int64",
            "example" : 7891234567890
          },
          "principal" : {
            "type" : "boolean",
            "description" : "Indica se o identificador e principal.",
            "example" : true
          },
          "ativo" : {
            "type" : "boolean",
            "description" : "Indica se o identificador esta ativo.",
            "example" : true
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "Identificador de produto para integracao."
      },
      "PrincipioAtivoProdutoIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "codigo" : {
            "type" : "string",
            "description" : "Codigo do principio ativo.",
            "example" : "06827"
          },
          "nome" : {
            "type" : "string",
            "description" : "Nome do principio ativo.",
            "example" : "Paracetamol"
          },
          "ativo" : {
            "type" : "boolean",
            "description" : "Indica se o principio ativo esta ativo.",
            "example" : true
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "Dados de integracao do principio ativo do produto."
      },
      "DescontoPrecificacaoIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "codigoProduto" : {
            "type" : "integer",
            "description" : "Código do produto.",
            "format" : "int32",
            "example" : 12345
          },
          "codigoFilial" : {
            "type" : "integer",
            "description" : "Código da filial.",
            "format" : "int32",
            "example" : 1
          },
          "valorVenda" : {
            "type" : "number",
            "description" : "Valor de venda do produto.",
            "format" : "double",
            "example" : 99.9
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "Dados de integração de desconto por precificação."
      },
      "RetornoConsultaSmartpedDTO" : {
        "type" : "object",
        "properties" : {
          "codigoLoja" : {
            "type" : "integer",
            "description" : "Código da loja.",
            "format" : "int32",
            "example" : 1
          },
          "cnpjLoja" : {
            "type" : "string",
            "description" : "CNPJ da loja, somente números.",
            "example" : "12345678000199"
          },
          "razaoSocial" : {
            "type" : "string",
            "description" : "Razão social da loja.",
            "example" : "LOJA EXEMPLO LTDA"
          },
          "datCotacao" : {
            "type" : "string",
            "description" : "Data da cotação no formato ISO 8601.",
            "format" : "date-time"
          },
          "tipCotacao" : {
            "type" : "string",
            "description" : "Tipo da cotação.",
            "example" : "SMARTPED",
            "enum" : [ "SEM_ORIGEM", "SMARTPED", "VENDEDOR" ]
          }
        },
        "description" : "Dados de retorno da consulta Smartped."
      },
      "StatusPedido" : {
        "type" : "object",
        "properties" : {
          "codigo" : {
            "type" : "string",
            "description" : "Código do status do pedido.",
            "example" : "1"
          },
          "descricao" : {
            "type" : "string",
            "description" : "Descrição do status do pedido.",
            "example" : "APROVADO"
          }
        },
        "description" : "Status do pedido."
      },
      "VendaEcommerceIntegracaoRetDto" : {
        "type" : "object",
        "properties" : {
          "numeroNota" : {
            "type" : "integer",
            "description" : "Número da venda gerada no PDV.",
            "format" : "int32",
            "example" : 12345
          },
          "numeroPedido" : {
            "type" : "string",
            "description" : "Número do pedido no e-commerce vinculado à venda.",
            "example" : "PED-20240001"
          },
          "statusPedido" : {
            "$ref" : "#/components/schemas/StatusPedido"
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "Objeto utilizado para retornar dados da geração ou finalização de uma venda e-commerce no PDV."
      },
      "AtualizaStatusPedidoEcommerceDto" : {
        "required" : [ "numeroNota", "numeroPedido", "status" ],
        "type" : "object",
        "properties" : {
          "numeroNota" : {
            "type" : "integer",
            "description" : "Número da venda gerada no PDV.",
            "format" : "int32",
            "example" : 12345
          },
          "numeroPedido" : {
            "type" : "string",
            "description" : "Número do pedido no e-commerce vinculado à venda.",
            "example" : "PED-20240001"
          },
          "status" : {
            "type" : "string",
            "description" : "Status do pedido no e-commerce.",
            "example" : "4",
            "enum" : [ "4 - CANCELADO" ]
          }
        },
        "description" : "Objeto utilizado para atualizar o status de uma venda e-commerce no PDV."
      },
      "StatusVendaEcommerceIntegracaoRetDto" : {
        "type" : "object",
        "properties" : {
          "numeroNota" : {
            "type" : "integer",
            "description" : "Número da venda gerada no PDV.",
            "format" : "int32",
            "example" : 12345
          },
          "numeroPedido" : {
            "type" : "string",
            "description" : "Número do pedido no e-commerce vinculado à venda.",
            "example" : "PED-20240001"
          },
          "dataPedido" : {
            "type" : "string",
            "description" : "Data do pedido no e-commerce.",
            "format" : "date-time"
          },
          "xmlNfe" : {
            "type" : "string",
            "description" : "XML da nota fiscal eletrônica.",
            "example" : "<xml>...</xml>"
          },
          "statusPedido" : {
            "type" : "string",
            "description" : "Status do pedido no e-commerce.",
            "example" : "APROVADO"
          },
          "numeroCupomFiscal" : {
            "type" : "integer",
            "description" : "Número do cupom fiscal.",
            "format" : "int32",
            "example" : 123456
          },
          "numeroNotaFiscal" : {
            "type" : "integer",
            "description" : "Número da nota fiscal.",
            "format" : "int32",
            "example" : 654321
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "Objeto utilizado para retornar o status de uma venda e-commerce no PDV."
      },
      "CartaoVendaIntegracaoDTO" : {
        "required" : [ "codigo", "pagamentoRealizado", "valor" ],
        "type" : "object",
        "properties" : {
          "pagamentoRealizado" : {
            "type" : "boolean",
            "description" : "Indica se o pagamento foi realizado.",
            "example" : true
          },
          "codigo" : {
            "type" : "integer",
            "description" : "Código do cartão (Trier).",
            "format" : "int32",
            "example" : 1
          },
          "valor" : {
            "type" : "number",
            "description" : "Valor pago no cartão.",
            "format" : "double",
            "example" : 100.0
          },
          "qtdParcela" : {
            "type" : "integer",
            "description" : "Número de parcelas no cartão.",
            "format" : "int32",
            "example" : 3
          },
          "numeroAutorizacao" : {
            "type" : "integer",
            "description" : "Número de autorização da transação no cartão.",
            "format" : "int32",
            "example" : 1234567890
          }
        },
        "description" : "Objeto utilizado para informar a forma de pagamento CARTÃO em uma venda e-commerce no PDV."
      },
      "ClienteEcommerceIntegracaoDto" : {
        "required" : [ "nome", "numeroCpfCnpj" ],
        "type" : "object",
        "properties" : {
          "codigo" : {
            "type" : "integer",
            "description" : "Código do cliente, se não informado, será gerado automaticamente pelo PDV.",
            "format" : "int32",
            "example" : 0
          },
          "nome" : {
            "maxLength" : 40,
            "minLength" : 0,
            "type" : "string",
            "description" : "Nome do cliente.",
            "example" : "EDENEI JOSE CIMA"
          },
          "numeroCpfCnpj" : {
            "maxLength" : 18,
            "minLength" : 0,
            "type" : "string",
            "description" : "Número do CPF ou CNPJ do cliente.",
            "example" : "145.440.400-00"
          },
          "codigoCidade" : {
            "type" : "string",
            "description" : "Código da cidade do cliente.",
            "example" : "LAJEADO"
          },
          "email" : {
            "maxLength" : 80,
            "minLength" : 0,
            "type" : "string",
            "description" : "E-mail do cliente.",
            "example" : "email@teste.com"
          },
          "cep" : {
            "maxLength" : 9,
            "type" : "string",
            "description" : "CEP do cliente.",
            "example" : "95900000"
          },
          "estado" : {
            "maxLength" : 2,
            "type" : "string",
            "description" : "Estado do cliente.",
            "example" : "RS"
          },
          "fone" : {
            "maxLength" : 14,
            "minLength" : 0,
            "type" : "string",
            "description" : "Número de telefone do cliente.",
            "example" : "(48)99999-9999"
          },
          "bairro" : {
            "type" : "string",
            "description" : "Bairro do cliente.",
            "example" : "CENTRO"
          },
          "logradouro" : {
            "type" : "string",
            "description" : "Logradouro do cliente.",
            "example" : "RUA PARAIBA"
          },
          "numeroEndereco" : {
            "type" : "string",
            "description" : "Número do endereço do cliente.",
            "example" : "759"
          },
          "ativo" : {
            "type" : "boolean",
            "description" : "Indica se o cliente está ativo.",
            "example" : true
          },
          "limiteCredito" : {
            "type" : "string",
            "description" : "Valor do limite de crédito.",
            "example" : "1000.0"
          },
          "limiteDisponivel" : {
            "type" : "string",
            "description" : "Valor do limite de crédito disponível.",
            "example" : "1000.0"
          },
          "qtdMaxParcelaCrediario" : {
            "type" : "string",
            "description" : "Quantidade máxima de parcelas do crediario.",
            "example" : "12"
          },
          "diaLimiteVendas" : {
            "type" : "string",
            "description" : "Dia limite para realização da venda. Caso a venda seja efetuada após esse dia, o vencimento da parcela será automaticamente definido para o mês seguinte.",
            "example" : "15"
          },
          "diaVencimento" : {
            "type" : "string",
            "description" : "Dia de vencimento da parcela.",
            "example" : "30"
          },
          "qtdDiasPagamento" : {
            "type" : "string",
            "description" : "Quantidade de dias para o pagamento da parcela.",
            "example" : "30"
          },
          "grupo" : {
            "$ref" : "#/components/schemas/Grupo"
          },
          "empresaConvenio" : {
            "$ref" : "#/components/schemas/EmpresaConvenio"
          },
          "sexo" : {
            "maxLength" : 1,
            "minLength" : 0,
            "type" : "string",
            "description" : "Sexo do cliente.",
            "example" : "M",
            "enum" : [ "M,F" ]
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          },
          "numeroRGIE" : {
            "maxLength" : 15,
            "minLength" : 0,
            "type" : "string",
            "description" : "Número do RG ou IE do cliente.",
            "example" : "1234567890"
          },
          "dataNascimento" : {
            "type" : "string",
            "description" : "Data de nascimento do cliente.",
            "format" : "date-time"
          },
          "celular" : {
            "maxLength" : 14,
            "minLength" : 0,
            "type" : "string",
            "description" : "Número de celular do cliente.",
            "format" : "(##)#####-####",
            "example" : "(48)90000-0000"
          }
        },
        "description" : "Objeto utilizado para informar o cliente de uma venda e-commerce no PDV."
      },
      "CrediarioIntegracaoDTO" : {
        "required" : [ "pagamentoRealizado", "qtdParcela", "valor", "vencimentos" ],
        "type" : "object",
        "properties" : {
          "pagamentoRealizado" : {
            "type" : "boolean",
            "description" : "Indica se o pagamento foi realizado.",
            "example" : true
          },
          "valor" : {
            "type" : "number",
            "description" : "Valor total pago no crediario.",
            "format" : "double",
            "example" : 100.0
          },
          "qtdParcela" : {
            "type" : "integer",
            "description" : "Número de parcelas do crediario.",
            "format" : "int32",
            "example" : 3
          },
          "vencimentos" : {
            "type" : "array",
            "description" : "Vencimentos manuais por parcela (yyyy-MM-dd), na ordem das parcelas. Se omitido, calculado pela configuração do cliente.",
            "example" : [ "2026-06-10", "2026-07-10", "2026-08-10" ],
            "items" : {
              "type" : "string",
              "description" : "Vencimentos manuais por parcela (yyyy-MM-dd), na ordem das parcelas. Se omitido, calculado pela configuração do cliente.",
              "example" : "[\"2026-06-10\",\"2026-07-10\",\"2026-08-10\"]"
            }
          }
        },
        "description" : "Objeto utilizado para informar a forma de pagamento CREDIARIO em uma venda e-commerce no PDV."
      },
      "DinheiroIntegracaoDTO" : {
        "required" : [ "pagamentoRealizado", "valor" ],
        "type" : "object",
        "properties" : {
          "pagamentoRealizado" : {
            "type" : "boolean",
            "description" : "Indica se o pagamento foi realizado.",
            "example" : true
          },
          "valor" : {
            "type" : "number",
            "description" : "Valor pago.",
            "format" : "double",
            "example" : 100.0
          },
          "valorTroco" : {
            "type" : "number",
            "description" : "Valor do troco.",
            "format" : "double",
            "example" : 10.0
          }
        },
        "description" : "Objeto utilizado para informar a forma de pagamento DINHEIRO em uma venda e-commerce no PDV."
      },
      "EnderecoEntregaIntegracaoDto" : {
        "required" : [ "bairro", "cidade", "estado", "logradouro" ],
        "type" : "object",
        "properties" : {
          "logradouro" : {
            "maxLength" : 40,
            "minLength" : 0,
            "type" : "string",
            "description" : "Logradouro.",
            "example" : "Rua das Flores"
          },
          "numero" : {
            "maxLength" : 5,
            "minLength" : 0,
            "type" : "string",
            "description" : "Número.",
            "example" : "123"
          },
          "complemento" : {
            "maxLength" : 20,
            "minLength" : 0,
            "type" : "string",
            "description" : "Complemento.",
            "example" : "Apto 101"
          },
          "referencia" : {
            "maxLength" : 256,
            "minLength" : 0,
            "type" : "string",
            "description" : "Referência.",
            "example" : "Ao lado do mercado público"
          },
          "bairro" : {
            "maxLength" : 35,
            "minLength" : 0,
            "type" : "string",
            "description" : "Bairro.",
            "example" : "Centro"
          },
          "cidade" : {
            "maxLength" : 50,
            "minLength" : 0,
            "type" : "string",
            "description" : "Cidade.",
            "example" : "São Paulo"
          },
          "estado" : {
            "maxLength" : 2,
            "minLength" : 0,
            "type" : "string",
            "description" : "Estado.",
            "example" : "SP"
          },
          "cep" : {
            "maxLength" : 8,
            "minLength" : 0,
            "type" : "string",
            "description" : "CEP.",
            "example" : "12345678"
          },
          "itinerario1" : {
            "maxLength" : 256,
            "minLength" : 0,
            "type" : "string",
            "description" : "Itinerário 01.",
            "example" : "Em frente à residência de número 245, próxima à Praça Central."
          },
          "itinerario2" : {
            "maxLength" : 256,
            "minLength" : 0,
            "type" : "string",
            "description" : "Itinerário 02.",
            "example" : "Ao lado do Supermercado Bom Preço, entrada pela Rua das Flores."
          },
          "itinerario3" : {
            "maxLength" : 256,
            "minLength" : 0,
            "type" : "string",
            "description" : "Itinerário 03.",
            "example" : "Nos fundos do prédio comercial Alfa Center, portão azul."
          },
          "itinerario4" : {
            "maxLength" : 256,
            "minLength" : 0,
            "type" : "string",
            "description" : "Itinerário 04.",
            "example" : "Próximo ao condomínio Vale Verde, após a rotatória principal."
          }
        },
        "description" : "Objeto utilizado para informar o endereço de entrega de uma venda e-commerce no PDV."
      },
      "PagamentoIntegracaoDto" : {
        "required" : [ "pagamentoRealizado", "valorParcela" ],
        "type" : "object",
        "properties" : {
          "pagamentoRealizado" : {
            "type" : "boolean",
            "description" : "Indica se o pagamento foi realizado.",
            "example" : true
          },
          "valorParcela" : {
            "minimum" : 0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "Valor da parcela.",
            "format" : "double",
            "example" : 100.0
          },
          "dataVencimento" : {
            "type" : "string",
            "description" : "Data de vencimento do pagamento.",
            "format" : "date-time"
          },
          "valorDinheiro" : {
            "type" : "number",
            "description" : "Valor em dinheiro.",
            "format" : "double",
            "example" : 50.0
          },
          "valorTroco" : {
            "type" : "number",
            "description" : "Valor do troco.",
            "format" : "double",
            "example" : 10.0
          },
          "numeroAutorizacao" : {
            "maxLength" : 12,
            "minLength" : 0,
            "type" : "string",
            "description" : "Número de autorização da transação.",
            "example" : "123456789012"
          }
        },
        "description" : "Objeto utilizado para informar a forma de pagamento de uma venda e-commerce no PDV."
      },
      "PagamentoMultiploIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "dinheiro" : {
            "$ref" : "#/components/schemas/DinheiroIntegracaoDTO"
          },
          "cartao" : {
            "type" : "array",
            "description" : "Lista de pagamentos em cartão.",
            "items" : {
              "$ref" : "#/components/schemas/CartaoVendaIntegracaoDTO"
            }
          },
          "pix" : {
            "$ref" : "#/components/schemas/PixIntegracaoDTO"
          },
          "crediario" : {
            "$ref" : "#/components/schemas/CrediarioIntegracaoDTO"
          }
        },
        "description" : "Objeto utilizado para informar as formas de pagamento de uma venda e-commerce no PDV."
      },
      "PixIntegracaoDTO" : {
        "required" : [ "codigo", "pagamentoRealizado", "valor" ],
        "type" : "object",
        "properties" : {
          "pagamentoRealizado" : {
            "type" : "boolean",
            "description" : "Indica se o pagamento foi realizado.",
            "example" : true
          },
          "codigo" : {
            "type" : "integer",
            "description" : "Código do tipo de pagamento PIX (Cartão).",
            "format" : "int32",
            "example" : 5
          },
          "valor" : {
            "type" : "number",
            "description" : "Valor pago no PIX.",
            "format" : "double",
            "example" : 100.0
          },
          "numeroAutorizacao" : {
            "type" : "integer",
            "description" : "Número da autorização.",
            "format" : "int32",
            "example" : 1234567890
          },
          "idTransacaoPIX" : {
            "type" : "string",
            "description" : "ID da transação PIX.",
            "example" : "1234567890"
          }
        },
        "description" : "Objeto utilizado para informar a forma de pagamento PIX em uma venda e-commerce no PDV."
      },
      "VendaEcommerceIntegracaoDto" : {
        "required" : [ "dataPedido", "numeroPedido", "valorTotalVenda" ],
        "type" : "object",
        "properties" : {
          "numeroPedido" : {
            "type" : "string",
            "description" : "Número do pedido no e-commerce que será vinculado à venda.",
            "example" : "PED-20240001"
          },
          "dataPedido" : {
            "type" : "string",
            "description" : "Data do pedido no e-commerce.",
            "format" : "yyyy-MM-dd'T'HH:mm:ssZ",
            "example" : "2020-01-01T23:59:59-0300"
          },
          "valorTotalVenda" : {
            "minimum" : 0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "Valor total do pedido, que será utilizado como total da venda.",
            "format" : "double",
            "example" : 100.0
          },
          "valorFrete" : {
            "type" : "number",
            "description" : "Valor do frete do pedido.",
            "format" : "double",
            "example" : 10.0
          },
          "entrega" : {
            "type" : "boolean",
            "description" : "Indica se é uma venda Tele-Entrega ou não.",
            "example" : true,
            "default" : false,
            "enum" : [ false ]
          },
          "enviarMaquinaPOS" : {
            "type" : "boolean",
            "description" : "Indica se deve enviar para a máquina POS.",
            "example" : true
          },
          "cliente" : {
            "$ref" : "#/components/schemas/ClienteEcommerceIntegracaoDto"
          },
          "enderecoEntrega" : {
            "$ref" : "#/components/schemas/EnderecoEntregaIntegracaoDto"
          },
          "pagamento" : {
            "$ref" : "#/components/schemas/PagamentoIntegracaoDto"
          },
          "produtos" : {
            "type" : "array",
            "description" : "Lista de produtos da venda.",
            "items" : {
              "$ref" : "#/components/schemas/VendaItemEcommerceIntegracaoDto"
            }
          },
          "vendedor" : {
            "$ref" : "#/components/schemas/VendedorEcommerceIntegracaoDto"
          },
          "pagamentoMultiplo" : {
            "$ref" : "#/components/schemas/PagamentoMultiploIntegracaoDto"
          }
        },
        "description" : "Objeto utilizado para gerar uma venda e-commerce no PDV."
      },
      "VendaItemEcommerceIntegracaoDto" : {
        "required" : [ "codigoProduto", "nomeProduto", "quantidade", "valorUnitario" ],
        "type" : "object",
        "properties" : {
          "codigoProduto" : {
            "type" : "integer",
            "description" : "Código do produto.",
            "format" : "int32",
            "example" : 12345
          },
          "nomeProduto" : {
            "maxLength" : 30,
            "minLength" : 0,
            "type" : "string",
            "description" : "Nome do produto.",
            "example" : "Produto Exemplo"
          },
          "quantidade" : {
            "minimum" : 0,
            "exclusiveMinimum" : true,
            "type" : "integer",
            "description" : "Quantidade do produto.",
            "format" : "int32",
            "example" : 2
          },
          "valorUnitario" : {
            "minimum" : 0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "Valor unitário do produto.",
            "format" : "double",
            "example" : 50.0
          },
          "valorDesconto" : {
            "minimum" : 0.0,
            "type" : "number",
            "description" : "Valor unitário do desconto aplicado ao produto.",
            "format" : "double",
            "example" : 0.5
          }
        },
        "description" : "Item da venda e-commerce no PDV."
      },
      "VendedorEcommerceIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "codigo" : {
            "maxLength" : 9,
            "type" : "integer",
            "description" : "Código do vendedor.",
            "format" : "int32",
            "example" : 123
          },
          "nome" : {
            "maxLength" : 40,
            "minLength" : 3,
            "type" : "string",
            "description" : "Nome do vendedor.",
            "example" : "Maria"
          }
        },
        "description" : "Objeto utilizado para informar o vendedor de uma venda e-commerce no PDV."
      },
      "CondicaoPagamento" : {
        "type" : "object",
        "properties" : {
          "codigo" : {
            "type" : "integer",
            "description" : "Código da condição de pagamento.",
            "format" : "int32",
            "example" : 30
          },
          "nome" : {
            "type" : "string",
            "description" : "Nome da condição de pagamento.",
            "example" : "30 dias"
          }
        },
        "description" : "Condição de pagamento da venda."
      },
      "DadosEntregaDto" : {
        "type" : "object",
        "properties" : {
          "identificacao" : {
            "type" : "string"
          },
          "nome" : {
            "type" : "string"
          },
          "cep" : {
            "type" : "string"
          },
          "endereco" : {
            "type" : "string"
          },
          "numero" : {
            "type" : "string"
          },
          "complemento" : {
            "type" : "string"
          },
          "bairro" : {
            "type" : "string"
          },
          "cidade" : {
            "type" : "string"
          },
          "uf" : {
            "type" : "string"
          },
          "fone" : {
            "type" : "string"
          },
          "itinerario" : {
            "type" : "string"
          }
        }
      },
      "VendaIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "numeroNota" : {
            "type" : "integer",
            "description" : "Número da venda/nota.",
            "format" : "int32",
            "example" : 123456
          },
          "numeroNotaOrigem" : {
            "type" : "integer",
            "description" : "Número da nota de origem (para devoluções/cancelamentos).",
            "format" : "int32",
            "nullable" : true,
            "example" : 123000
          },
          "tipoCancelamento" : {
            "type" : "string",
            "description" : "Tipo de cancelamento: D=Devolução, E=Estorno.",
            "nullable" : true,
            "example" : "D",
            "enum" : [ "D", "E" ]
          },
          "dataEmissao" : {
            "type" : "string",
            "description" : "Data de emissão em formato ISO 8601.",
            "format" : "date-time"
          },
          "horaEmissao" : {
            "type" : "string",
            "description" : "Hora de emissão em formato ISO 8601.",
            "format" : "date-time"
          },
          "codigoVendedor" : {
            "type" : "integer",
            "description" : "Código do vendedor.",
            "format" : "int32",
            "example" : 789
          },
          "codigoCliente" : {
            "type" : "integer",
            "description" : "Código do cliente.",
            "format" : "int32",
            "example" : 456
          },
          "entrega" : {
            "type" : "boolean",
            "description" : "Indica se possui entrega vinculada.",
            "example" : true
          },
          "pagamentoNaEntrega" : {
            "type" : "boolean",
            "description" : "Indica se o pagamento é na entrega.",
            "example" : true
          },
          "condicaoPagamento" : {
            "$ref" : "#/components/schemas/CondicaoPagamento"
          },
          "vlrTroco" : {
            "type" : "number",
            "description" : "Valor do troco da venda.",
            "format" : "double",
            "example" : 5.5
          },
          "numeroCupomFiscal" : {
            "type" : "integer",
            "description" : "Número do cupom fiscal.",
            "format" : "int32",
            "example" : 987654
          },
          "numeroNotaFiscal" : {
            "type" : "integer",
            "description" : "Número da nota fiscal (NF).",
            "format" : "int32",
            "example" : 7654321
          },
          "itens" : {
            "type" : "array",
            "description" : "Itens da venda.",
            "items" : {
              "$ref" : "#/components/schemas/VendaItemIntegracaoDto"
            }
          },
          "xmlNfe" : {
            "type" : "string",
            "description" : "Conteúdo do XML da NF-e (quando disponível).",
            "nullable" : true,
            "example" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?><nfeProc>...</nfeProc>"
          },
          "codParceiro" : {
            "type" : "integer",
            "description" : "Código do parceiro (quando aplicável).",
            "format" : "int32",
            "nullable" : true,
            "example" : 1001
          },
          "codFilial" : {
            "type" : "integer",
            "description" : "Código da filial.",
            "format" : "int32",
            "nullable" : true,
            "example" : 1
          },
          "vendaIfood" : {
            "type" : "boolean",
            "description" : "Indica se a venda é do iFood.",
            "nullable" : true,
            "example" : false
          },
          "vendaEcommerce" : {
            "type" : "string",
            "description" : "Indicador de venda no e-commerce.",
            "nullable" : true,
            "example" : "S"
          },
          "codEcommerce" : {
            "type" : "integer",
            "description" : "Código da venda no e-commerce.",
            "format" : "int32",
            "nullable" : true,
            "example" : 5555
          },
          "serNotaFiscal" : {
            "type" : "string",
            "description" : "Série da nota fiscal.",
            "nullable" : true,
            "example" : "1"
          },
          "modeloVenda" : {
            "type" : "string",
            "description" : "Modelo da venda.",
            "nullable" : true,
            "example" : "55"
          },
          "dadosEntrega" : {
            "$ref" : "#/components/schemas/DadosEntregaDto"
          },
          "entregador" : {
            "type" : "string",
            "description" : "Código e nome do entregador da venda.",
            "example" : "10 - Nome do Entregador"
          },
          "telefoneEntregador" : {
            "type" : "string",
            "description" : "Telefone do entregador.",
            "example" : "(48)99999-9999"
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "Dados de integração de venda."
      },
      "VendaItemIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "codigoProduto" : {
            "type" : "integer",
            "description" : "Código reduzido do produto.",
            "format" : "int32",
            "example" : 12345
          },
          "codigoVendedor" : {
            "type" : "integer",
            "description" : "Código do vendedor associado ao item.",
            "format" : "int32",
            "example" : 789
          },
          "quantidadeProdutos" : {
            "type" : "integer",
            "description" : "Quantidade de produtos no item.",
            "format" : "int32",
            "example" : 2
          },
          "valorTotalBruto" : {
            "type" : "number",
            "description" : "Valor total bruto do item (2 casas decimais).",
            "example" : 199.9
          },
          "valorTotalLiquido" : {
            "type" : "number",
            "description" : "Valor total líquido do item (2 casas decimais).",
            "example" : 189.9
          },
          "valorTotalCusto" : {
            "type" : "number",
            "description" : "Valor total de custo do item (2 casas decimais).",
            "example" : 150.0
          },
          "parceiro" : {
            "type" : "boolean",
            "description" : "Indica se o item é de parceiro.",
            "example" : false
          },
          "codigoMedico" : {
            "type" : "integer",
            "description" : "Código do médico vinculado ao item, quando aplicável.",
            "format" : "int32",
            "nullable" : true,
            "example" : 321
          },
          "codBarras" : {
            "type" : "integer",
            "description" : "Código de barras do produto.",
            "format" : "int64",
            "nullable" : true,
            "example" : 7894900011517
          },
          "numSequencial" : {
            "type" : "integer",
            "description" : "Número sequencial do item na venda.",
            "format" : "int32",
            "nullable" : true,
            "example" : 1
          },
          "prcComissao" : {
            "type" : "number",
            "description" : "Percentual de comissão aplicado ao item.",
            "format" : "double",
            "nullable" : true,
            "example" : 5.0
          },
          "vlrDesconto" : {
            "type" : "number",
            "description" : "Valor de desconto em moeda.",
            "format" : "double",
            "nullable" : true,
            "example" : 10.0
          },
          "vlrUnitario" : {
            "type" : "number",
            "description" : "Valor unitário do produto.",
            "format" : "double",
            "nullable" : true,
            "example" : 99.95
          },
          "vlrCustoAquisicao" : {
            "type" : "number",
            "description" : "Custo de aquisição do produto (4 casas decimais).",
            "nullable" : true,
            "example" : 75.1234
          },
          "vlrCustoProduto" : {
            "type" : "number",
            "description" : "Custo cadastrado do produto.",
            "format" : "double",
            "nullable" : true,
            "example" : 75.12
          },
          "idVenda" : {
            "type" : "string",
            "description" : "Identificador calculado da venda (hash MD5).",
            "nullable" : true,
            "example" : "9f6d5c0b2a3e4d1f8c7b6a5e4d3c2b1a"
          },
          "tabelaDesconto" : {
            "type" : "string",
            "description" : "Nome da tabela de desconto aplicada.",
            "nullable" : true,
            "example" : "PROMO_VERAO"
          },
          "prcDesconto" : {
            "type" : "number",
            "description" : "Percentual de desconto aplicado.",
            "format" : "double",
            "nullable" : true,
            "example" : 10.0
          },
          "prcDescontoMax" : {
            "type" : "number",
            "description" : "Percentual máximo de desconto permitido.",
            "format" : "double",
            "nullable" : true,
            "example" : 15.0
          },
          "vendaComDesconto" : {
            "type" : "number",
            "description" : "Valor da venda considerando o desconto (4 casas decimais).",
            "nullable" : true,
            "example" : 189.5678
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "Item de venda para integração."
      },
      "VendasVendedorIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "dataEmissao" : {
            "type" : "string",
            "description" : "Data de emissão em formato ISO 8601.",
            "format" : "date-time"
          },
          "codigoVendedor" : {
            "type" : "integer",
            "description" : "Código do vendedor.",
            "format" : "int32",
            "example" : 789
          },
          "quantidadeItens" : {
            "type" : "integer",
            "description" : "Quantidade de itens vendidos.",
            "format" : "int32",
            "example" : 50
          },
          "quantidadeAtendimentos" : {
            "type" : "integer",
            "description" : "Quantidade de atendimentos realizados.",
            "format" : "int32",
            "example" : 10
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "Dados de vendas por vendedor para integração."
      },
      "VendedorIntegracaoDto" : {
        "type" : "object",
        "properties" : {
          "codigo" : {
            "type" : "integer",
            "description" : "Código do vendedor.",
            "format" : "int32",
            "example" : 123
          },
          "nome" : {
            "type" : "string",
            "description" : "Nome completo do vendedor.",
            "example" : "Maria Silva"
          },
          "numeroCpf" : {
            "type" : "string",
            "description" : "CPF do vendedor, somente números.",
            "example" : "12345678901"
          },
          "cep" : {
            "type" : "string",
            "description" : "CEP do endereço do vendedor.",
            "nullable" : true,
            "example" : "88000000"
          },
          "email" : {
            "type" : "string",
            "description" : "E-mail do vendedor.",
            "nullable" : true,
            "example" : "maria.silva@exemplo.com"
          },
          "ativo" : {
            "type" : "boolean",
            "description" : "Indica se o vendedor está ativo.",
            "example" : true
          },
          "dataAlteracao" : {
            "type" : "string",
            "description" : "Data da última alteração do registro.",
            "format" : "date-time"
          }
        },
        "description" : "Dados de integração do vendedor."
      }
    },
    "securitySchemes" : {
      "bearerAuth" : {
        "type" : "http",
        "in" : "header",
        "scheme" : "bearer",
        "bearerFormat" : "JWT"
      }
    }
  }
}