Dokumentasi untuk Twilio API dapat ditemukan di sini.
Dokumentasi Perpustakaan Python dapat ditemukan di sini.
twilio-python
menggunakan versi yang dimodifikasi dari versi semantik untuk semua perubahan. Lihat dokumen ini untuk detailnya.
Perpustakaan ini mendukung implementasi Python berikut:
Instal dari PYPI menggunakan PIP, manajer paket untuk Python.
pip3 install twilio
Jika pemasangan PIP gagal pada windows, periksa panjang jalur direktori. Jika lebih besar 260 karakter maka aktifkan jalur panjang atau pilih lokasi yang lebih pendek lainnya.
Tidak memasang pip? Coba instal, dengan menjalankan ini dari baris perintah:
curl https://bootstrap.pypa.io/get-pip.py | python
Atau, Anda dapat mengunduh kode sumber (ZIP) untuk twilio-python
, dan kemudian jalankan:
python3 setup.py install
Info Jika baris perintah memberi Anda pesan kesalahan yang mengatakan izin ditolak, coba jalankan perintah di atas dengan
sudo
(misalnya,sudo pip3 install twilio
).
Coba kirimi diri Anda pesan SMS. Simpan sampel kode berikut ke komputer Anda dengan editor teks. Pastikan untuk memperbarui nomor telepon account_sid
, auth_token
, dan from_
dengan nilai dari akun Twilio Anda. Nomor to
akan menjadi ponsel Anda sendiri.
from twilio . rest import Client
# Your Account SID and Auth Token from console.twilio.com
account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
auth_token = "your_auth_token"
client = Client ( account_sid , auth_token )
message = client . messages . create (
to = "+15558675309" ,
from_ = "+15017250604" ,
body = "Hello from Python!" )
print ( message . sid )
Simpan file sebagai send_sms.py
. Di terminal, cd
ke direktori yang berisi file yang baru saja Anda simpan lalu jalankan:
python3 send_sms.py
Setelah penundaan singkat, Anda akan menerima pesan teks di ponsel Anda.
Peringatan Tidak apa -apa untuk menggunakan kode kredensial Anda saat menguji secara lokal, tetapi Anda harus menggunakan variabel lingkungan untuk merahasiakannya sebelum melakukan kode apa pun atau menggunakan produksi. Lihat cara mengatur variabel lingkungan untuk informasi lebih lanjut.
Klien Twilio
membutuhkan kredensial Twilio Anda. Anda dapat meneruskannya langsung ke konstruktor (lihat kode di bawah) atau melalui variabel lingkungan.
Mengotentikasi dengan Akun Sid dan Auth Token:
from twilio . rest import Client
account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
auth_token = "your_auth_token"
client = Client ( account_sid , auth_token )
Mengotentikasi dengan Kunci API dan Rahasia API:
from twilio . rest import Client
api_key = "XXXXXXXXXXXXXXXXX"
api_secret = "YYYYYYYYYYYYYYYYYY"
account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
client = Client ( api_key , api_secret , account_sid )
Atau, konstruktor Client
tanpa parameter ini akan mencari variabel TWILIO_ACCOUNT_SID
dan TWILIO_AUTH_TOKEN
di dalam lingkungan saat ini.
Kami menyarankan untuk menyimpan kredensial Anda sebagai variabel lingkungan. Mengapa? Anda tidak perlu khawatir tentang melakukan kredensial Anda dan secara tidak sengaja mempostingnya di suatu tempat publik.
from twilio . rest import Client
client = Client ()
Untuk memanfaatkan infrastruktur global Twilio, tentukan wilayah target dan/atau tepi untuk klien:
from twilio . rest import Client
client = Client ( region = 'au1' , edge = 'sydney' )
Konstruktor Client
tanpa parameter ini juga akan mencari variabel TWILIO_REGION
dan TWILIO_EDGE
di dalam lingkungan saat ini.
Atau, Anda dapat menentukan tepi dan/atau wilayah setelah membangun klien Twilio:
from twilio . rest import Client
client = Client ()
client . region = 'au1'
client . edge = 'sydney'
Ini akan menghasilkan transformasi hostname
dari api.twilio.com
ke api.sydney.au1.twilio.com
.
from twilio . rest import Client
account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
auth_token = "your_auth_token"
client = Client ( account_sid , auth_token )
call = client . calls . create ( to = "9991231234" ,
from_ = "9991231234" ,
url = "http://twimlets.com/holdmusic?Bucket=com.twilio.music.ambient" )
print ( call . sid )
from twilio . rest import Client
account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
auth_token = "your_auth_token"
client = Client ( account_sid , auth_token )
call = client . calls . get ( "CA42ed11f93dc08b952027ffbc406d0868" )
print ( call . to )
Perpustakaan secara otomatis menangani paging untuk Anda. Koleksi, seperti calls
dan messages
, memiliki daftar list
dan stream
halaman itu di bawah kap. Dengan kedua list
dan stream
, Anda dapat menentukan jumlah catatan yang ingin Anda terima ( limit
) dan ukuran maksimum yang Anda ingin setiap halaman ambil ( page_size
). Perpustakaan kemudian akan menangani tugas untuk Anda.
list
dengan penuh semangat mengambil semua catatan dan mengembalikannya sebagai daftar, sedangkan stream
mengembalikan iterator dan dengan malas mengambil halaman catatan saat Anda mengulangi koleksi. Anda juga dapat halaman secara manual menggunakan metode page
.
list
from twilio . rest import Client
account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
auth_token = "your_auth_token"
client = Client ( account_sid , auth_token )
for sms in client . messages . list ():
print ( sms . to )
Secara default, klien Twilio akan membuat permintaan sinkron ke Twilio API. Untuk memungkinkan permintaan asinkron dan tidak memblokir, kami telah menyertakan klien HTTP asinkron opsional. Ketika digunakan dengan klien dan metode *_async
yang menyertainya, permintaan yang dibuat ke Twilio API akan dilakukan secara tidak sinkron.
from twilio . http . async_http_client import AsyncTwilioHttpClient
from twilio . rest import Client
async def main ():
account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
auth_token = "your_auth_token"
http_client = AsyncTwilioHttpClient ()
client = Client ( account_sid , auth_token , http_client = http_client )
message = await client . messages . create_async ( to = "+12316851234" , from_ = "+15555555555" ,
body = "Hello there!" )
asyncio . run ( main ())
Masuki permintaan API dan data respons ke konsol:
import logging
client = Client ( account_sid , auth_token )
logging . basicConfig ()
client . http_client . logger . setLevel ( logging . INFO )
Masuki permintaan API dan data respons ke file:
import logging
client = Client ( account_sid , auth_token )
logging . basicConfig ( filename = './log.txt' )
client . http_client . logger . setLevel ( logging . INFO )
Versi 8.x dari twilio-python
mengekspor kelas pengecualian untuk membantu Anda menangani pengecualian yang khusus untuk metode twilio. Untuk menggunakannya, impor TwilioRestException
dan tangkap pengecualian sebagai berikut:
from twilio . rest import Client
from twilio . base . exceptions import TwilioRestException
account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
auth_token = "your_auth_token"
client = Client ( account_sid , auth_token )
try :
message = client . messages . create ( to = "+12316851234" , from_ = "+15555555555" ,
body = "Hello there!" )
except TwilioRestException as e :
print ( e )
Untuk mengontrol panggilan telepon, aplikasi Anda perlu mengeluarkan TWIML.
Gunakan twilio.twiml.Response
untuk dengan mudah membuat tanggapan tersebut.
from twilio . twiml . voice_response import VoiceResponse
r = VoiceResponse ()
r . say ( "Welcome to twilio!" )
print ( str ( r ))
<? xml version = " 1.0 " encoding = " utf-8 " ?>
< Response >< Say >Welcome to twilio!</ Say ></ Response >
Dockerfile
yang ada dalam repositori ini dan gambar twilio/twilio-python
Docker masing-masing saat ini digunakan oleh Twilio untuk tujuan pengujian saja.
Jika Anda memerlukan bantuan untuk menginstal atau menggunakan perpustakaan, silakan periksa Pusat Bantuan Dukungan Twilio terlebih dahulu, dan ajukan tiket dukungan jika Anda tidak menemukan jawaban atas pertanyaan Anda.
Jika Anda malah menemukan bug di perpustakaan atau ingin fitur baru ditambahkan, silakan dan buka masalah atau tarik permintaan terhadap repo ini!