-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathe911_demo.py
139 lines (122 loc) · 4.99 KB
/
e911_demo.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#!/usr/bin/env python
import pprint
import os
from flowroutenumbersandmessaging.flowroutenumbersandmessaging_client import FlowroutenumbersandmessagingClient
# 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')
# Instantiate API client and create controllers for Numbers and E911s
client = FlowroutenumbersandmessagingClient(basic_auth_user_name,
basic_auth_password)
numbers_controller = client.numbers
e911s_controller = client.e911s
print("--List E911 Records")
limit = 10
offset = None
result = e911s_controller.list_e911s(limit, offset)
pprint.pprint(result)
e911_id = None
# If the user has any E911 records, pull one up
for e in result['data']:
e911_id = e['id']
break
if e911_id:
print("\n--Get Details for a specific E911 Record")
result = e911s_controller.get_e911(e911_id)
pprint.pprint(result)
print("\n--Validate an Address")
try:
result = e911s_controller.validate_address(
label="Test Address",
first_name="Chris",
last_name="Smith",
street_name="3rd Ave",
street_number="1182",
city="Seattle",
state="WA",
country="US",
zipcode="98101",
address_type="Suite",
address_type_number="600")
pprint.pprint(result)
except Exception as e:
print(str(e))
print(e.context.response.raw_body)
print("\n--Create and Validate an Address")
try:
result = e911s_controller.create_address(
label="E911 Test",
first_name="Chris",
last_name="Smith",
street_name="3rd Ave",
street_number="1218",
city="Seattle",
state="WA",
country="US",
zipcode="98101",
address_type="Suite",
address_type_number="600")
pprint.pprint(result)
except Exception as e:
print(str(e))
print(e.context.response.raw_body)
print("\n--Create and Validate an Address")
try:
result = e911s_controller.create_address(
label="E911 Test",
first_name="Chris",
last_name="Smith",
street_name="3rd Ave",
street_number="1218",
city="Seattle",
state="WA",
country="US",
zipcode="98101",
address_type='Suite',
address_type_number='700')
pprint.pprint(result)
except Exception as e:
print(str(e))
print(e.context.response.raw_body)
# Pull the ID from the newly created record
if len(result):
record_id = result['data']['id']
print("\n--Update an E911 Address")
try:
result = e911s_controller.update_address(record_id, last_name='Wiley')
pprint.pprint(result)
except Exception as e:
print(str(e))
print(e.context.response.raw_body)
# Get our DIDs
did_list = numbers_controller.list_account_phone_numbers()
did = did_list['data'][0]['attributes']['value']
# Get our E911s
e911_list = e911s_controller.list_e911s()
e911_id = e911_list['data'][0]['id']
# Associate them
print("--Associate an E911 Record and a DID")
try:
result = e911s_controller.associate(e911_id, did)
pprint.pprint(result)
except Exception as e:
print(str(e))
print(e.context.response.raw_body)
print("\n--List all DIDs associated with an E911 Record")
result = e911s_controller.list_dids_for_e911(e911_id)
pprint.pprint(result)
# Dis-Associate them
try:
print("\n--Un-associate the address")
result = e911s_controller.disconnect(did)
pprint.pprint(result)
except Exception as e:
print(str(e))
print(e.context.response.raw_body)
try:
print("\n--Delete an E911 Address")
result = e911s_controller.delete_address(e911_id)
pprint.pprint(result)
except Exception as e:
print(str(e))
print(e.context.response.raw_body)