10.4. WS de Consulta
10.4.2. ConsultaStatus [16-01-13]
10.4.1. ConsultaCT [11-12-13]
« Anterior
10.4.3. Consulta Cadastro
Próximo »

10.4.2. ConsultaStatus [16-01-13]

Consulta o status do Serviço de Recepção de CT-e

Assinatura

int ConsultaStatus(string siglaWS, string siglaUF, int ambiente, string nomeCertificado, string versao, out string msgDados, out string msgRetWS, out string msgResultado, string proxy, string usuario, string senha)

Descrição:

Consulta o status do Serviço de Recepção de CT-e dos Web Services existentes: UF com Web Services próprios e RS.

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

O parâmetro siglaUF deve ser informado com a sigla da UF que se deseja obter a informação do status do Serviço de Recepção de CT-e. Esta consulta não é conclusiva e nem pré-requisito para o envio de lote de CT-e, pois já ocorreram casos de o Serviço de Recepção de CT-e estar com problemas e este Serviço responder "107 - Serviço em Operação". Entendemos que o Serviço presta informação subsidiária e a situação real só é obtida com o envio do 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
ambiente 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 da mensagem do WS - 2.00
msgDados string saída retorna a mensagem XML gerada e 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
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

Preenchimento do nomeCertificado

Informar o Nome do titular (campo Assunto) do certificado digital a ser utilizado na conexão SSL.

Para consultar o status de WS é necessário possuir um certificado digital válido para estabelecer a conexão SSL com o WS.

Tempo Médio de Resposta do Serviço

Esta informação serve de parâmetro para estabelecer a espera para realizar a busca do resultado do processamento do lote, os tempos normais são próximos de 1, valores altos indicam que o serviço de recepção do CT-e tem muita sobrecarga ou enfrenta problemas, sendo uma informação que pode subsidiar a decisão de adotar a contingência.

Todos os parâmetros da chamada devem ser declarados e inicializados na aplicação do usuário

Retorno:

A Consulta Status devolve um 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
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 do Serviço de Recepção de CT-e

 
<retConsStatServCte versao="1.04" xmlns="http://www.portalfiscal.inf.br/cte">
    <tpAmb>2</tpAmb>
    <verAplic>SP_PL_CTe_104a</verAplic>
    <cStat>107</cStat>
    <xMotivo>Serviço em Operação</xMotivo>
    <cUF>35</cUF>
    <dhRecbto>2011-12-17T11:14:12</dhRecbto>
    <tMed>1</tMed>
</retConsStatServCte>

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 siglaUF As String      ' informar a sigla da UF do emissor
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 msgDados As String     ' informar a string com o lote do CT-e neste parâmetro, retorna a mensagem XML enviada para o 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 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"
'
' 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 ambiente As Long ' informar o código do ambiente desejado: 1- produção ou 2-homologação
Dim versao As String    ' informar a versão da mensagem do WS - 1.03 / 1.04
Dim cStat As Long   ' retorna o resultado da chamada da funcionalidade, se o WS acessado com sucesso será devolvido o cStat da resposta do WS 
'
' IMPORTANTE: todas as variáveis utilizadas como parâmetro da DLL devem ser inicializadas
'
'
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 = ""   ' informar a string com o lote do CT-e neste parâmetro, 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
'
' prepara variáveis
'
nomeCertificado = "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 do emissor
siglaUF = "RS"  ' informar a sigla da UF do emissor
ambiente = 2    ' informar o código do ambiente desejado: 1- produção ou 2-homologação
versao = "1.04" ' informar a versão da mensagem do WS - 1.03 / 1.04
cStat = 0   ' retorna o resultado da chamada da funcionalidade, se o WS acessado com sucesso será devolvido o cStat da resposta 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
'
'
cStat = objCTeUtil.ConsultaStatus(siglaWS, siglaUF, ambiente, nomeCertificado, versao, msgDados, msgRetWS, msgResultado, proxy, usuario, senha)
'
'
Screen.MousePointer = vbDefault ' normal
'
' mostra mensagem XML enviada e a mensagem de retorno do WS
'
MsgBox msgResultado + Chr(13) + Chr(13) + msgRetWS, vbInformation, "Resultado da Consulta Status do Serviço"
'
' libera classe
'
Set objCTeUtil = Nothing
10.4.2. ConsultaStatus [16-01-13]
10.4. WS de Consulta
« Anterior
10.4.1. ConsultaCT [11-12-13]
Próximo »
10.4.3. Consulta Cadastro