Skip to content

Commit

Permalink
Merge pull request #172 from Vonage/add-meetings-snippets
Browse files Browse the repository at this point in the history
add meetings api snippets
  • Loading branch information
maxkahan committed Aug 21, 2023
2 parents ab214fe + 37d5bc0 commit ffbf044
Show file tree
Hide file tree
Showing 19 changed files with 336 additions and 21 deletions.
27 changes: 17 additions & 10 deletions .env.dist
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
# Authentication
VONAGE_API_KEY='YOUR_API_KEY'
VONAGE_API_SECRET='YOUR_API_SECRET'
VONAGE_APPLICATION_ID='12a3b4cd-a1b2-1ab2-a1b2-a1234bc5d678'
VONAGE_APPLICATION_PRIVATE_KEY_PATH='PATH_TO_KEY_FILE'

# Messages
TO_NUMBER='EXAMPLE_TO_NUMBER'
RECIPIENT_NUMBER='EXAMPLE_RECIPIENT_NUMBER'
FROM_NUMBER='EXAMPLE_FROM_NUMBER'
VONAGE_BRAND_NAME='Acme Inc.'
VONAGE_APPLICATION_ID='12a3b4cd-a1b2-1ab2-a1b2-a1234bc5d678'

# Messages
VONAGE_APPLICATION_PRIVATE_KEY_PATH='PATH_TO_KEY_FILE'
VONAGE_FB_SENDER_ID='YOUR_FB_MESSENGER_SENDER_ID'
FB_RECIPIENT_ID='YOUR_FB_MESSENGER_RECIPIENT_ID'
WHATSAPP_NUMBER='YOUR_WHATSAPP_NUMBER'
Expand All @@ -16,8 +17,8 @@ PRODUCT_RETAILER_ID='YOUR_PRODUCT_RETAILER_ID'
VIBER_SERVICE_MESSAGE_ID='YOUR_VIBER_SERVICE_MESSAGE_ID'

# Signing messages
VONAGE_SIGNATURE_SECRET = 'YOUR_VONAGE_SIGNATURE_SECRET'
VONAGE_SIGNATURE_SECRET_METHOD = 'METHOD_USED_TO_SIGN_YOUR_SECRET'
VONAGE_SIGNATURE_SECRET=
VONAGE_SIGNATURE_SECRET_METHOD=

# Verify v2
TO_EMAIL='EMAIL_ADDRESS_TO_VERIFY'
Expand All @@ -31,13 +32,19 @@ WORKFLOW_ID=1
# Number Insight
INSIGHT_NUMBER='NUMBER_FOR_INSIGHT'

# Meetings
ROOM_DISPLAY_NAME='YOUR_ROOM_NAME'
ROOM_ID='THE_ROOM_UUID'
THEME_ID='YOUR_THEME_UUID'
SESSION_ID='YOUR_SESSION_UUID'
MAIN_COLOR='#FF0000'
BRAND_TEXT='YOUR_BRAND_NAME'

# Account
SMS_CALLBACK_URL=
VONAGE_SECRET_ID=
SMS_CALLBACK_URL='YOUR_CALLBACK_URL'
VONAGE_SECRET_ID='YOUR_VONAGE_SECRET_ID'

# Voice
VONAGE_APPLICATION_ID='YOUR_APPLICATION_ID'
VONAGE_PRIVATE_KEY='PATH_TO_KEY_FILE'
CONFERENCE_NAME='NAME_OF_YOUR_CONFERENCE'

# Numbers
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ or making a Text to Speech call.
These code samples are meant to be used for [https://developer.vonage.com/](https://developer.vonage.com/), and are structured in such a way as to be used for internal testing. Developers are free to use these code snippets as a reference, but these may require changes to be worked into your specific application. We recommend checking out the [Vonage Developer Website](https://developer.vonage.com/), which displays these code snippets in a more copy/paste fashion.

To use the examples, you will first need a [Vonage account][sign-up]. Then rename
the `example.env` file to `.env` and set the values as required.
the `.env.dist` file to `.env` and set the values as required.

For some of the examples you will need to [buy a number][buy-number].

Expand Down
9 changes: 5 additions & 4 deletions meetings/create-instant-room.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@
from os.path import join, dirname
from dotenv import load_dotenv

dotenv_path = join(dirname(__file__), "../.env")
dotenv_path = join(dirname(__file__), '../.env')
load_dotenv(dotenv_path)

VONAGE_APPLICATION_ID = os.environ.get("VONAGE_APPLICATION_ID")
VONAGE_APPLICATION_PRIVATE_KEY_PATH = os.environ.get("VONAGE_APPLICATION_PRIVATE_KEY_PATH")
VONAGE_APPLICATION_ID = os.environ.get('VONAGE_APPLICATION_ID')
VONAGE_APPLICATION_PRIVATE_KEY_PATH = os.environ.get('VONAGE_APPLICATION_PRIVATE_KEY_PATH')
ROOM_DISPLAY_NAME = os.environ.get('ROOM_DISPLAY_NAME')

import vonage

Expand All @@ -15,4 +16,4 @@
private_key=VONAGE_APPLICATION_PRIVATE_KEY_PATH,
)

meeting = client.meetings.create_room({'display_name': 'my_test_room'})
response = client.meetings.create_room({'display_name': ROOM_DISPLAY_NAME})
17 changes: 11 additions & 6 deletions meetings/create-long-term-room.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
import os
from datetime import datetime, timedelta
from os.path import join, dirname
from dotenv import load_dotenv

dotenv_path = join(dirname(__file__), "../.env")
dotenv_path = join(dirname(__file__), '../.env')
load_dotenv(dotenv_path)

VONAGE_APPLICATION_ID = os.environ.get("VONAGE_APPLICATION_ID")
VONAGE_APPLICATION_PRIVATE_KEY_PATH = os.environ.get("VONAGE_APPLICATION_PRIVATE_KEY_PATH")
VONAGE_APPLICATION_ID = os.environ.get('VONAGE_APPLICATION_ID')
VONAGE_APPLICATION_PRIVATE_KEY_PATH = os.environ.get('VONAGE_APPLICATION_PRIVATE_KEY_PATH')
ROOM_DISPLAY_NAME = os.environ.get('ROOM_DISPLAY_NAME')


import vonage

Expand All @@ -15,10 +18,12 @@
private_key=VONAGE_APPLICATION_PRIVATE_KEY_PATH,
)

expiration_date = (datetime.utcnow() + timedelta(days=30)).isoformat()

params = {
'display_name': 'test_long_term_room',
'display_name': ROOM_DISPLAY_NAME,
'type': 'long_term',
'expires_at': '2023-01-30T00:47:04+0000',
'expires_at': expiration_date,
}

meeting = client.meetings.create_room(params)
response = client.meetings.create_room(params)
25 changes: 25 additions & 0 deletions meetings/create-theme.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import os
from os.path import join, dirname
from dotenv import load_dotenv

dotenv_path = join(dirname(__file__), '../.env')
load_dotenv(dotenv_path)

VONAGE_APPLICATION_ID = os.environ.get('VONAGE_APPLICATION_ID')
VONAGE_APPLICATION_PRIVATE_KEY_PATH = os.environ.get('VONAGE_APPLICATION_PRIVATE_KEY_PATH')
MAIN_COLOR = os.environ.get('MAIN_COLOR')
BRAND_TEXT = os.environ.get('BRAND_TEXT')

import vonage

client = vonage.Client(
application_id=VONAGE_APPLICATION_ID,
private_key=VONAGE_APPLICATION_PRIVATE_KEY_PATH,
)

response = client.meetings.create_theme(
{
'main_color': MAIN_COLOR,
'brand_text': BRAND_TEXT,
}
)
19 changes: 19 additions & 0 deletions meetings/delete-recording.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import os
from os.path import join, dirname
from dotenv import load_dotenv

dotenv_path = join(dirname(__file__), '../.env')
load_dotenv(dotenv_path)

VONAGE_APPLICATION_ID = os.environ.get('VONAGE_APPLICATION_ID')
VONAGE_APPLICATION_PRIVATE_KEY_PATH = os.environ.get('VONAGE_APPLICATION_PRIVATE_KEY_PATH')
RECORDING_ID = os.environ.get('RECORDING_ID')

import vonage

client = vonage.Client(
application_id=VONAGE_APPLICATION_ID,
private_key=VONAGE_APPLICATION_PRIVATE_KEY_PATH,
)

client.meetings.delete_recording(RECORDING_ID)
19 changes: 19 additions & 0 deletions meetings/delete-theme.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import os
from os.path import join, dirname
from dotenv import load_dotenv

dotenv_path = join(dirname(__file__), '../.env')
load_dotenv(dotenv_path)

VONAGE_APPLICATION_ID = os.environ.get('VONAGE_APPLICATION_ID')
VONAGE_APPLICATION_PRIVATE_KEY_PATH = os.environ.get('VONAGE_APPLICATION_PRIVATE_KEY_PATH')
THEME_ID = os.environ.get('THEME_ID')

import vonage

client = vonage.Client(
application_id=VONAGE_APPLICATION_ID,
private_key=VONAGE_APPLICATION_PRIVATE_KEY_PATH,
)

client.meetings.delete_theme(THEME_ID)
19 changes: 19 additions & 0 deletions meetings/get-recording.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import os
from os.path import join, dirname
from dotenv import load_dotenv

dotenv_path = join(dirname(__file__), '../.env')
load_dotenv(dotenv_path)

VONAGE_APPLICATION_ID = os.environ.get('VONAGE_APPLICATION_ID')
VONAGE_APPLICATION_PRIVATE_KEY_PATH = os.environ.get('VONAGE_APPLICATION_PRIVATE_KEY_PATH')
RECORDING_ID = os.environ.get('RECORDING_ID')

import vonage

client = vonage.Client(
application_id=VONAGE_APPLICATION_ID,
private_key=VONAGE_APPLICATION_PRIVATE_KEY_PATH,
)

response = client.meetings.get_recording(RECORDING_ID)
19 changes: 19 additions & 0 deletions meetings/get-room.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import os
from os.path import join, dirname
from dotenv import load_dotenv

dotenv_path = join(dirname(__file__), '../.env')
load_dotenv(dotenv_path)

VONAGE_APPLICATION_ID = os.environ.get('VONAGE_APPLICATION_ID')
VONAGE_APPLICATION_PRIVATE_KEY_PATH = os.environ.get('VONAGE_APPLICATION_PRIVATE_KEY_PATH')
ROOM_ID = os.environ.get('ROOM_ID')

import vonage

client = vonage.Client(
application_id=VONAGE_APPLICATION_ID,
private_key=VONAGE_APPLICATION_PRIVATE_KEY_PATH,
)

response = client.meetings.get_room(ROOM_ID)
19 changes: 19 additions & 0 deletions meetings/get_theme.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import os
from os.path import join, dirname
from dotenv import load_dotenv

dotenv_path = join(dirname(__file__), '../.env')
load_dotenv(dotenv_path)

VONAGE_APPLICATION_ID = os.environ.get('VONAGE_APPLICATION_ID')
VONAGE_APPLICATION_PRIVATE_KEY_PATH = os.environ.get('VONAGE_APPLICATION_PRIVATE_KEY_PATH')
THEME_ID = os.environ.get('THEME_ID')

import vonage

client = vonage.Client(
application_id=VONAGE_APPLICATION_ID,
private_key=VONAGE_APPLICATION_PRIVATE_KEY_PATH,
)

response = client.meetings.get_theme(THEME_ID)
18 changes: 18 additions & 0 deletions meetings/list-dial-in-numbers.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import os
from os.path import join, dirname
from dotenv import load_dotenv

dotenv_path = join(dirname(__file__), '../.env')
load_dotenv(dotenv_path)

VONAGE_APPLICATION_ID = os.environ.get('VONAGE_APPLICATION_ID')
VONAGE_APPLICATION_PRIVATE_KEY_PATH = os.environ.get('VONAGE_APPLICATION_PRIVATE_KEY_PATH')

import vonage

client = vonage.Client(
application_id=VONAGE_APPLICATION_ID,
private_key=VONAGE_APPLICATION_PRIVATE_KEY_PATH,
)

response = client.meetings.list_dial_in_numbers()
19 changes: 19 additions & 0 deletions meetings/list-recordings.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import os
from os.path import join, dirname
from dotenv import load_dotenv

dotenv_path = join(dirname(__file__), '../.env')
load_dotenv(dotenv_path)

VONAGE_APPLICATION_ID = os.environ.get('VONAGE_APPLICATION_ID')
VONAGE_APPLICATION_PRIVATE_KEY_PATH = os.environ.get('VONAGE_APPLICATION_PRIVATE_KEY_PATH')
SESSION_ID = os.environ.get('SESSION_ID')

