Для формирования QR-кода вы можете воспользоваться API-интерфейсом.

QR-код

QR-код (англ. Quick Response — быстрый отклик) — матричный код (2D code, двумерный штрихкод). Японская компания «Denso-Wave» разработала и представила QR-code в 1994 году. В настоящее время QR-код можно встретить на очень многих предметах вокруг нас: на визитке, на банке, на упаковке, на сайте. Очень часто QR коды используются для загрузки мобильных приложений или в SMS. В Японии и Австрии QR-коды используются на кладбищах для информирования о захоронении. QR-код позволяет вместить большое количество информации в небольшом изображении. С помощью QR-кода можно закодировать до 4296 цифро-букв, включая кириллицу:

  • цифры — 7089;
  • цифры и буквы (включая кириллицу) — 4296;
  • двоичный код — 2953 байт;
  • иероглифы — 1817.

ECC – (англ. Error-Correcting Code, код коррекции ошибок) — данные, присоединяемые к изображению, позволяющие определить факт сбоя и исправить несущественную ошибку. Чем больше этот параметр, тем больше ошибок в считывании изображения допускается для корректного распознавания QR-кода.
Возможные значения ECC и количество поврежденных данных в процентах, которые могут быть скорректированы:

  • Low, ~7%
  • Middle, ~15%
  • Quality, ~25%
  • High, ~30%

Чем больше значение параметра ECC, тем больше избыточных данных будет содержаться в изображении QR-кода, и тем больше места оно будет занимать. Используйте минимальные значения ECC, если Вы размещаете QR-код на электронных носителях, которые не подвержены повреждениям, и большие значения, если Вы размещаете QR-код на листовках, плакатах, визитках, где QR code подвержен стиранию, царапинам и прочим повреждениям.

API создания QR кода / API QR code

Для поучения изображения содержащего QR-код с вашими данными, вызовите следующее api:

http://htmlweb.ru/api/service/qr/?api_key=API_KEY_из_профиля&data=ДАННЫЕ_ДЛЯ_КОДИРОВАНИЯ

Данные для получения QR-кода могут передаваться как GET, так и POST – запросом. А также комбинацией: часть GET, часть POST.

Структура API запроса для получения html кода с картинкой и описанием qr-кода:

https://htmlweb.ru/api/service/qr/?html
    &api_key=API_KEY_из_профиля
    &data=ДАННЫЕ_ДЛЯ_КОДИРОВАНИЯ
    [&level=('L','M','Q','H')]
    [&size=(1-10)]
    [&margin=(0-30)]

Структура API запроса для получения URL картинки с qr-кодом:

http://htmlweb.ru/api/service/qr/?format=url
    api_key=API_KEY_из_профиля
    &data=ДАННЫЕ_ДЛЯ_КОДИРОВАНИЯ
    [&level=('L','M','Q','H')]
    [&size=(1-10)]
    [&margin=(0-30)]

Структура API запроса для получения html кода с картинкой:

https://htmlweb.ru/api/service/qr/?format=img
    api_key=API_KEY_из_профиля
    &data=ДАННЫЕ_ДЛЯ_КОДИРОВАНИЯ
    [&level=('L','M','Q','H')]
    [&size=(1-10)]
    [&margin=(0-30)]

Структура API запроса для получения URL QR-кода в JSON-формате: URL или информация об ошибке в поле error:

https://htmlweb.ru/json/service/qr/?&api_key=API_KEY_из_профиля
    &data=ДАННЫЕ_ДЛЯ_КОДИРОВАНИЯ
    [&level=('L','M','Q','H')]
    [&size=(1-10)]
    [&margin=(0-30)]

Для Вашего удобства поддерживается формат JSONP. Вы можете добавить параметр &jsonp=ИМЯ_ФУНКЦИИ

Параметры level, size, margin являются необязательными, значения по умолчанию:
level=’L’
size=4 (100px x 100px при минимальном ECC)
margin=2 (2px)

Параметр limit в ответе – определяет количество оставшихся запросов до конца суток

Если Вы хотите сразу получить картинку, а не ссылку на неё, используйте параметр:

&format=png

Но будьте внимательны, т.к. в случае если у вас закончится лимит, вы получите вместо картинки ошибку. Пример:

https://htmlweb.ru/api/service/qr/?format=png&api_key=API_KEY_из_профиля&data=ДАННЫЕ_ДЛЯ_КОДИРОВАНИЯ

Вы можете получить base64 закодированную картинку для вставки картинки в код с помощью параметра &format=src:

    <img src="<?=https://htmlweb.ru/api/service/qr/?format=src&noLimit&api_key=API_KEY_из_профиля&data=ДАННЫЕ_ДЛЯ_КОДИРОВАНИЯ?>">

