Skip to content

Commit 37e4022

Browse files
committed
add messages api samples
1 parent 0ec9f26 commit 37e4022

File tree

80 files changed

+1750
-1579
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+1750
-1579
lines changed

.env.dist

+19-10
Original file line numberDiff line numberDiff line change
@@ -11,28 +11,37 @@ FROM_NUMBER='EXAMPLE_FROM_NUMBER'
1111
VONAGE_BRAND_NAME='Acme Inc.'
1212
VONAGE_FB_SENDER_ID='YOUR_FB_MESSENGER_SENDER_ID'
1313
FB_RECIPIENT_ID='YOUR_FB_MESSENGER_RECIPIENT_ID'
14-
WHATSAPP_NUMBER='YOUR_WHATSAPP_NUMBER'
1514
CATALOG_ID='YOUR_CATALOG_ID'
1615
PRODUCT_RETAILER_ID='YOUR_PRODUCT_RETAILER_ID'
1716
VIBER_SERVICE_MESSAGE_ID='YOUR_VIBER_SERVICE_MESSAGE_ID'
1817
AUDIO_URL='EXAMPLE_AUDIO_URL'
1918
IMAGE_URL='EXAMPLE_IMAGE_URL'
2019
FILE_URL='EXAMPLE_FILE_URL'
2120
VIDEO_URL='EXAMPLE_VIDEO_URL'
21+
VCARD_URL='EXAMPLE_VCARD_URL'
22+
STICKER_ID='EXAMPLE_STICKER_ID'
23+
STICKER_URL='EXAMPLE_STICKER_URL'
2224
WHATSAPP_TEMPLATE_REPLACEMENT_TEXT='EXAMPLE_TEMPLATE_REPLACEMENT_TEXT'
2325
RCS_SENDER_ID='YOUR_RCS_SENDER_ID'
26+
MESSAGE_UUID='YOUR_MESSAGE_UUID'
27+
GEOSPECIFIC_VONAGE_API_HOST='api-eu.vonage.com'
28+
WHATSAPP_NUMBER='YOUR_WHATSAPP_NUMBER'
29+
WHATSAPP_TEMPLATE_NAMESPACE='YOUR_WHATSAPP_TEMPLATE_NAMESPACE'
30+
WHATSAPP_TEMPLATE_NAME='YOUR_WHATSAPP_TEMPLATE_NAME'
31+
WHATSAPP_AUTH_TEMPLATE_NAME='YOUR_WHATSAPP_AUTH_TEMPLATE_NAME'
2432

25-
## Messages Sandbox
26-
MESSAGES_SANDBOX_URL=
27-
MESSAGES_SANDBOX_WHATSAPP_NUMBER=
28-
MESSAGES_SANDBOX_ALLOW_LISTED_TO_NUMBER=
29-
MESSAGES_SANDBOX_FB_ID=
30-
MESSAGES_SANDBOX_ALLOW_LISTED_FB_RECIPIENT_ID=
31-
MESSAGES_SANDBOX_VIBER_SERVICE_ID=
33+
# Messages Sandbox
34+
MESSAGES_SANDBOX_URL='YOUR_SANDBOX_URL'
35+
MESSAGES_SANDBOX_FB_ID='YOUR_SANDBOX_FB_ID'
36+
MESSAGES_SANDBOX_ALLOW_LISTED_FB_RECIPIENT_ID='ALLOW_LISTED_FB_RECIPIENT_ID'
37+
MESSAGES_SANDBOX_VIBER_SERVICE_ID='YOUR_SANDBOX_VIBER_SERVICE_ID'
38+
MESSAGES_SANDBOX_ALLOW_LISTED_TO_NUMBER='ALLOW_LISTED_TO_NUMBER'
39+
MESSAGES_SANDBOX_WHATSAPP_NUMBER='YOUR_SANDBOX_WHATSAPP_NUMBER'
40+
MESSAGES_SANDBOX_ALLOW_LISTED_TO_NUMBER='ALLOW_LISTED_TO_NUMBER'
3241

