- 10.6. WS de Consulta
10.6.2. ConsultaStatus [v3.00] - 10.6.1. ConsultaCT [v3.00]
« Anterior - 10.6.3. Consulta Cadastro [v3.00]
Próximo »
10.6.2. ConsultaStatus [v3.00]
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 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 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:
- Versão inicial.
- 2011-12-16 - Acréscimo do código exemplo em VB 6.0.
- 2013-01-16 - Revisão de texto da siglaWS
- 2017-01-12 - Alteração para suportar a versão 3.00 (CT-e e CT-e OS)
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.6.2. ConsultaStatus [v3.00]
10.6. WS de Consulta - « Anterior
10.6.1. ConsultaCT [v3.00] - Próximo »
10.6.3. Consulta Cadastro [v3.00]