⚡ پاسخِ کوتاه: با یک کلید و یک آدرس (https://sintell.ir/panel/api.php) همهٔ محصولاتِ سینتل از کدِ خودت خریدنی است: سرویسهای سوشال (جهانی و ایرانی)، شماره مجازی برای بیش از ۲٬۴۰۰ اپ، سرور مجازی (VPS)، دامنه و تبلیغاتِ تلگرام. تو فقط کیف پولت را شارژ میکنی؛ ثبت، پیگیری و برگشتِ پولِ سفارشهای ناموفق همه خودکار است. کلید را از پنلِ کاربری ← API برمیداری.
API سینتل برای چه کسی است؟
اگر هر کدام از اینها را داری یا میخواهی راه بیندازی، API همان چیزی است که کارِ دستی را حذف میکند:
- پنلِ SMM یا سایتِ فروشِ خدمات: فهرستِ سرویسها را وارد میکنی، مشتریِ تو سفارش میدهد و سیستمت همان لحظه آن را به سینتل میفرستد. پروتکل همان SMM API v2 است که پنلهای آماده (مثلِ PerfectPanel) میشناسند — بدونِ کدنویسی وصل میشود.
- رباتِ تلگرامِ شماره مجازی: شماره میخری، کد را میخوانی و اگر کد نیامد، شماره عوض یا لغو میشود و پول برمیگردد. اسکریپتهای آمادهٔ SMS-Activate هم بدونِ تغییرِ کد به سینتل وصل میشوند.
- هاستینگ و خدماتِ وب: سرورِ لینوکسی و دامنه را برای مشتریهایت از داخلِ سیستمِ خودت میسازی، تمدید میکنی و نیمسرورِ دامنه را تنظیم میکنی.
- آژانسِ تبلیغات: سفارشِ تلگرامادز و اسپانسریپروکسی را با متن و عکسِ تبلیغ از پنلِ خودت ثبت میکنی و وضعیتِ بررسی را خودکار میگیری.
قیمتها همان قیمتِ سایتاند و به تومان؛ سودِ خودت را روی آن میگذاری. اگر بهجای کدنویسی یک رباتِ آماده با برندِ خودت میخواهی، نمایندگیِ سینتل را ببین.
قبل از شروع: کلید، شارژ و شرطِ یکباره
- حساب و کلید: در سایت ثبتنام یا وارد شو و از منو API را باز کن. آدرس و کلیدِ اختصاصیات همانجاست. هر حساب یک کلید دارد و هر کلید فقط سفارشهای خودش را میبیند.
- شارژِ کیف پول: هر خرید از API همان لحظه از موجودیِ همین حساب کم میشود. شارژ از سایت یا رباتِ تلگرام انجام میشود.
- شرطِ یکبارهٔ «مجموعِ شارژ»: برای شروع در هر بخش، مجموعِ شارژهای حسابت (نه موجودیِ لحظهای) باید یک بار به این حد برسد: سوشال ۲۰۰٬۰۰۰، شماره مجازی ۱۰۰٬۰۰۰، سوشالِ ایرانی ۲۰۰٬۰۰۰، سرور ۴۰۰٬۰۰۰ و دامنه ۳۰۰٬۰۰۰ تومان. بعد از آن آزادی و موجودیات را هر طور خواستی خرج میکنی. اگر هنوز نرسیده باشی، خطا کدِ
MIN_DEPOSITدارد و پولی کم نمیشود.
⚠️ امنیتِ کلید: کلید مثلِ رمزِ کیف پولت است. فقط روی سرورِ خودت نگهش دار — نه در کدِ مرورگر، اپِ موبایل یا مخزنِ عمومیِ گیتهاب. اگر لو رفت، در همان صفحه «ساخت کلید جدید» را بزن؛ کلیدِ قبلی همان لحظه از کار میافتد.
آدرس، روشِ ارسال و قالبِ پاسخ
همهٔ درخواستها با HTTP POST و فیلدهای معمولیِ فرم به یک آدرس میروند:
https://sintell.ir/panel/api.php
- دو فیلد در هر درخواست لازم است:
key(کلیدت) وaction(نامِ عملیات). - پاسخ همیشه JSON است و همهٔ مبالغ تومان (IRT).
- هر خطا به شکلِ
{"error":"…","code":"…"}میآید (در بخشِ سوشال فقطerror، طبقِ استانداردِ v2). در هر خطا هیچ پولی کم نمیشود. متنِ خطا دقیقاً میگوید چه چیزی را درست کنی. - سقف: ۱۲۰ درخواست در دقیقه برای هر کلید؛ بیشتر از آن پاسخِ HTTP 429 میگیری. فهرستها (سرویسها، کشورها، پلنها) را کش کن و وضعیت را با فاصلهٔ چندثانیهای بپرس، نه در حلقهٔ بیوقفه.
- timeout: مهلتِ درخواست را دستکم ۶۰ ثانیه بگذار. فهرستِ سرویسهای سوشال چند مگابایت است؛ فشردهسازیِ gzip را روشن کن.
۱) سرویسهای سوشال (SMM API v2)
ممبر، فالوور، بازدید، لایک، ریاکشن، کامنت و دهها سرویسِ دیگر برای تلگرام، اینستاگرام، یوتیوب، تیکتاک و… — بهعلاوهٔ سرویسهای ایرانی (روبیکا، ایتا، بله، ممبرِ ایرانی). همه در یک فهرستاند و با یک متد سفارش داده میشوند.
| action | پارامترها | کارش چیست |
|---|---|---|
balance | — | موجودیِ کیف پول به تومان (IRT). |
services | [, lang=en] | همهٔ سرویسهای قابلِ سفارش — جهانی و ایرانی (روبیکا، ایتا، بله، ممبرِ ایرانی و…). rate = قیمتِ هر ۱۰۰۰ به تومان. هر ۵ دقیقه بهروز میشود. |
add | service, link, quantity [, comments] | سفارش ثبت میکند و مبلغ از کیف پول کم میشود. برای سرویسِ کامنتِ سفارشی، comments را (هر خط یک کامنت) بفرست. |
status | order | وضعیتِ یک سفارش. charge = مبلغِ پرداختی منهای هر برگشتِ وجه. |
status | orders=1,2,3 | تا ۱۰۰ سفارش در یک درخواست. |
refill | order | orders=1,2 | درخواستِ ریفیل (فقط سرویسهای ریفیلدار، ۲۴ ساعت بعد از سفارش). شناسهٔ ریفیل همان شناسهٔ سفارش است. |
cancel | orders=1,2 | درخواستِ لغو. بخشِ انجامنشده بعد از تأییدِ پنل خودکار به کیف پول برمیگردد. |
orders | [, link] [, limit≤100] | سفارشهای سوشالِ اخیرت، تازهترین اول، با وضعیت. بعد از timeout با همان link صدا بزن تا ببینی سفارش ثبت شده یا نه — پیش از فرستادنِ دوباره. |
قیمت: rate در فهرستِ services قیمتِ هر ۱۰۰۰ عدد به تومان است؛ هزینهٔ یک سفارش ≈ rate × quantity ÷ 1000 و تعداد باید بینِ min و max همان سرویس باشد.
وضعیتها: Pending (در صفِ شروع؛ سرویسهای ایرانی تا بررسیِ کوتاهِ کارشناس همین را نشان میدهند) ← In progress ← Completed. اگر فقط بخشی تحویل شود Partial میشود و مبلغِ بخشِ انجامنشده خودکار به کیف پولت برمیگردد؛ charge همیشه مبلغِ خالصِ پرداختی است.
قانونِ مهمِ تکرار: هر add یک سفارشِ تازه است (شاید برای دو مشتریِ خودت یک لینک را سفارش بدهی)، پس API سفارشِ تکراری را یکی نمیکند. اگر درخواستِ add بیجواب ماند، دوباره نزن: اول action=orders&link=همانلینک را بزن؛ اگر سفارشی با همان لینک و تعداد در چند دقیقهٔ اخیر هست، ثبت شده و شناسهاش همانجاست.
- لینک باید با سرویس بخواند: کانال/پیج برای ممبر و فالوور، لینکِ خودِ پست برای بازدید، لایک و ریاکشن. لینکِ اشتباه پیش از کسرِ پول رد میشود.
- ریفیل فقط برای سرویسهای ریفیلدار و ۲۴ ساعت بعد از سفارش. لغو درخواستی به تأمینکننده است؛ اگر سفارش شروع شده باشد ممکن است انجام نشود.
- اگر تأمینکننده سفارشی را لغو کند، سیستم آن را خودکار روی سرویسِ همارز دوباره ثبت میکند و پولِ اضافهای کم نمیشود.
- ارسالِ تدریجی (
runs/interval) از API در دسترس نیست.
برای جزئیاتِ بیشترِ بخشِ سوشال و اتصالِ پنلهای آماده، آموزش API پنل اسامام را بخوان.
۲) شماره مجازی (دریافتِ کدِ پیامکی)
شمارهٔ موقت برای تأییدِ تلگرام، واتساپ، اینستاگرام، گوگل و بیش از ۲٬۴۰۰ اپِ دیگر، از دهها کشور. قیمت و موجودی لحظهای است.
| action | پارامترها | کارش چیست |
|---|---|---|
sms_info | [, service] | همهٔ شرایط در یک درخواست — پرداخت، مهلتِ ۲۰ دقیقه، برگشتِ خودکار، شرطِ لغو و تعویض، سقفها — بهعلاوهٔ راهنمای دریافتِ کدِ یک اپ. میتوانی عیناً به مشتریهای خودت نشان بدهی. |
sms_services | — | همهٔ اپلیکیشنهای تأمینکننده (بیش از ۲٬۴۰۰)، پرفروشها اول. service همان کدی است که به بقیهٔ متدها میفرستی. |
sms_countries | — | همهٔ شناسههای کشور — نامِ فارسی و انگلیسی، پرچم و پیششماره، مستقیم از تأمینکننده (همان شناسهای که با آن میخری). |
sms_prices | service [, country] | قیمت (تومان) و موجودیِ (count) آن اپ در هر کشوری که همین الان شماره دارد، ارزان به گران. با country فقط همان کشور. |
sms_buy | service, country | شماره میخرد و مبلغ از کیف پول کم میشود. تا expires_at (۲۰ دقیقه) برای دریافتِ کد وقت داری؛ اگر کدی نیامد، کلِ مبلغ خودکار به کیف پول برمیگردد. |
sms_status | order | orders=1,2 (≤20) | همین لحظه از شماره کد را میپرسد. هر ۵ تا ۱۰ ثانیه بپرس تا status بشود CODE_RECEIVED. |
sms_cancel | order | شمارهای را که کد نگرفته لغو میکند و کلِ مبلغ برمیگردد. فقط بعد از cancel_in ثانیه (قانونِ تأمینکننده، ۳ تا ۵ دقیقه)؛ قبلش خطای EARLY_CANCEL میگیری. |
sms_replace | order | شمارهٔ دیگر: شمارهٔ فعلی لغو و کلِ مبلغش برمیگردد و برای همان اپ و کشور شمارهٔ تازه خریده میشود — در یک درخواست. شرطش همان شرطِ لغو است (کد نرسیده باشد و بعد از cancel_in). |
sms_orders | [, status=WAITING|CODE_RECEIVED|CANCELED|EXPIRED|COMPLETED] [, limit≤200] | شمارههایت، تازهترین اول، با مبلغِ کسرشده و برگشتیِ هر کدام. |
sms_finish | order | اختیاری: شمارهای که کدش را گرفته «تمامشده» علامت بزن. |
روندِ درست: sms_prices (درست پیش از خرید) ← sms_buy ← هر ۵ تا ۱۰ ثانیه sms_status تا CODE_RECEIVED.
- پول فقط موقعِ خرید کم میشود. اگر تا ۲۰ دقیقه (
expires_at) کدی نیاید، شماره خودکار لغو و کلِ مبلغ برمیگردد — حتی اگر اسکریپتت هیچ کاری نکند. - لغو یا تعویض (
sms_cancel/sms_replace) فقط پیش از رسیدنِ کد و بعد ازcancel_inثانیه (۳ تا ۵ دقیقه، قانونِ تأمینکننده) ممکن است؛ پیش از آن کدِEARLY_CANCELمیگیری. - بعد از رسیدنِ کد، شماره مصرف شده و برگشت ندارد. هر خرید یک کد میگیرد؛ برای کدِ دوم شمارهٔ تازه بخر.
sms_infoهمهٔ این قوانین و راهنمای دریافتِ کدِ هر اپ را یکجا میدهد تا عیناً به مشتریهایت نشان بدهی.
اسکریپتِ SMS-Activate داری؟ آدرسِ پایه را https://sintell.ir بگذار (اسکریپت خودش /stubs/handler_api.php را اضافه میکند) و api_key را همان کلید. متدهای getBalance، getPrices، getNumber، getStatus، setStatus (۸ = لغو، ۶ = پایان) و getActiveActivations پشتیبانی میشوند. فقط یادت باشد مبالغ توماناند، نه روبل. برای آشنایی با خودِ شماره مجازی، شماره مجازی چیست؟ را ببین.
۳) سرور مجازی (VPS)
سرورِ لینوکسی در آلمان، فنلاند، آمریکا و سنگاپور با IPِ اختصاصی و دسترسیِ root. قیمت برای هر ۳۰ روز است و لحظهای با نرخِ روز محاسبه میشود.
| action | پارامترها | کارش چیست |
|---|---|---|
vps_locations | — | لوکیشنهای دیتاسنتر. location همان کدی است که به vps_plans و vps_buy میفرستی. |
vps_plans | location | پلنهای سختافزاریِ همان لوکیشن با قیمتِ لحظهایِ ۳۰ روزه، ارزان به گران. |
vps_images | — | سیستمعاملهای قابلِ نصب. |
vps_buy | location, plan, image, name | سرور را میسازد و قیمتِ ۳۰ روز کم میشود. پاسخ IP و رمزِ root را دارد (بعداً هم با vps_password میخوانی). اگر ساخت در دیتاسنتر شکست بخورد، کلِ مبلغ خودکار برمیگردد. name: ۳ تا ۵۰ حرفِ انگلیسی، عدد یا خطتیره، یکتا در حسابت. |
vps_list | — | سرورهایت. status: active یا suspended (منقضی و خاموش — تا پایانِ مهلت با تمدید برمیگردد). renew_price = مبلغی که vps_renew همین الان کم میکند. |
vps_status | server | یک سرور با وضعیتِ لحظهایِ روشن/خاموش از دیتاسنتر (running، off، starting…). |
vps_power | server, command=poweron|poweroff|reboot|shutdown | روشن، خاموشِ فوری، ریاستارت یا خاموشیِ نرم. |
vps_password | server | رمزِ rootی که موقعِ خرید (رمزنگاریشده) ذخیره شد. اگر روی خودِ سرور عوضش کنی، این همان رمزِ اول را نشان میدهد. |
vps_renew | server [, expires_at] | ۳۰ روز اضافه میکند و renew_price کم میشود. expires_atی را که از vps_list خواندی بفرست: اگر قبلاً تمدید شده باشد (مثلاً درخواستِ اولت timeout شد)، ALREADY_RENEWED میگیری و چیزی کم نمیشود. تمدیدِ سرورِ معلق آن را دوباره روشن میکند. |
vps_delete | server, confirm=yes | سرور و دادههایش را برای همیشه پاک میکند. روزهای باقیمانده برگشت ندارد. |
- پرداخت: موقعِ خرید و هر تمدید، قیمتِ ۳۰ روز کم میشود. اگر ساختِ سرور در دیتاسنتر شکست بخورد، کلِ مبلغ خودکار برمیگردد. سرورِ ساختهشده برگشت ندارد — یک ماشینِ واقعی است که برای تو رزرو شده.
- انقضا: اگر تمدید نکنی، سرِ موعد (
expires_at) سرور معلق و خاموش میشود و ۵ ساعت بعد با همهٔ دادهها حذف میشود. تمدید در این فاصله آن را برمیگرداند و خودکار روشن میکند. - تمدیدِ امن:
expires_atی را که ازvps_listخواندی همراهِvps_renewبفرست. اگر درخواستِ اولت timeout شد ولی انجام شده بود، بارِ دومALREADY_RENEWEDمیگیری و دو بار پول کم نمیشود. - خریدِ امن: نامِ سرور در حسابت یکتاست؛ درخواستِ تکراری با همان نام
DUPLICATEمیگیرد و چیزی کم نمیشود. - رمزِ root در پاسخِ خرید هست و بعداً با
vps_passwordهم خوانده میشود (رمزنگاریشده ذخیره شده است). vps_deleteبرگشتناپذیر است و روزهای باقیمانده را پس نمیدهد؛ برای همینconfirm=yesلازم دارد.
اگر تازه با سرور مجازی آشنا شدهای، سرور مجازی (VPS) چیست؟ را بخوان.
۴) دامنه
ثبتِ دامنهٔ بینالمللی (.com، .net، .org، .io، .art و…) برای یک سال، با کنترلِ کاملِ نیمسرور.
| action | پارامترها | کارش چیست |
|---|---|---|
domain_check | domain=mysite.com[,mysite.net,…≤5] | آزاد بودن و قیمتِ یکساله تا ۵ دامنه. تا خرید نکنی چیزی رزرو نمیشود. |
domain_buy | domain | دامنه را همان لحظه برای یک سال ثبت میکند و مبلغ کم میشود. اگر ثبت شکست بخورد، کلِ مبلغ خودکار برمیگردد. |
domain_list | — | دامنههایت. status: active، یا failed (ثبت نشد و مبلغ برگشت خورد). |
domain_ns | order (or domain), ns=ns1.host.com,ns2.host.com | دامنه را به هاست یا Cloudflareِ خودت وصل میکند (۲ تا ۱۳ نیمسرور). ظرفِ چند ساعت در همهٔ دنیا اعمال میشود. |
- همیشه اول
domain_check: آزاد بودن و قیمت عوض میشود؛ تا خرید نکنی چیزی رزرو نمیشود. - ثبت قطعی است: دامنهٔ ثبتشده لغو و برگشت ندارد. اگر ثبت شکست بخورد، کلِ مبلغ خودکار برمیگردد؛ اگر ثبت موقتاً از سمتِ ما ممکن نباشد، کدِ
UNAVAILABLEمیگیری و اصلاً پولی کم نمیشود. - خریدِ امن: همان دامنه دو بار
DUPLICATEمیگیرد. - نیمسرور: با
domain_nsدامنه را به هاست یا Cloudflareِ خودت وصل کن (۲ تا ۱۳ نیمسرور)؛ ظرفِ چند ساعت در همهٔ دنیا اعمال میشود. - دامنهٔ
.irو پسوندهای دوبخشی (مثلِco.uk) اینجا فروخته نمیشوند. تمدیدِ بعد از سالِ اول با پشتیبانی است — دستکم یک هفته پیش از انقضا تیکت بزن.
راهنمای انتخابِ نام و پسوند: ثبت دامنه.
۵) تبلیغاتِ تلگرام
دو محصول: تلگرامادزِ رسمی (پیامِ اسپانسری با لینکِ تو در کانالها، رباتها و نتایجِ جستجو، بر اساسِ تعدادِ بازدید) و اسپانسریپروکسی (جذبِ ممبر از راهِ پروکسیِ اسپانسری، بر اساسِ تعدادِ وصلی).
| action | پارامترها | کارش چیست |
|---|---|---|
tgads_packages | — | همهٔ تعرفهها و قیمتها. قیمتِ ادز = قیمتِ تعرفه × ضریبِ نوعِ محتوا. |
tgads_add | product=tgads, tier, link, text, content=text|profile|banner|video [, media=@file] · product=proxy, tier, link | تبلیغ را ثبت میکند و مبلغ کم میشود. برای محتوای غیرِ متنی، عکس یا فیلم را در فیلدِ فایلِ media (multipart، تا ۲۰ مگابایت) بفرست. |
tgads_status | order | وضعیت: Pending (در حالِ بررسی)، In progress (تأیید و در حالِ اجرا)، Completed، یا Canceled (رد شد — refunded مبلغی است که به کیف پولت برگشت). |
tgads_orders | [, limit≤100] | سفارشهای تبلیغت، تازهترین اول. |
- قیمتِ ادز = قیمتِ تعرفه × ضریبِ نوعِ محتوا (فقط متن، متن + عکسِ پروفایل، متن + بنر، متن + فیلم/گیف). همهٔ تعرفهها و ضریبها را
tgads_packagesزنده میدهد. - عکس یا فیلم را بهصورتِ فایل در فیلدِ
mediaبا درخواستِ multipart بفرست (تا ۲۰ مگابایت؛ jpg، png، gif، webp، mp4، mov، webm). برای «فقط متن» فایل لازم نیست. - بررسی: هر تبلیغ پیش از اجرا بررسی میشود (تلگرامادز تأییدِ خودِ تلگرام را هم لازم دارد) و وضعیتش
Pendingاست؛ بعدIn progressوCompleted. تبلیغِ ردشدهCanceledمیشود و کلِ مبلغ خودکار برمیگردد (refundedمبلغِ برگشتی را نشان میدهد). - بعد از تأیید، تبلیغ لغو نمیشود. اولین تبلیغت ممکن است یک احرازِ هویتِ یکباره (سلفی) از طرفِ پشتیبانی لازم داشته باشد. نتیجه به کانال و موضوعت بستگی دارد و عددِ تضمینی نیست.
برای انتخابِ بینِ این دو و برآوردِ هزینه، راهنمای تبلیغات تلگرام را ببین.
قوانینِ پول در یک نگاه
| بخش | کِی کم میشود | کِی خودکار برمیگردد | برگشت ندارد |
|---|---|---|---|
| سوشال | لحظهٔ ثبتِ سفارش | لغو یا بخشِ انجامنشدهٔ سفارشِ ناقص | بخشِ تحویلشده |
| شماره مجازی | لحظهٔ خرید | لغو، تعویض یا ۲۰ دقیقه بدونِ کد | شمارهای که کد گرفته |
| سرور مجازی | خرید و هر تمدید (۳۰ روز) | ساختهنشدنِ سرور یا شکستِ ثبتِ تمدید | سرورِ ساختهشده و روزهای باقیمانده |
| دامنه | لحظهٔ ثبت | شکستِ ثبت | دامنهٔ ثبتشده |
| تبلیغاتِ تلگرام | لحظهٔ ثبت | ردِ تبلیغ | تبلیغِ تأییدشده |
در همهٔ بخشها: هر پاسخِ خطا یعنی هیچ پولی کم نشده، و هر برگشت همان لحظه در کیف پولت مینشیند — بدونِ تیکت و کارِ دستی.
درخواستِ تکراری و timeout — چطور دو بار پول ندهی
| متد | اگر دوباره فرستادی |
|---|---|
add (سوشال) | سفارشِ تازه ثبت میشود؛ پیش از تکرار orders&link=… را چک کن. |
sms_buy | شمارهٔ تازه خریده میشود؛ sms_orders را ببین. شمارهای که لازمش نداری خودکار برمیگردد. |
vps_buy | با همان نام: DUPLICATE، بدونِ کسر. |
vps_renew | با همان expires_at (یا در ۱۰ دقیقه): ALREADY_RENEWED، بدونِ کسر. |
domain_buy | همان دامنه: DUPLICATE، بدونِ کسر. |
tgads_add | همان لینک و محصول در ۲ دقیقه: DUPLICATE، بدونِ کسر. |
نمونهکدِ کاملِ PHP
این کد روی خودِ سایت تست شده است. تابعِ sintell() هر درخواست را میفرستد؛ فقط YOUR_API_KEY و مقادیر (سرویس، کشور، لینک، تعداد) را عوض کن:
<?php
const SINTELL_API = 'https://sintell.ir/panel/api.php';
const SINTELL_KEY = 'YOUR_API_KEY'; // سایت ← پنل ← API
function sintell(array $p): array {
$ch = curl_init(SINTELL_API);
curl_setopt_array($ch, [CURLOPT_POST => true, CURLOPT_POSTFIELDS => http_build_query($p + ['key' => SINTELL_KEY]),
CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 60, CURLOPT_ENCODING => '']);
$body = curl_exec($ch);
if (!is_string($body)) return ['error' => 'Network error'];
$j = json_decode($body, true);
return is_array($j) ? $j : ['error' => 'Invalid response'];
}
// 📱 شمارهٔ تلگرام، اندونزی (country=6) — شناسهٔ کشور را از sms_prices/sms_countries بردار
$prices = sintell(['action' => 'sms_prices', 'service' => 'tg', 'country' => 6]); // [["country"=>6,"price"=>"52000","count"=>56865,…]]
if (isset($prices['error']) || !$prices) exit("الان شماره نیست\n");
$buy = sintell(['action' => 'sms_buy', 'service' => 'tg', 'country' => 6]); // ["order"=>1167,"phone"=>"62…","price"=>"52000","expires_at"=>"…"]
if (isset($buy['error'])) exit("خرید نشد: {$buy['error']} ({$buy['code']})\n"); // هیچ پولی کم نشده
$order = (int)$buy['order'];
echo "شماره: +{$buy['phone']}\n";
$code = '';
for ($i = 0; $i < 170; $i++) { // تا ۲۰ دقیقه، هر ۷ ثانیه
sleep(7);
$st = sintell(['action' => 'sms_status', 'order' => $order]);
if (($st['status'] ?? '') === 'CODE_RECEIVED') { $code = $st['code']; break; }
if (in_array($st['status'] ?? '', ['CANCELED', 'EXPIRED'], true)) break; // بسته شد؛ پولش خودکار برگشت
}
if ($code !== '') {
echo "کد: {$code}\n";
} else {
// کد نیامد: لغو (برگشتِ کامل) — یا بهجایش sms_replace برای شمارهٔ دیگرِ همان اپ و کشور.
// اگر زود باشد جواب code=EARLY_CANCEL میآید؛ بعد از cancel_in ثانیه دوباره بزن. اگر هیچ نزنی، بعد از ۲۰ دقیقه خودکار برمیگردد.
$c = sintell(['action' => 'sms_cancel', 'order' => $order]); // ["cancel"=>1,"refunded"=>"52000"]
}
// 📈 سوشال — شناسهٔ سرویس را از action=services بردار
$o = sintell(['action' => 'add', 'service' => 1234, 'link' => 'https://t.me/sintell/100', 'quantity' => 1000]); // ["order"=>1402]
if (!isset($o['error'])) {
$s = sintell(['action' => 'status', 'order' => $o['order']]); // ["status"=>"In progress","remains"=>"…","charge"=>"…"]
}
ادامهٔ همان کد برای سرور، دامنه و تبلیغات:
// 🖥 VPS — take location, plan and image from the API, then buy
$plans = sintell(['action' => 'vps_plans', 'location' => 'hel1']); // [["plan"=>"cpx12","cores"=>1,"memory_gb"=>2,"price"=>"4022000",…],…]
$vps = sintell(['action' => 'vps_buy', 'location' => 'hel1', 'plan' => 'cpx12',
'image' => 'ubuntu-24.04', 'name' => 'my-server']); // ["server"=>41,"ip"=>"…","root_password"=>"…","expires_at"=>"…"]
if (isset($vps['error'])) {
exit("{$vps['code']}: {$vps['error']}\n"); // DUPLICATE = already built with this name, nothing charged → vps_list
}
echo "ssh root@{$vps['ip']} password: {$vps['root_password']}\n";
// Renew: send the expires_at you read, so a retried request never charges twice
$list = sintell(['action' => 'vps_list']);
$srv = $list[0];
$ren = sintell(['action' => 'vps_renew', 'server' => $srv['server'], 'expires_at' => $srv['expires_at']]);
// 🌐 Domain — check price and availability, register, then point the nameservers
$chk = sintell(['action' => 'domain_check', 'domain' => 'mysite.com,mysite.net']);
if (!empty($chk[0]['available'])) {
$dom = sintell(['action' => 'domain_buy', 'domain' => $chk[0]['domain']]); // ["order"=>1001,"status"=>"active",…]
if (!isset($dom['error'])) {
sintell(['action' => 'domain_ns', 'order' => $dom['order'], 'ns' => 'ns1.myhost.com,ns2.myhost.com']);
}
}
// 📣 Telegram ads — text only. For a photo/video use content=profile|banner|video and send the file as media:
// curl_setopt($ch, CURLOPT_POSTFIELDS, ['key' => SINTELL_KEY, 'action' => 'tgads_add', …, 'media' => new CURLFile('/path/banner.jpg')]);
$pk = sintell(['action' => 'tgads_packages']); // ["ads"=>[["tier"=>0,"views"=>20000,"price"=>"2000000"],…],…]
$ad = sintell(['action' => 'tgads_add', 'product' => 'tgads', 'tier' => 0, 'content' => 'text',
'link' => 'https://t.me/sintell', 'text' => 'Your ad text, one complete sentence']); // ["order"=>88,"status"=>"Pending"]
$st = sintell(['action' => 'tgads_status', 'order' => $ad['order'] ?? 0]); // Pending → In progress → Completed | Canceled (+refunded)
با cURL هم همین است:
curl -X POST https://sintell.ir/panel/api.php -d key=YOUR_API_KEY -d action=balance
curl -X POST https://sintell.ir/panel/api.php -d key=YOUR_API_KEY -d action=vps_plans -d location=hel1
curl -X POST https://sintell.ir/panel/api.php -d key=YOUR_API_KEY -d action=domain_check -d domain=mysite.com
curl -X POST https://sintell.ir/panel/api.php -F key=YOUR_API_KEY -F action=tgads_add -F tier=0 -F content=banner \
-F link=https://t.me/mychannel -F "text=…" -F media=@banner.jpg
هر زبانی که HTTP POST بفرستد (پایتون، Node.js، Go، C#…) همینطور کار میکند؛ نامِ فیلدها همینهاست.
چکلیستِ راهاندازی
- کلید را از پنلِ کاربری ← API کپی کن و فقط روی سرورت نگه دار.
- کیف پول را شارژ کن (اگر شرطِ مجموعِ شارژِ آن بخش را هنوز نگذراندهای، تا همان مبلغ).
- فهرستها را بگیر و کش کن:
services،sms_countries،vps_locations/vps_plans،tgads_packages. - قیمتِ فروشِ خودت را روی
rate/priceبگذار. - خرید را بفرست و شناسه را ذخیره کن؛ وضعیت را با متدِ status همان بخش بهروز کن.
- خطاها را از روی
codeمدیریت کن و پیامِerrorرا به مشتریات نشان بده. - timeout را ۶۰ ثانیه بگذار و قبل از تکرارِ یک خرید، جدولِ بالا را رعایت کن.
سؤالی داشتی، از دستیارِ هوشمندِ سینتل در سایت یا ربات بپرس؛ همین مرجع را دارد و برای کدِ خودت نمونه مینویسد. مستنداتِ کامل با نمونهٔ پاسخِ هر متد هم در صفحهٔ API پنل است.