jun
08
2021

Autenticação API Rest

8 de junho de 2021

Índice

-

Antes de iniciar o desenvolvimento da autenticação com o Invoicy na integração através da API Rest, a melhor alternativa para entendimento do processo de autenticação é a geração do token no padrão JWT (JSON Web Token) (RFC – 7519) de forma manual.

Para isso, acesse o portal JWT(https://jwt.io/) e configure o painel Decoded ajustando os grupos Payload e Verify Signature.

Entendendo o grupo Payload:

  • “iat”: campo numérico que deve conter a data/hora atual no fuso zero e em formato timestamp;
  • “exp”: campo numérico que deve conter a data/hora atual + 120 segundos no fuso zero e em formato timestamp;
  • “sub”: é uma string com o CNPJ da empresa emissora ou a chave de parceiro. Quando for gerado um token para cadastro/atualização de empresa deverá conter a chave de parceiro, no restante das situações será utilizado o CNPJ da empresa;
  • “partnerKey”: é uma string com a chave de parceiro fornecida pelo InvoiCy. Quando for gerado um token para cadastro de empresa, não envie essa informação.

A geração da data/hora em timestamp pode ser realizada no portal Epoch Converter (https://www.epochconverter.com/) conforme imagem:

Entendendo o grupo Verify Signature:

No campo em que é permitida a edição, informar a chave de acesso da empresa. A chave de acesso é a chave privada fornecida pelo InvoiCy para cada empresa cadastrada. Quando for gerado um token para cadastro de empresa deverá conter a chave de acesso do parceiro. Ambas informações, chave de parceiro e chave de acesso da empresa, podem ser localizadas acessando no Invoicy a tela Painel de controle > Dados da empresa.

Obs: para consulta de empresa utilizar a chave de acesso da empresa e não a chave de parceiro.

Com o preenchimento destas informações será gerado no painel Encoded o JWT a ser enviado ao Invoicy na opção Gerar Token na ferramenta Postman, utilizando-se do projeto exemplo (https://documenter.getpostman.com/view/9193875/SztEanQL?version=latest#6bf035dc-7680-439e-baab-884293b1421e).

Importante! Após a geração do JWT o sistema parceiro terá 120 segundos para envio do código ao Invoicy no campo “token”, tempo de expiração informado no parâmetro “exp”.

Com o envio do JWT serão retornados o accessToken e o refreshToken que serão utilizados para autenticação com o Invoicy no processo de envio dos documentos.

Para mais detalhes da utilização do accessToken e refreshToken confira o artigo accessToken e refreshToken.