Integração via WebServices

Este modelo de integração consiste no envio de um XML no padrão SEFAZ (sem assinatura e protocolo), através do protocolo SOAP, para o Web Service do CTePACK. Esse XML estará acoplado na estrutura “IntegracaoCTe” conforme o exemplos listados abaixo.

A resposta definitiva para as requisições é retornada através do método ConsultarCTe (processo assíncrono).

Basicamente o endereço do WebService segue a seguinte estrutura: http://hostname:porta/CTePackIntegracaoWebServices/webserviceintegracao.asmx

Para acessar o wsdl do web servisse de integração do CTePACK basta adicionar o parâmetro ?wsdl ao final do endereço, por exemplo: http://Servidor/CTePackIntegracaoWebServices/WebServiceIntegracao.asmx?WSDL

Cada tipo de requisição é atendido por um Método diferente dentro do mesmo serviço. Abaixo estão destacados os Métodos disponíveis e suas respectivas funções:

  • RecepcionarCTe - Utilizado para enviar um CT-e para autorização;
  • RecepcionarEventoFiscal - Utilizado para enviar um Evento Fiscal, como Evento de CC-e e Evento de Cancelamento;
  • CancelarCTe - Utilizado para enviar um pedido de cancelamento do CTe. Essa é a forma antiga de integração de cancelamento mantida apenas para compatibilidade, a nova forma é integrar um evento fiscal de cancelamento através do método RecepcionarEventoFiscal.
  • InutilizarCTes - Utilizado para enviar um pedido de Inutilização de uma faixa de CT-e;
  • ConsultarCTe - Utilizado para solicitar informações sobre um CT-e emitido. Este serviço somente consulta os dados do CT-e constantes na base de dados do CTePACK;
  • ConsultarCTeRecebidoPorUmaNFe - Utilizado para consultar um CTe emitido de acordo com a NFe associada a este CTe.
  • SincronizarCTes - Utilizado para consulta e atualização do status do CT-e. O CT-e é consultado na SEFAZ e atualizada no CTePACK.
  • ObterCTesRecebidos - Utilizado para consultar os CTes de Recebimento de acordo com os parâmetros passados.
  • UploadCertificado - Utilizado para realizar o carregamento do certificado para uma ou mais empresas do CTePack.
  • RecuperarXmlCTeEmissao - Retorna o XML de um CTe emitido.
  • RecuperarXmlCTeRecebimento - Retorna o XML de um CTe recebido .

Padrão de respostas

O padrão de respostas correspondente a cada método está detalhado abaixo. Para adicionar nas respostas do Web Service o XML autorizado do documento (NF-e, Evento Fiscal ou Inutilização), basta adicionar a chamada o Header: incluir-resposta-protocolada: true

O XML será retornado dentro da Tag <XMLProtocolado> dentro de uma estrutura CDATA, presente na resposta do Web Service. Nos casos onde não houver XML, essa tag será omitida. Ex.:

Exemplo estrutura de resposta com XML protocolado
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?xml version="1.0" encoding="utf-8"?>
<RespostaConsultaCTe>
    <Versao>2.11.1.20643</Versao>
    <Sucesso>true</Sucesso>
    <Situacao>Autorizado</Situacao>
    <XMLProtocolado>
        <![CDATA[ XML protocolado/ Validado + protocolo ]]>
    </XMLProtocolado>
    <CTePack>
        <CTe>
            <Status>6</Status>
            <DigVal>TzbXjW47EcBHOesYyIr1b/7jGvQ=</DigVal>
            <ChaveDoCTe>35160619172888000178570040000000041351893717</ChaveDoCTe>
        </CTe>
    </CTePack>
    <Sefaz>
        <cStat>100</cStat>
        <xMotivo>Autorizado o uso do CT-e</xMotivo>
        <Protocolo>135160007353766</Protocolo>
        <DataHoraAutorizacao>01/06/2016 13:52:11</DataHoraAutorizacao>
    </Sefaz>
</RespostaConsultaCTe>

Exemplos de XML de integração

Abaixo serão listados os exemplos de XML que serão aceitos na integração em cada método do WebService do CTePack. Também serão listadas a estrutura de resposta. Os exemplos foram preenchidos com valores fictícios.

RecepcionarCTe

