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:
- Homologação: https://consultahomolog.invoicy.com.br/aexportardocumentos.aspx?wsdl
- Produção: https://consulta.invoicy.com.br/aexportardocumentos.aspx?wsdl
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>
<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>
É 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>
- 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.