جدول محتوایی

در این آموزش، ما به شما نشان خواهیم داد که چگونه از SMS قابل برنامه ریزی Twilio برای ارسال SMSو MMS با استفاده از برنامه پایتون خود استفاده کنید.

نمونه کدهای موجود در این آموزش از کتابخانه ها Python Twilio helper استفاده می کند. بیایید شروع کنیم!

 

در Twilio ثبت نام کنید یا به حساب کاربری خود  وارد شوید

اگر حساب Twilio و شماره تلفن Twilio با قابلیت پیامک دارید، همه چیز آماده است! راحت به سراغ کد بروید.

قبل از اینکه بتوانید تماس های تلفنی دریافت کنید و پیام ارسال کنید، باید برای یک حساب Twilio ثبت نام کنید و یک شماره تلفن Twilio خریداری کنید.

اگر درTwilio تازه کار هستید، می توانید برای شروع یک حساب آزمایشی رایگان ثبت نام کنید. پس از ثبت نام، به کنسول خود بروید و SID حساب و رمز تأیید خود را بگیرید. برای نمونه کدهای زیر به این مقادیر نیاز دارید.

 

یک شماره تلفن با قابلیت SMS (و MMS) دریافت کنید

برای ارسال پیام به شماره تلفن Twilio با قابلیت پیامک نیاز دارید. اگر در حال حاضر شماره تلفن Twilio با قابلیت پیامک ندارید، باید آن را خریداری کنید. پس از رفتن به صفحه خرید شماره، کادر پیامک را علامت بزنید و روی جستجو کلیک کنید:

خرید شماره twilio

اگر در ایالات متحده یا کانادا زندگی می کنید و همچنین مایل به ارسال پیام های MMS هستید، می توانید کادر MMS را انتخاب کنید. هنگام مشاهده نتایج جستجو، می توانید نمادهای قابلیت را در لیست شماره های موجود مشاهده کنید:

پیداکردن و خرید شماره

شماره ای را که دوست دارید پیدا کنید و روی خرید کلیک کنید تا آن را به حساب خود اضافه کنید.

اگر از یک حساب آزمایشی استفاده می کنید، باید شماره تلفن شخصی خود را از طریق کنسول تأیید کنید تا بتوانید ارسال پیامک برای خود را آزمایش کنید.

اکنون که یک شماره تلفن Twilio دارید، می توانید شروع به ارسال پیام به دستگاه های تلفن همراه کنید.

 

برای خرید سرور اختصاصی کلیک کنید.

 

ارسال SMS در پایتون از طریق REST API

برای ارسال پیامک خروجی از حساب Twilio خود، باید یک HTTP POST به منبع پیام Twilio ایجاد کنید.

کتابخانه پایتون Twilio به شما کمک می کند تا یک نمونه جدید از منبع پیام ایجاد کنید و پارامترهای To، From و Body پیام خود را مشخص کنید.

اگر قبلاً کتابخانه کمکی پایتون را نصب نکرده‌اید، می‌توانید آن را با استفاده از pip نصب کنید:

 pip install twilio 

اگر از pip استفاده نمی کنید، می توانید دستورالعمل های نصب دستی را در اینجا بیابید.

اکنون یک فایل با نام send_sms.py ایجاد کنید و کد زیر را وارد کنید:

مقادیر نگهدارنده مکان برای account_sid و auth_token را با مقادیر منحصر به فرد خود جایگزین کنید. می توانید اینها را در کنسول Twilio خود پیدا کنید.

با جایگزین کردن شماره from_ با شماره تلفن Twilio که قبلاً خریداری کرده‌اید، به Twilio می‌گویید که از کدام شماره تلفن برای ارسال این پیام استفاده کند.

در مرحله بعد، با جایگزین کردن شماره مقصد با شماره تلفن همراه خود، خود را به عنوان گیرنده پیام مشخص کنید. هر دوی این پارامترها باید از قالب بندی E.164 استفاده کنند (+ و یک کد کشور، به عنوان مثال، +16175551212)

twilio همچنین پارامتر بدنه را نیز شامل می‌شود که حاوی محتوای پیامکی است که می‌خواهیم ارسال کنیم.

هنگامی که نمونه کد را به روز کردید، می توانید آن را با اجرای آن از خط فرمان آزمایش کنید:

python send_sms.py

فقط در چند لحظه پیامک را دریافت میکنید.

بیایید لحظه ای وقت بگذاریم تا بفهمیم وقتی این درخواست را برای Twilio ارسال می کنید در پشت صحنه چه اتفاقی می افتد است.

 

پاسخ Twilio

وقتی Twilio درخواست شما را برای ارسال پیامک از طریق REST API دریافت می‌کند، بررسی می‌کند که یک شماره تلفن معتبر Twilio را در قسمت from_ وارد کرده‌اید. سپس Twilio پیامک را در صف قرار می دهد یا این خطای HTTP را در پاسخ به درخواست شما برمی گرداند.

خطای sms بازگشتی

