From c9b354902254ecfd2f2e749b7055527337959bd2 Mon Sep 17 00:00:00 2001 From: Chris Lacina Date: Thu, 24 May 2018 14:25:56 -0700 Subject: [PATCH] Updated the cnam demo to not try associations if no approved CNAMs are available --- cnam_demo.py | 56 +++++++++++++++++++++++++++++++++------------------- 1 file changed, 36 insertions(+), 20 deletions(-) diff --git a/cnam_demo.py b/cnam_demo.py index 583a5f9..9bc1f43 100644 --- a/cnam_demo.py +++ b/cnam_demo.py @@ -1,8 +1,15 @@ #!/usr/bin/env python import pprint import os +import random +import string from flowroutenumbersandmessaging.flowroutenumbersandmessaging_client import FlowroutenumbersandmessagingClient + +# Helper function for random strings +def random_generator(size=4, chars=string.ascii_uppercase + string.digits): + return ''.join(random.choice(chars) for x in range(size)) + # Set up your api credentials and test mobile number for outbound SMS or MMS basic_auth_user_name = os.environ.get('FR_ACCESS_KEY') basic_auth_password = os.environ.get('FR_SECRET_KEY') @@ -11,8 +18,7 @@ basic_auth_password = os.environ.get('FR_SECRET_KEY') client = FlowroutenumbersandmessagingClient(basic_auth_user_name, basic_auth_password) numbers_controller = client.numbers cnams_controller = client.cnams - - +cnam_id = None print("--List CNAM Records") limit = 10 @@ -20,34 +26,44 @@ offset = None result = cnams_controller.list_cnams(limit, offset) pprint.pprint(result) - print("\n--List Approved CNAM Records") result = cnams_controller.list_cnams(limit, offset, is_approved=True) pprint.pprint(result) -cnam_id = result['data'][0]['id'] +if len(result['data']): + cnam_id = result['data'][0]['id'] -print("\n--List CNAM Detail") -cnam_id = result['data'][0]['id'] -result = cnams_controller.get_cnam(cnam_id) -pprint.pprint(result) + print("\n--List CNAM Detail") + result = cnams_controller.get_cnam(cnam_id) + pprint.pprint(result) + if len(result['data']): + cnam_id = result['data'][0]['id'] print("\n--Search for CNAM Record") result = cnams_controller.search_cnams(contains='CHRIS') pprint.pprint(result) -# print("\n--Create a CNAM Record") -# result = cnams_controller.create_cnam_record('CJL') -# pprint.pprint(result) -# cnam_id = result['data']['id'] +print("\n--Create a CNAM Record") +cnam_value = 'FR ' + random_generator() +result = cnams_controller.create_cnam_record(cnam_value) +pprint.pprint(result) +print("\nNOTE: Newly created CNAM records are NOT available to association " + "until they are approved.\n") print("\n--Associate a CNAM Record to a DID") -result = cnams_controller.associate_cnam(cnam_id, '12066417659') -pprint.pprint(result) +our_numbers = numbers_controller.list_account_phone_numbers() +did_id = our_numbers['data'][0]['id'] -print("\n--Unassociate a CNAM Record from a DID") -result = cnams_controller.unassociate_cnam('12066417659') -pprint.pprint(result) +if cnam_id is None: + print("Create some CNAM records and wait for approval before trying" + " to associate them with a DID") +else: + result = cnams_controller.associate_cnam(cnam_id, did_id) + pprint.pprint(result) -print("\n--Remove a CNAM Record from your account") -result = cnams_controller.remove_cnam(cnam_id) -pprint.pprint(result) + print("\n--Unassociate a CNAM Record from a DID") + result = cnams_controller.unassociate_cnam(did_id) + pprint.pprint(result) + + print("\n--Remove a CNAM Record from your account") + result = cnams_controller.remove_cnam(cnam_id) + pprint.pprint(result)