jun
10
2020

Integração via API Rest para emissão de documentos

10 de junho de 2020

Índice

-

O InvoiCy permite que os clientes façam a integração via API Rest para efetuar o envio de documentos, para os módulos NF-e/NFC-e, CT-e, MDF-e e NFS-e. Além da emissão para esses módulos, também é possível efetuar o envio de eventos, inutilização, descarte e consultas de documentos, e ainda realizar o cadastro de novas empresas e a exportação de documentos.

Para realizar a integração com as APIs o primeiro passo é se autenticar para que o InvoiCy possa garantir a segurança da origem da comunicação. Para isso, será necessário gerar um token de autenticação no padrão JWT (RFC – 7519), e enviar para a rota {{host}}/oauth2/invoicy/auth. Abaixo é detalhado como deverá ser gerado esse token:

  • O host varia por ambiente sendo homologação https://apibrhomolog.invoicy.com.br e produção https://apibr.invoicy.com.br/.
  • O parâmetro “iat” é um numérico com a data de criação do token, deve ser informado a data/hora atual no fuso zero, desde a Era Unix. 
  • O parâmetro “exp” é um numérico com a data de expiração do token, nele deve ser informado a data/hora atual no fuso zero, desde Era Unix, mais 120 segundos, resultando o tempo de expiração no formato timestamp. O tempo de expiração do token deverá ser no máximo de 120 segundos. 
  • O parâmetro “sub” é uma string com o CNPJ da empresa ou a chave de parceiro. Quando for gerado um token para cadastro/atualização de empresa deverá conter a chave de parceiro nesse caso, no restante das situações será utilizado o CNPJ da empresa. Mas atenção, quando for gerado um token para integração com a extensão InvoiCy Tax Template, o parâmetro “sub” também deve ser preenchido com a chave de parceiro.
  • O parâmetro “partnerKey” é uma string com a chave de parceiro fornecida pelo InvoiCy. Quando for gerado um token para cadastro de empresa, não enviar essa informação. Quando for gerado um token para integração com a extensão InvoiCy Tax Template, o parâmetro “partnerKey” também não deve ser informado.
  • 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 nesse caso. 
  • Obs: para consulta de empresa utilizar o token com o CNPJ e não chave de parceiro.

Tendo criado o primeiro token JWT, deverá ser enviado para a API de autenticação para obter o refreshToken e accessToken. Avaliar o exemplo “Gerar Token” que está na documentação do Postman descrita abaixo.

refreshToken será utilizado para criar um novo accessToken válido quando o mesmo expirar, a cada 1 hora. Quando expirar o refreshToken após 24 horas, será necessário realizar o mesmo processo descrito acima para obter um novo token válido. Avaliar o exemplo “Refresh Token” que está na documentação do Postman descrita abaixo.

accessToken deverá ser enviado no header “Authorization” em todas as requisições de documentos ou empresa.

Artigos relacionados:

Para facilitar seu entendimento criamos uma documentação com todas as integração no Postman, clique aqui para acessá-la.

Ao clicar na opção LANGUAGE, você pode selecionar a linguagem desejada para gerar exemplos de integração, onde será montado o código com a requisição de acordo com a linguagem selecionada.

IMPORTANTE: os arquivos enviados na integração Rest seguem os layouts de emissão específicos de cada módulo do InvoiCy, a estrutura desses campos não sofreu nenhuma alteração. Para facilitar seu entendimento, disponibilizamos abaixo o layout de envio de cada módulo:

Para o cadastro de empresas também deve-se seguir o layout de integração:

https://mostbetsitez.com, https://mostbetaz2.com, https://1xbet-az24.com, https://vulkanvegas-bonus.com, https://mostbetcasinoz.com, https://mostbet-azerbaycanda.com, https://mostbet-az24.com, https://vulkan-vegas-spielen.com, https://1winaz888.com, https://vulkan-vegas-24.com, https://1xbetaz3.com, https://1xbet-azerbaycanda.com, https://1xbetsitez.com, https://mostbet-royxatga-olish24.com, https://mostbet-azerbaycan-24.com, https://mostbet-uzbekistons.com, https://mostbet-azer.xyz, https://pinup-bet-aze.com, https://1xbet-azerbaycanda24.com, https://1xbet-az-casino2.com, https://1xbetaz777.com, https://mostbet-qeydiyyat24.com, https://mostbetuztop.com, https://1win-az-777.com, https://pinup-azerbaycanda24.com, https://1xbet-az-casino.com, https://mostbet-az.xyz, https://vulkanvegaskasino.com, https://mostbet-azerbaycanda24.com, https://pinup-qeydiyyat24.com, https://1win-qeydiyyat24.com, https://vulkan-vegas-888.com, https://mostbetuzbekiston.com, https://1xbetkz2.com, https://mostbet-ozbekistonda.com, https://mostbet-kirish777.com, https://mostbetsportuz.com, https://mostbettopz.com, https://vulkan-vegas-erfahrung.com, https://1xbetaz888.com, https://mostbet-oynash24.com, https://mostbetaz777.com, https://kingdom-con.com, https://1win-azerbaycanda24.com, https://mostbet-uz-24.com, https://vulkan-vegas-kasino.com, https://1x-bet-top.com, https://most-bet-top.com, https://mostbet-azerbaijan2.com, https://1winaz777.com, https://1xbetaz2.com, https://vulkan-vegas-casino2.com, https://vulkanvegasde2.com, https://vulkan-vegas-bonus.com, https://1xbetcasinoz.com, https://pinup-azerbaijan2.com, https://mostbetuzonline.com, https://1win-azerbaijan2.com, https://pinup-az24.com, https://1win-az24.com, https://1xbet-azerbaijan2.com, https://pinup-bet-aze1.com, https://1win-azerbaijan24.com, https://mostbet-az-24.com, https://mostbet-azerbaijan.xyz