CTeConsultar

A função CTeConsultar é usada para consultar a situação de um CT-e na SEFAZ.

Tipo de Retorno

Integer

Pacote

A função CTeConsultar está definida no pacote CTeConsultar.pkg.

Sintaxe

Move (CTeConsultar(&{vtCTeConsultar_Parametros})) to {iRetorno}

Onde:

  • &{vtCTeConsultar_Parametros} é uma variável do tipo tCTeConsultar_Parametros que deve ser passada por referência. Cada campo desta variável corresponde a um parâmetro que será enviado para a função ou um retorno que será devolvido por ela. Abaixo está a definição dos campos que estão dentro da estrutura:
// Parâmetros de entrada
String sSiglaWS // informar a sigla do WS que será consultado. Veja detalhes aqui
String sSiglaUF // informar a sigla da UF
Integer iAmbiente // informar o código do ambiente a ser consultado:
// 1. produção ou 2. homologação
String sVersao // informar a versão da mensagem do WS. Caso não seja informado, será utilizado
// como padrão "3.00" para versões anteriores a 2024/01 e a partir da versão 2024/01
// o padrão passa a ser "4.00".
String sChaveCTe // informar a chave de acesso do CT-e que se
// deseja consultar
String sProxy // 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’
String sUsuario // informar o usuário para autenticação no proxy, se
// necessário
String sSenha // informar a senha de autenticação no proxy, se
// necessário
Boolean bExibeErro // indica se a função deve exibir os erros que
// encontrar

// Parâmetros de entrada/saída

String sRetNomeCertificado // informar a string que representa o
// certificado digital que será usado na
// consulta. Se não for informado, uma tela
// será exibida para escolha do certificado.
// O certificado escolhido será devolvido
// nesta variável

// Parâmetros de saída

String sRetMsgDados // retorna a mensagem XML enviada para o WS
// (informação útil para depuração)
String sRetMsgRetWS // retorna a mensagem XML de resposta do WS
// (informação útil para depuração)
String sRetMsgResultado // retorna o literal do resultado da chamada do WS
  • {iRetorno} é o retorno da chamada da função. O retorno será o código cStat devolvido pela SEFAZ ou um dos seguintes códigos de erro:
    • -3 - Nenhum certificado digital válido selecionado para a consulta.
    • -2 - CTeLibrary.dll não está corretamente instalada.
    • -1 - CTeLibrary.dll não está corretamente instalada.
    • 1 - Código do ambiente inválido.
    • 2 - Sigla da UF inválida.
    • 3 - A UF não oferece o serviço.
    • 4 - Arquivo com a URL do WS não localizado.
    • 5 - Erro não tratado.
    • 6 - Erro de validação de Schema.
    • 7 - Nenhum Certificado Selecionado.
    • 8 - Nenhum certificado válido foi encontrado com o nome informado.
    • 9 - Erro Inesperado: [Mensagem].
    • 10 - Erro: Time-out ao chamar o WS.
    • 11 - Erro: exceção da biblioteca criptográfica.
    • 12 - Erro: conexão.
    • 13 - Versao informada é inválida: [versao] é inválida.
    • 100 - Autorizado o uso do CT-e.
    • 108 - Serviço Paralisado Momentaneamente (curto prazo).
    • 109 - Serviço Paralisado sem Previsão.
    • 214 - Rejeição: Tamanho da mensagem excedeu o limite estabelecido.
    • 215 - Rejeição: Falha no schema XML.
    • 216 - Rejeição: Chave de Acesso difere da cadastrada.
    • 217 - Rejeição: CT-e não consta na base de dados da SEFAZ.
    • 226 - Rejeição: Código da UF do Emitente diverge da UF autorizadora.
    • 236 - Rejeição: Chave de Acesso com dígito verificador inválido.
    • 238 - Rejeição: Cabeçalho - Versão do arquivo XML superior a Versão vigente.
    • 239 - Rejeição: Cabeçalho - Versão do arquivo XML não suportada.
    • 242 - Rejeição: Elemento cteCabecMsg inexistente no SOAP Header.
    • 243 - Rejeição: XML Mal Formado.
    • 252 - Rejeição: Ambiente informado diverge do Ambiente de recebimento.
    • 280 - Rejeição: Certificado Transmissor inválido.
    • 281 - Rejeição: Certificado Transmissor Data Validade.
    • 282 - Rejeição: Certificado Transmissor sem CNPJ.
    • 283 - Rejeição: Certificado Transmissor - erro Cadeia de Certificação.
    • 284 - Rejeição: Certificado Transmissor revogado.
    • 285 - Rejeição: Certificado Transmissor difere ICP-Brasil.
    • 286 - Rejeição: Certificado Transmissor erro no acesso a LCR.
    • 402 - Rejeição: XML da área de dados com codificação diferente de UTF-8.
    • 404 - Rejeição: Uso de prefixo de namespace não permitido.
    • 409 - Rejeição: Campo cUF inexistente no elemento cteCabecMsg do SOAP Header.
    • 410 - Rejeição: UF informada no campo cUF não é atendida pelo WebService.
    • 411 - Rejeição: Campo versaoDados inexistente no elemento cteCabecMsg do SOAP Header.

Exemplo

Procedure TesteConsultarCTe String sChave
Integer iRetorno
tCTeConsultar_Parametros vtParametros

Move True to vtParametros.bExibeErro
Move 1 to vtParametros.iAmbiente
Move "SP" to vtParametros.sSiglaWS
Move "SP" to vtParametros.sSiglaUF
Move sChave to vtParametros.sChaveCTe

Move (CTeConsultar(&vtParametros)) to iRetorno

If (iRetorno = 100) Send Info_Box "CT-e está autorizado na SEFAZ!"
End_Procedure

Observações

  • A função CTeConsultar está disponível a partir da versão 2013/02 da CTeLibrary.
  • Esta função também está disponível na edição Ready-Only.
  • Esta função não deve ser utilizada para verificar se o CT-e enviado foi autorizado. Após o envio do CT-e, o desenvolvedor deve utilizar a função CTeBuscar para verificar o resultado do processamento do CT-e enviado. A função CTeConsultar é indicada para verificar a situação de CT-e’s recebidos de terceiros.

Não encontrou o que precisava, entre em contato conosco.