XML de Envio

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<?xml version="1.0" encoding="utf-8"?>
<IntegracaoCTe>
    <CTe xmlns="http://www.portalfiscal.inf.br/cte">
        <infCte versao="3.00">
            <ide>
                <cUF>42</cUF>
                <cCT>00000002</cCT>
                <CFOP>5352</CFOP>
                <natOp>Prestacao de servico de transporte a estabelecimento indust</natOp>
                <mod>57</mod>
                <serie>10</serie>
                <nCT>158</nCT>
                <dhEmi>2018-01-09T09:33:12-02:00</dhEmi>
                <tpImp>1</tpImp>
                <tpEmis>1</tpEmis>
                <cDV>6</cDV>
                <tpAmb>2</tpAmb>
                <tpCTe>0</tpCTe>
                <procEmi>0</procEmi>
                <verProc>1</verProc>
                <cMunEnv>4202404</cMunEnv>
                <xMunEnv>Blumenau</xMunEnv>
                <UFEnv>SC</UFEnv>
                <modal>01</modal>
                <tpServ>0</tpServ>
                <cMunIni>4205407</cMunIni>
                <xMunIni>Florianópolis</xMunIni>
                <UFIni>SC</UFIni>
                <cMunFim>4202404</cMunFim>
                <xMunFim>Blumenau</xMunFim>
                <UFFim>SC</UFFim>
                <retira>1</retira>
                <indIEToma>1</indIEToma>
                <toma3>
                    <toma>0</toma>
                </toma3>
            </ide>
            <compl>
                <xCaracAd>Normal</xCaracAd>
                <xObs>DOC TRANSP: 35576713 //- CAPA: 805706 //- ORIGEM: SAP //- LEI DA TRANSPARENCIA: O VALOR APROXIMADO DE TRIBUTOS INCIDENTES SOBRE O PRECO DESTE SERVICO E DE R$ 304,76 //- MOTORISTA: LINDOMAR FLORENCIO //- PLACA: EJV-8163 //- MOTORISTA: 26114819896 //-</xObs>
                <ObsCont xCampo="DT">
                    <xTexto>35576713</xTexto>
                </ObsCont>
            </compl>
            <emit>
                <CNPJ>99999999999999</CNPJ>
                <IE>33333333</IE>
                <xNome>CT-E EMITIDO EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xNome>
                <xFant>CT-E EMITIDO EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xFant>
                <enderEmit>
                    <xLgr>Rua Frederico Jensen</xLgr>
                    <nro>659</nro>
                    <xBairro>Itoupavazinha</xBairro>
                    <cMun>4202404</cMun>
                    <xMun>Blumenau</xMun>
                    <CEP>89066300</CEP>
                    <UF>SC</UF>
                    <fone>4733383877</fone>
                </enderEmit>
            </emit>
            <rem>
                <CNPJ>99999999999999</CNPJ>
                <IE>9999999</IE>
                <xNome>CT-E EMITIDO EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xNome>
                <xFant>CT-E EMITIDO EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xFant>
                <enderReme>
                    <xLgr>AVENIDA ANTARCTICA</xLgr>
                    <nro>1891</nro>
                    <xBairro>FAZENDA SANTA URSULA</xBairro>
                    <cMun>3524709</cMun>
                    <xMun>JAGUARIUNA</xMun>
                    <CEP>13820000</CEP>
                    <UF>SP</UF>
                    <cPais>1058</cPais>
                    <xPais>BRASIL</xPais>
                </enderReme>
            </rem>
            <dest>
                <CNPJ>99999999999999</CNPJ>
                <IE>88888888</IE>
                <xNome>CT-E EMITIDO EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xNome>
                <enderDest>
                    <xLgr>RUA CARLOS DE LAET</xLgr>
                    <nro>1514</nro>
                    <xBairro>HAUER</xBairro>
                    <cMun>4106902</cMun>
                    <xMun>CURITIBA</xMun>
                    <CEP>81610050</CEP>
                    <UF>PR</UF>
                    <xPais>BRASIL</xPais>
                </enderDest>
            </dest>
            <vPrest>
                <vTPrest>2539.68</vTPrest>
                <vRec>2539.68</vRec>
                <Comp>
                    <xNome>FRETE VALOR</xNome>
                    <vComp>2234.92</vComp>
                </Comp>
            </vPrest>
            <imp>
                <ICMS>
                    <ICMS00>
                        <CST>00</CST>
                        <vBC>2539.68</vBC>
                        <pICMS>12.00</pICMS>
                        <vICMS>304.76</vICMS>
                    </ICMS00>
                </ICMS>
            </imp>
            <infCTeNorm>
                <infCarga>
                    <vCarga>122496.42</vCarga>
                    <proPred>SUKITA PET 237ML SHRINK C/12</proPred>
                    <infQ>
                        <cUnid>01</cUnid>
                        <tpMed>PESO BRUTO</tpMed>
                        <qCarga>29340.8200</qCarga>
                    </infQ>
                </infCarga>
                <infDoc>
                    <infNFe>
                        <chave>35171207526557000533550010004030271595259609</chave>
                    </infNFe>
                </infDoc>
                <infModal versaoModal="3.00">
                    <rodo>
                        <RNTRC>00348836</RNTRC>
                    </rodo>
                </infModal>
            </infCTeNorm>
         </infCte>
    </CTe>
    <!--Esta tag não é obrigatória. Somente utilizada para controle de numeração. Para mais detalhes consulta a documentação sobre o controle de numeração-->
    <IdentificadorOperacao>234872847</IdentificadorOperacao>
</IntegracaoCTe>

XMLs de Resposta

Sucesso
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<?xml version="1.0" encoding="utf-8"?>
<RespostaCTe>
    <Versao>18.1.1.0</Versao>
    <Sucesso>true</Sucesso>
    <CTePack>
        <CTe>
            <Chave>42180109249980000135570100000000501000000021</Chave>
        <CTe>
    </CTePack>
</RespostaCTe>
Falha
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8"?>
<RespostaCTe>
    <Versao>18.1.1.0</Versao>
    <Sucesso>false</Sucesso>
    <Erro>
        <Descricao>Um conhecimento com esse mesmo número, série e CNPJ já existe no sistema.</Descricao>
    </Erro>
</RespostaCTe>

RecepcionarEventoFiscal

XMLs de Envio Evento de Cancelamento

XML Completo
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0"encoding="UTF-8"?>
<eventoCTe xmlns="http://www.portalfiscal.inf.br/cte" versao="3.00">
    <infEvento Id="ID1101114113040291446000449057010000368390151336953101">
        <cOrgao>41</cOrgao>
        <tpAmb>2</tpAmb>
        <CNPJ>99999999999999</CNPJ>
        <chCTe>41130402914460004490570100003683901513369531</chCTe>
        <dhEvento>2013-08-15T11:15:15</dhEvento>
        <tpEvento>110111</tpEvento>
        <nSeqEvento>01</nSeqEvento>
        <detEvento versaoEvento="3.00">
            <evCancCTe>
                <descEvento>Cancelamento</descEvento>
                <nProt>141130005305806</nProt>
                <xJust>Teste de Cancelamento</xJust>
            </evCancCTe>
        </detEvento>
    </infEvento>
