Produto: | TOTVS Varejo Franquias e Redes |
---|---|
Linha de Produto: | Franquias e Redes |
Segmento: | Varejo |
Módulo: | Integrações Live |
Função: | Conciliar notas com API Boticário |
País: | Brasil |
Ticket: | |
Requisito/Story/Issue (informe o requisito relacionado) : | DVARLIVEBT-9151 |
Criar uma nova interface de integração que permita conciliar as notas fiscais cadastradas no Live com uma API disponibilizada pelo time Boticário.
Essa integração deve respeitar o modelo vigente em outras interfaces já existentes.
Foi desenvolvida uma nova integração para o TaskManager, responsável por conciliar as notas fiscais do Live com uma API disponibilizada pelo Boticário.
A cada 15 minutos, o fluxo dessa integração é iniciado. No primeiro passo, é feito um filtro na tabela "NotaFiscal", de modo a selecionar as notas que cumpram os seguintes critérios:
Tipo de Documento Fiscal = 1 - Entrada - Compra
Data de Movimentação = Data do Dia (Movimentação)
Nota fiscal ativa
Com esses dados selecionados, a integração "710 - IntegraNotaFiscal", serializa as informações: Unidade de Negócio, Número da Nota Fiscal e Data de Emissão, de cada nota em formato json, atendendo o seguinte padrão:
{
"franchiseCode": "0000000000",
"invoiceNumber": "000000000",
"invoiceEmissionDate": "2023-01-01",
"invoiceStatus": "CONCILIAR"
}
E respeitando as seguintes regras:
franchiseCode - Código da Loja, a API vai completar com 0 a esquerda até 10 posições. Somente números.
invoiceNumber - Número da Nota, a API vai completar com 0 a esquerda até 9 posições. Somente números.
invoiceEmissionDate - Data de emissão, deve ser enviada no formato "YYYY-MM-DD".
invoiceStatus - 'CONCILIAR' ou 'RECUSAR' a API interpreta e envia para a RCF.
O próximo passo, é gerar um Código de Autenticação via API "jwt-token" do Boticário, que vai ser utilizado nas próximas etapas. Nessa requisição informamos o usuário e senha criados especificamente para o sistema PracticoLive.
O último passo da integração é enviar essas informações, em forma de requisição, para o Endpoint "/invoice" da API "franchising-invoice-update-integration-api".
Se o resultado dessa requisição for positivo, é criado um novo Ticket, na tabela Ticket, com seu conteúdo preenchido com o Json da requisição + Json de resposta (sucesso), na tabela ConteudoTicket.
Caso a requisição retorne um erro, este será logado na tabela LogIntegracao com informações úteis para auxiliar a analise do caso. Além disso, em caso de erro, essa nota será movida para fila de reprocessamento da integração 1160, onde será reprocessada de acordo com as configurações vigentes na tabela "InterfaceIntegracao".
Todo controle de envio e log's segue o padrão vigente das interfaces anteriores.
Para melhor gerenciamento dos endereços e credenciais utilizados para interagir com os ambientes das API's do Boticário, foi criado no arquivo app.config, variáveis de configuração que permitem que os apontamentos sejam feitos de maneira mais pratica e segura. São essas:
urlAPIToken - Endereço da API que gera o Token necessário para consumir a API de Notas.
client_id - Campo de identificação da API de Token.
secret_id - Campo de senha da API de Token.
urlAPINotas - Endereço da API que concilia as Notas Fiscais.