مستندات API

با API رسمی zqz.ir می‌توانید از برنامه، ربات یا افزونه وردپرس لینک کوتاه بسازید — بدون ورود دستی به پنل.

شروع سریع احراز هویت ورود و توکن ساخت لینک خطاها محدودیت‌ها نمونه کد

۱. شروع سریع

برای استفاده از API به یک حساب فعال در zqz.ir و توکن API نیاز دارید.

پیشنهاد: توکن را فقط در هدر Authorization: Bearer … بفرستید. ارسال توکن در query string (آدرس URL) مجاز نیست.

۲. احراز هویت

پس از داشتن توکن، یکی از این روش‌ها را برای ساخت لینک استفاده کنید:

روشتوضیح
هدر Bearer پیشنهادی Authorization: Bearer YOUR_TOKEN
فیلد POST token=YOUR_TOKEN در بدنه form-urlencoded
بدنه JSON {"token":"YOUR_TOKEN", "url":"..."}
توکن مثل رمز عبور است. آن را عمومی نکنید. در صورت لو رفتن، از حساب کاربری «ساخت توکن جدید» را بزنید تا توکن قبلی باطل شود.

POST ورود و دریافت توکن

https://zqz.ir/api-login.php

با نام کاربری و رمز حساب، توکن API را می‌گیرید. اگر هنوز توکن نداشته باشید، سامانه یکی می‌سازد.

پارامترها

نامنوعالزامیتوضیح
usernamestringبلهنام کاربری ورود
passwordstringبلهرمز عبور حساب

نمونه پاسخ موفق

{ "success": true, "token": "a1b2c3…", "username": "myuser" }

POST ساخت لینک کوتاه

https://zqz.ir/api.php

یک URL بلند را به لینک کوتاه تبدیل می‌کند. سقف روزانه ساخت لینک حساب شما اعمال می‌شود.

پارامترها

نامنوعالزامیتوضیح
urlstringبلهآدرس مقصد (با یا بدون https)
tokenstring*اگر هدر Bearer نباشد، در بدنه الزامی است
customstringخیرکد دلخواه ۳ تا ۳۰ کاراکتر: حروف، عدد، - و _
titlestringخیرعنوان نمایشی لینک در پنل

نمونه پاسخ موفق

{ "success": true, "short_code": "abc123", "short_url": "https://zqz.ir/abc123", "original_url": "https://example.com/page" }

۳. کدهای وضعیت و خطا

HTTPمعنی رایج
200موفق
400درخواست نامعتبر (مثلاً توکن در GET یا URL خراب)
401توکن خالی یا نامعتبر / ورود ناموفق
403لینک مسدود یا غیراخلاقی
405متد غیر از POST
429سقف نرخ درخواست یا سقف روزانه لینک
500خطای داخلی سرور

بدنه خطا معمولاً به این شکل است:

{ "success": false, "error": "پیام خطا به فارسی" }

۴. محدودیت‌ها و قوانین

۵. نمونه کد

cURL — ساخت لینک

curl -X POST "https://zqz.ir/api.php" \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "url=https://example.com&title=Demo"

cURL — ورود

curl -X POST "https://zqz.ir/api-login.php" \ -H "Content-Type: application/json" \ -d '{"username":"myuser","password":"secret"}'

PHP

$ch = curl_init('https://zqz.ir/api.php'); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => [ 'Authorization: Bearer YOUR_TOKEN', ], CURLOPT_POSTFIELDS => http_build_query([ 'url' => 'https://example.com', 'title' => 'نمونه', ]), ]); $res = json_decode(curl_exec($ch), true);

JavaScript (fetch)

const res = await fetch('https://zqz.ir/api.php', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_TOKEN', 'Content-Type': 'application/x-www-form-urlencoded', }, body: new URLSearchParams({ url: 'https://example.com' }), }); const data = await res.json();