استفاده از Delivery Webhook در کاوه‌نگار

برای مطلع شدن از وضعیت پیام های ارسالی در کاوه‌نگار، می‌توانید از سرویس Delivery Webhook استفاده کنید که در صورت تغییر در وضعیت پیامک ارسالی، شما مطلع خواهید شد.

اگر با سرویس کاوه‌نگار آشنایی ندارید، کاوه‌نگار در واقع با ارائه وب‌سرویس پیامک و تماس صوتی پیشرفته برای توسعه دهندگان، امکان ارسال و دریافت پیامک و برقراری تماس اینترنتی را در اغلب سرویس های نرم افزاری مهیا می کند.

برای استفاده از این امکان به موارد زیر نیاز دارید:

  • حساب کاوه‌نگار همراه با یک خط اختصاصی
  • یک وب سرور برای دریافت درخواست‌های وب‌هوک


سرویس Delivery Webhook در هر درخواست ارسالی به سمت شما ۲ پارامتر زیر را ارسال می‌کند:

این امکان همانند دریافت پیامک با URL عمل می‌کند با این تفاوت که به محض تغییر در وضعیت پیامک های ارسال شده از طریق URL تنظیم شده توسط شما، یک Callback انجام میشود.

حالا برای پیاده سازی این برنامه در پایتون نسخه‌ی ۳ با کتابخانه flask به کد زیر نیاز داریم، که فقط مقادیر دریافت شده را در خروجی چاپ می‌کند:

نمونه کد python3 flask
نمونه کد python3 flask



برای اجرای کد بالا نیاز به نصب کتابخانه flask دارید که با دستور زیر امکان‌پذیر است:

pip3 install flask

بعد از اتمام نصب flask، می‌توانید برنامه را به صورت زیر اجرا کنید:

export FLASK_APP=main.py

python3 -m flask run

که main.py نام فایل پایتون شما می‌باشد.

بعد از اجرای ۲ دستور بالا، خروجی شبیه به زیر را مشاهده خواهید کرد:

خروجی بعد از اجرا
خروجی بعد از اجرا


که نشان می‌دهد وب سرور بر روی پورت ۵۰۰۰ در حال اجراست.


برای اضافه کردن webhook به خط خود، به منوی مدیریت خطوط -> تنظیمات در پنل خود رفته و سربرگ "تنظیمات رسید وضعیت" را انتخاب کنید. با انتخاب آیکون تنظیمات خط خود با صفحه‌ی زیر روبرو می‌شوید:

بعد از انتخاب متد POST (با توجه به این که در کد ما endpoint را به صورت POST تنظیم کردیم)، URL خود را به صورت زیر وارد کنید:

http://YOUR_SERVER_IP:5000/delivery

که باید YOUR_SERVER_IP را با آدرس IP سرور خود جایگزین نمایید.

بعد از ذخیره کردن تنظیمات، شما تغییر وضعیت پیام‌های خود را در ترمینال مشاهده خواهید کرد.


توجه داشته باشید که درصورتی که webhook تعریف شده از سمت شما خروجی ۲۰۰ بازنگرداند، کاوه نگار هر ۲ دقیقه به تعداد ۳۰ بار به شما درخواست ارسال خواهد کرد.


لطفا با ارسال کامنت، نظرها، انتقادها و پیشنهادهای خود را بیان نمایید.