آموزش استفاده از API سیبمو

API آموزش سیبمو

vpn_key کلید API

برای استفاده از API سیبمو، ابتدا باید کلید API خود را از پنل کاربری دریافت کنید.

مهم: کلید API خود را در معرض عموم قرار ندهید و آن را محرمانه نگه دارید.

link URL پایه

https://sibmo.ir/api/

security احراز هویت

برای احراز هویت می‌توانید از یکی از روش‌های زیر استفاده کنید:

Header: X-API-Key: YOUR_API_KEY
یا
GET Parameter: ?api_key=YOUR_API_KEY

list endpoints موجود

GET

اطلاعات کاربری

GET /api/?endpoint=user_info

توضیح: دریافت اطلاعات پایه کاربر شامل لینک پرداخت و مقادیر کل

پاسخ نمونه:
{
  "status": "success",
  "data": {
    "paypage": "your-payment-url",
    "donates": 150000,
    "donates_count": 45
  }
}
GET

اطلاعات هدف

GET /api/?endpoint=goal_info

توضیح: دریافت اطلاعات هدف مالی کاربر

پاسخ نمونه:
{
  "status": "success",
  "data": {
    "goal_name": "خرید تجهیزات جدید",
    "filled_amount": 75000,
    "goal_amount": 100000,
    "percentage": 75.00
  }
}
GET

آخرین حمایت‌ها

GET /api/?endpoint=recent_donations

توضیح: دریافت 50 حمایت اخیر شامل حمایت‌های تومانی و ارزی. فیلد قدیمی amount برای سازگاری بدون تغییر، معادل تومانی مبلغ است؛ برای نمایش مبلغ صحیح از display_amount همراه currency استفاده کنید.

پاسخ نمونه:
{
  "status": "success",
  "data": [
    {
      "name": "علی احمدی",
      "amount": "6000000",
      "amount_toman": "6000000",
      "amount_usd": "50.00",
      "display_amount": "50.00",
      "currency": "USD",
      "description": "عالی بود",
      "year": "2025",
      "month": "08",
      "day": "16",
      "unixtime": "1755310220"
    }
  ]
}
GET

بالاترین حمایت‌ها

GET /api/?endpoint=top_donations

توضیح: دریافت 10 حمایت تومانی یا ارزی با بالاترین معادل تومانی. ساختار مبلغ هر ردیف مانند recent_donations است و مبلغ دلاری در amount_usd قرار می‌گیرد.

GET

برترین حامیان

GET /api/?endpoint=top_donators

توضیح: دریافت 10 حامی برتر بر اساس مجموع معادل تومانی حمایت‌ها. total_amount بدون تغییر باقی مانده و معادل تومانی است؛ total_amount_toman همین مقدار را به‌صورت صریح، total_usd_amount مجموع حمایت‌های دلاری و crypto_donation_count تعداد آن‌ها را برمی‌گرداند.

payments فیلدهای مبلغ و سازگاری

amount: فیلد قدیمی؛ مبلغ تومانی یا معادل تومانی حمایت ارزی (بدون تغییر برای برنامه‌های فعلی)
amount_toman: مبلغ یا معادل مبلغ به تومان
amount_usd: مبلغ دلاری حمایت ارزی؛ برای حمایت تومانی null
display_amount: مبلغ مناسب نمایش به کاربر
currency: واحد display_amount با مقدار TOMAN یا USD

code نمونه کد

JavaScript

fetch('https://sibmo.ir/api/?endpoint=recent_donations', {
  headers: {
    'X-API-Key': 'YOUR_API_KEY'
  }
})
.then(response => response.json())
.then(data => console.log(data));

PHP

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://sibmo.ir/api/?endpoint=user_info');
curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-API-Key: YOUR_API_KEY']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$data = json_decode($response, true);

Python

import requests

headers = {'X-API-Key': 'YOUR_API_KEY'}
response = requests.get('https://sibmo.ir/api/?endpoint=goal_info', headers=headers)
data = response.json()

error کدهای خطا

401 Unauthorized: کلید API نامعتبر یا موجود نیست
400 Bad Request: endpoint نامعتبر
200 OK: درخواست موفق
نکته مهم: تمام پاسخ‌های API در قالب JSON ارسال می‌شوند و دارای فیلد status هستند که وضعیت درخواست را نشان می‌دهد.