Make a call with Python
You can quickly see how the Voice API works by calling yourself using the API.
What you need to know before you start
Before you can get started, you need the following already set up:
- Set all Voice API configuration settings.
- Python and a familiarity with how to create a new file.
- PIP (package installer for Python) and a familiarity with how to install Python modules.
Set up your Python application and install dependencies
We'll be using the requests
module to make HTTP requests. Open a command prompt and use the following command to install the requests
module:
pip install requests
Create a new file named make-call.py
and paste the provided "make-call.py" code found on this page into the file.
Note:
This tutorial uses basic authentication for testing purposes. We recommend using a signed request for authentication in a production environment. You can follow the steps in this guide, but use the code samples from here to use request signing authentication instead.
make-call.py
Use this code to make a phone call using the Voice API.
# Find the Sinch phone number assigned to your app
# and your application key and secret
# at dashboard.sinch.com/voice/apps
import requests
key = ""
secret = ""
fromNumber = ""
to = ""
locale = ""
url = "https://calling.api.sinch.com/calling/v1/callouts"
payload = {
"method": "ttsCallout",
"ttsCallout": {
"cli": fromNumber,
"destination": {
"type": "number",
"endpoint": to
},
"locale": locale,
"text": "Hello, this is a call from Sinch. Congratulations! You made your first call."
}
}
headers = { "Content-Type": "application/json" }
response = requests.post(url, json=payload, headers=headers, auth=(key, secret))
data = response.json()
print(data)
This code makes a POST request to the Voice API /callouts endpoint which then makes a call out to the to
parameter in the body of the request. The Voice API uses callouts to make voice calls. In this guide, we are using the ttsCallout
or "text-to-speech callout" to call a number and then play a text-to-speech message before hanging up.
To
In this example you want to call a phone number. Change the value of the to
parameter to the phone number you verified in your dashboard in E.164 format.
Note:
When your account is in trial mode, you can only call your verified numbers. If you want to call any number, you need to upgrade your account!
Fill in your parameters
Before you can run the code, you need to update some values so you can connect to your Sinch account. Update the following parameters with your own values:
Parameter | Your value |
---|---|
key | The application key found on your Sinch dashboard. |
secret | The application secret found on your Sinch dashboard. |
fromNumber | Any number you've assigned to your application. Find the number on your Sinch dashboard by clicking on your app, navigating to the Voice and Video tab, and looking in the Inbound Numbers section. |
locale | The language and locale you want to use for the text-to-speech call. Locale is specified with a language code according to ISO 639 , a dash and a country code according to ISO 3166-1 alpha-2 . For example, American English is represented by en-US . |
Save the file.
Make your first call
Now you can execute the code and make your text-to-speech call. Run the following command:
python make-call.py
You should receive a phone call to the number you called with the message "Hello, this is a call from Sinch. Congratulations! You made your first call."
Next steps
Now that you know how to make a call, learn how to handle an incoming call.