Consulta das Guias via APIs
Após envidas as informações ao InvoiCy para geração das guias, é possível realizar uma consulta para obter o status da mesma e, caso a guia já tenha sido processada pela SEFAZ, é possível obter o PDF para impressão e pagamento.
Esta consulta poderá ser realizada via SOAP ou JSON e disponibiliza quatro tipos diferentes de filtros para realizá-la, sendo elas:
- Número do Protocolo: Executado quando o campo
ProtNumeroestiver preenchido. - Número de Documento: Executado quando os campos
DocNumeroInicial,DocNumeroFinal,SerieeModelo, estiverem preenchidos. - Data de Emissão: Executado quando os campos
DataEmissaoInicialeDataEmissaoFinalestiverem preenchidos. - Data de Inclusão: Executado quando os campos
DataInclusaoInicialeDataInclusaoFinalestiverem preenchidos.
O campo CNPJEmpresa é de preenchimento obrigatório em qualquer modelo de consulta.
Consulta via Web Service
Para realizar a consulta das guias via SOAP, é necessário estabelecer uma comunicação com o Web Service apropriado. Primeiramente, visualize a estrutura WSDL do mesmo:
- Homologação: https://consultahomolog.invoicy.com.br/aconsultadocumentos.aspx?wsdl
- Produção: https://consulta.invoicy.com.br/aconsultadocumentos.aspx?wsdl
Em seguida, será preciso realizar o consumo do Web Service para efetuar a integração.
Inicialmente, preencha o XML de envio com as informações necessárias para realizar a consulta das guias. Em seguida, realize a geração do hash MD5, conforme orientações do artigo de referência.
Além disso, o XML deve ser linearizado, convertido para texto e enviado dentro da tag <inv:Documento> na estrutura SOAP, conforme demonstrado a seguir:
<soapenv:Envelope xmlns:soapenv="[http://schemas.xmlsoap.org/soap/envelope/](http://schemas.xmlsoap.org/soap/envelope/)" xmlns:inv="InvoiCy">
<soapenv:Header/>
<soapenv:Body>
<inv:recepcao.Execute>
<inv:Invoicyrecepcao>
<inv:Cabecalho>
<inv:EmpPK>ABCabcCBAcbaA+CabcCBAc==</inv:EmpPK>
<inv:EmpCK>f4e5d6c7b8a901122334455667788990</inv:EmpCK>
<inv:EmpCO></inv:EmpCO>
</inv:Cabecalho>
<inv:Informacoes>
<inv:Texto></inv:Texto>
</inv:Informacoes>
<inv:Dados>
<inv:DadosItem>
<inv:Documento><!-- (1) --></inv:Documento>
<inv:Parametros></inv:Parametros>
</inv:DadosItem>
</inv:Dados>
</inv:Invoicyrecepcao>
</inv:recepcao.Execute>
</soapenv:Body>
</soapenv:Envelope>
- Neste campo, informe o XML de envio. Para visualizar um exemplo de envio, clique aqui.
<soapenv:Envelope xmlns:soapenv="[http://schemas.xmlsoap.org/soap/envelope/](http://schemas.xmlsoap.org/soap/envelope/)" xmlns:inv="InvoiCy">
<soapenv:Header/>
<soapenv:Body>
<inv:recepcao.Execute>
<inv:Invoicyrecepcao>
<inv:Cabecalho>
<inv:EmpPK>ABCabcCBAcbaA+CabcCBAc==</inv:EmpPK>
<inv:EmpCK>1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d</inv:EmpCK>
<inv:EmpCO></inv:EmpCO>
</inv:Cabecalho>
<inv:Informacoes>
<inv:Texto></inv:Texto>
</inv:Informacoes>
<inv:Dados>
<inv:DadosItem>
<inv:Documento><!-- (1) --></inv:Documento>
<inv:Parametros></inv:Parametros>
</inv:DadosItem>
</inv:Dados>
</inv:Invoicyrecepcao>
</inv:recepcao.Execute>
</soapenv:Body>
</soapenv:Envelope>
- Neste campo, informe o XML de envio. Para visualizar um exemplo de envio, clique aqui.
<soapenv:Envelope xmlns:soapenv="[http://schemas.xmlsoap.org/soap/envelope/](http://schemas.xmlsoap.org/soap/envelope/)" xmlns:inv="InvoiCy">
<soapenv:Header/>
<soapenv:Body>
<inv:recepcao.Execute>
<inv:Invoicyrecepcao>
<inv:Cabecalho>
<inv:EmpPK>ABCabcCBAcbaA+CabcCBAc==</inv:EmpPK>
<inv:EmpCK>0987654321fedcba0987654321fedcba</inv:EmpCK>
<inv:EmpCO></inv:EmpCO>
</inv:Cabecalho>
<inv:Informacoes>
<inv:Texto></inv:Texto>
</inv:Informacoes>
<inv:Dados>
<inv:DadosItem>
<inv:Documento><!-- (1) --></inv:Documento>
<inv:Parametros></inv:Parametros>
</inv:DadosItem>
</inv:Dados>
</inv:Invoicyrecepcao>
</inv:recepcao.Execute>
</soapenv:Body>
</soapenv:Envelope>
- Neste campo, informe o XML de envio. Para visualizar um exemplo de envio, clique aqui.
<soapenv:Envelope xmlns:soapenv="[http://schemas.xmlsoap.org/soap/envelope/](http://schemas.xmlsoap.org/soap/envelope/)" xmlns:inv="InvoiCy">
<soapenv:Header/>
<soapenv:Body>
<inv:recepcao.Execute>
<inv:Invoicyrecepcao>
<inv:Cabecalho>
<inv:EmpPK>ABCabcCBAcbaA+CabcCBAc==</inv:EmpPK>
<inv:EmpCK>bcdef0123456789abcdef0123456789a</inv:EmpCK>
<inv:EmpCO></inv:EmpCO>
</inv:Cabecalho>
<inv:Informacoes>
<inv:Texto></inv:Texto>
</inv:Informacoes>
<inv:Dados>
<inv:DadosItem>
<inv:Documento><!-- (1) --></inv:Documento>
<inv:Parametros></inv:Parametros>
</inv:DadosItem>
</inv:Dados>
</inv:Invoicyrecepcao>
</inv:recepcao.Execute>
</soapenv:Body>
</soapenv:Envelope>
- Neste campo, informe o XML de envio. Para visualizar um exemplo de envio, clique aqui.
Consulta via API REST
Caso opte por enviar a estrutura JSON, é necessário definir o tipo de filtro que será utilizado.
A estrutura completa de envio para consultar a guia, está disponível no nosso repositório do Postman.
Em seguida, preencha a estrutura, realize o envio dessa requisição e aguarde o retorno da mesma.
Configuração do Webhook
Como o serviço de processamento das guias pela SEFAZ é assíncrono, pode ocorrer de não ser retornada a guia no momento da realização da consulta, principalmente se ocorrer logo após o envio das informações para geração da guia.
Para evitar essa situação, a extensão InvoiCy GNRE possibilita também a configuração de Webhook para que no momento que as guias forem processadas pela SEFAZ, o InvoiCy envie para o endereço cadastrado todos os detalhes da guia, inclusive o PDF para impressão.
Essa configuração pode ser realizada, informando a forma de autenticação, o token (se for o caso), informando a URL e alterando o parâmetro "Status Webhook" para "Ativo", diretamente na aba de "Configuração" da extensão.
Clique aqui para acessar o modelo de retorno enviado pelo InvoiCy ao Webhook.
Também, é possível cadastrar Webhooks por meio de integração com o InvoiCy. Acesse aqui, para obter mais detalhes sobre o cadastro de Webhooks via Web Service.
