← بازگشت به پنل کاربری
REST API
مستندات API
سامانه کوتاهکننده لینک حرفهای با پشتیبانی از رمز عبور و تاریخ انقضا
دریافت کلید API
برای استفاده از API به کلید نیاز دارید. به صورت رایگان ثبتنام کنید:
GET
/api.php?action=stats
دریافت آمار کلی سامانه
نیازی به احراز هویت ندارد. تعداد کل لینکها و کلیکها را نمایش میدهد.
مثال درخواست
curl -X GET "https://webhook.rubka.ir/api.php?action=stats"
پاسخ سرور
{
"success": true,
"data": {
"total_links": 1250,
"total_clicks": 8730,
"status": "active"
}
}
GET
/api.php?action=info&code={code}
دریافت اطلاعات یک لینک کوتاه
اطلاعات کامل لینک کوتاه شده را نمایش میدهد. نیازی به احراز هویت ندارد.
مثال درخواست
curl -X GET "https://webhook.rubka.ir/api.php?action=info&code=abc123"
پاسخ سرور
{
"success": true,
"data": {
"code": "abc123",
"long_url": "https://example.com",
"clicks": 150,
"created_at": "2024-01-15 10:30:00",
"expires_at": null,
"has_password": false,
"is_active": true
}
}
POST
/api.php?action=shorten
کوتاه کردن لینک
نیاز به احراز هویت با هدر X-API-Key دارد. لینک را کوتاه میکند.
هدرهای مورد نیاز
X-API-Key: YOUR_API_KEY
Content-Type: application/json
مثالهای درخواست
1. کوتاه کردن لینک ساده
curl -X POST "https://webhook.rubka.ir/api.php?action=shorten" \
-H "X-API-Key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/very/long/url"}'
2. کوتاه کردن با اسلاگ دلخواه
curl -X POST "https://webhook.rubka.ir/api.php?action=shorten" \
-H "X-API-Key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com", "slug": "mylink"}'
3. کوتاه کردن با رمز عبور
curl -X POST "https://webhook.rubka.ir/api.php?action=shorten" \
-H "X-API-Key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/secret", "password": "mypass123"}'
4. کوتاه کردن با تاریخ انقضا (۷ روز بعد)
curl -X POST "https://webhook.rubka.ir/api.php?action=shorten" \
-H "X-API-Key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/temp", "expires_at": "7d"}'
5. ترکیب همه قابلیتها
curl -X POST "https://webhook.rubka.ir/api.php?action=shorten" \
-H "X-API-Key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/private", "slug": "myprivate", "password": "secure123", "expires_at": "30d"}'
پاسخ موفق
{
"success": true,
"data": {
"short_url": "https://webhook.rubka.ir/abc123",
"code": "abc123",
"expires_at": "2025-12-31 23:59:59",
"has_password": true
}
}
امکانات ویژه
محافظت با رمز عبور
با اضافه کردن فیلد password، لینک با رمز عبور محافظت میشود. کاربران قبل از هدایت باید رمز را وارد کنند.
{
"url": "https://example.com/secret-document",
"password": "myStrongPassword123"
}
تاریخ انقضا
با اضافه کردن فیلد expires_at میتوانید تاریخ انقضای لینک را مشخص کنید.
فرمتهای قابل قبول:
"7d"- ۷ روز بعد"30d"- ۳۰ روز بعد"2025-12-31 23:59:59"- تاریخ دقیق
{
"url": "https://example.com/temporary-link",
"expires_at": "7d"
}
نمونه کدهای برنامهنویسی
پایتون (Python)
import requests
API_KEY = "your_api_key_here"
def shorten_url(url, password=None, expires_at=None):
headers = {
"X-API-Key": API_KEY,
"Content-Type": "application/json"
}
data = {"url": url}
if password:
data["password"] = password
if expires_at:
data["expires_at"] = expires_at
response = requests.post(
"https://webhook.rubka.ir/api.php?action=shorten",
headers=headers,
json=data
)
return response.json()
# مثال استفاده
result = shorten_url("https://python.org", password="secret123", expires_at="30d")
print(result["data"]["short_url"])
جاوااسکریپت (JavaScript)
const API_KEY = "your_api_key_here";
async function shortenUrl(url, options = {}) {
const response = await fetch(
"https://webhook.rubka.ir/api.php?action=shorten",
{
method: "POST",
headers: {
"X-API-Key": API_KEY,
"Content-Type": "application/json"
},
body: JSON.stringify({ url, ...options })
}
);
return response.json();
}
// مثال استفاده
const result = await shortenUrl("https://example.com", {
password: "mypass123",
expires_at: "7d"
});
console.log(result.data.short_url);
PHP
<?php
$apiKey = "your_api_key_here";
function shortenUrl($url, $password = null, $expiresAt = null) {
global $apiKey;
$data = ["url" => $url];
if ($password) $data["password"] = $password;
if ($expiresAt) $data["expires_at"] = $expiresAt;
$ch = curl_init("https://webhook.rubka.ir/api.php?action=shorten");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-API-Key: $apiKey",
"Content-Type: application/json"
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
return json_decode(curl_exec($ch), true);
}
$result = shortenUrl("https://example.com", "mypass123", "7d");
echo $result["data"]["short_url"];
?>
خطاهای احتمالی
| پیام خطا | توضیح |
|---|---|
API Key نامعتبر است | کلید API ارسال شده معتبر نیست |
لینک اصلی وارد نشده | فیلد url در درخواست خالی است |
لینک اصلی معتبر نیست | قالب لینک وارد شده صحیح نیست |
این اسلاگ قبلاً استفاده شده است | اسلاگ وارد شده تکراری است |
لینک یافت نشد | کد لینک در سامانه وجود ندارد |
رمز عبور باید حداقل ۴ کاراکتر باشد | رمز عبور وارد شده کوتاه است |
تاریخ انقضا باید در آینده باشد | تاریخ انقضا نامعتبر یا گذشته است |
اسلاگ باید بین ۲ تا ۳۰ کاراکتر باشد | طول اسلاگ وارد شده مجاز نیست |