API همکاران

API واریا شاپ

سایت یا ربات تلگرام خودت را به واریا شاپ وصل کن. محصولات و قیمت لحظه‌ای را بخوان، بازیکن را اعتبارسنجی کن و سفارش شارژ بازی و گیفت‌کارت ثبت کن — همه از کیف پول واریای تو پرداخت می‌شود. همه‌چیز از واریا شاپ ارائه می‌شود.

Base URL: https://api.waryashop.org/api/v1
1
ثبت‌نام کن
در واریا شاپ ثبت‌نام و وارد داشبورد شو.
2
کلید API بساز
داشبورد ← کلیدهای API. اختیاری می‌توانی به IP سرورت محدودش کنی.
3
به API وصل شو
درخواست‌ها را با هدر X-API-Key بفرست. سفارش‌ها از کیف پول کم می‌شود.

احراز هویت

هر درخواست باید کلید تو را در هدر داشته باشد:

X-API-Key: YOUR_API_KEY
  • کلیدها از داشبورد ساخته می‌شوند و فقط یک‌بار نمایش داده می‌شوند — امن نگه‌دار.
  • لیست IP مجاز اختیاری: فقط سرورهای تو می‌توانند از کلید استفاده کنند.
  • محدودیت پیش‌فرض: ۶۰ درخواست در دقیقه (روی هر کلید قابل تنظیم).

اندپوینت‌ها

GET /balance موجودی کیف پول
GET /games لیست همه بازی‌ها و محصولات (با آدرس عکس واریا)
GET /games/{code}/catalogue پکیج‌ها و قیمت فروش لحظه‌ای یک بازی
GET /games/{code}/fields فیلدهای لازم یک بازی (آیدی بازیکن، سرور و ...)
GET /games/{code}/servers لیست سرور/ریجن یک بازی (در صورت نیاز)
POST /player/validate اعتبارسنجی آیدی بازیکن/اکانت
POST /orders ثبت سفارش (پرداخت از کیف پول)
GET /orders/{order_id} وضعیت یک سفارش
GET /orders لیست سفارش‌های تو
GET /transactions لیست تراکنش‌های کیف پول

نمونه: ثبت سفارش

درخواست
curl -X POST https://api.waryashop.org/api/v1/orders \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "game": "pubgm",
    "catalogue_name": "60 UC",
    "player_id": "12345678",
    "server_id": null,
    "customer_reference": "MY-SITE-ORDER-123",
    "callback_url": "https://your-site.com/webhook/warya"
  }'
پاسخ
{
  "success": true,
  "order_id": "WR-20260707-8F3KD",
  "status": "processing",
  "charged": "0.95",
  "currency": "USD"
}

قیمت قبل از کسر، لحظه‌ای خوانده می‌شود. اگر موجودی کیف پول کم باشد، خطای INSUFFICIENT_BALANCE می‌گیری و چیزی کم نمی‌شود. همه درخواست‌ها idempotent هستند.

گیفت‌کارت و ووچر

همین اندپوینت /orders گیفت‌کارت و ووچر هم می‌فروشد. کد محصول را به‌عنوان «game» و پکیج آن را به‌عنوان «catalogue_name» بفرست؛ برای محصولات player_id لازم نیست.

curl -X POST https://api.waryashop.org/api/v1/orders \
  -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{ "game": "prod_netflix-brazil", "catalogue_name": "Netflix 100 BRL" }'

وقتی سفارش تکمیل شد، GET /orders/{order_id} کد تحویل را در فیلد «delivery» برمی‌گرداند.

وضعیت‌های سفارش

pending_payment wallet_charged processing completed failed refunded

برای سفارش‌های ووچر/گیفت‌کارت، کد تحویل پس از تکمیل روی همان سفارش نمایش داده می‌شود.

وب‌هوک

اگر callback_url بدهی، واریا هنگام رسیدن سفارش به وضعیت نهایی یک POST به آن می‌فرستد:

POST https://your-site.com/webhook/warya
X-Warya-Signature: {hmac_sha256}

{
  "event": "order.completed",
  "order_id": "WR-20260707-8F3KD",
  "customer_reference": "MY-SITE-ORDER-123",
  "game": "pubgm",
  "catalogue_name": "60 UC",
  "player_id": "12345678",
  "status": "completed",
  "timestamp": "2026-07-07T12:00:00Z"
}

هدر X-Warya-Signature را بررسی کن (HMAC-SHA256 بدنه با سیکرت کلید تو). تلاش مجدد: ۱ دقیقه، ۵، ۱۵، ۱ ساعت.

کدهای خطا

MISSING_API_KEY هدر X-API-Key ارسال نشده
INVALID_API_KEY کلید نامعتبر، غیرفعال یا لغوشده
IP_NOT_ALLOWED IP درخواست در لیست مجاز کلید نیست
INSUFFICIENT_BALANCE موجودی کیف پول کافی نیست
VALIDATION_FAILED ورودی یا آیدی بازیکن نامعتبر
RATE_LIMITED درخواست بیش از حد مجاز
نکات مهم
  • قیمت‌ها لحظه‌ای خوانده می‌شوند؛ پول با decimal است (نه float).
  • عکس محصولات از api.waryashop.org ارائه می‌شود — مشتری تو فقط واریا را می‌بیند.
  • بعضی همکاران فقط دادهٔ محصول را می‌خواهند و عکس را نمی‌گیرند — استفاده از فیلد عکس اختیاری است.
کلید API خود را بساز