با فرض اینکه درخواست شما منجر به هیچ خطایی نشده است، پاسخ HTTP Twilio شامل SID پیام جدید خواهد بود. این شناسه منحصربه‌فرد به ما کمک می‌کند بعداً به این پیام ارجاع دهیم: در کد بالا، ما آن SID را در ترمینال چاپ کردیم.
پاسخ JSON Twilio شامل مقدار زیادی داده در مورد پیام شما است. یک نمونه پاسخ ممکن است به این صورت باشد:

{"sid": "SMxxxxxxxxxxxxxxx",
"date_created": "Thu, 09 Aug 2018 17:26:08 +0000",
"date_updated": "Thu, 09 Aug 2018 17:26:08 +0000",
"date_sent": null,
"account_sid": "ACxxxxxxxxxxxxxxxx",
"to": "+15558675310",
"from": "+15017122661",
"messaging_service_sid": null,
"body": "This is the ship that made the Kessel Run in fourteen parsecs?",
"status": "queued",
"num_segments": "1",
"num_media": "0",
"direction": "outbound-api",
"api_version": "2010-04-01",
"price": null,
"price_unit": "USD",
"error_code": null,
"error_message": null,
"uri": "/2010-04-01/Accounts/ACxxxxxxxxx/Messages/SMxxxxxxxxxxxx.json",
"subresource_uris": {
"media": null
}
}

شما می‌توانید به هر یک از این ویژگی‌ها از کد پایتون خود دسترسی داشته باشید، دقیقاً مانند زمانی که پیام message.sid را چاپ کردیم.

سعی کنید یک عبارت چاپ مانند print(message.status) اضافه کنید. فایل را ذخیره کنید، سپس کد را با python send_sms.py یک بار دیگر اجرا کنید. شما باید وضعیت پیام خود را ببینید، “در صف”، چاپ شده در ترمینال شما.

 

برای چندین گیرنده در پایتون SMS ارسال کنید

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

numbers_to_message = ['+15558675310', '+14158141829', '+15017122661']
for number in numbers_to_message:
client.messages.create(
body='Hello from my Twilio number!',
from_='+15017122662',
to=number
)

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

 

برای خریدن هاست و سرورمجازی کلیک کنید.

 

نکته ای در مورد محدودیت نرخ SMS در پایتون

همانطور که پیام‌های بیشتری از طریق API ارسال می‌کنید، Twilio آنها را برای تحویل با محدودیت نرخ تعیین‌شده شما در صف قرار می‌دهد. درخواست‌های API برای پیام‌هایی که از نرخ‌های تعیین‌شده فراتر می‌روند در صف قرار می‌گیرند و با در دسترس بودن ظرفیت اجرا می‌شوند.

اگر برنامه شما سعی کند بیش از 4 ساعت ترافیک خروجی را در صف قرار دهد (به عنوان مثال، بیش از 14400 پیام به کانادا را در یک شماره تلفن کد طولانی در صف قرار دهد)، API شروع به بازگشت 429 خطا می کند.

 

 نحوه (MMS) یک پیام حاوی رسانه در پایتون

برای گنجاندن رسانه در پیام متنی خود با استفاده از Twilio، باید کدی را که در بالا نوشتیم اضافه کنید. این بار باید پارامتر media_url را اضافه کنیم.

یک فایل به نام send_mms.py ایجاد کنید و کد زیر را وارد کنید:

مجدداً پارامترهای from_ و to را برای استفاده از شماره تلفن Twilio و تلفن همراه خود به روز کنید.

پارامتر new media_url در این کد به Twilio می‌گوید که برای دریافت رسانه‌ای که می‌خواهیم قرار دهیم به کجا مراجعه کند. این باید یک URL در دسترس عموم باشد: Twilio نمی‌تواند به URLهایی که پنهان هستند یا نیاز به احراز هویت دارند دسترسی پیدا کند.

درست مانند زمانی که یک پیام کوتاه ساده ارسال می کنید، Twilio در پاسخ به درخواست شما، اطلاعات مربوط به پیام را ارسال می کند. پاسخ JSON حاوی SID و URI منحصر به فرد برای منبع رسانه شما خواهد بود:

"subresource_uris": {"media": "/2010-04 01/Accounts/ACxxxxxxxx/Messages/SMxxxxxxxxxxxxx/Media.json"}

هنگامی که Twilio REST API منبع پیام جدید شما را ایجاد می کند، تصویر موجود در media_url مشخص شده را به عنوان منبع رسانه ذخیره می کند. پس از ایجاد، می توانید در هر زمان از طریق API به این منبع دسترسی داشته باشید.

می توانید این مقدار را از کد پایتون خود چاپ کنید تا ببینید تصویر در کجا ذخیره می شود. خط زیر را به انتهای فایل send_mms.py خود اضافه کنید تا URI رسانه تازه ارائه شده خود را ببینید:

print(message.media._uri)

فایل را ذخیره کرده و از خط فرمان اجرا کنید:

python send_mms.py

در کمتر از چند لحظه شما باید یک پیام متنی با یک تصویر دریافت کنید!

شما اکنون با موفقیت برخی از پیام‌ها را با Twilio Programmable SMS API و کتابخانه کمکی Python ارسال کرده‌اید.

11رای - امتیاز 5 ممنون از امتیازی که دادید..!

دسته بندی شده در: