مستندات وب‌سرویس Spark

ارائه شده توسط Darkzed

راهنمای کامل برای اتصال و استفاده از سرویس پیامکی Spark و سرویس‌های ایمیل که توسط پلتفرم Darkzed پشتیبانی می‌شود.

۱. احراز هویت

تمامی درخواست‌ها به این API باید با استفاده از هدرهای HTTP احراز هویت شوند. شما باید کلید (`API Key`) و پسورد (`API Pass`) خود را در هدر هر درخواست ارسال کنید.

X-API-KEY: کلید API منحصر به فرد شما.

X-API-PASS: پسورد API شما.

IP: در صورت ثبت ایپی سرور حتما باید با همان ایپی درخواست دهید

⚠️ نکته امنیتی: هرگز کلید و پسورد خود را در بدنه درخواست (payload) یا به صورت پارامتر در URL ارسال نکنید.

۲. ارسال پیامک (SMS)

این Endpoint برای ارسال پیامک‌های مبتنی بر پترن‌های تایید شده استفاده می‌شود.

POST /api/send_sms.php

پارامترهای درخواست (JSON Body)

پارامتر نوع توضیحات الزامی
template_id Integer شناسه پترن تایید شده بله
mobile String شماره موبایل گیرنده (09xxxxxxxxx) بله
parameters Object آبجکت متغیرهای پترن بله
sl Integer شماره خط ارسال (1، 2 یا 3). پیش‌فرض 2 است. خیر

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

{
    "status": true,
    "data": {
        "message_sent": true,
        "cost": 250,
        "segments": 1,
        "sent_from": "YOUR_SENDER_NUMBER"
    }
}
curl -X POST https://spark.darkzed.ir/api/send_sms.php \
-H "Content-Type: application/json" \
-H "X-API-KEY: YOUR_API_KEY" \
-H "X-API-PASS: YOUR_API_PASS" \
-d '{
    "template_id": 123,
    "mobile": "09123456789",
    "parameters": {
        "name": "علی",
        "code": "54321"
    },
    "sl": 1
}'

۳. ارسال ایمیل (Email)

این Endpoint برای ارسال ایمیل‌های مبتنی بر قالب‌های تایید شده استفاده می‌شود.

POST /api/send_email.php

پارامترهای درخواست (JSON Body)

پارامتر نوع توضیحات الزامی
template_id Integer شناسه قالب ایمیل تایید شده بله
email String آدرس ایمیل گیرنده بله
parameters Object آبجکت متغیرهای قالب بله

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

{
    "status": true,
    "data": {
        "email_request_sent": true
    }
}
curl -X POST https://spark.darkzed.ir/api/send_email.php \
-H "Content-Type: application/json" \
-H "X-API-KEY: YOUR_API_KEY" \
-H "X-API-PASS: YOUR_API_PASS" \
-d '{
    "template_id": 456,
    "email": "recipient@example.com",
    "parameters": {
        "user": "مریم",
        "invoice_id": "9876"
    }
}'

۴. کدهای خطا

کد وضعیت HTTP کد خطا (error_code) توضیحات
400 Bad Request 2001 / 3001 پارامترهای ارسالی ناقص یا نامعتبر هستند.
401 Unauthorized 1001 / 1006 کلید یا پسورد API ارسال نشده یا اشتباه است.
402 Payment Required 2003 موجودی حساب شما برای انجام عملیات کافی نیست.
403 Forbidden 1003 / 1004 کلید API شما فعال نیست یا دسترسی از IP شما مجاز نیست.
404 Not Found 1002 / 2002 کلید API یا شناسه قالب/پترن یافت نشد.
500 Internal Server Error 1005 یک خطای داخلی در سرور رخ داده است.
503 Service Unavailable 2005 / 3005 سرویس‌دهنده خارجی (پیامک/ایمیل) در دسترس نیست.