</eventoCTe>
XML Resumido
1
2
3
4
5
6
7
<?xml version="1.0" encoding="utf-8" ?>
<eventoCTe>
    <chCTe>42180109249980000135570100000000291000000028</chCTe>
    <tpEvento>110111</tpEvento>
    <dhEvento>2018-01-12T10:19:15</dhEvento>
    <xJust>Teste de Cancelamento</xJust>
</eventoCTe>

XMLs de Resposta

Sucesso
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<?xml version="1.0" encoding="utf-8"?>
<RespostaEventoFiscal>
    <Versao>18.2.1.0</Versao>
    <Sucesso>true</Sucesso>
    <CTePack>
        <Status>6</Status>
        <ChaveDoCTe>41130402914460004490570100003683901513369531</ChaveDoCTe>
    </CTePack>
    <Sefaz>
        <cStat />
    </Sefaz>
</RespostaEventoFiscal>
Falha
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8"?>
<RespostaEventoFiscal>
    <Versao>18.2.1.0</Versao>
    <Sucesso>false</Sucesso>
    <Erro>
        <Descricao>Não foi encontrado um conhecimento com a chave informada.</Descricao>
    </Erro>
</RespostaEventoFiscal>

XMLs de Envio Evento Carta de Correção - CCe

XML Completo
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?xml version="1.0"encoding="UTF-8"?>
<eventoCTe xmlns="http://www.portalfiscal.inf.br/cte" versao="3.00">
    <infEvento Id="ID1101114113040291446000449057010000368390151336953101">
        <cOrgao>41</cOrgao>
        <tpAmb>2</tpAmb>
        <CNPJ>99999999999999</CNPJ>
        <chCTe>41130402914460004490570100003683901513369531</chCTe>
        <dhEvento>2013-08-15T11:15:15</dhEvento>
        <tpEvento>110110</tpEvento>
        <nSeqEvento>01</nSeqEvento>
        <detEvento versaoEvento="3.00">
            <evCCeCTe>
                <descEvento>Carta de Correcao</descEvento>
                <infCorrecao>
                    <grupoAlterado>dest</grupoAlterado>
                    <campoAlterado>CNPJ</campoAlterado>
                    <valorAlterado>05308541000103</valorAlterado>
                    <nroItemAlterado>2</nroItemAlterado>
                </infCorrecao>
                <infCorrecao>
                    <grupoAlterado>rem</grupoAlterado>
                    <campoAlterado>CNPJ</campoAlterado>
                    <valorAlterado>45134118000140</valorAlterado>
                    <nroItemAlterado>4</nroItemAlterado>
                </infCorrecao>
                <xCondUso>A Carta de Correcao e disciplinada pelo Art. 58-B do CONVENIO/SINIEF 06/89: Fica permitida a utilizacao de carta de correcao, para regularizacao de erro ocorrido na emissao de documentos fiscais relativos a prestacao de servico de transporte, desde que o erro nao esteja relacionado com: I - as variaveis que determinam o valor do imposto tais como: base de calculo, aliquota, diferenca de preco, quantidade, valor da prestacao;II - a correcao de dados cadastrais que implique mudança do emitente, tomador, remetente ou do destinatario;III - a data de emissao ou de saida.</xCondUso>
            </evCCeCTe>
        </detEvento>
    </infEvento>
</eventoCTe>
XML Resumido
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<?xml version="1.0" encoding="utf-8" ?>
<eventoCTe>
    <chCTe>42180109249980000135570100000000301000000029</chCTe>
    <tpEvento>110110</tpEvento>
    <dhEvento>2018-01-12T10:24:15</dhEvento>
    <infCorrecao>
        <grupoAlterado>enderDest</grupoAlterado>
        <campoAlterado>nro</campoAlterado>
        <valorAlterado>3233</valorAlterado>
    </infCorrecao>
</eventoCTe>

XMLs de Resposta

Sucesso
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<?xml version="1.0" encoding="utf-8"?>
<RespostaEventoFiscal>
    <Versao>18.2.1.0</Versao>
    <Sucesso>true</Sucesso>
    <CTePack>
        <Status>6</Status>
        <ChaveDoCTe>41130402914460004490570100003683901513369531</ChaveDoCTe>
    </CTePack>
    <Sefaz>
        <cStat />
    </Sefaz>
</RespostaEventoFiscal>
Falha
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8"?>
<RespostaEventoFiscal>
    <Versao>18.2.1.0</Versao>
    <Sucesso>false</Sucesso>
    <Erro>
        <Descricao>Não foi encontrado um conhecimento com a chave informada.</Descricao>
    </Erro>
</RespostaEventoFiscal>

XMLs de envio evento Prestação do Serviço em Desacordo

Esse evento fiscal é emitido pelo tomador do CT-e. A função deste evento, é que o tomador possa informar ao fisco que o documento CT-e que o relaciona está em desacordo com a prestação de serviço.

