13. Gerar XML do CT-e OS - modelo 67
13.11. QRCode
13.10. Responsável Técnico
« Anterior
13.12. Consolida CT-e OS
Próximo »

13.11. QRCode

Funcionalidade para gerar QR code de consulta do CTe-e

Assinatura

string infCTeSupl(string URL, string chaveCTe, int tpAmb, string nomeCertificado, out string qrCode, out int resultado, out string msgResultado)

Descrição:

Funcionalidade para gerar o grupo de informações da URL de consulta do CT-e OS. O indicador tpEmis da chave de acesso informada é utilizada para gerar o QRCode normal ou de contingência (tpEmis=5).

Parâmetros:

nome tipo tam. obrig. descrição
URL string - sim informar a URL de consulta do CT-e da UF, consulte: https://dfe-portal.svrs.rs.gov.br/CTE/Servicos
chaveCTe string 44 sim informar a chave de acesso da CT-e OS
tpAmb int - sim informar o tipo Ambiente: 1 - produção / 2 - homologação
nomeCertificado string - entrada informar nome do titular do certificado a ser utilizado na conexão SSL com o WS:
É permitido o uso do certificado digital que tenha o mesmo CNPJ base (oito primeiros dígitos do CNPJ) do emissor do MDF-e.
1. informar o assunto do certificado digital que deve existir no repositório MY do current user, ex.: "CN=NFe - Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS".
2. informar: NUMEROSERIE|[número de série] quando não seja possível localizar o certificado digital pelo assunto;
3. informar: ARQUIVO | [nome do arquivo pfx com caminho completo] | [senha do arquivo] para uso do certificado digital em arquivo pfx, ex.: "ARQUIVO|c:\certificado.pfx|senha".
4. informar: CERTIFICADO | [string base64 do arquivo pfx] | [senha do arquivo] no parâmetro NomeCertificado para passar uma string contendo um certificado digital em base64, ex.:"CERTIFICADO|MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64...)QQDExNBQy|senha".
qrCode string - não retorna a string do qrCode que deve ser gerado no DACTe
resultado int - saída retorna o código do resultado da geração do qrCode = 6200
msgResultado string - saída retorna a literal do resultado da geração do qrCode = 6200 - qrCode gerado com sucesso

Diagrama:

DiagramainfSup

Retorno:

Um string com o grupo XML do Grupo informações suplementares do CT-e OS

XML:

Exemplo de XML - CT-e emissão normal

<infCTeSupl>
    <qrCodCTe><![CDATA[https://dfe-portal.svrs.rs.gov.br/cte/qrCode?chCTe=35190710142785000190580010000000071086438399&tpAmb=2]]></qrCodCTe>
</infCTeSupl>

Exemplo de XML - CT-e emissão contingência

<infCTeSupl>
    <qrCodCTe><![CDATA[https://dfe-portal.svrs.rs.gov.br/cte/qrCode?chCTe=35190710142785000190580010000000052299246164&tpAmb=2&sign=Q00cAqX6gZECRwVPrTOk3sOaBkLFuhP2EBQeEVhIhb+fkuzNJA431ODqMKgKdzHDD29DakVNuiXu9UDCGZvOdep5mJ61nsWlx7JQve9I1E3XTKosVGSr0GtdfPdAMJKGwyWgX270EeTm8FSGRUrGGJEqgxGtOvAfKbnMbFR17KyQMtSoxkzVGnqQn5Bwivilq/mKJSJNRPlyCIZQyG+pNoxo4pm1h0er0pAE1O0eS0v6UDvz/VqyO7NTTaG+1Xxl53qU64pK/AElNy6lLFUWAEtA0fI+zedb2DzPXQdBLiFvuNMXmU86ZzeTdyHA2iS+xYNOXZUdnOrXUjZBSNo4IQ==]]></qrCodCTe>
</infCTeSupl>

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 ser desnecessária, pois os browser exibem formatado.

Histórico de atualização:

Exemplos de uso:

Visual Basic 6.0

'
'======  Dados do Dim do Grupo de Corte de Voo ==========
'
Dim infCTeSupl As String
Dim infCTeSupl_URL As String
Dim infCTeSupl_chaveCTe As String
Dim infCTeSupl_tpAmb As long
Dim infCTeSupl_nomeCertificado As String
Dim infCTeSupl_QRCode As String
 
Dim resultado As long
Dim msgResultado As String
 
'
'====== instancia DLL==================
'
'
' 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")
 
'
'         criação dos grupos
'

infCTeSupl_URL = "https://dfe-portal.svrs.rs.gov.br/CTe/qrCode"
infCTeSupl_chaveCTe = "35190710142785000190670010000000071086438399"
infCTeSupl_tpAmb = 2
infCTeSupl_nomeCertificado = "CN=M R M KATO ASAKURA EIRELI:10142785000190, OU=AR SERASA, OU=RFB e-CNPJ A3, OU=Secretaria da Receita Federal do Brasil - RFB, O=ICP-Brasil, L=OURINHOS, S=SP, C=BR"
 
infCTeSupl_QRCode =""
resultado = 0
msgResultado =""
 
'
infCTeSupl = objCTeUtil.infCTeSupl(infCTeSupl_URL, infCTeSupl_chaveCTe, infCTeSupl_tpAmb, infCTeSupl_nomeCertificado, infCTeSupl_qrCode, resultado, msgResultado)
 
MsgBox "grupo infCTeSupl " + infCTeSupl, vbInformation, "Resultado"
13.11. QRCode
13. Gerar XML do CT-e OS - modelo 67
« Anterior
13.10. Responsável Técnico
Próximo »
13.12. Consolida CT-e OS