01. DADOS GERAIS

Produto:

TOTVS Varejo Gestão Fiscal

Linha de Produto:

Linha Fiscal Cloud 

Segmento:

Varejo 

Módulo:DOCUMENTO FISCAL
Função:EMISSÃO
Ticket:
Requisito/Story/Issue (informe o requisito relacionado) :DVTPFRM-630


02. 
SITUAÇÃO/REQUISITO

Realizar a migração das URLs das prefeituras da collection "prefeituras" no MongoDB para a tabela "provedores" no Postgres, estruturando as URLs de emissão e recepção separadamente e ajustando os conectores existentes para buscar essas informações da nova estrutura.

03. SOLUÇÃO

A migração foi efetuada para que, ao utilizar a API Invoicy, os dados de URL do provedor não sejam mais obtidos a partir da collection prefeituras do MongoDB, mas sim da tabela provedores do mesmo banco. Essa mudança elimina a necessidade de inserir novos documentos toda vez que um novo município que utiliza o provedor Invoicy for implementado.

A partir dessa alteração, é necessário apenas o cadastro padrão dos dados de conexão da prefeitura e a associação do idProvedorEmissao ao ID correspondente ao provedor Invoicy.

Além disso, a API de provedores foi melhorada para que suas funções sejam mais bem definidas.

Endpoints da API ProvedorController

1. Consulta de Provedores Cadastrados

URL: /provedor

Método HTTP: GET

Descrição: Retorna uma lista de todos os provedores cadastrados.

Autenticação: Requer token JWT no cabeçalho Authorization.

Resposta de Sucesso: 200 OK

Exemplo de Corpo da Resposta:

[

{

"idProvedor": 1,

"nome": "NOME_PROVEDOR",

"tipo": "TIPO_PROVEDOR",

"intervaloBusca": 1,

"urls": [

{

"tipo": "TIPO_URL",

"url": "URLPROVEDOR.COM.BR",

"ambiente": "homolog"

}

]

},

{

"idProvedor": 2,

"nome": "NOME_PROVEDOR_2",

"tipo": "TIPO_PROVEDOR",

"intervaloBusca": 1,

"urls": [

{

"tipo": "TIPO_URL",

"url": "URLPROVEDOR2.COM.BR",

"ambiente": "homolog"

}

]

}

]

2. Consulta de Provedor por ID

URL: /provedor/{id}

Método HTTP: GET

Descrição: Retorna os detalhes de um provedor específico pelo seu ID.

Parâmetros:

id (Path Variable): ID do provedor a ser consultado.

Autenticação: Requer token JWT no cabeçalho Authorization.

Resposta de Sucesso: 200 OK

Exemplo de Corpo da Resposta:

{

"idProvedor": 1,

"nome": "NOME_PROVEDOR",

"tipo": "TIPO_PROVEDOR",

"intervaloBusca": 1,

"urls": [

{

"tipo": "TIPO_URL",

"url": "URLPROVEDOR.COM.BR",

"ambiente": "homolog"

}

]

}

3. Criar Novo Provedor

URL: /provedor

Método HTTP: POST

Descrição: Cria um novo provedor.

Parâmetros:

ProvedorDTO (Request Body): Dados do novo provedor.

{

"nome": "NOME_PROVEDOR",

"tipo": "TIPO_PROVEDOR",

"intervaloBusca": 1,

"urls": [

{

"tipo": "TIPO_URL",

"url": "URLPROVEDOR.COM.BR",

"ambiente": "homolog"

}

]

}

Autenticação: Requer token JWT no cabeçalho Authorization.

Resposta de Sucesso: 200 OK

Exemplo de Corpo da Resposta:

{

"idProvedor": 17,

"nome": "NOME_PROVEDOR",

"tipo": "TIPO_PROVEDOR",

"intervaloBusca": 1,

"urls": [

{

"tipo": "TIPO_URL",

"url": "URLPROVEDOR.COM.BR",

"ambiente": "homolog"

}

]

}

4. Atualizar Dados de um Provedor

URL: /provedor/{id}

Método HTTP: PUT

Descrição: Atualiza os dados de um provedor existente.

Parâmetros:

id (Path Variable): ID do provedor a ser atualizado.

ProvedorDTO (Request Body): Dados atualizados do provedor.

{

"nome": "NOME_PROVEDOR_ATUALIZADO",

"tipo": "TIPO_PROVEDOR",

"intervaloBusca": 1,

"urls": [

{

"tipo": "TIPO_URL",

"url": "URLPROVEDOR.COM.BR",

"ambiente": "homolog"

}

]

}

Autenticação: Requer token JWT no cabeçalho Authorization.

Resposta de Sucesso: 200 OK

Exemplo de Corpo da Resposta:

{

"idProvedor": 1,

"nome": "NOME_PROVEDOR_ATUALIZADO",

"tipo": "TIPO_PROVEDOR",

"intervaloBusca": 1,

"urls": [

{

"tipo": "TIPO_URL",

"url": "URLPROVEDOR.COM.BR",

"ambiente": "homolog"

}

]

}

04. DEMAIS INFORMAÇÕES

Não se aplica

05. ASSUNTOS RELACIONADOS

        Não se aplica