Install Twilio Python Library
- To interact with the Twilio API, you need the Twilio Python SDK. Install it via pip with the following command:
pip install twilio
Import Required Libraries
- You'll need to import the `Client` class from the `twilio.rest` module to send SMS messages.
from twilio.rest import Client
Initialize Twilio Client
- Create an instance of the `Client` class using your Twilio Account SID and Authentication Token. These credentials authenticate your API requests.
account_sid = 'your_account_sid'
auth_token = 'your_auth_token'
client = Client(account_sid, auth_token)
Send an SMS Message
- Use the `messages.create` method to send an SMS. You need to specify the message body, the sending Twilio phone number, and the recipient's phone number.
message = client.messages.create(
body='Hello from Twilio!',
from_='+1234567890',
to='+0987654321'
)
Handle the Response
- The `messages.create` method returns a `MessageInstance` that contains information about the request. You can access the response details such as the SID, status, and more.
print(f'Message SID: {message.sid}')
print(f'Message Status: {message.status}')
Error Handling
- Consider implementing error handling to manage exceptions that may be raised due to invalid credentials, connection issues, etc.
try:
message = client.messages.create(
body='Error handling in place!',
from_='+1234567890',
to='+0987654321'
)
print(f'Success: {message.sid}')
except Exception as e:
print(f'Error: {str(e)}')
Use Environment Variables for Security
- Store your account SID and authentication token in environment variables for enhanced security.
- Access them in your script as shown:
import os
account_sid = os.environ.get('TWILIO_ACCOUNT_SID')
auth_token = os.environ.get('TWILIO_AUTH_TOKEN')
client = Client(account_sid, auth_token)
Advanced: Send Media Messages
- Beyond text, Twilio allows sending MMS. Attach media by providing a URL to the media file.
media_message = client.messages.create(
body='Check out this image!',
from_='+1234567890',
to='+0987654321',
media_url=['https://example.com/image.jpg']
)
Conclusion and Best Practices
- Ensure to adhere to local regulations regarding sending SMS messages, particularly regarding user consent.
- Monitor your Twilio usage in the Twilio Console to manage costs and maintain oversight over your message delivery rate.