- 14. Gerar XML da GTV-e - modelo 64
14.11. QRCode 01-08-19 - 14.10. Responsável Técnico
« Anterior - 14.12. Consolida GTV-e
Próximo »
14.11. QRCode 01-08-19
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:
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:
- 2019-08-01 - versão inicial.
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 = "35200910142785000190640010000000071086438399" 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"
- 14.11. QRCode 01-08-19
14. Gerar XML da GTV-e - modelo 64 - « Anterior
14.10. Responsável Técnico - Próximo »
14.12. Consolida GTV-e