Что содержит vCard
vCard — это простой текст из строк с метками, открывающийся строкой BEGIN:VCARD и закрывающийся строкой END:VCARD. Каждая строка содержит одно свойство, например отображаемое имя, номер телефона или адрес электронной почты. Тот же текст хранится в файле .vcf, когда контакты экспортируют из телефона или почтовой программы.
Минимальная vCard 3.0 для QR-кода выглядит так, по одному свойству в строке: 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 хранится структурированное имя (сначала фамилия, части разделены точкой с запятой), а в FN — имя в том виде, в котором его нужно показывать.
- N: структурированное имя (фамилия;имя;отчество или второе имя;префикс;суффикс)
- FN: отображаемое имя
- TEL: номер телефона, лучше в международном формате
- EMAIL: адрес электронной почты
- ORG: компания или организация
- TITLE: должность
- URL и ADR: сайт и почтовый адрес
Какую версию использовать
Версия 3.0 по-прежнему самый безопасный выбор для QR-кодов, потому что её читает почти любой телефон. Она определена в RFC 2426 от 1998 года. Версия 4.0, определённая в RFC 6350 в 2011 году, — современный стандарт и требует UTF-8, но некоторые старые считыватели обрабатывают её менее стабильно.
Версия 3.0 ожидает и N, и FN, а 4.0 требует только FN. В любой версии строка VERSION должна идти сразу после BEGIN:VCARD.
Размер и удобство сканирования
Каждое поле, добавленное в vCard, добавляет символы, а больше символов — это более плотный QR-код с более мелкими модулями. Карточка с именем, одним номером телефона и одним адресом электронной почты легко сканируется даже в размере визитки. Добавление почтового адреса, нескольких номеров, длинного примечания или встроенной фотографии может привести код к версии, которую придётся печатать намного крупнее.
Обычная проблема — фотографии: изображение в кодировке base64 может занимать тысячи символов и редко помещается в практичный код. Распространённая альтернатива — закодировать короткую ссылку на размещённый в сети файл .vcf или страницу контакта, что сохраняет код небольшим и позволяет позже менять данные.