A Oobj produziu uma solução para integração com outros sistemas via DLL, o fluxo é simples, a DLL recebe as informações do pedido e repassa ao periférico para emissão através da integração HTTP, após isso o periférico desempenha completamente o fluxo de emissão, impressão e retorno das informações para a DLL. O fluxo a seguir mostra detalhadamente o processo.
Para ativar a integração via DLL no DF-e Client acesse nosso artigo:
Acesse nosso artigo Integração HTTP Local para mais detalhes da integração via rest.
A dll fornecida é compilada para uso em sistemas de arquitetura x86 (32 bits) e os contratos para operação são listados abaixo.
A integração via DLL fornece as operações fiscais básicas, são elas:
- Emissão
- Cancelamento
- Reimpressão
- Impressão de texto livre
- Acompanhamento de Processamento do Lote
Todas as chamadas de DLL tem um retorno de método e regrava um ponteiro na variável _Response com o valor 0 ou 1.
- 0 indica sucesso na operação;
- 1 indica falha.
Emissão
Método para emissão de notas fiscais em NF-e ou CF-e dependendo da configuração do DF-e Client.
- Assinatura do método:
int Emissao(char* _DadosVendas, char* _Response, char* _respostaSefaz);
- Parâmetros:
char* _DadosVenda : //Ponteiro com o conteúdo da venda no layout definido. char* _Response : //Ponteiro onde será gravado o código de resultado da operação (0 ou 1) char* _respostaSefaz : //Ponteiro onde será gravado o retorno da emissão no layout definido
- Exemplo de conteúdo retornado em caso de sucesso:
A|1627|S|104|Lote processado|43| B|43160607385111000102650010094984911816177991|1|9498491|2016-06-02T17:15:11|100|Autorizado o uso da NF-e|||143160000652019|o8aKCAfuaJcfRd9hgFY3oo8NwfA=|
- Exemplo de conteúdo retornado em caso de falha:
A|1627|O|5215|Rejeição: arquivo com conteúdo inválido: Não existem configurações para o CNPJ '07385111000103'. Configure-o antes de enviar arquivos.||
Cancelamento
Método para cancelamento de NFC-e ou CF-e dependendo da configuração do DF-e Client emitido.
Assinatura do método:
int CancelarNota(char* chaveAcesso, char* protocolo, char* justificativa, char* cpfCnpjDestinatario, char* _Response, char* _respostaSefaz)
Parâmetros:
char* chaveAcesso : //Array de caracteres contendo a chave de acesso da nota a ser cancelada char* protocolo : //Array de caracteres contendo o protocolo de autorização char* justificativa : //Array de caracteres contendo a justificativa para cancelamento da nota de acordo com as regras da sefaz char* cpfCnpjDestinatario : //Array de caracteres contendo o CPF ou CNPJ do destinatário presente na emissão, este atributo só é relevante para cancelamneto de CF-e. char* _Response : //Ponteiro onde será gravado o código de resultado da operação (0 ou 1) char* _respostaSefaz : //Ponteiro onde será gravado o retorno do cancelamento no layout definido
Exemplo de conteúdo retornado em caso de sucesso:
RETEVENTO|1.00|4153| A|2|RSnfce201601161016|43|135|Evento registrado e vinculado a NF-e|43160607385111000102650010094984911816177991|110111|Cancelamento|1| B|||2016-06-03T14:37:03-03:00|143160000653628|
Exemplo de conteúdo retornado em caso de falha:
RETEVENTO|1.00|4146| A|2|||5215|Rejeição: arquivo com conteúdo inválido|||||
Reimprimir
Este método solicita a reimpressão de uma nota fiscal já emitida no tipo de ambiente (Produção ou Homologação) em que o DF-e Client estiver configurado.
- Assinatura do método:
int ReImprimir(char* chaveAcesso, char* _Response);
- Parâmetros:
char* chaveAcesso : //Array de caracteres contendo a chave de acesso da nota a ser cancelada char* _Response : //Ponteiro onde será gravado o código de resultado da operação (0 ou 1), importante destacar que o resultado desta operação se refere ao fato de conseguir solicitar a reimpressão, a mesma é assíncrona e portanto acontecerá fora desta chamada
Impressão (Texto Auxiliar)
Método para encaminhar uma impressão de qualquer texto para a impressora padrão do DF-Client, útil em algumas integrações para imprimir coisas como o comprovante de pagamento.
- Assinatura do método:
int Imprimir(char* conteudo, char* _Response);
- Parâmetros:
char* conteudo : //Array de caracteres com o que será enviado para a impressora, o conteúdo deve estar formatado com os tamanhos devidos. char* _Response : //Ponteiro onde será gravado o código de resultado da operação (0 ou 1)