10.5. Eventos do CT-e
10.5.4. Registro Multimodal
10.5.3.1. XML Correção
« Anterior
10.5.5. Prestação de serviço em desacordo
Próximo »

10.5.4. Registro Multimodal

Registro Multimodal

Assinatura

string RegistraMultimodal(string siglaWS, int tipoAmbiente, string nomeCertificado, string versao, out string msgDados, out string msgRetWS, out int cStat, out string msgResultado, string chaveCTe, string nDoc_Opc, string xRegistro,int nroRegistro, string dhEvento, out string nroProtocolo, out string dhProtocolo, string proxy, string usuario, string senha, string licenca)

Descrição:

Funcionalidade para vincular informações dos serviços prestados ao CT-e multimodal

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 da mensagem do WS: 4.00. O valor 3.00 pode ser informado até o fim da vigência da versão 3.00 previsto para 31/01/24).
msgDados string saída retorna a mensagem XML do evento Registro Multimodal 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 registro Multimodal
xRegistro string entrada informaçoes sobre o tipo de documento utilizado e ressalvas, se for o caso, conforme Lei 9611, de 19 de fevereiro de 1998 (Texto Livre)
nDoc_Opc string entrada informar úmero do Documento lançado no CT-e Multimodal
nroRegistro inteiro entrada informar o número sequencial do registro, deve ser iniciada com 1 e valor máximo é 20, campo de controle do usuário, o Web Service não permite a duplicidade de numeração e nem controla a ordem crescente.
dhEvento string entrada informar a data e hora da data de correção no formato UTC (data e hora com fuso horário): "AAAA-MM-DDTHH:MM:SS-HH:00".
Exemplos:
2017-01-13T12:34:00-02:00 (fuso horário de Brasília no horário de verão).
2017-01-13T12:34:00-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.
nProtocolo string saída retorna o número do protocolo de registro do Evento.
dhProtocolo string saída retorna a data e hora de registro do Evento.
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

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.

Retorno:

O resultado da chamada do RegistroMultimodal é a mensagem XML composta pelo registro Multimodal e respectivo protocolo de homologação de vinculação de evento, que deverá ser mantido pelo emissor e disponibilizado para o tomador do CT-e:

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 do parâmetro] é inválido DLL -
6103 Erro: O conteúdo do parâmetro versao informado é inválido: [conteúdo do parâmetro] DLL -
6104 Erro: O parâmetro chaveCTe não informado DLL -
6105 Erro: O tamanho [tamanho da chave da CTe] do parâmetro chaveCTe informado não tem 44 caracteres DLL -
6106 Erro: As posições correspondentes (1,2) ao código da UF [valor] 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: [tamanho da chave] 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 -
6123 Erro: O parâmetro tipoAmbiente deve ser informado DLL -
6124 Erro: O parâmetro tipoAmbiente [conteúdo do parâmetro] deve ser 1 ou 2 DLL -
6141 Erro: O parâmetro siglaWS deve ser informado DLL -
6146 Erro: O parâmetro xRegistro deve ser informado DLL -
6147 Erro: O parâmetro xRegistro deve ter pelo menos 15 caracteres:[conteúdo do parâmetro] DLL -
6148 Erro: O parâmetro xRegistro pode ter no máximo 1000 caracteres:[conteúdo do parâmetro] DLL -
6149 Erro: O parâmetro nroRegistro deve ser informado DLL -
6150 Erro: O parâmetro nroRegistro informado: [conteúdo do parâmetro] fora da faixa permitida 1-20 DLL -
6151 Erro: O parâmetro dataCorrecao é inválida: [conteúdo do parâmetro] DLL -
6152 Erro: A chave do CT-e do retEvento: [chaveCTe retEvento] é divergente da chave do CT-e do Evento: [chaveCTe Evento] DLL -
7001 Erro: A licença não foi informada DLL -
7002 Erro: A licença informada: [licença] tem tamanho:[tamanho da licença] diferente de 128 DLL -
7003 Erro: A licença informada: [licença] não pertence ao CNPJ:[CNPJ informado] 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 -
205 Rejeição: CT-e está denegado na base de dados da SEFAZ WS M04
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 M05
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
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 nfeCabecMsg 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 nfeCabecMsg 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
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
664 Rejeição: Evento não permitido para CT-e Substituido/Anulado WS M06
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
679 Rejeição: O modal do CT-e deve ser Multimodal para Evento Registros do Multimodal WS M03
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 (205-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 do envio do Registro Multimodal - versão 3.00:

eventoCTe Envio do Registro Multimodal

 
<?xml version="1.0" encoding="UTF-8"?>
<eventoCTe xmlns="http://www.portalfiscal.inf.br/cte" versao="3.00">
  <infEvento Id="ID1101603517011014278500019057001000000001154452952001">
    <cOrgao>35</cOrgao>
    <tpAmb>2</tpAmb>
    <CNPJ>10142785000190</CNPJ>
    <chCTe>35170110142785000190570010000000011544529520</chCTe>
    <dhEvento>2017-01-26T14:34:40-02:00</dhEvento>
    <tpEvento>110160</tpEvento>
    <nSeqEvento>1</nSeqEvento>
    <detEvento versaoEvento="3.00">
      <evRegMultimodal>
        <descEvento>Registro Multimodal</descEvento>
        <xRegistro>Texto livre de Informações sobre o tipo de documento utlizado</xRegistro>
      </evRegMultimodal>
    </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="#ID1101603517011014278500019057001000000001154452952001">
        <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>DqNNGcBCvpVyN41EzrF8s0s5bFY=</DigestValue>
      </Reference>
    </SignedInfo>
    <SignatureValue>Dc6zgW78hu86JulRHBhE(...)GXK0aiQ9ULusxQ/mnhp/i4WsA==</SignatureValue>
    <KeyInfo>
      <X509Data>
        <X509Certificate>MIIIUDCCBjigAwIB(...)5IitUzHbK+qNkBdOAr7Ns4azU=</X509Certificate>
      </X509Data>
    </KeyInfo>
  </Signature>
</eventoCTe>~~~
 
##Mensagens XML de resposta do WS da SEFAZ - versão 3.00:#
 
**retEventoCTe**  Resposta do WS

[XML]

2 SP-CTe-22-12-2016 35 135 Evento registrado e vinculado a CT-e 35170110142785000190570010000000011544529520 110160 Registro Multimodal 01 2017-01-15T10:57:21-02:00 135170004447087

[XML]


##Exemplo de uso:#

[VB] ' ' ' Exemplo de uso da funcionalidade de Registro Multimodal ' ' veja detalhes da funcionalidade em: https://www.flexdocs.net/guiaCTe/WS.evento.multimodal.html ' Dim msgDados As String Dim msgRetWS As String Dim msgResultado As String Dim siglaUF As String Dim siglaWS As String Dim certificado As String ' ' 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 Dim usuario As String Dim senha As String Dim licenca As String ' Dim ambiente As Integer ' ' define as variáveis que passam informações para a DLL ' Dim versao As String ' utilizado para escolha da versão do WS, informar "2.00" Dim ChaveCTe As String ' chave do CT-e objeto de registro Multimodal Dim nDocOpc As String ' nro documento lançado no CT-e multimodal Dim xRegistro As String ' Informações sobre o tipo de documento utlizado Dim dhEvento As String ' data e hora do evento Dim nroRegistro As Long ' número da registro, deve ser um número sequencial iniciado em 1, o valor máximo é 20 ' ' parâmetros que devolvem informações ' Dim procRegMulti As String ' estrturura XML que contém o Registro Multimodal e registro do evento Dim nProtocoloReg As String ' número do protocolo de registro do evento do Registro Multimodal devolvido pela SEFA Dim dProtocoloReg As String ' data e hora de registro do evento do Registro Multimodal

' ' ' IMPORTANTE: todas as variáveis utilizadas como parâmetro da DLL devem ser inicializadas ' ' proxy = "" usuario = "" senha = "" licenca = "" msgDados = "" msgRetWS = "" msgResultado = "" nDocOpc = "" procRegMulti = "" nProtocoloReg = "" dProtocoloReg = ""

certificado = "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" ' ' informar com o assunto da certificado digital ' 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 ' ' certificado = "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 ' ' certificado = "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 '

siglaWS = "SP"

' ' estamos utilizando os seguintes parâmetro fixo na demonstração para facilitar o processo ' versao = "3.00" ' versão do leiaute do registro multimodal 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 nroRegistro = 1 ' número do registro multimodal, deve ser um número sequencial iniciado em 1, o valor máximo é 20

ChaveCTe = "35170110142785000190570010000000011544529520"

xRegistro = "Texto livre de Informações sobre o tipo de documento utlizado"

ambiente = 2

Dim cStat As Long ' status da chamada, veja os valores em https://www.flexdocs.net/guiaCTe/WS.evento.multimodal.html

' ' referenciando a DLL em late binding ' não é necessário fazer o reference da DLL ' o intelisense não funciona ' Dim objCTeUtil As Object

Set objCTeUtil = CreateObject("CTe_Util.Util") ' ' Screen.MousePointer = vbHourglass ' ampulheta ' ' procRegMulti = objCTeUtil.RegistraMultimodal(siglaWS, ambiente, certificado, versao, msgDados, msgRetWS, cStat, msgResultado, ChaveCTe, nDocOpc, xRegistro, nroRegistro, dhEvento, nProtocoloReg, dProtocoloReg, proxy, usuario, senha, licenca)

' ' Screen.MousePointer = vbDefault ' normal

If cStat = 135 Then

MsgBox msgResultado & Chr(13) & Chr(13) + "Protocolo de registro do evento : " + nProtocoloReg + Chr(13) & Chr(13) + "Data e hora de registro evento: " + dProtocoloReg + Chr(13) & Chr(13) + "Grave o Registro Multimodal : " + procRegMulti, vbInformation, "Atenção: Registro Multimodal do CT-e"

' ' grave o procRegMulti, pois o XML deve ser mantido pelo emissor, além de ser distribuído para o tomador também. '

Else


End If

~~~

10.5.4. Registro Multimodal
10.5. Eventos do CT-e
« Anterior
10.5.3.1. XML Correção
Próximo »
10.5.5. Prestação de serviço em desacordo