Qué contiene una vCard
Una vCard es texto sin formato hecho de líneas etiquetadas, que se abre con BEGIN:VCARD y se cierra con END:VCARD. Cada línea contiene una propiedad, como el nombre con formato, un número de teléfono o una dirección de correo. El mismo texto es lo que guarda un archivo .vcf cuando se exportan contactos desde un móvil o un programa de correo.
Una vCard 3.0 mínima para un código QR se ve así, con una propiedad por línea: 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. N guarda el nombre estructurado (primero el apellido, separado por punto y coma) y FN el nombre tal como debe mostrarse.
- N: nombre estructurado (apellido;nombre;segundo nombre;prefijo;sufijo)
- FN: nombre para mostrar
- TEL: número de teléfono, preferiblemente en formato internacional
- EMAIL: dirección de correo electrónico
- ORG: empresa u organización
- TITLE: cargo
- URL y ADR: sitio web y dirección postal
Qué versión usar
La versión 3.0 sigue siendo la opción más segura para los códigos QR porque la lee casi cualquier móvil. Está definida en la RFC 2426, de 1998. La versión 4.0, definida en la RFC 6350 en 2011, es el estándar vigente y exige UTF-8, pero algunos lectores antiguos la manejan con menos coherencia.
La versión 3.0 espera tanto N como FN, mientras que la 4.0 solo exige FN. Sea cual sea la versión, la línea VERSION debe ir justo después de BEGIN:VCARD.
Contrapartidas de tamaño y de escaneo
Cada campo que se añade a una vCard suma caracteres, y más caracteres significan un código QR más denso con módulos más pequeños. Una tarjeta con un nombre, un teléfono y un correo se escanea con facilidad incluso al tamaño de una tarjeta de visita. Añadir una dirección postal, varios números, una nota larga o una foto incrustada puede llevar el código a una versión que necesita imprimirse mucho más grande.
Las fotos son el problema habitual: una imagen codificada en base64 puede ocupar miles de caracteres y rara vez cabe en un código práctico. Una alternativa habitual es codificar un enlace corto a un archivo .vcf alojado o a una página de contacto, lo que mantiene pequeño el código y permite cambiar los datos más adelante.