3342
# Signing messages
34-
VONAGE_SIGNATURE_SECRET=
35-
VONAGE_SIGNATURE_SECRET_METHOD=
43+
VONAGE_SIGNATURE_SECRET='YOUR_SIGNATURE_SECRET'
44+
VONAGE_SIGNATURE_SECRET_METHOD='SIGNATURE_METHOD'
3645

3746
# Verify
3847
TO_EMAIL='EMAIL_ADDRESS_TO_VERIFY'

messages/mms/send-audio.py

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import os
2+
from os.path import join, dirname
3+
from dotenv import load_dotenv
4+
5+
dotenv_path = join(dirname(__file__), "../../.env")
6+
load_dotenv(dotenv_path)
7+
8+
VONAGE_APPLICATION_ID = os.environ.get("VONAGE_APPLICATION_ID")
9+
VONAGE_APPLICATION_PRIVATE_KEY_PATH = os.environ.get(
10+
"VONAGE_APPLICATION_PRIVATE_KEY_PATH"
11+
)
12+
TO_NUMBER = os.environ.get("TO_NUMBER")
13+
FROM_NUMBER = os.environ.get("FROM_NUMBER")
14+
AUDIO_URL = os.environ.get("AUDIO_URL")
15+
16+
from vonage import Auth, Vonage
17+
from vonage_messages.models import MmsAudio, MmsResource
18+
19+
client = Vonage(
20+
Auth(
21+
application_id=VONAGE_APPLICATION_ID,
22+
private_key=VONAGE_APPLICATION_PRIVATE_KEY_PATH,
23+
)
24+
)
25+
26+
message = MmsAudio(
27+
to=TO_NUMBER,
28+
from_=FROM_NUMBER,
29+
audio=MmsResource(url=AUDIO_URL),
30+
)
31+
32+
response = client.messages.send(message)
33+
print(response)

messages/mms/send-image.py

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import os
2+
from os.path import join, dirname
3+
from dotenv import load_dotenv
4+
5+
dotenv_path = join(dirname(__file__), "../../.env")
6+
load_dotenv(dotenv_path)
7+
8+
VONAGE_APPLICATION_ID = os.environ.get("VONAGE_APPLICATION_ID")
9+
VONAGE_APPLICATION_PRIVATE_KEY_PATH = os.environ.get(
10+
"VONAGE_APPLICATION_PRIVATE_KEY_PATH"
11+
)
12+
TO_NUMBER = os.environ.get("TO_NUMBER")
13+
FROM_NUMBER = os.environ.get("FROM_NUMBER")
14+
IMAGE_URL = os.environ.get("IMAGE_URL")
15+
16+
from vonage import Auth, Vonage
17+
from vonage_messages.models import MmsImage, MmsResource
18+
19+
client = Vonage(
20+
Auth(
21+
application_id=VONAGE_APPLICATION_ID,
22+
private_key=VONAGE_APPLICATION_PRIVATE_KEY_PATH,
23+
)
24+
)
25+
26+
message = MmsImage(
27+
to=TO_NUMBER,
28+
from_=FROM_NUMBER,
29+
image=MmsResource(url=IMAGE_URL),
30+
)
31+
32+
response = client.messages.send(message)
33+
print(response)

messages/mms/send-vcard.py

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import os
2+
from os.path import join, dirname
3+
from dotenv import load_dotenv
4+
5+
dotenv_path = join(dirname(__file__), "../../.env")
6+
load_dotenv(dotenv_path)
7+
8+
VONAGE_APPLICATION_ID = os.environ.get("VONAGE_APPLICATION_ID")
9+
VONAGE_APPLICATION_PRIVATE_KEY_PATH = os.environ.get(
10+
"VONAGE_APPLICATION_PRIVATE_KEY_PATH"
11+
)
12+
TO_NUMBER = os.environ.get("TO_NUMBER")
13+
FROM_NUMBER = os.environ.get("FROM_NUMBER")
14+
VCARD_URL = os.environ.get("VCARD_URL")
15+
16+
from vonage import Auth, Vonage
17+
from vonage_messages.models import MmsVcard, MmsResource
18+
19+
client = Vonage(
20+
Auth(
21+
application_id=VONAGE_APPLICATION_ID,
22+
private_key=VONAGE_APPLICATION_PRIVATE_KEY_PATH,
23+
)
24+
)
25+
26+
message = MmsVcard(
27+
to=TO_NUMBER,
28+
from_=FROM_NUMBER,
29+
vcard=MmsResource(url=VCARD_URL),
30+
)
31+
32+
response = client.messages.send(message)
33+
print(response)

