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).
Agente de Sincronismo
- Realiza autenticação (Ver mais em Autenticação)
- Retorna um Token para ser enviado no header de comunicação que comprava a válidade e autenticidade dos dados.
- Envia para o NFS os dados a serem sincronizados e o token no header.
- 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
- Retorna um JSON com a mensagem num formato padronizado de sucesso/validação/erro
Agente de Integração
- Realiza autenticação (Ver mais em Autenticação)
- Retorna um Token para ser enviado no header de comunicação que comprava a válidade e autenticidade dos dados.
- Envia para o NFS um filtro em JSON para obter os dados e o token no header.
- 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
- Retorna um JSON com um array com os dados.
Programas externos para tests
Para nossos testes e exemplos estamos usando o curl
Também possível usar:
Entry Point
Todo o processo de Sincronismo e Integração é configurado por entry points do tipo JSON
Tabela de Configuração Principais dos entry points
Coluna | Valor | Descrição |
---|---|---|
FILE_OR_DOMAIN | API | Para integração e sincronismo sempre será esse valor. |
ACTION | sync ou integration | sync 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. |
TABELA | TABELA | Nome da Tabela no NFS, se é app_operacao então é a tabela OPERACAO, igual nos entry points que são criados hoje. |
CODE | CODIGO_JSON | Código JSON de configuração, serão explicados na parte de sincronismo e integração |
TYPE | JSON | O 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.