راهنمای پیادهسازی Webhook
یک URL HTTPS ثبت کنید و اعلانهای رویداد بلادرنگ و امضا شده با HMAC را هنگام فعال شدن سیگنالهای هوشمند دریافت کنید — بدون نیاز به پولینگ. این راهنما شامل ثبت، فیلتر کردن رویدادها، تأیید امضا و رفتار تلاش مجدد است.
مرور کلی
به جای پولینگ /v1/confirm یا فید سیگنال، یک وبهوک ثبت کنید و Smart Money API در لحظه فعال شدن یک سیگنال منطبق، یک رویداد را به نقطه پایان شما POST میکند. هر تحویل با HMAC-SHA256 امضا شده است تا بتوانید تأیید کنید که واقعاً از طرف ما ارسال شده است.
وبهوکهای خروجی در طرحهای Pro و Enterprise در دسترس هستند.
ثبت یک Webhook
POST به /v1/webhooks با کلید API خود در X-API-Key هدر. بدنه نیاز به چهار فیلد دارد:
| فیلد | نوع | توضیحات |
|---|---|---|
| url | string | نقطه پایان HTTPS برای دریافت رویدادها (باید با https://) |
| events | array | نام رویدادهایی که دریافت میکنید، مثلاً ["HIGH","MEDIUM","VETO"] یا ["*"] |
| symbols | array | نمادهایی برای فیلتر، مثلاً ["BTC","ETH"] یا ["*"] |
| secret | string | رمز امضای شما — حداقل 16 کاراکتر. به صورت هش شده ذخیره میشود؛ مقدار خام را در سمت خود نگه دارید تا امضاها را تأیید کنید. |
فیلترهای رویداد
تحویلها برای رویدادهایی فعال میشوند که نام و نماد آنها با ثبت شما مطابقت دارد. نامهای معمول رویدادها سطوح اطمینان تأیید هستند — HIGH, MEDIUM, VETO — به علاوه رویدادهای عمومی SIGNAL . از ["*"] برای دریافت همه رویدادها یا همه نمادها استفاده کنید.
تحویل و هدرها
هر تحویل یک HTTP POST با بدنه JSON و این هدرها است:
| سربرگ | مقدار |
|---|---|
| X-SmartMoney-Event | نام رویداد (مثلاً HIGH) |
| X-SmartMoney-Signature | خلاصه HMAC-SHA256 هگز از بدنه درخواست (به پایین مراجعه کنید) |
| Content-Type | application/json |
| User-Agent | SmartMoneyAPI-Webhook/1.0 |
با هر
وضعیتی پاسخ دهید تا تایید شود. 2xx عدم دریافت پاسخ 2xx (یا تایماوت) باعث تلاش مجدد میشود.
تایید امضاها
امضا در X-SmartMoney-Signature یک هش HMAC-SHA256 هگزادسیمال از بدنه درخواست است. کلید HMAC، هش SHA-256 هگزادسیمال از رمز ثبتشده شماست (رمز خام شما فقط به صورت هششده در سمت ما ذخیره میشود). برای تأیید: کلید را استخراج کنید، بدنه خام را HMAC کنید و با بررسی زمان-ثابت مقایسه نمایید. هر درخواستی که مطابقت نداشته باشد را رد کنید. پایتون (گیرنده فلاسک)
تلاشهای مجدد
اگر نقطه پایان شما یک 2xx (یا زمان میبرد — زمان تحویل 10 ثانیه است)، Smart Money API تا 3 بار با تأخیر تصاعدی (تقریباً 1 ثانیه، 4 ثانیه، سپس 16 ثانیه) تلاش میکند. هندلر خود را ایزوتوپ کنید تا پردازش مجدد یک رویداد ایمن باشد.
وبهوکهای ورودی (TradingView)
به طور جداگانه، میتوانید یک ورودی هشدار را برای ما ارسال کنید. POST /v1/tradingview/webhook یک هشدار TradingView را دریافت میکند، آن را از طریق /confirmعبور میدهد و تأیید را برمیگرداند. چون TradingView نمیتواند هدرهای سفارشی ارسال کند، از طریق یک secret فیلد در بدنه JSON احراز هویت میکند (نه X-API-Key). ارسال کنید secret, symbol، و direction (long/short); اختیاری timeframe, strategy، و price.
آماده اتصال سیگنالهای لحظهای هستید؟
کلید API خود را دریافت کنید