O que um vCard contém
O vCard é texto simples formado por linhas rotuladas, aberto por BEGIN:VCARD e fechado por END:VCARD. Cada linha guarda uma propriedade, como o nome formatado, um número de telefone ou um endereço de e-mail. É o mesmo texto que um arquivo .vcf contém quando os contatos são exportados de um celular ou programa de e-mail.
Um vCard 3.0 mínimo para um QR Code tem esta aparência, com uma propriedade por linha: BEGIN:VCARD, VERSION:3.0, N:Lee;Jordan, FN:Jordan Lee, ORG:Maple Street Bakery, TEL:+15035550123, EMAIL:jordan@example.com, URL:https://example.com, END:VCARD. O N guarda o nome estruturado (sobrenome primeiro, separado por ponto e vírgula) e o FN, o nome como deve ser exibido.
- N: nome estruturado (sobrenome;nome;nome do meio;prefixo;sufixo)
- FN: nome de exibição
- TEL: número de telefone, de preferência em formato internacional
- EMAIL: endereço de e-mail
- ORG: empresa ou organização
- TITLE: cargo
- URL e ADR: site e endereço postal
Qual versão usar
A versão 3.0 ainda é a escolha mais segura para QR Codes, porque quase todo celular a lê. Ela é definida na RFC 2426, de 1998. A versão 4.0, definida na RFC 6350, de 2011, é o padrão atual e exige UTF-8, mas alguns leitores mais antigos a tratam de forma menos consistente.
A versão 3.0 espera tanto N quanto FN, enquanto a 4.0 exige apenas FN. Qualquer que seja a versão, a linha VERSION deve vir logo depois de BEGIN:VCARD.
Tamanho e o equilíbrio na leitura
Cada campo acrescentado a um vCard adiciona caracteres, e mais caracteres significam um QR Code mais denso, com módulos menores. Um cartão com nome, um telefone e um e-mail é lido com facilidade até no tamanho de um cartão de visita. Acrescentar endereço postal, vários números, uma observação longa ou uma foto embutida pode levar o código a uma versão que precisa ser impressa bem maior.
As fotos costumam ser o problema: uma imagem codificada em base64 pode chegar a milhares de caracteres e raramente cabe num código prático. Uma alternativa comum é codificar um link curto para um arquivo .vcf hospedado ou uma página de contato, o que mantém o código pequeno e permite alterar os dados depois.