بازگشت به فهرست

سرویس‌های جانبی هُما

تولید QR

معرفی و شروع سریع

سرویس تولید QR هُما یک ابزار عمومی است که بدون احراز هویت و با یک آدرس مستقیم در دسترس است. کافی است محتوا را به عنوان پارامتر بدهید تا تصویر QR را تحویل بگیرید.

آدرس سرویس: https://www.homacrm.com/api/v1/tools/qr

ساده‌ترین نمونه — کد QR برای یک آدرس اینترنتی:

https://www.homacrm.com/api/v1/tools/qr?data=https://homacrm.com&size=400

می‌توانید این آدرس را مستقیماً داخل تگ تصویر بگذارید:

<img src="https://www.homacrm.com/api/v1/tools/qr?data=https://homacrm.com&size=300" alt="QR" />

سرویس هم با درخواست GET (پارامتر در آدرس) و هم با POST (بدنهٔ JSON — مناسب داده‌های طولانی مثل vCard) کار می‌کند.

پارامترهای عمومی

این پارامترها روی همهٔ انواع محتوا قابل استفاده‌اند:

  • data — محتوای کدشونده (برای حالت ساده/raw الزامی است)
  • type — نوع محتوا: url text email tel sms wifi vcard geo event (پیش‌فرض: raw)
  • format — فرمت خروجی: png (پیش‌فرض) svg jpeg webp base64
  • size — اندازه بر حسب پیکسل؛ عدد تکی مثل 400 یا قالب 400x400. بازهٔ مجاز ۵۰ تا ۲۰۰۰ (پیش‌فرض ۳۰۰)
  • margin — حاشیهٔ سفید دور کد (پیش‌فرض ۲)
  • ecc — سطح تصحیح خطا: L M Q H (پیش‌فرض M؛ برای لوگو مقدار H توصیه می‌شود)
  • color — رنگ نقاط (هگز، مثل 1a1a2e یا %23000000)
  • bgcolor — رنگ پس‌زمینه؛ مقدار transparent برای پس‌زمینهٔ شفاف (فقط png/svg)
  • logo — آدرس http(s) یک تصویر برای قرار گرفتن در مرکز QR

برای استفاده از کاراکتر # در رنگ‌ها داخل آدرس، آن را به‌صورت %23 کدگذاری کنید یا رنگ را بدون # بنویسید.

انواع محتوا (type)

با پارامتر type می‌توانید محتوای ساختاریافته بسازید؛ پارامترهای هر نوع را جداگانه بفرستید:

آدرس اینترنتیtype=url

https://www.homacrm.com/api/v1/tools/qr?type=url&url=https://homacrm.com

متن سادهtype=text

https://www.homacrm.com/api/v1/tools/qr?type=text&text=سلام دنیا

وای‌فایtype=wifi با ssid، password، encryption (WPA/WEP/nopass)، hidden

https://www.homacrm.com/api/v1/tools/qr?type=wifi&ssid=MyNet&password=12345678&encryption=WPA

کارت ویزیت (vCard)type=vcard با name، org، title، phone، email، url، address

https://www.homacrm.com/api/v1/tools/qr?type=vcard&name=علی رضایی&org=هما&phone=09120000000&email=ali@homacrm.com

ایمیلtype=email با email، subject، body

https://www.homacrm.com/api/v1/tools/qr?type=email&email=info@homacrm.com&subject=سلام&body=متن پیام

تماس / پیامکtype=tel با phone یا type=sms با phone و body

https://www.homacrm.com/api/v1/tools/qr?type=tel&phone=02100000000

موقعیت جغرافیاییtype=geo با lat و lng

https://www.homacrm.com/api/v1/tools/qr?type=geo&lat=35.6892&lng=51.3890

سفارشی‌سازی ظاهر و لوگو

رنگ، اندازه، فرمت و لوگوی مرکزی را می‌توانید تنظیم کنید:

رنگ سفارشی و فرمت SVG:

https://www.homacrm.com/api/v1/tools/qr?data=https://homacrm.com&color=1a1a2e&bgcolor=f5f5f5&format=svg

پس‌زمینهٔ شفاف (PNG):

https://www.homacrm.com/api/v1/tools/qr?data=https://homacrm.com&bgcolor=transparent&format=png

لوگوی مرکزی (سطح تصحیح خطای بالا توصیه می‌شود):

https://www.homacrm.com/api/v1/tools/qr?data=https://homacrm.com&logo=https://homacrm.com/logo.png&ecc=H&size=500

هنگام استفاده از لوگو، حتماً ecc=H را تنظیم کنید تا خوانایی کد حفظ شود. لوگو حداکثر تا ۲۲٪ پهنای کد بزرگ می‌شود.

نمونه‌کد

HTML

<img src="https://www.homacrm.com/api/v1/tools/qr?data=https://homacrm.com&size=300" alt="QR" />

cURL (ذخیره در فایل)

curl -L "https://www.homacrm.com/api/v1/tools/qr?data=https://homacrm.com&size=400" -o qr.png

JavaScript (POST برای داده‌های طولانی)

const res = await fetch("https://www.homacrm.com/api/v1/tools/qr", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    type: "vcard",
    name: "علی رضایی",
    phone: "09120000000",
    format: "base64"
  })
});
const dataUrl = await res.text(); // data:image/png;base64,...

پاسخ سرویس قابل کش است (یک روز). برای استفادهٔ بین‌دامنه‌ای هم هدرهای CORS فعال است.

نکات

  • همهٔ سرویس‌های این بخش بدون احراز هویت‌اند؛ آدرس آن‌ها را در سایت، ایمیل و اپلیکیشن خود استفاده کنید.
  • سرویس تولید QR را می‌توانید مستقیم در تگ <img> (در src) قرار دهید؛ برای داده‌های طولانی مثل کارت ویزیت از POST با بدنهٔ JSON استفاده کنید.
  • خروجی QR برای یک روز کش می‌شود؛ در صورت تغییر محتوا، پارامترها را عوض کنید.
  • سرویس تاریخ و ساعت آنلاین کش نمی‌شود و همیشه زمان به‌روز را برمی‌گرداند؛ برای نمایش تاریخ شمسی روی سایت و اپلیکیشن مناسب است.
  • هر دو سرویس هدر CORS دارند و قابل فراخوانی بین‌دامنه‌ای هستند.