XML Completo
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0" encoding="utf-8"?>
<eventoCTe versao="3.00" xmlns="http://www.portalfiscal.inf.br/cte">
    <infEvento Id="ID6101104218020924998000013557010000000214100000002001">
        <cOrgao>42</cOrgao>
        <tpAmb>2</tpAmb>
        <CNPJ>26199852000143</CNPJ>
        <chCTe>42180209249980000135570100000002141000000020</chCTe>
        <dhEvento>2018-02-08T13:18:06-02:00</dhEvento>
        <tpEvento>610110</tpEvento>
        <nSeqEvento>1</nSeqEvento>
        <detEvento versaoEvento="3.00">
            <evPrestDesacordo>
                <descEvento>Prestação do Serviço em Desacordo</descEvento>
                <indDesacordoOper>1</indDesacordoOper>
                <xObs>Estou em desacordo deste Cte</xObs>
            </evPrestDesacordo>
        </detEvento>
    </infEvento>
</eventoCTe>
XML Resumido
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8"?>
<eventoCTe>
    <chCTe>42180209249980000135570100000002061000000028</chCTe>
    <tpEvento>610110</tpEvento>
    <dhEvento>2018-02-08T13:20:15</dhEvento>
    <indDesacordoOper>1</indDesacordoOper>
    <xObs>Estou em desacordo deste CTe</xObs>
</eventoCTe>

XMLs de Resposta

Sucesso
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<?xml version="1.0" encoding="utf-8"?>
<RespostaEventoFiscal>
    <Versao>18.2.1.0</Versao>
    <Sucesso>true</Sucesso>
    <CTePack>
        <Status>31</Status>
        <ChaveDoCTe>42180209249980000135570100000002151000000027</ChaveDoCTe>
    </CTePack>
    <Sefaz>
        <cStat />
    </Sefaz>
</RespostaEventoFiscal>
Falha
1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="utf-8"?>
<RespostaEventoFiscal>
    <Versao>18.2.1.0</Versao>
    <Sucesso>false</Sucesso>
    <Erro>
        <Codigo>50020</Codigo>
        <Descricao>Somente o Tomador do CT-e é permitido emitir o Evento Fiscal de Prestação do Serviço em Desacordo</Descricao>
    </Erro>
</RespostaEventoFiscal>

XMLs de envio evento Comprovante de Entrega do CT-e

Esse evento fiscal é emitido pelo emitente do CT-e e tem a intenção de informar ao fisco a efetivação da entrega da carga pelo transportador.

Observação: A tag hashEntrega deverá ser preenchida com o hash (SHA-1) no formato Base64 resultante da concatenação: Chave de acesso da CT-e + Base64 da imagem capturada da entrega (imagem capturada da assinatura eletrônica, digital do recebedor, foto, etc).

XML Completo
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?xml version="1.0" encoding="utf-8"?>
<eventoCTe versao="3.00" xmlns="http://www.portalfiscal.inf.br/cte">
    <infEvento>
                    <cOrgao>50</cOrgao>
                    <tpAmb>2</tpAmb>
                    <CNPJ>12345678000101</CNPJ>
                    <chCTe>41190920750698000170570010000000131289029814</chCTe>
                    <dhEvento>2019-09-17T08:00:00-03:00</dhEvento>
                    <tpEvento>110180</tpEvento>
                    <nSeqEvento>1</nSeqEvento>
                    <evCECTe>
                            <nProt></nProt>
                            <descEvento>Comprovante de Entrega do CT-e</descEvento>
                            <dhEntrega>2019-09-17T08:00:00-03:00</dhEntrega>
                            <nDoc>123456789</nDoc>
                            <xNome>JOÃO DA SILVA</xNome>
                            <latitude> <!-- OPCIONAL --> </latitude>
                            <longitude> <!-- OPCIONAL --> </longitude>
                            <hashEntrega> <!-- CHAVE DE ACESSO DO CT-E + BASE64 DA IMAGEM --> </hashEntrega>
                            <dhHashEntrega>2019-09-17T08:00:00-03:00</dhHashEntrega>
                            <infEntrega>
                                    <chNFe>41190716987443000239554000000000247330125784</chNFe>
                            </infEntrega>
                    </evCECTe>
            </infEvento>
</eventoCTe>

XMLs de Resposta

Sucesso
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
    <?xml version="1.0" encoding="utf-8"?>
    <RespostaEventoFiscal>
            <Versao>19.4.1.0</Versao>
            <Sucesso>true</Sucesso>
            <CTePack>
                    <Status>6</Status>
                    <ChaveDoCTe>41190920750698000170570010000000131289029814</ChaveDoCTe>
            </CTePack>
            <Sefaz>
                    <cStat>135</cStat>
                    <xMotivo>Evento registrado e vinculado a CT-e</xMotivo>
                    <Protocolo>141190000050568</Protocolo>
                    <DataHoraAutorizacao>2019-09-18T14:32:38-03:00</DataHoraAutorizacao>
            </Sefaz>
    </RespostaEventoFiscal>
Falha
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8"?>
    <RespostaEventoFiscal>
            <Versao>19.4.1.0</Versao>
            <Sucesso>false</Sucesso>
            <Erro>
                    <Descricao>Para integrar um evento de Comprovante de Entrega de CT-e, é necessário informar a tag 'nDoc'.</Descricao>
            </Erro>
    </RespostaEventoFiscal>

XMLs de envio evento Cancelamento do Comprovante de Entrega do CT-e

Esse evento fiscal é emitido pelo emitente do CT-e e tem a intenção de informar ao fisco o cancelamento do evento da entrega da carga pelo transportador nas ocasiões onde ocorrer erro na geração do evento de entrega.