Как прочитать QR код

Все современные телефоны и планшеты имеют встроенную программу распознавания QR-кодов. Для этого наведите камеру телефона на QR код и вы увидите результат чтения.

Как в QR коде указать ссылку/телефон/SMS ?

Для указания в QR-коде номера телефона, на который нужно позвонить укажите перед номером префикс ‘TEL:’, например:

TEL:+71234567890

Для указания в QR-коде skype, на который можно позвонить укажите перед номером префикс ‘skype:’, например:

Skype:kkk_890

Для указания в QR-коде URL-ссылки, достаточно указать её в полном формате, например:

http://htmlweb.ru

Для указания в QR-коде подготовленной SMS для отправки, необходимо указать её в формате SMSTO:НОМЕР?body=ТЕКСТ, например:

SMSTO:+71234567890?body=Строка1.%0AСтрока2.

Альтернативный формат:

sms:НОМЕР_ТЕЛЕФОНА

Для указания в QR-коде координат:

GEO:55.751676972657464;37.62759966278077

Для указания в QR-коде ссылки на карту гугла, необходимо указать её в формате:

http://maps.google.com/maps?q=55.751676972657464%2C37.62759966278077

Для указания в QR-коде E-mail, достаточно указать адрес с префиксом ‘MAILTO:’, например:

MAILTO:kdg@aaanet.ru

Для указания в QR-коде готового E-mail письма, достаточно указать адрес с префиксом ‘MAILTO:’, например:

MAILTO:kdg@aaanet.ru?subject=Test%20Subject&body=This%20is%20a%20test
'mailto:'.$email.'?subject='.urlencode($subject).'&body='.urlencode($body)

Для указания в QR-коде VCARD-визитки, достаточно указать её в VCARD-формате, например:

BEGIN:VCARD
N:Пупкин;Василий;Иванович;пр.,к.м.н.
TEL;HOME:+74955551234
TEL;WORK:+74955551234
TEL;CELL:+79185551234
TEL;WORK;FAX:666
EMAIL;INTERNET;WORK:777@mail.ru
ORG:Рога и Копыта
TITLE:7777
URL;http://ru.wikipedia.org/
BDAY:1996-04-15
ADR;WORK:;;999;111;;;2222
END:VCARD

Для кодирования фото в VCARD используйте ссылку на внешний URL или base64 – кодирование:

BEGIN:VCARD
FN:ИМЯ
TEL;WORK;VOICE:+79185551234
PHOTO;VALUE=uri:http://htmlweb.ru/favicon.gif
END:VCARD
BEGIN:VCARD
FN:ИМЯ
TEL;WORK;VOICE:+79185551234
PHOTO;JPEG;ENCODING=BASE64:'.base64_encode(file_get_contents($avatarJpegFileName))."\n";
END:VCARD

Для указания в QR-коде запланированного события календаря (VCALENDAR), достаточно указать его в VCALENDAR-формате, например:

BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
SUMMARY;CHARSET=utf-8:name
DTSTART:20130101T100000Z
DTEND:20130201T113000Z
END:VEVENT
END:VCALENDAR

Для указания в QR-коде данных для платежного поручения (счета на оплату, платежки) в кодировке UTF-8 необходимо указать их в следующем формате:

На строки разбил для удобства восприятия. При формированиии QR-кода счета все должно быть в одну строку, в качестве разделителей используются символы ‘|’. Описание стандарта ГОСТ Р 56042-2014. Для указания кодировки windows-1251 замените “ST00012” на “ST00011”.

ST00012|
Name=ООО «Ети»|
PersonalAcc=40702810938090013642|
BankName=ОАО "СБЕРБАНК РОССИИ" Г. МОСКВА|
BIC=044525225|
CorrespAcc=30101810400000000225|
Sum=1023641|
Purpose=Оплата по счету №12345|
PayeeINN=7727727063|
KPP=772701001
ST00012|
Name=АО "Компания ТрансТелеКом"|
PersonalAcc=40702810838040021360|
BankName=Московский банк ПАО Сбербанк, г. Москва|
BIC=044525225|
CorrespAcc=30101810400000000225|
PayeeINN=7709219099|
Sum=45000|
ServiceName=9387216754|
Purpose=Оплата услуг связи по л/с № 615167760|
LastName=Иванов|
FirstName=Иван|
MiddleName=Иванович|
PayerAddress=|
PersAcc=615167760|
BillNum=

От slserg

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *