مستندات API

برای استفاده از سرویس‌های مرکز در پروژه‌های PHP، پایتون و اپلیکیشن موبایل

ساخت کلید API

۱) آدرس پایه و احراز هویت

تمام درخواست‌ها با هدر X-API-Key یا Authorization: Bearer TOKEN احراز هویت می‌شوند. کلید را از بخش «کلیدهای API» بسازید.

۲) فهرست سرویس‌ها

برای دیدن قیمت لحظه‌ای سرویس‌ها به ریال:

GET /api/v1/services
X-API-Key: ak_xxxxxxxx
شناسه عنوان قیمت (ریال) ورودی
imei-find-my-iphone-1 Find My iPhone [ FMI ] (ON/OFF) ۵۲,۷۰۰ IMEI / سریال
imei-warranty-activation-2 Warranty + Activation - Apple [IMEI/SN] ۱۰۵,۵۰۰ IMEI / سریال
imei-apple-full-info-3 Apple FULL INFO [No Carrier] ۳۶۹,۰۰۰ IMEI / سریال
imei-icloud-check-4 iCloud Clean/Lost Check ۱۰۵,۵۰۰ IMEI / سریال
imei-blacklist-5 Blacklist Status (GSMA) ۱۰۵,۵۰۰ IMEI / سریال
imei-blacklist-pro-6 Blacklist Pro Check (GSMA) - with history ۴۷۴,۵۰۰ IMEI / سریال
imei-samsung-info-8 Samsung Info (S1) [IMEI] ۲۱۱,۰۰۰ IMEI / سریال
imei-sold-gsx-9 SOLD BY + GSX ۵,۲۶۸,۰۰۰ IMEI / سریال
imei-to-model-10 IMEI to Model [all brands] ۵۲,۷۰۰ IMEI / سریال
imei-brand-model-11 IMEI to Brand / Model / Name ۵۲,۷۰۰ IMEI / سریال
imei-model-color-fmi-13 Model + Color + Storage + FMI ۱۰۵,۵۰۰ IMEI / سریال

۳) ثبت سفارش (استعلام)

POST /api/v1/orders
X-API-Key: ak_xxxxxxxx
Content-Type: application/json

{
  "service": "imei-find-my-iphone-1",
  "input": "359111099999999",
  "wait": true
}
  • service — شناسه یکتای سرویس (slug) یا service_id (عدد).
  • input — شماره IMEI یا سریال دستگاه.
  • wait — اگر true باشد نتیجه همان لحظه برگردانده می‌شود؛ در غیر این صورت سفارش در صف قرار می‌گیرد و با GET /api/v1/orders/{id} پیگیری می‌شود.

پاسخ

{
  "success": true,
  "data": {
    "id": 12,
    "status": "success",
    "service_title": "Find My iPhone [ FMI ] (ON/OFF)",
    "input": "359111099999999",
    "price_usd": 0.01,
    "price_rial": 12000,
    "upstream_order": "74275656",
    "result": "iPhone 15 Pro (A3104)\nIMEI: 35698831919XXX\nFind My iPhone: ON",
    "object": { "model": "iPhone 15 Pro (A3104)", "fmiOn": true },
    "error": null,
    "duration_ms": 1950,
    "created_at": "2026-10-20 12:00:00"
  }
}

پایتون (requests)

import requests

BASE = "https://center.shirazid.com"
KEY  = "ak_xxxxxxxx"

headers = {"X-API-Key": KEY}

# ۱) موجودی کیف پول
balance = requests.get(BASE + "/api/v1/balance", headers=headers).json()
print(balance["data"]["balance"])   # ریال

# ۲) ثبت سفارش
res = requests.post(
    BASE + "/api/v1/orders",
    headers=headers,
    json={"service": "imei-find-my-iphone-1",
          "input": "359111099999999",
          "wait": True},
)
data = res.json()["data"]
print(data["status"])   # success / failed / pending
print(data["result"])

پایتون (پروژه‌ای)

class ApiCenter:
    def __init__(self, base_url, api_key):
        self.base = base_url.rstrip("/")
        self.headers = {"X-API-Key": api_key}

    def balance(self):
        r = requests.get(self.base + "/api/v1/balance", headers=self.headers)
        return r.json()["data"]["balance"]

    def imei_check(self, service, imei):
        r = requests.post(
            self.base + "/api/v1/orders",
            headers=self.headers,
            json={"service": service, "input": imei, "wait": True},
            timeout=40,
        )
        if r.status_code != 200:
            raise RuntimeError(r.text)
        return r.json()["data"]

۴) PHP (cURL)

function apiRequest(string $path, array $body = []): array
{
    global $apiKey;

    $ch = curl_init(API_BASE_URL . $path);
    curl_setopt_array($ch, [
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_POST => true,
        CURLOPT_HTTPHEADER => [
            "X-API-Key: {$apiKey}",
            "Content-Type: application/json",
        ],
        CURLOPT_POSTFIELDS => json_encode($body),
        CURLOPT_TIMEOUT => 40,
    ]);

    $raw = curl_exec($ch);
    curl_close($ch);

    return json_decode((string)$raw, true);
}

$order = apiRequest("/api/v1/orders", [
    "service" => "imei-find-my-iphone-1",
    "input"   => $imei,
    "wait"    => true,
]);

echo $order["data"]["result"];

۵) سایر نقاط پایانی

متد مسیر توضیح
GET /api/v1/services فهرست سرویس‌ها به همراه قیمت لحظه‌ای ریالی
GET /api/v1/services/{slug} مشخصات یک سرویس
POST /api/v1/orders ثبت سفارش و استعلام
GET /api/v1/orders فهرست سفارش‌های کاربر
GET /api/v1/orders/{id} وضعیت و نتیجه یک سفارش
GET /api/v1/balance موجودی کیف پول (ریال)
GET /api/v1/rate نرخ لحظه‌ای دلار به ریال
GET /api/v1/me اطلاعات کاربر جاری
GET /api/v1/health بررسی سلامت سرویس (بدون نیاز به کلید)

۶) کدهای خطا

کد معنا
401کلید API ارسال نشده یا نامعتبر/غیرفعال است.
402موجودی کیف پول کافی نیست.
404سرویس یا سفارش یافت نشد.
422ورودی نامعتبر (مثلاً IMEI خالی) یا خطای منطقی درخواست.
429تعداد درخواست‌ها بیش از حد مجاز است.
503سرویس موقتاً در دسترس نیست.