XML Completo
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
<?xml version="1.0" encoding="utf-8"?>
<eventoCTe versao="3.00" xmlns="http://www.portalfiscal.inf.br/cte">
    <infEvento>
                    <cOrgao>50</cOrgao>
                    <tpAmb>2</tpAmb>
                    <CNPJ>21677498000100</CNPJ>
                    <chCTe>41190920750698000170570010000000131289029814</chCTe>
                    <dhEvento>2019-09-17T08:00:00-03:00</dhEvento>
                    <tpEvento>110181</tpEvento>
                    <nSeqEvento>2</nSeqEvento>
                    <evCancCECTe>
                            <descEvento>Comprovante de Entrega do CT-e</descEvento>
                            <nProt>141190000050568</nProt>
                            <nProtCE>141190000050523</nProtCE>
                    </evCancCECTe>
    </infEvento>
</eventoCTe>

XMLs de Resposta

Sucesso
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
    <?xml version="1.0" encoding="utf-8"?>
    <RespostaEventoFiscal>
            <Versao>19.4.1.0</Versao>
            <Sucesso>true</Sucesso>
            <CTePack>
                    <Status>6</Status>
                    <ChaveDoCTe>41190920750698000170570010000000131289029814</ChaveDoCTe>
            </CTePack>
            <Sefaz>
                    <cStat>135</cStat>
                    <xMotivo>Evento registrado e vinculado a CT-e</xMotivo>
                    <Protocolo>141190000050568</Protocolo>
                    <DataHoraAutorizacao>2019-09-18T14:32:38-03:00</DataHoraAutorizacao>
            </Sefaz>
    </RespostaEventoFiscal>
Falha
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8"?>
    <RespostaEventoFiscal>
            <Versao>19.4.1.0</Versao>
            <Sucesso>false</Sucesso>
            <Erro>
                    <Descricao>Não foi encontrado um conhecimento com a chave informada.</Descricao>
            </Erro>
    </RespostaEventoFiscal>

CancelarCTe

XML de Envio

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<?xml version="1.0" encoding="utf-8"?>
<IntegracaoCancelamento>
    <cancCTe>
        <infCanc Id="ID42100904503660000227570000000230366874912549" xmlns="http://www.portalfiscal.inf.br/cte">
            <tpAmb>2</tpAmb>
            <xServ>CANCELAR</xServ>
            <chCTe>42100904503660000227570000000230366874912549</chCTe>
            <nProt>636542137218953</nProt>
            <xJust>Motivo de cancelamento</xJust>
        </infCanc>
    </cancCTe>
</IntegracaoCancelamento>

XMLs de Resposta

Sucesso
1
2
3
4
5
<?xml version="1.0" encoding="utf-8"?>
<RespostaCancelamentoCTe>
    <Versao>18.2.2.0</Versao>
    <Sucesso>true</Sucesso>
</RespostaCancelamentoCTe>
Falha
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8"?>
<RespostaCancelamentoCTe>
    <Versao>18.2.2.0</Versao>
    <Sucesso>false</Sucesso>
    <Erro>
        <Descricao>Nenhum CTe encontrado com a chave 42100904503660000227570000000230366874912549 para ser cancelado.</Descricao>
    </Erro>
</RespostaCancelamentoCTe>

InutilizarCTes

XMLs de Envio

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
<?xml version="1.0" encoding="utf-8"?>
<IntegracaoInutilizacao>
    <inutCTe>
        <infInut xmlns="http://www.portalfiscal.inf.br/cte">
            <tpAmb>2</tpAmb>
            <xServ>Inutilizar</xServ>
            <cUF>42</cUF>
            <ano>18</ano>
            <CNPJ>40999999999223</CNPJ>
            <mod>57</mod>
            <serie>5</serie>
            <nCTIni>10</nCTIni>
            <nCTFin>20</nCTFin>
            <xJust>Motivo da inutilizacao</xJust>
        </infInut>
    </inutCTe>
</IntegracaoInutilizacao>

XMLs de Resposta

Sucesso
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
<?xml version="1.0" encoding="utf-8"?>
<RespostaInutilizacaoCTe>
    <Versao>18.2.1.0</Versao>
    <Sucesso>true</Sucesso>
    <CTePack>
        <CTe>
            <Status>2</Status>
        </CTe>
    </CTePack>
    <Sefaz>
        <cStat />
    </Sefaz>
</RespostaInutilizacaoCTe>
Falha
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8"?>
<RespostaInutilizacaoCTe>
    <Versao>18.2.1.0</Versao>
    <Sucesso>false</Sucesso>
    <Erro>
        <Descricao>Empresa de CNPJ 40999999999223 não está cadastrada no sistema.</Descricao>
    </Erro>
</RespostaInutilizacaoCTe>

ConsultarCTe

XMLs de Envio

Consulta por número do CT-e, série e CNPJ do emitente
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8"?>
<ConsultaCTe>
    <CTe>
        <Numero>23036</Numero>
        <Serie>0</Serie>
        <CNPJEmitente>4503660000227</CNPJEmitente>
    </CTe>
</ConsultaCTe>
Consulta por número do Identificador e CNPJ do emitente
1
2
3
4
5
6
7
<?xml version="1.0" encoding="ISO-8859-1"?>
<ConsultaCTe>
    <CTe>
        <CNPJEmitente>09249980000135</CNPJEmitente>
        <IdentificadorOperacao>234872848</IdentificadorOperacao>
    </CTe>
</ConsultaCTe>

XMLs de Resposta

Sucesso
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<?xml version="1.0" encoding="utf-8"?>
<RespostaConsultaCTe>
    <Versao>18.2.1.0</Versao>
    <Sucesso>true</Sucesso>
    <Situacao>Autorizado</Situacao>
    <CTePack>
        <CTe>
            <Status>6</Status>
            <ChaveDoCTe>42100904503660000227570000000230366874912549</ChaveDoCTe>
        </CTe>
    </CTePack>
