Генерируйте QR-коды с помощью REST API: один POST, мгновенный SVG.
Создавайте QR-коды из любого URL-адреса или текста с помощью одного запроса POST. Возвращает SVG менее чем за 100 мс. Уровень бесплатного пользования, без установки библиотеки, 6 настраиваемых параметров.
В вашей электронной коммерции должен отображаться QR-код для URL-адреса отслеживания каждого заказа. Ты мог бы установить клиентскую QR-библиотеку, настроить элемент холста, управлять жизненным циклом рендеринга, и добавьте к вашему пакету 30-40 КБ. Или вы можете отправить один запрос POST и получить обратно SVG.
Ботой /v1/qr/generate конечная точка превращает любую строку или URL-адрес в сканируемый QR-код
код. Он возвращает необработанный SVG, который вы можете встроить в HTML, сохранить в файл или передать в PDF. Нет нпм
пакет, нет зависимости от холста, нет этапа сборки.
API-вызов
Отправьте POST-запрос с текстом, который вы хотите закодировать:
Ответом является необработанное изображение SVG (Content-Type: image/svg+xml):
Этот SVG выглядит четким при любом размере, потому что он векторный. Брось это в
<img> тег, встройте его в свой HTML или перенесите в файл. Нет анализа JSON
нужен; телом ответа является сам SVG.
Параметры
Конечная точка принимает шесть параметров. Только text требуется:
- текст (обязательное поле): URL-адрес или текст для кодирования. Поддерживает до ~4296 буквенно-цифровые символы.
- размер (число, по умолчанию 300): ширина и высота в пикселях. Диапазон: от 50 до 2000.
-
темныйЦвет (шестнадцатеричная строка, по умолчанию
#000000): Цвет переднего плана QR-модули. -
светЦвет (шестнадцатеричная строка, по умолчанию
#ffffff): Цвет фона. -
уровень коррекции ошибки (строка, по умолчанию
M): Один из L (7%), M (15%), Q (25%) или H (30%). Более высокие уровни допускают больший ущерб, но создают более плотные коды. - допуск (число, по умолчанию 4): тихая зона вокруг QR-кода в модулях. Диапазон: от 0 до 20.
Вот запрос, использующий все шесть параметров:
Практические примеры
QR-код меню ресторана
Напечатайте QR-код на настольных палатках, чтобы посетители могли просмотреть полное меню на своем телефоне. Ошибка Коррекция H справляется с потертостями и пятнами от кофе.
QR-код билета на мероприятие
Закодируйте уникальный идентификатор билета в каждом QR-коде. Персонал сканирует его у двери любым смартфоном. камера. Коррекция ошибок Q обеспечивает хороший баланс между плотностью и устойчивостью к повреждениям. для печати бейджей.
QR-код платежной ссылки
Создайте сканируемую ссылку для оплаты для счетов, квитанций или дисплеев в точках продаж. клиент сканирует его и попадает на страницу оформления заказа Stripe.
Генерация пакетов в цикле
Нужны QR-коды для каталога продукции? Просмотрите список URL-адресов и сохраните каждый SVG на диск. Этот bash-скрипт генерирует четыре QR-кода менее чем за секунду:
Выход:
Пример Node.js: QR-коды для отслеживания заказов
Этот сервер Express предоставляет /orders/:id/qr конечная точка. Когда ваш заказ
страница или шаблон электронного письма с подтверждением извлекает этот URL-адрес, он возвращает QR-код SVG, указывающий
на страницу отслеживания заказа.
Использование:
Конечная точка устанавливает 24-часовой заголовок кэша, чтобы повторные запросы на один и тот же заказ не попадали. API снова. В рабочей среде добавьте Redis или CDN перед этим маршрутом для увеличения трафика.
Клиентские QR-библиотеки или API: когда какие использовать
Используйте API, когда вам нужно генерировать на стороне сервера (электронные письма, PDF-файлы, квитанции), когда вы хотите держите свой пакет внешнего интерфейса небольшим или когда вы генерируете QR-коды в рабочем процессе серверной части например, обработка заказов или выдача билетов.
Используйте клиентскую библиотеку, когда вашему приложению необходимо работать в автономном режиме, когда задержка имеет большее значение. чем размер пакета (время рендеринга менее 5 мс), или когда вы создаете инструмент, в котором пользователи генерируют QR-коды в интерактивном режиме в браузере, и вы не хотите зависеть от сетевого запроса для каждого нажатия клавиши.
Ключевые моменты
Уровень бесплатного пользования со скоростью 5 запросов в минуту охватывает разработку, прототипирование и мелкообъемные проекты.
производственное использование. Для пакетной генерации или приложений с высоким трафиком добавьте ключ API в
Authorization: Bearer заголовок. Проверьте
Документация по API
для полной ссылки на конечную точку.
FAQ
- Нужен ли мне ключ API для создания QR-кодов?
- Нет. Уровень бесплатного пользования обеспечивает анонимный доступ со скоростью 5 запросов в минуту с ограничением скорости на основе IP. Для производственных приложений или пакетной генерации добавьте ключ API в заголовок авторизации, чтобы снять ограничение скорости.
- Могу ли я получить PNG вместо SVG?
- Установите для параметра формата значение «base64», чтобы получить QR-код в виде URI данных, который вы можете встроить в тег img. API во всех случаях возвращает выходные данные на основе SVG, поскольку SVG не зависит от разрешения и обеспечивает четкость изображения любого размера. Преобразование в PNG на стороне клиента с помощью элемента холста, если вам нужен растровый файл.
- Какова максимальная длина данных QR-кода?
- QR-коды поддерживают до 4296 буквенно-цифровых символов или 2953 байтов двоичных данных. Большинство URL-адресов и коротких строк вполне соответствуют этим ограничениям. Если вы достигли потолка, сначала сократите свой URL-адрес с помощью средства сокращения ссылок.
- Какой уровень исправления ошибок мне следует использовать?
- Используйте M (восстановление 15 %) для цифровых экранов и L (7 %), когда плотность кода имеет значение. Выберите Q (25%) или H (30%) для печатных материалов, которые могут быть потерты, сложены или частично покрыты наложением логотипа.
- Могу ли я настроить цвета QR-кода?
- Да. Передайте darkColor и LightColor как шестнадцатеричные значения (например, «#1a1a2e» и «#ffffff»). Убедитесь, что между двумя цветами достаточный контраст, чтобы сканеры могли надежно прочитать код.
Начните разработку с botoi
150+ API-эндпоинтов для поиска, обработки текста, генерации изображений и утилит для разработчиков. Бесплатный тариф, без банковской карты.