Gerando o código Hash no formato MD5

Última atualização em: 17 de novembro, 2017

 

Com o intuito de aprimorar a segurança na utilização de Web Service no InvoiCy, foi elaborado um método utilizando uma chave de acesso no formato MD5. Este código deve ser gerado e informado em cada chamada ao Web Service. Abaixo listamos alguns exemplos de como gerar este código. As informações que você deverá utilizar para gerar a chave de acesso em MD5 são:

  • Utilizar a chave de acesso gerada pelo InvoiCy no momento do cadastro de sua empresa (para verificar a chave de acesso da sua empresa consulte o artigo Verificando a chave de acesso da empresa), concatenado com todo o conteúdo contido dentro do grupo de tag <Envio>. Copie a chave, mais todo o conteúdo (inclusive as tags).

Ex: 9099628c5a2e63d56a6c058c34e2b46f<Envio><ModeloDocumento>NFe(….)</Envio>

  • No momento da geração do código, as informações do documento fiscal que constam dentro da tag <Documento> ainda não podem estar convertidas para texto.
  • Caso for enviado mais de um documento, o código deve ser gerado somente com as informações do primeiro documento informado.
  • Este código deve ser informado no campo <EmpCK> do Web Service.

1. Exemplo de geração de CK em C#

Na linguagem C#, há uma classe com funções para gerenciamento da criptografia com o algoritmo MD5, cuja documentação pode ser conferida no link: http://msdn.microsoft.com/en-us/library/ez5bche8.aspx. Na figura abaixo pode ser visto um exemplo de geração de hash MD5 em C#. Abaixo listamos um exemplo:

2. Exemplo de geração de CK em Java

Na linguagem Java, existem várias classes e formas de gerar a criptografia com o algoritmo MD5. Abaixo listamos um exemplo em Java:

3. Calculadora de MD5 no InvoiCy

Para auxiliar no processo de integração com o InvoiCy, disponibilizamos uma Calculadora MD5 para gerar o código Hash, que deve ser utilizado em cada chamada ao Web Service. Com isso, é possível validar o código gerado pelo seu sistema comparando o mesmo com o código esperado pelo InvoiCy.

Para utilizar este recurso, basta acessar o menu Ferramentas de Integração, disponível no Painel de Controle do InvoiCy.

Ao acessar esta ferramenta, o InvoiCy irá apresentar a Chave de Acesso e a Chave de Parceiro, conforme empresa selecionada. Para gerar o Hash MD5 é preciso colar o XML gerado pelo seu sistema no campo Conteúdo do XML. Lembrando que este arquivo deverá estar linearizado. O resultado será apresentado no campo EmpCK Esperada.

Este Hash gerado deve ser comparado com o código gerado pelo seu sistema, caso o resultado apresentado no campo EmpCK Esperada for diferente do que foi gerado pelo seu sistema, revise seu XML, removendo caracteres especiais, espaços e quebras de linha.

Cancelando uma NF-e ou NFC-e

Última atualização em: 29 de abril, 2016

 

Agora iremos descrever como é realizado o cancelamento de uma NF-e ou NFC-e através do InvoiCy.

A partir deste momento, assumimos que você já leu o artigo “Enviando uma NF-e ou NFC-e”. Caso ainda não tenha lido este artigo, recomendamos a sua leitura para facilitar o entendimento deste artigo.

Proceda com os seguintes passos para realizar o cancelamento de um documento:

1.      Autorize um documento
O cancelamento só pode ser feito para documentos que receberam a autorização de uso pela SEFAZ. Atente-se para o prazo de cancelamento da NF-e que pode variar para cada UF. Em caso de dúvidas, consulte a SEFAZ de seu estado para maiores informações.

2.      Gere a estrutura do arquivo XML de cancelamento
Você deverá gerar a estrutura do XML de cancelamento de uma NF-e, de acordo com o Layout de eventos da NF-e. Para visualizá-lo, consulte o artigo “Envio de Eventos”.

Nós disponibilizamos para você um exemplo da estrutura do arquivo de cancelamento para facilitar seu entendimento. Clique aqui, para realizar o download.

3.      Consuma o Web Service de envio de documentos do InvoiCy
Após gerar o layout de cancelamento da NF-e que você deseja cancelar, basta realizar o consumo do WS de integração do InvoiCy, conforme já descrito no artigo “Integrando com o InvoiCy”.

Para facilitar o seu entendimento, anexamos a este artigo um exemplo completo de cancelamento de uma NF-e através do WS de integração do InvoiCy. Clique aqui, e realize o download do documento.

4.      Obtenha o retorno do cancelamento
Ao realizar o consumo do Web Service do InvoiCy, no retorno será possível identificar se a operação foi realizada com sucesso e qual o status do documento.

O layout de retorno do Web Service para o cancelamento, assim como qualquer outro evento, é o mesmo retornado no momento da emissão da NF-e ou da NFC-e. Para os eventos, estarão preenchidas as tags específicas no retorno, como o EveTp e EveId, como mostra a imagem abaixo.

Se a empresa está emitindo em contingência e necessita realizar o cancelamento de uma NF-e ou NFC-e , o InvoiCy irá armazenar o evento do cancelamento e enviá-lo após a empresa sair da contingência e o documento ser efetivado.

O próximo passo é: Consultando uma NF-e ou NFC-e, para isso acesse o artigo e confira.

 

Artigos Relacionados:

Enviando uma NF-e ou NFC-e

Última atualização em: 11 de maio, 2018

 

Neste momento iremos explicar como realizar a emissão de uma NF-e ou NFC-e integrando com o InvoiCy.

A partir de agora assumimos que você já leu o artigo “Integrando com o módulo NF-e”. Caso ainda não tenha lido o artigo, recomendamos que realize a leitura do mesmo, para facilitar o entendimento deste artigo.

O envio de um documento é muito simples. Para que isso se torne possível siga os seguintes passos:

1.      Consumindo o Web Service
Primeiramente, você deve realizar o consumo do Web Service de envio de documentos do InvoiCy, conforme o artigo “Integrando com o módulo NF-e”.

2.      Gerando o documento na estrutura correta
O InvoiCy permite o envio de documentos no layout 4.00 da NF-e e também da NFC-e. Para obter esse Layout consulte o artigo “Layout 4.00”. Nele você encontra a estrutura completa do arquivo XML para gerar o documento a ser enviado ao InvoiCy.

O XML do documento deve ser convertido para texto, e inserido entre as TAGS <inv:Documento> </inv:Documento> do SOAP de envio. Veja abaixo um exemplo:

Nos casos em que for usada uma ferramenta RAD para consumo do Web Service através de componente nativo, por exemplo Visual Studio utilizando Web Reference, a conversão do XML para texto irá ocorrer de forma automática. Para os casos em que o desenvolvedor preferir codificar toda a comunicação sem utilizar componentes, além de ser necessário escrever todo o XML do SOAP, também deverá ser feita a conversão do XML do documento para texto, substituindo os caracteres “<” e “>” por “&lt;” e “&gt;” respectivamente, de acordo com a tabela da W3C: http://www.w3schools.com/html/html_entities.asp.

Para facilitar o seu entendimento anexamos a este artigo um exemplo de arquivo XML no layout da NF-e.

Clique aqui, para realizar o download do exemplo de Envio de NF-e.

Para facilitar a geração do XML de integração, disponibilizamos um arquivo de esquema XSD que poderá servir como base. É recomendável que após a geração do arquivo XML e antes do consumo do Web Service, o mesmo seja validado contra o arquivo de esquema. OBS: O arquivo de esquema corresponde a versão 4.00.

Clique aqui, para realizar o download do arquivo de esquema XSD.

3.      Realize a leitura do retorno do envio
Após o envio da NF-e, precisamos realizar a leitura do retorno do processamento do documento. O retorno recebido segue a seguinte estrutura SOAP:

A estrutura SOAP acima demonstra o retorno do envio de apenas um único documento.

Note que na TAG <Documento> é retornado o conteúdo XML do retorno, codificado em “CDATA”. Este conteúdo pode ser lido pelo ERP para atualização do Status do documento.

Abaixo demonstramos a estrutura do XML de retorno:

Todo o conteúdo acima estará inserido em uma tag “CDATA” e retornará dentro da TAG <Documento> do SOAP de retorno.

Para facilitar seu entendimento, anexamos um exemplo do XML do retorno. Clique aqui, e realize o download.

Existe ainda uma tabela de códigos e descrições dos retornos da SEFAZ, que você pode consultar no artigo “Códigos de Retorno da SEFAZ”.

Agora que você já está familiarizado com a integração, podemos prosseguir ao próximo passo.

Seu próximo passo é:  Cancelando uma NF-e ou NFC-e

Artigos Relacionados: