Pular para conteúdo

Exportação de Documentos

Para realizar a exportação de documentos 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.

Parâmetros de Envio

Os parâmetros de envio controlam o que será retornado dentro de cada documento exportado. Estes definem como o conteúdo de cada documento será entregue na resposta — se inclui situação, eventos, XML completo e em qual formato os arquivos serão retornados.

CAMPO DESCRIÇÃO
ResumoDocumento Ativa o modo resumo: "S" = Sim, "N" = Não
ParmSituacao Inclui situação do documento no retorno: "S" / "N"
ParmXMLCompleto Retorna o XML completo do documento: "S" / "N"
ParmEventos Inclui eventos associados ao documento: "S" / "N"
ParmResumoXMLBase64 Somente quando ResumoDocumento = "S". Controla o formato do campo DocXML
ParmResumoPDFBase64 Somente quando ResumoDocumento = "S". Controla o preenchimento do campo DocPDF
  • Regras de Comportamento dos Campos DocXML e DocPDF

As regras abaixo se aplicam a documentos emitidos e recebidos quando ResumoDocumento = "S".

Campo DocXML:

ParmResumoXMLBase64 Comportamento do campo DocXML
"S" Retorna o XML do documento codificado em Base64
"N" ou vazio Retorna o XML puro do documento

Para que o XML retornado seja o documento completo (e não apenas o resumo), o campo ParmXMLCompleto deve ser enviado como "S".

Campo DocPDF:

ParmResumoPDFBase64 Comportamento do campo DocPDF
"S" Retorna o PDF do documento codificado em Base64
"N" ou vazio Campo retorna vazio (o link de acesso ao PDF segue disponível no campo DocPDFLink)

O campo DocPDFLink não é afetado por nenhuma combinação desses parâmetros. Quando disponível, o link sempre é retornado independentemente do valor de ParmResumoPDFBase64.

  • Combinações Possíveis de Parâmetros (Modo Resumo)

As tabelas abaixo cobrem todas as combinações relevantes quando ResumoDocumento = "S".

Combinações para DocXML:

Combinação ParmResumoXMLBase64 ParmXMLCompleto Resultado em DocXML
1 "S" "S" XML completo do documento em Base64
2 "S" "N" ou vazio XML resumido em Base64
3 "N" ou vazio "S" XML completo do documento em texto puro
4 "N" ou vazio "N" ou vazio XML resumido em texto puro

Combinações para DocPDF:

Combinação ParmResumoPDFBase64 Resultado em DocPDF DocPDFLink
1 "S" PDF em Base64 Preenchido normalmente
2 "N" ou vazio Vazio Preenchido normalmente

Comportamento com ResumoDocumento = "N" ou ausente: Quando o modo resumo não está ativo, os parâmetros ParmResumoXMLBase64 e ParmResumoPDFBase64 são ignorados. O retorno segue o comportamento padrão de geração de arquivo físico (.zip ou .xml), acessível via DocBase64 ou link.

Exemplo de Envio

É necessário agendar a exportação dos documentos desejados, para, em seguida, realizar o download dos mesmos.

Este agendamento pode ser realizado de diferentes maneiras, sendo elas: por faixa de numeração, intervalo de datas de emissão ou de inclusão, ou por meio do status do documento.

Em seguida, o usuário poderá realizar a exportação de qualquer modelo de documento, tanto emitido quanto recebido, ao enviar toda a estrutura XML e os parâmetros necessários. Ambos devem ser convertidos para texto e inseridos, respectivamente, nas tags <inv:Documento> e <inv:Parametros>, conforme evidenciado 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>269d3cab63612d58d43052499cde6ab4</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><!-- (2) --></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.
  2. Neste campo, informe os parâmetros de consulta. Para visualizar um exemplo destes parâmetros, 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>7eaaf26cd46e3ddafcff599dd82ceabf</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><!-- (2) --></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.
  2. Neste campo, informe os parâmetros de consulta. Para visualizar um exemplo destes parâmetros, clique aqui.

É importante ressaltar, que se no momento da exportação você optar por retornar o resumo dos documentos, ou seja, preencher a tag ResumoDocumento com "S", serão retornadas apenas as informações mais relevantes dos documentos, onde o conteúdo não será compactado e nem convertido para Base64. Entretanto, ao exportar documentos recebidos, caso a tag ResumoDocumento seja preenchida com "S", é possível utilizar dois parâmetros para obter o XML e/ou o PDF em Base64 no retorno da consulta do protocolo: ResumoXMLBase64 e ResumoPDFBase64.

Mais informações sobre como preencher o XML de envio, podem ser obtidas aqui.

Além disso, os parâmetros enviados nesta estrutura precisam ser informados tanto para os documentos emitidos quanto para os recebidos, pois estes parâmetros definem quais as informações que serão retornadas no momento da consulta.

Exemplo de Retorno

Com o envio da requisição, é necessário realizar a leitura de retorno do processamento. O retorno recebido segue a seguinte estrutura SOAP:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <SOAP-ENV:Body>
      <exportardocumentos.ExecuteResponse xmlns="InvoiCy">
         <Invoicyretorno>
            <Mensagem>
               <MensagemItem>
                  <Codigo>100</Codigo>
                  <Descricao>Lote agendado com sucesso. Realize a consulta dos protocolos posteriormente</Descricao>
                  <Documentos>
                     <DocumentosItem>
                        <Documento><![CDATA[<Protocolo><ProtNumero>202510081547201890</ProtNumero><ProxConsultaProtocolo>2025-10-08T15:52:20</ProxConsultaProtocolo></Protocolo>]]></Documento>
                     </DocumentosItem>
                  </Documentos>
               </MensagemItem>
            </Mensagem>
         </Invoicyretorno>
      </exportardocumentos.ExecuteResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <SOAP-ENV:Body>
      <exportardocumentos.ExecuteResponse xmlns="InvoiCy">
         <Invoicyretorno>
            <Mensagem>
               <MensagemItem>
                  <Codigo>100</Codigo>
                  <Descricao>Lote agendado com sucesso. Realize a consulta dos protocolos posteriormente</Descricao>
                  <Documentos>
                     <DocumentosItem>
                        <Documento><![CDATA[<Protocolo><ProtNumero>202509251620191194</ProtNumero><ProxConsultaProtocolo>2025-09-25T16:25:19</ProxConsultaProtocolo></Protocolo>]]></Documento>
                     </DocumentosItem>
                  </Documentos>
               </MensagemItem>
            </Mensagem>
         </Invoicyretorno>
      </exportardocumentos.ExecuteResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

No caso de sucesso na exportação, serão retornados o número e a data do protocolo do documento, juntamente com o código de retorno "100" e a mensagem "Lote agendado com sucesso. Realize a consulta dos protocolos posteriormente". No entanto, se ocorrer alguma falha na exportação, a mesma será retornada e poderá ser corrigida.

Consulta por Protocolo

Com o intuito de receber um retorno da requisição, consulte a situação dos documentos exportados ao acessar o InvoiCy ou através de uma consulta de documentos por protocolo, pois a forma de retorno da exportação é assíncrona, e por isso o retorno não é imediato.

Para realizar a consulta por protocolo, é necessário informar no XML de envio o número do protocolo, que pode ser obtido no retorno da exportação de documentos, e o CNPJ da empresa. Além disso, para realizar esta consulta, toda a estrutura XML deve ser inserida dentro da tag <inv:Documento>, em formato linearizado e convertida para texto, conforme o exemplo abaixo:

<soapenv:Envelope xmlns:soapenv="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>1014368f8e082644be42a04f02e752a9</inv:EmpCK>
               <inv:EmpCO></inv:EmpCNPJ>
            </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.

No retorno desta consulta, será retornado o documento completo em formato Base64, juntamente com o código de retorno "100" e a mensagem "Protocolo processado".

Destacando que, os lotes de exportação serão compostos por no máximo 50 arquivos, mas ao consultar uma quantidade maior os documentos serão retornados mesmo assim. Por exemplo, se a exportação for de 100 arquivos serão gerados 2 protocolos contendo 50 arquivos cada.