messages/mms/send-video.py

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import os
2+
from os.path import join, dirname
3+
from dotenv import load_dotenv
4+
5+
dotenv_path = join(dirname(__file__), "../../.env")
6+
load_dotenv(dotenv_path)
7+
8+
VONAGE_APPLICATION_ID = os.environ.get("VONAGE_APPLICATION_ID")
9+
VONAGE_APPLICATION_PRIVATE_KEY_PATH = os.environ.get(
10+
"VONAGE_APPLICATION_PRIVATE_KEY_PATH"
11+
)
12+
TO_NUMBER = os.environ.get("TO_NUMBER")
13+
FROM_NUMBER = os.environ.get("FROM_NUMBER")
14+
VIDEO_URL = os.environ.get("VIDEO_URL")
15+
16+
from vonage import Auth, Vonage
17+
from vonage_messages.models import MmsVideo, MmsResource
18+
19+
client = Vonage(
20+
Auth(
21+
application_id=VONAGE_APPLICATION_ID,
22+
private_key=VONAGE_APPLICATION_PRIVATE_KEY_PATH,
23+
)
24+
)
25+
26+
message = MmsVideo(
27+
to=TO_NUMBER,
28+
from_=FROM_NUMBER,
29+
video=MmsResource(url=VIDEO_URL),
30+
)
31+
32+
response = client.messages.send(message)
33+
print(response)

messages/mms/send_audio.py

-32
This file was deleted.

messages/mms/send_image.py

-32
This file was deleted.

messages/mms/send_vcard.py

-29
This file was deleted.

messages/mms/send_video.py

-32
This file was deleted.

messages/rcs/send_image.py messages/rcs/revoke-message.py

+10-14
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,19 @@
99
VONAGE_APPLICATION_PRIVATE_KEY_PATH = os.environ.get(
1010
"VONAGE_APPLICATION_PRIVATE_KEY_PATH"
1111
)
12-
1312
TO_NUMBER = os.environ.get("TO_NUMBER")
1413
RCS_SENDER_ID = os.environ.get("RCS_SENDER_ID")
14+
GEOSPECIFIC_API_HOST = os.environ.get("GEOSPECIFIC_API_HOST")
1515

16-
import vonage
16+
from vonage import Auth, HttpClientOptions, Vonage
1717

18-
client = vonage.Client(
19-
application_id=VONAGE_APPLICATION_ID,
20-
private_key=VONAGE_APPLICATION_PRIVATE_KEY_PATH,
18+
client = Vonage(
19+
auth=Auth(
20+
application_id=VONAGE_APPLICATION_ID,
21+
private_key=VONAGE_APPLICATION_PRIVATE_KEY_PATH,
22+
),
23+
http_client_options=HttpClientOptions(api_host=GEOSPECIFIC_API_HOST),
2124
)
2225

23-
client.messages.send_message(
24-
{
25-
"channel": "rcs",
26-
"message_type": "image",
27-
"to": TO_NUMBER,
28-
"from": RCS_SENDER_ID,
29-
"image": {"url": "https://example.com/image.jpg"},
30-
}
31-
)
26+
response = client.messages.revoke_rcs_message('MESSAGE_UUID')
27+
print(response)

messages/rcs/revoke_message.py

-21
This file was deleted.

0 commit comments

Comments
 (0)