</RespostaConsultaCTe>

É possível definir que resposta dessa consulta retorne o XML protocolado. Para requisitar dessa forma, basta definiar a chave ‘incluir-resposta-protocolada’ com valor true no cabeçalho da requisição.

Resposta com XML protocolado sucesso
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?xml version="1.0" encoding="utf-8"?>
<RespostaConsultaCTe>
    <Versao>18.5.1.0</Versao>
    <Sucesso>true</Sucesso>
    <Situacao>Autorizado</Situacao>
    <XMLProtocolado>
        <![CDATA[conteudoXmlProtocolado]]>
    </XMLProtocolado>
    <CTePack>
        <CTe>
            <Status>6</Status>
            <DigVal>Zx2aS/cbAF6WpV9TDLyGFaCqgOo=</DigVal>
            <ChaveDoCTe>49857398472895739845724568873489573489537458</ChaveDoCTe>
        </CTe>
    </CTePack>
    <Sefaz>
        <cStat>100</cStat>
        <xMotivo>Autorizado o uso do CT-e</xMotivo>
        <Protocolo>937848497543753</Protocolo>
        <DataHoraAutorizacao>2018-05-10T16:18:16-03:00</DataHoraAutorizacao>
    </Sefaz>
</RespostaConsultaCTe>
Falha
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8"?>
<RespostaConsultaCTe>
        <Versao>18.2.1.0</Versao>
        <Sucesso>false</Sucesso>
        <Erro>
            <Descricao>O conhecimento de número 23036, série 0 e cnpj 4503660000227 não foi encontrado.</Descricao>
        </Erro>
</RespostaConsultaCTe>

ConsultarCTeRecebidoPorUmaNFe

XML de Envio

1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8"?>
<ConsultarCTeRecebidoPorNFe>
    <NFe>
        <Chave>42100884043009000170550010000837110000837112</Chave>
    </NFe>
</ConsultarCTeRecebidoPorNFe>

XMLs de Resposta

Sucesso
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8"?>
<RespostaConsultaCTeRecebidoPorNFe>
    <Versao>18.2.2.0</Versao>
    <Sucesso>true</Sucesso>
    <CTe xmlns="http://www.portalfiscal.inf.br/cte">
        <!-- estrutura do XML CTe autorizado -->
    </CTe>
</RespostaConsultaCTeRecebidoPorNFe>
Falha
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8"?>
<RespostaConsultaCTeRecebidoPorNFe>
    <Versao>18.2.2.0</Versao>
    <Sucesso>false</Sucesso>
    <Erro>
        <Descricao>Nenhum CTe recebido encontrado para a NFe 42100884043009000170550010000837110000837112</Descricao>
    </Erro>
</RespostaConsultaCTeRecebidoPorNFe>

SincronizarCTes

XMLs de Envio

XML de sincronização informando CNPJ do emitente, série, e número do documento
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<?xml version="1.0" encoding="utf-8"?>
<SincronizarConhecimentoTransporteComSEFAZ>
    <CTe>
        <IdentificacaoConhecimento>
            <CNPJ>01234567891234</CNPJ>
            <Serie>1</Serie>
            <NumeroConhecimento>1</NumeroConhecimento>
        </IdentificacaoConhecimento>
    </CTe>
</SincronizarConhecimentoTransporteComSEFAZ>
XML de sincronização informando a chave do documento
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8"?>
<SincronizarConhecimentoTransporteComSEFAZ>
    <CTe>
        <IdentificacaoConhecimento>
            <Chave>42160401234567891234576032909580761150414638</Chave>
        </IdentificacaoConhecimento>
    </CTe>
</SincronizarConhecimentoTransporteComSEFAZ>

XMLs de Resposta

Sucesso
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
<?xml version='1.0' encoding='utf-8'?>
<SincronizarConhecimentoTransporteComSEFAZResposta>
    <Versao>2.11.0.15721</Versao>
    <Situacao>
        <CTePack>
            <CTe>
                <Status>6</Status>
                <DigVal>Y5Gzp9FOZB6WbLqD3IHF8lizcjk=</DigVal>
                <ChaveDoCTe>42160401234567891234576032909580761150414638</ChaveDoCTe>
            </CTe>
        </CTePack>
        <Sefaz>
            <cStat>100</cStat>
            <xMotivo>Autorizado o uso do CT-e</xMotivo>
            <Protocolo>342160000029005</Protocolo>
        </Sefaz>
    </Situacao>
</SincronizarConhecimentoTransporteComSEFAZResposta>
Falha
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
<?xml version="1.0" encoding="utf-8"?>
<SincronizarConhecimentoTransporteComSEFAZResposta>
    <Versao>2.11.0.28512</Versao>
    <Situacao>
        <CTePack>
            <CTe>
                <Status>10</Status>
                <ChaveDoCTe>42160401234567891234576032909580761150414638</ChaveDoCTe>
            </CTe>
        </CTePack>
        <Sefaz>
            <cStat>217</cStat>
            <xMotivo>Rejeição: CT-e nao consta na base de dados da SEFAZ</xMotivo>
        </Sefaz>
    </Situacao>
</SincronizarConhecimentoTransporteComSEFAZResposta>

ObterCTesRecebidos

Este método aceita alguns parâmetros de entrada, porém estes parâmetros são opcionais. A única informação obrigatória é a tag CNPJParticipante. Esse CNPJ é do interessado do CT-e, ou seja, pode ser o remetente, expedidor, destinatário ou o CNPJ informado na tag toma4 do CTe.