import vonage

client = vonage.Client(
application_id=VONAGE_APPLICATION_ID,
private_key=VONAGE_APPLICATION_PRIVATE_KEY_PATH,
)

response = client.meetings.get_session_recordings(SESSION_ID)
19 changes: 19 additions & 0 deletions meetings/list-rooms-by-theme.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import os
from os.path import join, dirname
from dotenv import load_dotenv

dotenv_path = join(dirname(__file__), '../.env')
load_dotenv(dotenv_path)

VONAGE_APPLICATION_ID = os.environ.get('VONAGE_APPLICATION_ID')
VONAGE_APPLICATION_PRIVATE_KEY_PATH = os.environ.get('VONAGE_APPLICATION_PRIVATE_KEY_PATH')
THEME_ID = os.environ.get('THEME_ID')

import vonage

client = vonage.Client(
application_id=VONAGE_APPLICATION_ID,
private_key=VONAGE_APPLICATION_PRIVATE_KEY_PATH,
)

response = client.meetings.list_rooms_with_theme_id(THEME_ID)
18 changes: 18 additions & 0 deletions meetings/list-rooms.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import os
from os.path import join, dirname
from dotenv import load_dotenv

dotenv_path = join(dirname(__file__), '../.env')
load_dotenv(dotenv_path)

VONAGE_APPLICATION_ID = os.environ.get('VONAGE_APPLICATION_ID')
VONAGE_APPLICATION_PRIVATE_KEY_PATH = os.environ.get('VONAGE_APPLICATION_PRIVATE_KEY_PATH')

import vonage

client = vonage.Client(
application_id=VONAGE_APPLICATION_ID,
private_key=VONAGE_APPLICATION_PRIVATE_KEY_PATH,
)

response = client.meetings.list_rooms()
18 changes: 18 additions & 0 deletions meetings/list_themes.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import os
from os.path import join, dirname
from dotenv import load_dotenv

dotenv_path = join(dirname(__file__), '../.env')
load_dotenv(dotenv_path)

VONAGE_APPLICATION_ID = os.environ.get('VONAGE_APPLICATION_ID')
VONAGE_APPLICATION_PRIVATE_KEY_PATH = os.environ.get('VONAGE_APPLICATION_PRIVATE_KEY_PATH')

import vonage

client = vonage.Client(
application_id=VONAGE_APPLICATION_ID,
private_key=VONAGE_APPLICATION_PRIVATE_KEY_PATH,
)

response = client.meetings.list_themes()
19 changes: 19 additions & 0 deletions meetings/update-application.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import os
from os.path import join, dirname
from dotenv import load_dotenv

dotenv_path = join(dirname(__file__), '../.env')
load_dotenv(dotenv_path)

VONAGE_APPLICATION_ID = os.environ.get('VONAGE_APPLICATION_ID')
VONAGE_APPLICATION_PRIVATE_KEY_PATH = os.environ.get('VONAGE_APPLICATION_PRIVATE_KEY_PATH')
THEME_ID = os.environ.get('THEME_ID')

import vonage

client = vonage.Client(
application_id=VONAGE_APPLICATION_ID,
private_key=VONAGE_APPLICATION_PRIVATE_KEY_PATH,
)

response = client.meetings.update_application_theme(THEME_ID)
21 changes: 21 additions & 0 deletions meetings/update-room.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import os
from os.path import join, dirname
from dotenv import load_dotenv

dotenv_path = join(dirname(__file__), '../.env')
load_dotenv(dotenv_path)

VONAGE_APPLICATION_ID = os.environ.get('VONAGE_APPLICATION_ID')
VONAGE_APPLICATION_PRIVATE_KEY_PATH = os.environ.get('VONAGE_APPLICATION_PRIVATE_KEY_PATH')
ROOM_ID = os.environ.get('ROOM_ID')
THEME_ID = os.environ.get('THEME_ID')

import vonage

client = vonage.Client(
application_id=VONAGE_APPLICATION_ID,
private_key=VONAGE_APPLICATION_PRIVATE_KEY_PATH,
)

params = {'update_details': {'theme_id': THEME_ID}}
response = client.meetings.update_room(ROOM_ID, params)

0 comments on commit ffbf044

Please sign in to comment.