10.6. Eventos do CT-e [v3.00]
10.6.2. Cancela CT-e [v3.00]
10.6.1. EPEC [v3.00]
« Anterior
10.6.3. Carta de Correção [v3.00]
Próximo »

10.6.2. Cancela CT-e [v3.00]

Cancelamento de CT-e como Evento

Atualização para versão 3.00 do leiaute [jan/2017]

  • o que vai mudar?

    Foi criado o CT-e Outros Serviços, que é uma novo modelo de Conhecimento de transporte: CT-e OS, modelo 67, para substituir a Nota Fiscal de Serviço de Transporte, modelo 7, para acobertar os seguintes serviços:

    • Transporte de Pessoas;
    • Transporte de Valores;
    • Excesso de Bagagem.
  • o que muda na DLL?

    • a DLL foi modificada para suportar a versão 3.00 do leiaute do Web Service de recepção de CT-e, além da implementação dos novos Web Services;
    • requer a atualização da versão DLL - É necessário atualizar a DLL para a versão 3.00 ou superior;
  • qual o reflexo para minha aplicação? - são necessárias as seguintes alterações:

    • parâmetro versao - informar "3.00" no parâmetro versao;
    • parâmetro dhEvento - informar a data e hora com fuso horário (data e hora no formato UTC) no parâmetro dhEvento;
    • retorno do WS - as datas serão devolvidas com o fuso horário (formato UTC);

Assinatura

string CancelaCTEvento(string siglaWS, int tipoAmbiente, string nomeCertificado, string versao, ref string msgDados, out string msgRetWS, out int cStat, out string msgResultado, string chaveCTe, string nProtocolo, string justificativa, string dhEvento, out string nProtocoloCanc, out string dProtocoloCanc, string proxy, string usuario, string senha, string licenca)

Descrição:

Funcionalidade para Cancelamento de CT-e como Evento.

Os principais parâmetros de cancelamento são:

Condições para Cancelamento

  • CT-e autorizado, o usuário deve utilizar a inutilização de numeração se o CT-e não estiver autorizado;
  • CT-e autorizado em até 168 horas;
  • Possuir o número do protocolo de autorização de uso;
  • O Serviço não pode ter sido prestado;
  • O CT-e não pode ter registro de passagem na fiscalização de trânsito;
  • Não é possível cancelar os seguintes CT-e:
    • CT-e de Anulação (tpCTe = 2);
    • CT-e de Substituição (tpCTe = 3);
    • CT-e normal que tenha CT-e de Anulação associado;
    • CT-e normal que tenha CT-e de Substituição associado;
    • CT-e normal que tenha CT-e Complementar com situação "Autorizado o Uso";

Prazo de cancelamento

Em até 168 horas da autorização de uso do CT-e objeto do cancelamento.

Número do Protocolo de Autorização de Uso

Alguns usuários confundem o número do recibo do envio do lote com o número da autorização de uso e não conseguem cancelar o CT-e.


Preenchimento da siglaWS

A identificação do WS será informada no parâmetro siglaWS, veja Tabela de siglaWS

Preenchimento do nomeCertificado

informar o Nome do titular (campo Assunto) do certificado digital a ser utilizado na conexão SSL, formas possíveis:

1. uso de certificado digital existente no repositório MY do CSP do usuário corrente (currentuser)

É a forma de mais comum de uso, cabe ressaltar que é a única forma de uso de certificado digital do tipo A3 que a DLL oferece.
O usuário deve passar como parâmetro o campo assunto do certificado no parâmetro NomeCertificado para que a DLL localize um certificado digital com mesmo assunto no repositório MY do currentuser do equipamento.
Esta forma de uso requer a prévia instalação do certificado digital na conta do usuário do Windows (logon) que irá utilizar o certificado digital.

2. uso de certificado digital em arquivo no formato pfx

Permite o de uso de certificado digital em arquivo formato pfx.
O caminho da localização (path) do arquivo pfx deve ser passado para a DLL no formato: ARQUIVO | [nome do arquivo pfx com caminho completo] | [senha do arquivo] no parâmetro NomeCertificado, ex.: "ARQUIVO|c:\certificado.pfx|senha".
Esta opção só funciona com certificado digital do tipo A1.

3. uso de certificado digital em string base64

Permite uso o arquivo do certificado digital em formato pfx convertido em uma string base64. O certificado digital em string base64 deve ser passado para a DLL no formato: CERTIFICADO | [string base64 do arquivo pfx] | [senha do arquivo] no parâmetro NomeCertificado, ex.: "CERTIFICADO|MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64...)QQDExNBQy|senha".
Esta opção só funciona com certificado digital do tipo A1. É uma opção de uso que oferece maior versatilidade, pois permite o armazenamento do certificado digital em banco de dados na aplicação. É a forma mais indicada para uso em ASP.NET.


Parâmetros:

nome tipo fluxo descrição
siglaWS string entrada A identificação do WS será informada no parâmetro siglaWS, veja Tabela de siglaWS
tipoAmbiente inteiro entrada informar o código do ambiente desejado: 1- produção ou 2-homologação
NomeCertificado string entrada informar o certificado digital que será utilizado para assinatura:
1. informar o assunto do certificado digital que deve existir no repositório MY do current user, ex.: "CN=NFe - Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS".
2. informar: ARQUIVO | [nome do arquivo pfx com caminho completo] | [senha do arquivo] para uso do certificado digital em arquivo pfx, ex.: "ARQUIVO|c:\certificado.pfx|senha".
3. informar: CERTIFICADO | [string base64 do arquivo pfx] | [senha do arquivo] no parâmetro NomeCertificado para passar uma string contendo um certificado digital em base64, ex.:"CERTIFICADO|MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64...)QQDExNBQy|senha".
(novas opções)
versao string entrada informar a versão do Evento: 3.00 (o valor 2.00 pode ser informado até o fim da vigência da versão 2.00 previsto para 04/12/17).
msgDados string saída retorna a mensagem XML do pedido de cancelamento criado pela DLL que foi enviado ao WS.
msgRetWS string saída retorna a mensagem XML de resposta do WS
cStat inteiro saída retorna o resultado da chamada do WS.
msgResultado string saída retorna a literal do resultado da chamada do WS
chaveCTe string entrada informar a chave de acesso do CT-e objeto do cancelamento
nProtocolo string entrada informar o número do protocolo de autorização de uso do CT-e objeto do cancelamento
justificativa string entrada informar a justificativa do cancelamento com pelo menos 15 caracteres
dhEvento string entrada informar a data e hora do evento do cancelamento no formato UTC (data e hora com fuso horário): "AAAA-MM-DDTHH:MM:SS-HH:00".
Exemplos:
2017-01-13T12:34-02:00 (fuso horário de Brasília no horário de verão).
2017-01-13T12:34-03:00 (fuso horário de Brasília).

Se nada for informado (""), a DLL utilizará a data e hora e fuso horário do equipamento.
nProtocoloCanc string saída retorna o número do protocolo da homologação do cancelamento do CT-e
dProtocoloCanc string saída retorna a data e hora da homologação do cancelamento do CT-e pela SEFAZ.
proxy string entrada informar 'http://proxyserver:port' quando existir uso de proxy no ambiente. verificar com o cliente qual é o endereço do servidor proxy e a porta https, a porta padrão do https é 443, assim teríamos algo do tipo 'http://192.168.15.1:443'
usuario string entrada informar o usuário para autenticação no proxy, se necessário
senha string entrada informar a senha de autenticação no proxy, se necessário
licenca string entrada informar a chave da licenca de uso ou registro, esta funcionalidade pode ser utilizada sem qualquer restrição no ambiente de homologação. O uso em ambiente de produção requer o licenciamento, para maiores detalhes veja as condições de uso


Retorno:

O resultado da chamada do CancelaEvento é a mensagem XML composta pelo Evento pedido de cancelamento e respectivo protocolo de registro do evento do cancelamento da CT-e se o Evento de Cancelamento for registrado e vinculado no CT-e (cStat=135).

Exemplo do XML Evento de Cancelamento:

 
<?xml version="1.0" encoding="UTF-8"?>
<eventoCTe xmlns="http://www.portalfiscal.inf.br/cte" versao="3.00">
  <infEvento Id="ID1101113517011014278500019057001000000001154452952001">
    <cOrgao>35</cOrgao>
    <tpAmb>2</tpAmb>
    <CNPJ>10142785000190</CNPJ>
    <chCTe>35170110142785000190570010000000011544529520</chCTe>
    <dhEvento>2017-01-26T11:37:25-02:00</dhEvento>
    <tpEvento>110111</tpEvento>
    <nSeqEvento>1</nSeqEvento>
    <detEvento versaoEvento="3.00">
      <evCancCTe>
        <descEvento>Cancelamento</descEvento>
        <nProt>135170000035462</nProt>
        <xJust>CT-e emitido com valor incorreto</xJust>
      </evCancCTe>
    </detEvento>
  </infEvento>
  <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
    <SignedInfo>
      <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
      <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
      <Reference URI="#ID1101113517011014278500019057001000000001154452952001">
        <Transforms>
          <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
          <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
        </Transforms>
        <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
        <DigestValue>RDFpW7BU37EstWUmSBJwmWqs5Ps=</DigestValue>
      </Reference>
    </SignedInfo>
    <SignatureValue>Ug8fpywL6UrkJPlSGUh2c0KMcuqP(...)B+IIie6D29sjUT1k61w==</SignatureValue>
    <KeyInfo>
      <X509Data>
        <X509Certificate>MIIIUDCCBjigAwIBAgIQGcl(...)5IHbK+qNkBdOAr7Ns4azU=</X509Certificate>
      </X509Data>
    </KeyInfo>
  </Signature>
</eventoCTe>

O parâmetro cStat retorna um código numérico com os seguintes significados:

código Mensagem origem regra
5001 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: o certificado cliente: 1.não é ICP-Brasil; 2.fora do prazo de validade; 3.revogado; 4.certificado cliente não confiável para o Web Service acessado, contatar a SEFAZ) DLL -
5002 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: a cadeia de certificação do Web Service acessado ou do certificado cliente inexistente no repositório de certificados do usuário corrente do Windows) DLL -
5003 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: serviço inexistente, verifique se o nome do serviço da url acessada está correto no arquivo ws2.xml) DLL -
5004 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: método não permitido) DLL -
5005 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: a url não encontrada, verifique se o nome do domínio da url acessada está correto no arquivo ws2.xml) DLL -
5006 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Time-Out, o WS não respondeu a solicitação no tempo estabelecido: [{1:0}]) DLL -
5007 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: mensagem maior que a permitida) DLL -
5008 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Servidor com problemas) DLL -
5009 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Serviço não implementado) DLL -
5010 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Serviço temporariamente indisponível, servidor sem recursos para atender a solicitação) DLL -
5011 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Causa provável da falha na conexão: Rede indisponível) DLL -
5012 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Versão do SOAP não suportada DLL -
5013 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Web Service não consumido, não houve nenhum retorno ou resposta) DLL -
5014 Erro: Falha na conexão: [MENSAGEM DE ERRO DO WINDOWS] (Causa provável: Web Service não consumido, falha desconhecida) DLL -
5015 Erro: Falha na conexão: Tempo limite de time-out alcançado [TEMPO DE TIME OUT UTILIZADO ms] - [MENSAGEM DE ERRO DO WINDOWS] DLL -
5016 Erro: Falha na conexão: Falha da Biblioteca Criptografica: [MENSAGEM DE ERRO DO WINDOWS] DLL -
5017 Erro: Falha ao tratar o XML de retorno do WS: [MENSAGEM DE ERRO DO WINDOWS] DLL -
5101 Erro: A mensagem de retorno do WS não é um XML válido: [MENSAGEM DE ERRO DO WINDOWS] DLL -
5102 Erro: Tag cStat inexistente na mensagem de retorno [MENSAGEM DE ERRO DO WINDOWS] DLL -
5103 Erro: Tag xMotivo inexistente na mensagem de retorno [MENSAGEM DE ERRO DO WINDOWS] DLL -
5104 Erro: Tag [NOME TAG] inexistente na mensagem de retorno [MENSAGEM DE ERRO DO WINDOWS] DLL -
5105 Erro: O WS não devolveu nenhum resultado DLL -
5201 Erro: O código do tipo de ambiente [CODIGO RECEBIDO PELA DLL] informado diferente de 1 - produção e 2 - homologação DLL -
5202 Erro: A sigla da UF [SIGLA RECEBIDA PELA DLL] informada é inválida DLL -
5203 Erro: Inexiste url para a UF [SIGLA UF] informada no ambiente [AMBIENTE] desejado, verifique se existe atualização do arquivo [NOME ARQUIVO] disponível. DLL -
5204 Erro: Arquivo que contem a URL do WS não localizado em [CAMINHO DA APLICACAO] DLL -
5205 Erro: Ocorreu um erro inesperado no processamento da URL (NOME URL) : [MENSAGEM DE ERRO DO WINDOWS] DLL -
5206 Erro: Ocorreu um erro de validação do XML (NOME XML) : [MENSAGEM DE ERRO DO WINDOWS] DLL -
5403 Erro: Falha ao acessar certificado digital [mensagem de ERRO DO WINDOWS] DLL -
5404 Erro: Nenhum certificado digital selecionado DLL
5405 Erro: Nenhum certificado válido foi encontrado com o nome [NomeCertificado] informado no repositório [MY do CurrentUser] DLL -
5406 Erro: Falha no tratamento do parâmetro nome: [nome informado] DLL -
5407 Erro: Quantidade de parâmetos inválido: [nome informado] DLL -
5408 Erro: Falha na criação do objeto certificate: [mensagem do ERRO DO WINDOWS] DLL -
6101 Erro: O parâmetro versao não foi informado DLL -
6102 Erro: O conteúdo do parâmetro sigla da UF: [CONTEÚDO] é inválido DLL -
6103 Erro: O conteúdo do parâmetro versao informado é inválido: [CONTEUDO] DLL -
6104 Erro: O parâmetro chaveCTe não informado DLL -
6105 Erro: O tamanho [TAMANHO DO PARAMETRO] do parâmetro chaveCTe informado não tem 44 caracteres DLL -
6106 Erro: As posições correspondentes (1,2) ao código da UF [POSIÇÃO DA CHAVE] do parâmetro chaveCTe não é um código de UF válido DLL -
6107 Erro: A chave de acesso deve ter 44 posições: [POSIÇÃO DA CHAVE] DLL -
6108 Erro: O conteúdo do parâmetro número do protocolo: [NÚMERO DO PROTOCOLO] deve ter 15 posições DLL -
6109 Erro: O conteúdo do parâmetro justificativa: [JUSTIFICATIVA] deve ter pelo menos 15 posições DLL -
6110 Erro: O nome do titular do certificado deve ser informado DLL -
6120 Erro: O parâmetro chave de acesso deve ser informado DLL -
6122 Erro: O parâmetro justificativa deve ter se informado DLL -
6123 Erro: O parâmetro tipoAmbiente deve ser informado DLL -
6124 Erro: O parâmetro tipoAmbiente [CONTEUDO] deve ser 1 ou 2 DLL -
6141 Erro: O parâmetro siglaWS deve ser informado DLL -
7001 Erro: A licença não foi informada DLL -
7002 Erro: A licença informada: [CONTEUDO] tem tamanho:[TAMANHO] diferente de 128 DLL -
7003 Erro: A licença informada: [CONTEUDO] não pertence ao CNPJ:[TAMANHO] DLL -
108 Serviço Paralisado Momentaneamente (curto prazo) WS B03
109 Serviço Paralisado sem Previsão WS B04
135 Evento registrado e vinculado ao CT-e WS -
203 Rejeição: Emissor não habilitado para emissão do CT-e WS M03
205 Rejeição: CT-e está denegado na base de dados da SEFAZ WS M05
213 Rejeição: CNPJ-Base do Emitente difere do CNPJ-Base do Certificado Digital WS F03
214 Rejeição: Tamanho da mensagem excedeu o limite estabelecido WS B01
215 Rejeição: Falha no schema XML WS D01
216 Rejeição: Chave de Acesso difere da cadastrada WS L19
217 Rejeição: CT-e não consta na base de dados da SEFAZ WS L18
218 Rejeição: CT-e já está cancelado na base de dados da SEFAZ WS M06
219 Rejeição: Circulação do CT-e verificada WS M10
220 Rejeição: CT-e autorizado há mais de 7 dias (168 horas) WS M07
222 Rejeição: Protocolo de Autorização de Uso difere do cadastrado WS M09
236 Rejeição: Chave de Acesso com dígito verificador inválido WS L09
238 Rejeição: Cabeçalho - Versão do arquivo XML superior a Versão vigente WS C06
239 Rejeição: Cabeçalho - Versão do arquivo XML não suportada WS C07
240 Rejeição: Cancelamento/Inutilização - Irregularidade Fiscal do Emitente WS M04
242 Rejeição: Cabeçalho - Falha no Schema XML WS C01
243 Rejeição: XML Mal Formado WS B02
249 Rejeição: UF da Chave de Acesso diverge da UF autorizadora WS M01
252 Rejeição: Ambiente informado diverge do Ambiente de recebimento WS L01
280 Rejeição: Certificado Transmissor inválido WS A01
281 Rejeição: Certificado Transmissor Data Validade WS A02
282 Rejeição: Certificado Transmissor sem CNPJ WS A07
283 Rejeição: Certificado Transmissor - erro Cadeia de Certificação WS A03
284 Rejeição: Certificado Transmissor revogado WS A05
285 Rejeição: Certificado Transmissor difere ICP-Brasil WS A06
286 Rejeição: Certificado Transmissor erro no acesso a LCR WS A04
290 Rejeição: Certificado Assinatura inválido WS E01
291 Rejeição: Certificado Assinatura Data Validade WS E02
292 Rejeição: Certificado Assinatura sem CNPJ WS E03
293 Rejeição: Certificado Assinatura - erro Cadeia de Certificação WS E04
294 Rejeição: Certificado Assinatura revogado WS E06
295 Rejeição: Certificado Assinatura difere ICP-Brasil WS E07
296 Rejeição: Certificado Assinatura erro no acesso a LCR WS E05
297 Rejeição: Assinatura difere do calculado WS F02
298 Rejeição: Assinatura difere do padrão do Projeto WS F01
402 Rejeição: XML da área de dados com codificação diferente de UTF-8 WS D05
404 Rejeição: Uso de prefixo de namespace não permitido WS D04
409 Rejeição: Campo cUF inexistente no elemento cteCabecMsg do SOAP Header WS C02
410 Rejeição: UF informada no campo cUF não é atendida pelo Web Service WS C03
411 Rejeição: Campo versaoDados inexistente no elemento cteCabecMsg do SOAP Header WS C05
513 Rejeicao: UF nao atendida pela SVC-[SP/RS] WS C04
516 Rejeição: O tpEmis informado é incompatível com SVC-[SP/RS] WS L07
564 Rejeição: O CT-e de anulação não pode ser cancelado WS M11
574 Rejeição: Vedado o cancelamento de CT-e do tipo substituto (tipo=3) WS M12
575 Rejeição: Vedado o cancelamento se possuir CT-e de Anulação associado WS M13
576 Rejeição: Vedado o cancelamento se possuir CT-e de Substituição associado WS M14
592 Rejeição: Chave de acesso inválida (Ano < 2009 ou Ano maior que Ano corrente WS L10
593 Rejeição: Chave de acesso inválida (Mês = 0 ou Mês > 12) WS L11
594 Rejeição: Chave de acesso inválida (CNPJ zerado ou digito inválido) WS L12
595 Rejeição: Chave de acesso inválida (modelo diferente de 57) WS L13
596 Rejeição: Chave de acesso inválida (numero CT = 0) WS L14
598 Rejeição: Usar somente o namespace padrão do CT-e WS D02
599 Rejeição: Não é permitida a presença de caracteres de edição no início/fim da mensagem ou entre as tags da mensagem WS D03
600 Rejeicao: Chave de Acesso difere da existente em BD WS L20
627 Rejeição: CNPJ do autor do evento inválido WS L04
628 Rejeição: Erro Atributo ID do evento não corresponde a concatenação dos campos (“ID” + tpEvento + chCTe + nSeqEvento) WS L05
629 Rejeição: O tpEvento informado inválido WS L06
630 Rejeição: Falha no Schema XML específico para o evento WS L08
631 Rejeição: Duplicidade de evento WS L15
632 Rejeição: O autor do evento diverge do emissor do CT-e WS L16
633 Rejeição: O autor do evento não é um órgão autorizado a gerar o evento WS L17
634 Rejeição: A data do evento não pode ser menor que a data de emissão do CT-e WS L21
635 Rejeição: A data do evento não pode ser maior que a data do processamento WS L23
636 Rejeição: O numero sequencial do evento é maior que o permitido WS M02
637 Rejeição: A data do evento não pode ser menor que a data de autorização do CT-e WS L22
660 Rejeição: Vedado o cancelamento se possuir CT-e Complementar associado WS M15
670 Rejeição: Série utilizada não permitida no webservice WS L03
677 Rejeição: Órgão de recepção do evento inválido WS L02
698 Rejeição: Evento Prévio autorizado há mais de 7 dias (168 horas) WS M08
999 Rejeição: Erro não catalogado (mensagem) WS -

Tratamento de Erro:

Caso ocorra algum erro na chamada do WS (5001-6145) ou a requisição não seja atendida pelo WS (203-999), será gravado um log na pasta log, com as seguintes informações que devem ser úteis para identificação do problema:

Os erros com código > 5000 são erros tratados pela DLL e ocorrem nas seguintes situações:

Histórico de atualização:

Mensagens XML - (CANCELAMENTO COMO EVENTO)

Evento de Cancelamento

<?xml version="1.0" encoding="UTF-8"?>
<eventoCTe xmlns="http://www.portalfiscal.inf.br/cte" versao="3.00">
  <infEvento Id="ID1101113517011014278500019057001000000001154452952001">
    <cOrgao>35</cOrgao>
    <tpAmb>2</tpAmb>
    <CNPJ>10142785000190</CNPJ>
    <chCTe>35170110142785000190570010000000011544529520</chCTe>
    <dhEvento>2017-01-26T11:37:25-02:00</dhEvento>
    <tpEvento>110111</tpEvento>
    <nSeqEvento>1</nSeqEvento>
    <detEvento versaoEvento="3.00">
      <evCancCTe>
        <descEvento>Cancelamento</descEvento>
        <nProt>135170000035462</nProt>
        <xJust>CT-e emitido com valor incorreto</xJust>
      </evCancCTe>
    </detEvento>
  </infEvento>
  <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
    <SignedInfo>
      <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
      <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
      <Reference URI="#ID1101113517011014278500019057001000000001154452952001">
        <Transforms>
          <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
          <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
        </Transforms>
        <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
        <DigestValue>RDFpW7BU37EstWUmSBJwmWqs5Ps=</DigestValue>
      </Reference>
    </SignedInfo>
    <SignatureValue>Ug8fpywL6UrkJPlSGUh2c0KMcuqP(...)B+IIie6D29sjUT1k61w==</SignatureValue>
    <KeyInfo>
      <X509Data>
        <X509Certificate>MIIIUDCCBjigAwIBAgIQGcl(...)5IHbK+qNkBdOAr7Ns4azU=</X509Certificate>
      </X509Data>
    </KeyInfo>
  </Signature>
</eventoCTe>

Resposta do Evento de Cancelamento

 
<?xml version="1.0" encoding="UTF-8"?>
<procEventoCTe versao="3.00">
<eventoCTe xmlns="http://www.portalfiscal.inf.br/cte" versao="3.00">
  <infEvento Id="ID1101113517011014278500019057001000000001154452952001">
    <cOrgao>35</cOrgao>
    <tpAmb>2</tpAmb>
    <CNPJ>10142785000190</CNPJ>
    <chCTe>35170110142785000190570010000000011544529520</chCTe>
    <dhEvento>2017-01-26T11:37:25-02:00</dhEvento>
    <tpEvento>110111</tpEvento>
    <nSeqEvento>1</nSeqEvento>
    <detEvento versaoEvento="3.00">
      <evCancCTe>
        <descEvento>Cancelamento</descEvento>
        <nProt>135170000035462</nProt>
        <xJust>CT-e emitido com valor incorreto</xJust>
      </evCancCTe>
    </detEvento>
  </infEvento>
  <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
    <SignedInfo>
      <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
      <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
      <Reference URI="#ID1101113517011014278500019057001000000001154452952001">
        <Transforms>
          <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
          <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
        </Transforms>
        <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
        <DigestValue>RDFpW7BU37EstWUmSBJwmWqs5Ps=</DigestValue>
      </Reference>
    </SignedInfo>
    <SignatureValue>Ug8fpywL6UrkJPlSGUh2c0KMcuqP(...)B+IIie6D29sjUT1k61w==</SignatureValue>
    <KeyInfo>
      <X509Data>
        <X509Certificate>MIIIUDCCBjigAwIBAgIQGcl(...)5IHbK+qNkBdOAr7Ns4azU=</X509Certificate>
      </X509Data>
    </KeyInfo>
  </Signature>
</eventoCTe>
<retEventoCTe versao="3.00" xmlns="http://www.portalfiscal.inf.br/cte">
  <infEvento>
    <tpAmb>2</tpAmb>
    <verAplic>SP-CTe-22-12-2016</verAplic>
    <cOrgao>35</cOrgao>
    <cStat>135</cStat>
    <xMotivo>Evento registrado e vinculado a CT-e</xMotivo>
    <chCTe>3517011014278500019057001000000001154452952001</chCTe>
    <tpEvento>110111</tpEvento>
    <xEvento>Cancelamento registrado</xEvento> <!--  CONTEÚDO PRESUMIDO -->
    <nSeqEvento>1</nSeqEvento>
    <dhRegEvento>2017-01-18T20:32:05-03:00</dhRegEvento>
    <nProt>135170005426267</nProt>
  </infEvento>
</retEventoCTe>
</procEventoCTe>

Proc do Evento de Cancelamento

 
<retEventoCTe versao="3.00" xmlns="http://www.portalfiscal.inf.br/cte">
  <infEvento>
    <tpAmb>2</tpAmb>
    <verAplic>SP-CTe-22-12-2016</verAplic>
    <cOrgao>35</cOrgao>
    <cStat>135</cStat>
    <xMotivo>Evento registrado e vinculado a CT-e</xMotivo>
    <chCTe>3517011014278500019057001000000001154452952001</chCTe>
    <tpEvento>110111</tpEvento>
    <xEvento>Cancelamento registrado</xEvento> <!--  CONTEÚDO PRESUMIDO -->
    <nSeqEvento>1</nSeqEvento>
    <dhRegEvento>2017-01-18T20:32:05-03:00</dhRegEvento>
    <nProt>135170005426267</nProt>
  </infEvento>
</retEventoCTe>

Exemplos de uso:

Visual Basic 6.0

 
' declaração das variáveis que serão utilizadas na passagem de parâmetros da DLL
'
Dim msgDados As String ' retorna a mensagem XML do pedido de cancelamento criado pela DLL que foi enviado ao WS
Dim msgRetWS As String ' retorna a mensagem XML de resposta do WS
Dim msgResultado As String ' retorna a literal do resultado da chamada do WS
Dim siglaWS As String ' informar a sigla do WS que deseja consumir
Dim nomeCertificado As String ' informar o Nome do titular (campo Assunto) do certificado digital a ser utilizado na conexão SSL. Ex.: "CN=NFe - Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS"
'
' importante: indicar aqui assunto do certificado digital válido, este da associacao trata-se apenas de um exemplo para testes
'
' EXEMPLO PARA USO DE ARQUIVO PFX
'
'nomeCertificado = "ARQUIVO|c:\certificado.pfx|associacao"
'
'  onde:
'  ARQUIVO            --> indica opção de uso de arquivo PFX
'  c:\certificado.pfx --> nome e caminho do arquivo PFX
'  associacao         --> senha do arquivo PFX
'
'
' EXEMPLO PARA USO DE ARQUIVO PFX EM STRING BASE64
'
'nomeCertificado = "CERTIFICADO|MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64...)QQDExNBQy|senha"
'
'  onde:
'  CERTIFICADO        --> indica opção de uso de arquivo PFX em base64
'  MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64...)QQDExNBQy --> arquivo PFX em base64
'  senha              --> senha do arquivo PFX
'
Dim tipoAmbiente As Integer ' informar o código do ambiente a ser consultado: 1- produção ou 2-homologação
Dim versao As String ' informar a versão da mensagem do pedido: 1.00 - cancelamento como evento'
' Informações do CT-e a ser cancelada
'
Dim chaveCTe As String ' informar a chave de acesso do CT-e objeto do cancelamento
Dim nProtocolo As String ' informar o número do protocolo de autorização de uso do CT-e objeto do cancelamento
Dim justificativa As String ' informar a justificativa do cancelamento com pelo menos 15 caracteres
Dim dhEvento As String ' informar a data e hora do pedido de cancelamento, a DLL pega a data e hora do sistema se for informado vazio ""
'
' Retorno da DLL
'
Dim cStat As Long ' retorna o resultado da chamada do WS
Dim nProtocoloCanc As String ' retorna o número do protocolo da homologação do cancelamento do CT-e
Dim dProtocoloCanc As String ' retorna a data e hora da homologação do cancelamento do CT-e pela SEFAZ
Dim procEvento As String ' retorna protocolo de homologação de cancelamento do CT-e gerada de acordo com o leiaute de distribuição de Cancelamento de NF-e
'
' As variáveis do proxy devem ser informadas se necessário
'
' proxy deve ser informado com o endereço da url : porta, ex: 192.168.15.1:443
'
Dim proxy As String ' informar 'http://proxyserver:port' quando existir uso de proxy no ambiente. verificar com o cliente qual é o endereço do servidor proxy e a porta https, a porta padrão do https é 443, assim teríamos algo do tipo 'http://192.168.15.1:443'
Dim usuario As String ' informar o usuário para autenticação no proxy, se necessário
Dim senha As String ' informar a senha de autenticação no proxy, se necessário
'
' chave da licença de uso, vinculado ao CNPJ do emissor
'
Dim licenca As String ' informar a chave da licenca de uso ou registro, esta funcionalidade pode ser utilizada sem qualquer restrição no ambiente de homologação. O uso em ambiente de produção requer o licenciamento ou registro, para maiores detalhes veja as condições de uso
'
' IMPORTANTE: todas as variáveis utilizadas como parâmetro da DLL devem ser inicialiazadas
'
'
proxy = "" ' informar 'http://proxyserver:port' quando existir uso de proxy no ambiente. verificar com o cliente qual é o endereço do servidor proxy e a porta https, a porta padrão do https é 443, assim teríamos algo do tipo 'http://192.168.15.1:443'
usuario = "" ' informar o usuário para autenticação no proxy, se necessário
senha = "" ' informar a senha de autenticação no proxy, se necessário
msgDados = "" ' retorna a mensagem XML do pedido de cancelamento criado pela DLL que foi enviado ao WS
msgRetWS = "" ' retorna a mensagem XML de resposta do WS
'
'
'
licenca = "" ' informar a chave da licenca de uso ou registro, esta funcionalidade pode ser utilizada sem qualquer restrição no ambiente de homologação. O uso em ambiente de produção requer o licenciamento ou registro, para maiores detalhes veja as condições de uso
'
' prepara variáveis
'
nomeCertificado = "CN=M R M KATO ASAKURA EIRELI EPP:10142785000190, OU=Autenticado por AR VALOR, OU=RFB e-CNPJ A3, OU=Secretaria da Receita Federal do Brasil - RFB, L=Ourinhos, S=SP, O=ICP-Brasil, C=BR"
siglaWS = "SP" ' informar a sigla do WS
siglaUF = "SP" ' sigla da UF
tipoAmbiente = 2 ' informar o código do ambiente a ser consultado: 1- produção ou 2-homologação
versao = "3.00"  ' informar a versão da mensagem do WS
chaveCTe = "35170110142785000190570010000000011544529520" ' informar a chave de acesso do CT-e objeto do cancelamento
nProtocolo = "135170000035462" ' informar o número do protocolo de autorização de uso do CT-e objeto do cancelamento
justificativa = "CT-e emitido com valor incorreto" ' informar a justificativa do cancelamento com pelo menos 15 caracteres
dhEvento = "" ' Format$(Now, "yyyy-mm-ddTHH:mm:ss-03:00") ou Format$(Now, "yyyy-mm-ddTHH:mm:ss-02:00")
              ' pode ser  informado com "" para a DLL pegar a data e hora do equipamento, mas podem ocorrer rejeição se 
              ' o horário não estiver sincronizado com o WS

' Retorno da DLL
'
cStat = 0 ' retorna o resultado da chamada do WS
nProtocoloCanc = "" ' retorna o número do protocolo da homologação do cancelamento do CT-e
dProtocoloCanc = "" ' retorna a data e hora da homologação do cancelamento do CT-e pela SEFAZ
procEvento = ""     ' retorna protocolo de homologação de cancelamento do CT-e gerado de acordo com o leiaute de distribuição de Cancelamento de NF-e
'
Dim objCTeUtil As Object
 
Set objCTeUtil = CreateObject("CTe_Util.Util")
'
'
Screen.MousePointer = vbHourglass ' ampulheta
'
procEvento = objCTeUtil.CancelaCTEvento(siglaWS, tipoAmbiente, nomeCertificado, versao, msgDados, msgRetWS, cStat, msgResultado, chaveCTe, nProtocolo, justificativa, dhEvento, nProtocoloCanc, dProtocoloCanc, proxy, usuario, senha, licenca)
'
'
Screen.MousePointer = vbDefault ' normal
'
' analisar o retorno do WS, se cStat:
'
'     135 - Evento registrado e vinculado o CT-e (cancelamento de NF-e homologado)
'
'
'     procure guardar o msgDados, msgRetWS e msgResultado, pois eles serão úteis para identificação do problemas.
'
'
' mostra mensagem XML enviada
'
MsgBox msgDados, vbInformation, "Mensagem XML do Pedido de Cancelamento de CT-e"
'
' mostra mensagem XML da mensagem de retorno do WS
'
MsgBox msgResultado + Chr(13) + Chr(13) + msgRetWS, vbInformation, "Resultado da chamada do Web Service"
10.6.2. Cancela CT-e [v3.00]
10.6. Eventos do CT-e [v3.00]
« Anterior
10.6.1. EPEC [v3.00]
Próximo »
10.6.3. Carta de Correção [v3.00]