سرویسهای جانبی هُما
تولید 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— نوع محتوا:urltextemailtelsmswifivcardgeoevent(پیشفرض: raw)format— فرمت خروجی:png(پیشفرض)svgjpegwebpbase64size— اندازه بر حسب پیکسل؛ عدد تکی مثل400یا قالب400x400. بازهٔ مجاز ۵۰ تا ۲۰۰۰ (پیشفرض ۳۰۰)margin— حاشیهٔ سفید دور کد (پیشفرض ۲)ecc— سطح تصحیح خطا:LMQH(پیشفرض 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 دارند و قابل فراخوانی بیندامنهای هستند.