10.5. WS de Consulta
10.5.1. ConsultaCT
10.5. WS de Consulta
« Anterior
10.5.2. ConsultaStatus
Próximo »

10.5.1. ConsultaCT

Consulta o status de um CT-e

Assinatura

int ConsultaCT(string siglaWS, string siglaUF, int tipoAmbiente, string nomeCertificado, string versao, out string msgDados, out string msgRetWS, out string msgResultado, string chaveCTe, string proxy, string usuario, string senha)

Descrição:

Consulta o status de um CT-e no Web Services onde foi autorizado.

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

Consulta status CT-e

Esta funcionalidade não deve ser utilizada para verificar se o CT-e foi autorizado. Após o envio do Lote/CT-e, o usuário deve utilizar a funcionalidade buscaLote ou buscaCTe que são as funcionalidades adequadas para obter o resultado do processamento do Lote/CT-e.

Parâmetros:

nome tipo fluxo descrição
siglaWS string entrada informar a sigla do WS de envio, veja Tabela de siglaWS
siglaUF string entrada informar a sigla da UF
tipoAmbiente inteiro entrada informar o código do ambiente a ser consultado: 1- produção ou 2-homologação
nomeCertificado string entrada informar nome do titular do certificado a ser utilizado na assinatura e conexão SSL
versao string entrada informar a versão do Evento: 4.00 (o valor 3.00 pode ser informado até o fim da vigência da versão 3.00 previsto para xx/xx/23).
msgDados string saída retorna a mensagem XML enviada para o WS
msgRetWS string saída retorna a mensagem XML de resposta 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 que se deseja consultar
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

Retorno:

O resultado da chamada da Consulta Status de um CT-e é o código numérico com os seguintes significados:

código Mensagem origem regra
1 código do ambiente inválido DLL -
2 sigla da UF inválida DLL -
3 a UF não oferece o serviço DLL -
4 Arquivo com a URL do WS não localizado DLL -
5 Erro não tratado DLL -
6 Erro de validação de Schema DLL -
7 Nenhum Certificado Selecionado DLL -
8 Nenhum certificado válido foi encontrado com o nome informado DLL -
9 Erro Inesperado: [Mensagem] DLL -
10 Erro: Time-out ao chamar o WS DLL -
11 Erro: exceção da biblioteca criptográfica DLL -
12 Erro: conexão DLL -
13 Versao informada é inválida: [versao] é inválida DLL -
108 Serviço Paralisado Momentaneamente (curto prazo) WS B03
109 Serviço Paralisado sem Previsão WS B04
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 J05
217 Rejeição: CT-e não consta na base de dados da SEFAZ WS J04
226 Rejeição: Código da UF do Emitente diverge da UF autorizadora WS G002
236 Rejeição: Chave de Acesso com dígito verificador inválido WS H03
238 Rejeição: Cabeçalho - Versão do arquivo XML superior a Versão vigente WS C05
239 Rejeição: Cabeçalho - Versão do arquivo XML não suportada WS C06
242 Rejeição: Elemento cteCabecMsg inexistente no SOAP Header WS C01
243 Rejeição: XML Mal Formado WS B02
252 Rejeição: Ambiente informado diverge do Ambiente de recebimento WS G001
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
402 Rejeição: XML da área de dados com codificação diferente de UTF-8 WS D03
404 Rejeição: Uso de prefixo de namespace não permitido WS D02
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 WebService WS C03
411 Rejeição: Campo versaoDados inexistente no elemento cteCabecMsg do SOAP Header WS C04

Histórico de atualização:

XML:

Exemplo de XML da Consulta o status de um CT-e

 
<retConsSitCTe versao="1.04" xmlns="http://www.portalfiscal.inf.br/cte">
    <tpAmb>2</tpAmb>
    <verAplic>SP_PL_CTe_104a</verAplic>
    <cStat>100</cStat>
    <xMotivo>Autorizado o uso do CT-e</xMotivo>
    <cUF>35</cUF>
    <protCTe versao="1.04">
        <infProt>
            <tpAmb>2</tpAmb>
            <verAplic>SP_PL_CTe_104</verAplic>
            <chCTe>35110803911545000148570010000001061000001017</chCTe>
            <dhRecbto>2011-08-26T18:24:22</dhRecbto>
            <nProt>135110002038337</nProt>
            <digVal>nBkh9p2OT/dDA3jTw/4DuLfzdZM=</digVal>
            <cStat>100</cStat>
            <xMotivo>Autorizado o uso do CT-e</xMotivo>
        </infProt>
    </protCTe>
</retConsSitCTe>

Importante

O trecho do XML foi formatado para uma melhor visualização, a mensagem original não tem formatação.

Vale observar que a formatação pode corromper a assinatura digital, além de ocupar espaço e sendo desnecessária, pois os browser exibem formatado.

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 enviada para o WS
Dim siglaUF As String          ' string siglaUF
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 de envio:
                               ' . sigla da UF, caso a UF tenha aplicação própria (MG, MS, MT, PR, RS e SP).
                               ' . RS, caso a UF seja usuária da SVRS - SEFAZ Virtual do RS (AM, BA, CE, DF, ES,
                               '         GO, MA, RJ, RN, RO, SC, SE, e TO);
                               ' . SP, caso a UF seja usuária da SVSP - SEFAZ Virtual de SP (AP, PE e RR);
                               ' . RS quando desejar acessar a SVC-RS (AP, MT, MS, PE, RR e SP);
                               ' . SP quando desejar acessar a SVC-SP (AM, BA, CE, DF, ES, GO, MA, MG, PA, RJ, 
                               '     RN, RO, RS, SC, SE, e TO);
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"
Dim resultado As Long          ' retorna o código do resultado da chamada do WS
'
' importante: indicar aqui assunto do certificado digital válido, este da associacao trata-se apenas de um exemplo para testes
'
Dim chaveCTe As String   ' informar a chave de acesso do CT-e que se deseja consultar
'
' 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
'
Dim tipoAmbiente As Long ' 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 WS 1.04 / 1.03
'
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 enviada para o WS
msgRetWS = "" ' retorna a mensagem XML de resposta do WS
msgResultado = "" ' retorna a literal do resultado da chamada do WS
nomeCertificado = "CN=NFe - Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS"
              ' 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"

siglaWS = "RS"  ' informar a sigla do WS de envio
siglaUF = "RS"  ' informar a sigla da UF de envio
versao = "1.04" ' informar a versão da mensagem do WS 1.04 ou 1.03
chaveCTe = "35080600000000000000570000000000010000000000"  ' informar a chave para consulta do CTe
tipoAmbiente = 2  ' informar o tipo de ambiente a ser consultado: 1- produção ou 2-homologação
resultado = 0   ' retorna o código do resultado da chamada do WS
'
' 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
'
'
resultado = objCTeUtil.ConsultaCT(siglaWS, siglaUF, tipoAmbiente, nomeCertificado, versao, msgDados, msgRetWS, msgResultado, chaveCTe, proxy, usuario, senha)
'
'
Screen.MousePointer = vbDefault ' normal

 
If resultado = 100 Then
   '
   '  grava o retConsSitCTe
   '
   nomeArquivo = "retConsSitCTe.xml"
   Open nomeArquivo For Output As #1
   Print #1, msgRetWS
   Close #1
 
'
'
      MsgBox msgResultado + Chr(13) + Chr(13) + msgRetWS , "Atenção: Consulta Status do CT-e"  
 
Else   
 
    MsgBox resultado + Chr(13) + Chr(13) + msgResultado , "Atenção: Consulta Status do CT-e"  
End If
 '                            
 ' libera classe
 '
 Set objCTeUtil = Nothing
10.5.1. ConsultaCT
10.5. WS de Consulta
« Anterior
10.5. WS de Consulta
Próximo »
10.5.2. ConsultaStatus