XMLs de Envio

Sem parâmetros
1
2
3
4
5
<?xml version="1.0" encoding="utf-8"?>
<RecepcionarConhecimentoTransportesRecebidos>
    <CNPJParticipante>84753845738457</CNPJParticipante>
    <Pagina>1</Pagina>
</RecepcionarConhecimentoTransportesRecebidos>
Com data emissão do CTe inicial e final
1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8"?>
<RecepcionarConhecimentoTransportesRecebidos>
    <CNPJParticipante>84753845738457</CNPJParticipante>
    <DataEmissaoInicial>2016-11-14</DataEmissaoInicial>
    <DataEmissaoFinal>2016-11-15</DataEmissaoFinal>
</RecepcionarConhecimentoTransportesRecebidos>
Com valor do CTe inicial e final
1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8"?>
<RecepcionarConhecimentoTransportesRecebidos>
    <CNPJParticipante>84753845738457</CNPJParticipante>
    <ValorCTeInicial>50.00</ValorCTeInicial>
    <ValorCTeFinal>100.00</ValorCTeFinal>
</RecepcionarConhecimentoTransportesRecebidos>

XMLs de Resposta

Sucesso
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?xml version="1.0" encoding="utf-8"?>
<RecepcionarConhecimentoTransportesRecebidosResposta>
    <QuantidadeConhecimentoTransportesRecebidos>2</QuantidadeConhecimentoTransportesRecebidos>
    <ConhecimentoTransportesRecebidos>
        <ConhecimentoTransporteRecebido nItem="1">
            <ChaveCTe>42171209249980000135570100000000211000000024</ChaveCTe>
            <Serie>10</Serie>
            <NumeroConhecimentoTransporte>21</NumeroConhecimentoTransporte>
            <CNPJEmissor>9249980000135</CNPJEmissor>
            <xNome>CT-E EMITIDO EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xNome>
            <IE>256233861</IE>
            <dEmi>2017-12-15T09:59:12</dEmi>
            <vTPrest>2539.68</vTPrest>
            <digVal>CGTnH5b08Qko7O6VCQaIuekuGzs=</digVal>
            <dhRecbto>2017-12-15T10:49:48-02:00</dhRecbto>
            <SituacaoCTe>31</SituacaoCTe>
            <CNPJParticipante>26199852000143</CNPJParticipante>
            <TipoParticipante>0</TipoParticipante>
        </ConhecimentoTransporteRecebido>
        <ConhecimentoTransporteRecebido nItem="2">
            <ChaveCTe>42171209249980000135570100000000221000000021</ChaveCTe>
            <Serie>10</Serie>
            <NumeroConhecimentoTransporte>22</NumeroConhecimentoTransporte>
            <CNPJEmissor>9249980000135</CNPJEmissor>
            <xNome>CT-E EMITIDO EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xNome>
            <IE>256233861</IE>
            <dEmi>2017-12-15T09:59:12</dEmi>
            <vTPrest>2539.68</vTPrest>
            <digVal>gimTDIZvduZuK3yaXLE/pjf8xKM=</digVal>
            <dhRecbto>2017-12-15T10:53:29-02:00</dhRecbto>
            <SituacaoCTe>31</SituacaoCTe>
            <CNPJParticipante>26199852000143</CNPJParticipante>
            <TipoParticipante>0</TipoParticipante>
        </ConhecimentoTransporteRecebido>
    </ConhecimentoTransportesRecebidos>
</RecepcionarConhecimentoTransportesRecebidosResposta>
Falha
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<?xml version="1.0" encoding="utf-8"?>
<RecepcionarConhecimentoTransportesRecebidosResposta>
    <QuantidadeConhecimentoTransportesRecebidos>0</QuantidadeConhecimentoTransportesRecebidos>
    <Erro>
        <Codigo>50010</Codigo>
        <Descricao>CNPJ do Participante é obrigatório para consulta de CTe's recebidos</Descricao>
        <ConteudoInformado>
            <![CDATA[<RecepcionarConhecimentoTransportesRecebidos/>]]>
        </ConteudoInformado>
    </Erro>
</RecepcionarConhecimentoTransportesRecebidosResposta>

UploadCertificado

XMLs de Envio

Para a integração, o conteúdo do arquivo pfx do certificado deve ser enviado em formato base64. A flag ‘AplicarParaFiliaisComMesmoCnpjRaiz’ deve ser utilizada quando há a necessidade de aplicar o certificado para todos os CNPJ raiz, para isso utilize ‘1’ se deseja aplicar ou ‘0’ para aplicar apenas para o CNPJ do certificado.

XML de integração do certificado
1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8"?>
<UploadCertificado>
    <ConteudoBase64>--BASE64--</ConteudoBase64>
    <Senha>--SENHA--</Senha>
    <AplicarParaFiliaisComMesmoCnpjRaiz>0</AplicarParaFiliaisComMesmoCnpjRaiz>
</UploadCertificado>

XMLs de Resposta

Sucesso
<?xml version="1.0" encoding="utf-8"?>
<UploadCertificadoResposta>
    <Versao>18.3.1.3</Versao>
    <Sucesso>true</Sucesso>
    <EmpresasAtualizadas>
        <CNPJ>09249980000135</CNPJ>
        <CNPJ>09249980000235</CNPJ>
    </EmpresasAtualizadas>
