Before you begin
What are Code Snippets?
Code snippets are short pieces of code you can reuse in your own applications. The code snippets use code from example repositories.
Please read this information carefully, so you can best use the code snippets.
Prerequisites
- Create a Vonage account
- Rent a Vonage Number
- Install the Vonage Command Line tools
- Create a Vonage Application using the command line tools or Dashboard
- Install the Vonage Library for your programming language
- Set up Ngrok
Other resources:
Replaceable variables
Generic replaceable
The following replaceable information depends on the library and specific call:
Key | Description |
---|---|
VONAGE_API_KEY |
Your Vonage API key (see it on your dashboard). |
VONAGE_API_SECRET |
Your Vonage API secret (also available on your dashboard). |
VONAGE_APPLICATION_PRIVATE_KEY_PATH |
Private key path. |
VONAGE_APPLICATION_PRIVATE_KEY |
Private key. |
VONAGE_APPLICATION_ID |
The Vonage Application ID. |
Numbers
All phone numbers are in E.164 format.
Key | Description |
---|---|
VONAGE_NUMBER |
Your Vonage Number. E.g. 447700900000
|
TO_NUMBER |
The number you are calling. E.g. 447700900001
|
SECOND_NUMBER |
The number you are forwarding to. E.g. 447700900002
|
UUIDs
UUIDs are typically used in the code snippets to identify a specific call.
Key | Description |
---|---|
UUID |
The UUID of the call leg |
Specific replaceable/variables
Some code snippets have more specialized variables that will need to be replaced by actual values. These may be specified on a per-code snippet basis.
Authentication
Voice API requires authentication using JWTs. You can generate a JWT using the Vonage CLI or the online tool.
Webhooks
The main ones you will meet here are:
-
/webhooks/answer
- Vonage makes a GET request here when you receive an inbound call. You respond with an NCCO. -
/webhooks/event
- Vonage makes POST requests here when an event occurs. You receive a JSON event. -
/webhooks/recordings
- Vonage makes a POST request here when the recording is available. You receive a JSON object with recording details. -
/webhooks/dtmf
- Vonage POSTs user DTMF input here in a JSON object.
If you are using Ngrok you will set your webhook URLs in the Vonage Application object to something like:
https://demo.ngrok.io/webhooks/answer
https://demo.ngrok.io/webhooks/event
https://demo.ngrok.io/webhooks/recordings
https://demo.ngrok.io/webhooks/dtmf
Change demo
in the above with whatever applies in your case.