Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

NFS API

O objetivo da NFS Api é fornecer uma API configurável do formato dos dados do NFS, então é possível realizar o SINCRONISMO onde obtém os dados em JSON e transforma para a ESTRUTURA DO NFS inserindo ou atualizado os dados. A mesma coisa acontece na INTEGRAÇÃO que a partir de um FILTRO obtém os dados no formato do NFS e transforma para JSON.

Fluxo da API

Nessa sessão vamos mostrar o fluxo dos dados, que são praticamente dois a Sincronismo (Dados que vem para o NFS) e Integração (Dados gerados dentro do NFS e disponibilizados).

nfs_api_flow.png

Agente de Sincronismo

  1. Realiza autenticação (Ver mais em Autenticação)
  2. Retorna um Token para ser enviado no header de comunicação que comprava a válidade e autenticidade dos dados.
  3. Envia para o NFS os dados a serem sincronizados e o token no header.
  4. Etapa que acontece dentro do NFS representada de maneira macro: 4.1. Recebe os dados no formato JSON 4.2. Busca pelo EntryPoint que tem o de/para das chaves do json para as colunas do NFS 4.3. Após realizar o de/para os dados ficam no tipo que é legível para o NFS 4.4. Insere/Atualiza os dados no banco de dados 4.5. Retorna o resultado no formato do NFS 4.6. Retorna o uma mensagem de sucesso/validação/erro para camada de apresentação da API
  5. Retorna um JSON com a mensagem num formato padronizado de sucesso/validação/erro

Agente de Integração

  1. Realiza autenticação (Ver mais em Autenticação)
  2. Retorna um Token para ser enviado no header de comunicação que comprava a válidade e autenticidade dos dados.
  3. Envia para o NFS um filtro em JSON para obter os dados e o token no header.
  4. Etapa que acontece dentro do NFS representada de maneira macro: 4.1. Recebe os dados no formato JSON 4.2. Busca pelo EntryPoint que tem o de/para das chaves do json para as colunas do NFS 4.3. Após realizar o de/para os dados ficam no tipo que é legível para o NFS 4.4. Insere/Atualiza os dados no banco de dados 4.5. Retorna o resultado no formato do NFS 4.6. Retorna o uma mensagem de sucesso/validação/erro para camada de apresentação da API
  5. Retorna um JSON com um array com os dados.

Programas externos para tests

Para nossos testes e exemplos estamos usando o curl

Como usar curl no Windows

Também possível usar:

Entry Point

Todo o processo de Sincronismo e Integração é configurado por entry points do tipo JSON

dbeaver_entrypoint_doc_api.png

Tabela de Configuração Principais dos entry points

ColunaValorDescrição
FILE_OR_DOMAINAPIPara integração e sincronismo sempre será esse valor.
ACTIONsync ou integrationsync são para configurações de sincronismo e integration para as de integração. Como pode ter tabelas de nomes iguais foi criado essas duas actions.
TABELATABELANome da Tabela no NFS, se é app_operacao então é a tabela OPERACAO, igual nos entry points que são criados hoje.
CODECODIGO_JSONCódigo JSON de configuração, serão explicados na parte de sincronismo e integração
TYPEJSONO Tipo hoje é sempre em JSON

Sempre testar o código JSON para verificar se ele é válido isso pode te ajudar a ganhar tempo onde iria perder procurando porque uma configuração não esteja funcionando. Recomendo o Json Lint.