Pular para conteúdo

Emissão das Guias via APIs

Neste artigo, detalharemos sobre como proceder com a emissão de uma guia via Web Service SOAP e API REST.

Antes de prosseguir com a emissão, é importante ressaltar que é necessário ter configurado previamente as informações relacionadas aos diferentes tipos de impostos para cada UF para que seja possível a emissão da guia.

Ao realizar a emissão da guia via API, sua empresa centraliza a gestão tributária e otimiza o tempo da equipe operacional, permitindo o cálculo e a emissão desses documentos de forma prática, e garantindo maior agilidade no recolhimento de impostos.

Geração das Guias

Para quem irá gerar as guias, o cadastro das receitas, detalhes e produtos não é obrigatório, porém, pode ser realizado, pois caso alguma informação necessária para geração das guias não seja enviada, o InvoiCy poderá utilizar os dados cadastrados, evitando assim possíveis rejeições.

A geração das guias por meio de integração com o InvoiCy pode ser realizada via WS SOAP ou API REST, de quatro formas diferentes, conforme descrito abaixo:

  • Layout Completo: Devem ser enviadas todas as informações necessárias para gerar as guias.

  • Informações do Documento: Esta opção está disponível somente para documentos que já estejam no InvoiCy. Nela, devem ser enviadas as informações referentes ao documento de origem da guia, como o número, a série e o modelo.

  • Informações e XML SEFAZ do Documento: Para este modelo, é preciso enviar o XML do documento processado pela SEFAZ (procNFe ou procCTe) juntamente com as informações dos impostos e receitas.

  • XML SEFAZ do Documento: Envie somente o XML SEFAZ e o CNPJ da empresa na estrutura SOAP ou JSON. Ressaltamos que para utilizar essa forma de envio, é necessário que as configurações sobre os impostos, receitas, produtos e prazo de vencimento das guias estejam configuradas no InvoiCy, pois esses dados serão utilizados no envio da guia para a SEFAZ.

Em seguida, o usuário precisa realizar a emissão da guia através do envio da estrutura SOAP ou JSON selecionada.

Emissão das Guias via Web Service

Para realizar a emissão das guias via SOAP, é necessário estabelecer uma comunicação com o Web Service apropriado. Primeiramente, visualize a estrutura WSDL do mesmo:

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 emissão 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>e4da3b7fbbce2345d7772b0674a318d5</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>
  1. 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>1679091c5a880faf6fb5e6087eb1b2dc</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>
  1. 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>a1d2c3b4e5f607182930a4b5c6d7e8f9</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>
  1. 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>8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e</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>
  1. Neste campo, informe o XML de envio. Para visualizar um exemplo de envio, clique aqui.

Também disponibilizamos um layout completo de envio para as diferentes formas de geração da guia no repositório do GitHub.

Emissão das Guias via API REST

Caso opte por enviar a estrutura JSON, é necessário definir de qual forma a guia será gerada, pois isso reflete na estrutura de envio. Segue abaixo, as diferentes formas de geração e seus respectivos exemplos JSON disponibilizados no Postman:

Em seguida, preencha a estrutura selecionada, realize o envio dessa requisição e aguarde o retorno da mesma.

Após realizar o envio, será possível consultar a guia enviada, conforme detalhado no artigo: Consulta das Guias via APIs.