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-es recebidos de terceiros.
Não encontrou o que precisava, entre em contato conosco.