</UploadCertificadoResposta>
Falha
<?xml version="1.0" encoding="utf-8"?>
<UploadCertificadoResposta>
    <Versao>18.3.1.3</Versao>
    <Sucesso>false</Sucesso>
    <Erro>
        <Codigo>70015</Codigo>
        <Descricao>A senha informada está incorreta</Descricao>
        <Excecao>Inventti.EDocsPack.Core.Excecoes.EdocsPackException: Código: 70015. Descrição: A senha informada está incorreta. Correção: Informe uma senha válida. at Inventti.EDocsPack.Certificado.Deposito.DepositoCertificado.ObterCertificado(Byte[] certificadoBytes, String senhaCertificado) at Inventti.EDocsPack.Certificado.Facade.CertificadoFacade.InserirCertificado(InformacaoCertificado informacaoCertificado, Func`3 quandoCertificadoInserido, Func`2 certificadoPodeSerInserido) at CTePack.Core.Certificados.UploadCertificado.InserirCertificado(InformacaoCertificado informacaoCertificado, Boolean aplicaParaFiliais) in C:\Dev\CTePack\source\app\CTePack.Core\Certificados\UploadCertificado.cs:line 36 at CTePack.Core.Servico.Integracao.WebServices.IntegradorCertificado.AtualizarCertificadosDasEmpresas(String senhaDoCertificado, Byte[] bytesDoCertificado, Boolean aplicaParaFiliais) in C:\Dev\CTePack\source\app\CTePack.Core\Servico\Integracao\WebServices\IntegradorCertificado.cs:line 58 at CTePack.Core.Servico.Integracao.WebServices.IntegradorCertificado.UploadCertificado(String xmlStr) in C:\Dev\CTePack\source\app\CTePack\Core\Servico\Integracao\WebServices\IntegradorCertificado.cs:line 41</Excecao>
        <ConteudoInformado><![CDATA[
            <UploadCertificado>
                <ConteudoBase64>--BASE64--</ConteudoBase64>
                <Senha>--SENHA--</Senha>
                <AplicarParaFiliaisComMesmoCnpjRaiz>0</AplicarParaFiliaisComMesmoCnpjRaiz>
            </UploadCertificado>]]>
        </ConteudoInformado>
    </Erro>
</UploadCertificadoResposta>

UploadTemplate

Serviço destinado para efetuar a atualização ou envio de um novo template Dacte. Isso inclui o PDF, XML e a logo da empresa, basta informar o nome do arquivo com a extensão e o conteúdo do arquivo em formato base64.

Devem ser enviados separadamente (PDF e então XML), e não há validação para a extensão do template, ou seja, o conteúdo do arquivo e/ou nome/extensão não são validados e o mesmo ocorre para a imagem (logo).

XMLs de Envio

XML de integração do template
1
2
3
4
5
<?xml version="1.0" encoding="utf-8"?>
<UploadTemplate>
    <NomeArquivo>logo.jpg</NomeArquivo>
    <ConteudoBase64>JS5CWCOLwc3o/iYUCExQJ2JWtVlNoUOyiUu4iQdc0WiaQAZa2Ei==</ConteudoBase64>
</UploadTemplate>

XMLs de Resposta

Sucesso
<?xml version="1.0" encoding="utf-8"?>
<UploadTemplateResposta>
    <Versao>18.5.5.0</Versao>
    <Sucesso>true</Sucesso>
</UploadTemplateResposta>
Falha
<?xml version="1.0" encoding="utf-8"?>
<UploadTemplateResposta>
            <Versao>18.5.5.0</Versao>
            <Sucesso>false</Sucesso>
            <Erro>
                    <Codigo>50021</Codigo>
                    <Descricao>A tag 'UploadTemplate/ConteudoBase64' é obrigatória na integração WebService com o CTePack. Operação: UploadTemplate.</Descricao>
                    <Correcao>Informe um valor para a tag 'UploadTemplate/ConteudoBase64'.</Correcao>
                    <ConteudoInformado>
                            <![CDATA[<UploadTemplate><NomeArquivo>teste.xml</NomeArquivo></UploadTemplate>]]>
                    </ConteudoInformado>
            </Erro>
    </UploadTemplateResposta>

RecuperarXmlCTeEmissao e RecuperarXmlCTeRecebimento

Serviços destinados para obter o XML de um CTe. Os dois métodos possuem o mesmo layout de XML de integração e também os mesmos layouts de respostas.

RecuperarXmlCTeEmissao: Retorna o XML de um CTe emitido via CTePack.

RecuperarXmlCTeRecebimento: Retorna o XML de um CTe recebido via DFe ou por email.

XMLs de Envio

XML de integração
1
2
3
4
<?xml version="1.0" encoding="utf-8"?>
<RecuperarXmlCTe>
    <CTe Chave='42190309249980000135570100000003931000000024'/>
</RecuperarXmlCTe>

XMLs de Resposta

Sucesso
<?xml version="1.0" encoding="utf-8"?>
<RecuperarXmlCTeResposta>
    <Sucesso>true</Sucesso>
    <Versao>19.1.1.0</Versao>
    <GrupoXml>
        <XmlNota>
            <![CDATA[<CTe/>]]>
        </XmlNota>
    </GrupoXml>
</RecuperarXmlCTeResposta>
Falha
<?xml version="1.0" encoding="utf-8"?>
<RecuperarXmlCTeResposta>
    <Sucesso>false</Sucesso>
    <Versao>19.1.1.0</Versao>
    <Erro>
        <Codigo>99999</Codigo>
        <Descricao>Mensagem</Descricao>
        <Correcao>Correção</Correcao>
        <ConteudoInformado>
            <![CDATA[<CTe/>]]>
        </ConteudoInformado>
    </Erro>
</RecuperarXmlCTeResposta>