A API REST é uma interface de comunicação para que o seus Aplicativos possam se integrar diretamente com o Noov através de requisições HTTP, permitindo envio e consulta de dados de Documentos Fiscais Eletrônicos.


Os recursos disponíveis para a API REST são muitos. Você pode enviar um documento XML de uma NFe ou CTe, pode obter dados desses documentos, como detalhamento completo ou resumido dos Produtos de uma NFe, Eventos Fiscais relacionados, Total do Frete de um CTe ou Dados das Pessoas Envolvidas.
Toda a documentação sobre a API REST do Noov, está disponível para consulta.
Acesse: http://rest.noov.com.br/docs/index.html


Autenticando na API Rest


Seguem as instruções para realizar a autenticação.


POST https://rest.noov.com.br/v1/auth/login


Para a requisição HTTP, deve-se preencher os seguintes atributos:

apiKey ----------> API Key (Chave de API) do Aplicativo que deseja autenticar

timestamp ----->  O timestamp do momento atual

secret -----------> Um hash gerado conforme descrito abaixo


Ex:

{
  "apiKey" : "50e3c8d7-72b3-4dfb-8f95-3fa191683720",
  "timestamp" : 1518811755234,
  "secret" : "f079469296bc7e9b3d29fd9a9b0576fc237ed3d212b8271cf3fd65d7c4f1fd1b"
}


Para gerar o hash do atributo Secret, você deve realizar a concatenação (nome da aplicação + e-mail do desenvolvedor + timestamp) a partir do algoritmo HMAC_SHA256, utilizando a API Secret da aplicação em questão.

Ex:
NomeAplicativoNomeUsuario@email.com.br1462221821899

❗ Na requisição de autenticação, o atributo Secret não é o API Secret da aplicação e sim o hash gerado de acordo com os passos acima.

O API Secret é um código secreto também gerado aleatoriamente. Esse código é usado no momento da autenticação da aplicação para geração de um hash que valida os dados, estabelecendo uma assinatura para a requisição de autenticação.

Feita a autenticação, você receberá um Token que será utilizado para realizar o Envio dos Documentos.
Esse token será a sua autorização para comunicação com o nosso servidor.

Por exemplo:
Exemplo de Resposta HTTP 200 OK

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 190
{
  "token" : "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiI1MGUzYzhkNy03MmIzLTRkZmItOGY5NS0zZmExOTE2ODM3MjAiLCJpYXQiOjE1MTg4MTE3NTUsImV4cCI6MTUxODgxMzU1NX0.0B4eJouaWhCu92f_U0sZH4_wMUivLuS6eiazavoLyu4"
}


OBS: 

O Token de autenticação expira em 30 minutos. O aplicativo que deseja ficar continuamente consumindo recursos deve, de tempos em tempos, requisitar um novo token.

O novo token deve ser requisitado antes do token atual expirar. Caso contrário, será necessário realizar o procedimento de login novamente.

O token deve ser revalidado nos 10 últimos minutos antes de sua expiração.

Para mais detalhes, segue nossa documentação sobre a Autenticação:
http://rest.noov.com.br/docs/index.html#app-auth