parent
224e2f414c
commit
4c7654d613
@ -0,0 +1,75 @@ |
|||||||
|
#!/usr/bin/env python |
||||||
|
import pprint |
||||||
|
from flowroutenumbersandmessaging.flowroutenumbersandmessaging_client import FlowroutenumbersandmessagingClient |
||||||
|
|
||||||
|
# Instantiate API client and create controllers for Numbers and E911s |
||||||
|
client = FlowroutenumbersandmessagingClient() |
||||||
|
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) |
||||||
|
|
||||||
|
print("--Validate an Address") |
||||||
|
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="USA", |
||||||
|
zip="98101") |
||||||
|
pprint.pprint(result) |
||||||
|
|
||||||
|
print("--Get Details for a specific E911 Record") |
||||||
|
result = e911s_controller.get_e911(11476) |
||||||
|
pprint.pprint(result) |
||||||
|
|
||||||
|
print("--Create and Validate an Address") |
||||||
|
result = e911s_controller.create_address( |
||||||
|
label="E911 Test", |
||||||
|
first_name="Chris", |
||||||
|
last_name="Smith", |
||||||
|
street_name="3rd Ave", |
||||||
|
street_number="1182", |
||||||
|
city="Seattle", |
||||||
|
state="WA", |
||||||
|
country="USA", |
||||||
|
zip="98101") |
||||||
|
pprint.pprint(result) |
||||||
|
|
||||||
|
# Pull the ID from the newly created record |
||||||
|
record_id = result['data']['id'] |
||||||
|
|
||||||
|
print("--Update an E911 Address") |
||||||
|
result = e911s_controller.update_address(record_id, last_name='Wiley') |
||||||
|
pprint.pprint(result) |
||||||
|
|
||||||
|
# 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") |
||||||
|
result = e911s_controller.associate(e911_id, did) |
||||||
|
pprint.pprint(result) |
||||||
|
|
||||||
|
# Diss-Associate them |
||||||
|
print("--Un-associate the address") |
||||||
|
result = e911s_controller.disconnect(e911_id, did) |
||||||
|
pprint.pprint(result) |
||||||
|
|
||||||
|
print("--Delete an E911 Address") |
||||||
|
result = e911s_controller.delete_address(e911_id) |
||||||
|
pprint.pprint(result) |
||||||
|
|
@ -0,0 +1,539 @@ |
|||||||
|
# -*- coding: utf-8 -*- |
||||||
|
|
||||||
|
""" |
||||||
|
flowroutenumbersandmessaging.controllers.e911s_controller |
||||||
|
|
||||||
|
This file was automatically generated by APIMATIC v2.0 ( https://apimatic.io ). |
||||||
|
""" |
||||||
|
|
||||||
|
from .base_controller import BaseController |
||||||
|
from ..api_helper import APIHelper |
||||||
|
from ..configuration import Configuration |
||||||
|
from ..http.auth.basic_auth import BasicAuth |
||||||
|
from ..exceptions.error_exception import ErrorException |
||||||
|
|
||||||
|
|
||||||
|
class E911sController(BaseController): |
||||||
|
|
||||||
|
"""A Controller to access Endpoints in the |
||||||
|
flowroutenumbersandmessaging API.""" |
||||||
|
|
||||||
|
def list_e911s(self, |
||||||
|
limit=None, |
||||||
|
offset=None, |
||||||
|
state=None): |
||||||
|
"""Does a GET request to /v2/e911s. |
||||||
|
|
||||||
|
Returns a list of all Central Office (exchange) codes containing |
||||||
|
purchasable phone numbers. |
||||||
|
|
||||||
|
Args: |
||||||
|
limit (int, optional): Limits the number of items to retrieve. A |
||||||
|
maximum of 200 items can be retrieved. |
||||||
|
offset (int, optional): Offsets the list of phone numbers by your |
||||||
|
specified value. For example, if you have 4 phone numbers and |
||||||
|
you entered 1 as your offset value, then only 3 of your phone |
||||||
|
numbers will be displayed in the response. |
||||||
|
state (2 char, optional): Restricts the results to the specified |
||||||
|
state. |
||||||
|
|
||||||
|
Returns: |
||||||
|
mixed: Response from the API. A JSON object of E911 Records |
||||||
|
that satisfy your search criteria. |
||||||
|
|
||||||
|
Raises: |
||||||
|
APIException: When an error occurs while fetching the data from |
||||||
|
the remote API. This exception includes the HTTP Response |
||||||
|
code, an error message, and the HTTP body that was received in |
||||||
|
the request. |
||||||
|
|
||||||
|
""" |
||||||
|
|
||||||
|
# Prepare query URL |
||||||
|
_query_builder = Configuration.base_uri |
||||||
|
_query_builder += '/v2/e911s' |
||||||
|
_query_parameters = { |
||||||
|
'limit': limit, |
||||||
|
'offset': offset, |
||||||
|
'state': state |
||||||
|
} |
||||||
|
_query_builder = APIHelper.append_url_with_query_parameters(_query_builder, |
||||||
|
_query_parameters, Configuration.array_serialization) |
||||||
|
_query_url = APIHelper.clean_url(_query_builder) |
||||||
|
|
||||||
|
# Prepare and execute request |
||||||
|
_request = self.http_client.get(_query_url) |
||||||
|
BasicAuth.apply(_request) |
||||||
|
_context = self.execute_request(_request) |
||||||
|
|
||||||
|
# Endpoint and global error handling using HTTP status codes. |
||||||
|
if _context.response.status_code == 401: |
||||||
|
raise ErrorException('Unauthorized – There was an issue with your API credentials.', _context) |
||||||
|
elif _context.response.status_code == 404: |
||||||
|
raise ErrorException('The specified resource was not found', _context) |
||||||
|
self.validate_response(_context) |
||||||
|
|
||||||
|
return APIHelper.json_deserialize(_context.response.raw_body) |
||||||
|
|
||||||
|
def get_e911(self, e911_id): |
||||||
|
"""Does a GET request to /v2/e911s/<e911_id>. |
||||||
|
|
||||||
|
Returns a record detail for the E911 Record Id specified |
||||||
|
|
||||||
|
Args: |
||||||
|
|
||||||
|
Returns: |
||||||
|
mixed: Response from the API. A JSON object of of an E911 record |
||||||
|
that satisfy your search criteria. |
||||||
|
|
||||||
|
Raises: |
||||||
|
APIException: When an error occurs while fetching the data from |
||||||
|
the remote API. This exception includes the HTTP Response |
||||||
|
code, an error message, and the HTTP body that was received in |
||||||
|
the request. |
||||||
|
|
||||||
|
""" |
||||||
|
|
||||||
|
# Prepare query URL |
||||||
|
_query_builder = Configuration.base_uri |
||||||
|
_query_builder += '/v2/e911s/{}'.format(e911_id) |
||||||
|
_query_url = APIHelper.clean_url(_query_builder) |
||||||
|
|
||||||
|
# Prepare and execute request |
||||||
|
_request = self.http_client.get(_query_url) |
||||||
|
BasicAuth.apply(_request) |
||||||
|
_context = self.execute_request(_request) |
||||||
|
|
||||||
|
# Endpoint and global error handling using HTTP status codes. |
||||||
|
if _context.response.status_code == 401: |
||||||
|
raise ErrorException('Unauthorized – There was an issue with your API credentials.', _context) |
||||||
|
elif _context.response.status_code == 404: |
||||||
|
raise ErrorException('The specified resource was not found', _context) |
||||||
|
self.validate_response(_context) |
||||||
|
|
||||||
|
return APIHelper.json_deserialize(_context.response.raw_body) |
||||||
|
|
||||||
|
def validate_address(self, |
||||||
|
label, |
||||||
|
first_name, |
||||||
|
last_name, |
||||||
|
street_name, |
||||||
|
street_number, |
||||||
|
city, |
||||||
|
state, |
||||||
|
country, |
||||||
|
zip): |
||||||
|
"""Does a POST request to /v2/e911s/validate. |
||||||
|
|
||||||
|
Returns a 204 No Content on success, or a 404 with error data |
||||||
|
|
||||||
|
Args: |
||||||
|
label (string): the alias or friendly name of your entry |
||||||
|
first_name (string): |
||||||
|
last_name (string): |
||||||
|
street_name (string): |
||||||
|
street_number (string): |
||||||
|
city (string): |
||||||
|
state (2 character string): |
||||||
|
country (string USA or Canada): |
||||||
|
zip (string postal code) |
||||||
|
|
||||||
|
Returns: |
||||||
|
mixed: Response from the API. A 204 - No Content or a |
||||||
|
JSON object ith error data |
||||||
|
|
||||||
|
Raises: |
||||||
|
APIException: When an error occurs while fetching the data from |
||||||
|
the remote API. This exception includes the HTTP Response |
||||||
|
code, an error message, and the HTTP body that was received in |
||||||
|
the request. |
||||||
|
|
||||||
|
""" |
||||||
|
body = dict() |
||||||
|
body['data'] = dict() |
||||||
|
body['data']['type'] = 'e911' |
||||||
|
body['data']['attributes'] = {} |
||||||
|
body['data']['attributes']['label'] = label |
||||||
|
body['data']['attributes']['first_name'] = first_name |
||||||
|
body['data']['attributes']['last_name'] = last_name |
||||||
|
body['data']['attributes']['street_name'] = street_name |
||||||
|
body['data']['attributes']['street_number'] = street_number |
||||||
|
body['data']['attributes']['city'] = city |
||||||
|
body['data']['attributes']['state'] = state |
||||||
|
body['data']['attributes']['country'] = country |
||||||
|
body['data']['attributes']['zip'] = zip |
||||||
|
|
||||||
|
# Prepare query URL |
||||||
|
_query_builder = Configuration.base_uri |
||||||
|
_query_builder += '/v2/e911s/validate' |
||||||
|
|
||||||
|
# Return appropriate type |
||||||
|
_query_url = APIHelper.clean_url(_query_builder) |
||||||
|
|
||||||
|
# Prepare headers |
||||||
|
_headers = { |
||||||
|
'accept': 'application/json' |
||||||
|
} |
||||||
|
|
||||||
|
# Prepare and execute request |
||||||
|
_request = self.http_client.post(_query_url, headers=_headers, |
||||||
|
parameters=APIHelper.json_serialize(body)) |
||||||
|
BasicAuth.apply(_request) |
||||||
|
_context = self.execute_request(_request) |
||||||
|
|
||||||
|
# Endpoint and global error handling using HTTP status codes. |
||||||
|
if _context.response.status_code == 401: |
||||||
|
raise ErrorException('Unauthorized – There was an issue with your API credentials.', _context) |
||||||
|
elif _context.response.status_code == 404: |
||||||
|
raise ErrorException('The specified resource was not found', _context) |
||||||
|
self.validate_response(_context) |
||||||
|
|
||||||
|
# Return appropriate type |
||||||
|
return APIHelper.json_deserialize(_context.response.raw_body) |
||||||
|
|
||||||
|
def create_address(self, |
||||||
|
label, |
||||||
|
first_name, |
||||||
|
last_name, |
||||||
|
street_name, |
||||||
|
street_number, |
||||||
|
city, |
||||||
|
state, |
||||||
|
country, |
||||||
|
zip): |
||||||
|
"""Does a POST request to /v2/e911s. |
||||||
|
|
||||||
|
Creates an address record that can then be associated with 1 or more DIDs |
||||||
|
|
||||||
|
Args: |
||||||
|
label (string): the alias or friendly name of your entry |
||||||
|
first_name (string): |
||||||
|
last_name (string): |
||||||
|
street_name (string): |
||||||
|
street_number (string): |
||||||
|
city (string): |
||||||
|
state (2 character string): |
||||||
|
country (string USA or Canada): |
||||||
|
zip (string postal code) |
||||||
|
|
||||||
|
Returns: |
||||||
|
mixed: Response from the API. A JSON object containing the new record information. |
||||||
|
|
||||||
|
Raises: |
||||||
|
APIException: When an error occurs while fetching the data from |
||||||
|
the remote API. This exception includes the HTTP Response |
||||||
|
code, an error message, and the HTTP body that was received in |
||||||
|
the request. |
||||||
|
|
||||||
|
""" |
||||||
|
body = dict() |
||||||
|
body['data'] = dict() |
||||||
|
body['data']['type'] = 'e911' |
||||||
|
body['data']['attributes'] = {} |
||||||
|
body['data']['attributes']['label'] = label |
||||||
|
body['data']['attributes']['first_name'] = first_name |
||||||
|
body['data']['attributes']['last_name'] = last_name |
||||||
|
body['data']['attributes']['street_name'] = street_name |
||||||
|
body['data']['attributes']['street_number'] = street_number |
||||||
|
body['data']['attributes']['city'] = city |
||||||
|
body['data']['attributes']['state'] = state |
||||||
|
body['data']['attributes']['country'] = country |
||||||
|
body['data']['attributes']['zip'] = zip |
||||||
|
|
||||||
|
# Prepare query URL |
||||||
|
_query_builder = Configuration.base_uri |
||||||
|
_query_builder += '/v2/e911s' |
||||||
|
|
||||||
|
# Return appropriate type |
||||||
|
_query_url = APIHelper.clean_url(_query_builder) |
||||||
|
|
||||||
|
# Prepare headers |
||||||
|
_headers = { |
||||||
|
'accept': 'application/json' |
||||||
|
} |
||||||
|
|
||||||
|
# Prepare and execute request |
||||||
|
_request = self.http_client.post(_query_url, headers=_headers, |
||||||
|
parameters=APIHelper.json_serialize(body)) |
||||||
|
BasicAuth.apply(_request) |
||||||
|
_context = self.execute_request(_request) |
||||||
|
|
||||||
|
# Endpoint and global error handling using HTTP status codes. |
||||||
|
if _context.response.status_code == 401: |
||||||
|
raise ErrorException('Unauthorized – There was an issue with your API credentials.', _context) |
||||||
|
elif _context.response.status_code == 404: |
||||||
|
raise ErrorException('The specified resource was not found', _context) |
||||||
|
self.validate_response(_context) |
||||||
|
|
||||||
|
# Return appropriate type |
||||||
|
return APIHelper.json_deserialize(_context.response.raw_body) |
||||||
|
|
||||||
|
def update_address(self, |
||||||
|
e911_id, |
||||||
|
label=None, |
||||||
|
first_name=None, |
||||||
|
last_name=None, |
||||||
|
street_name=None, |
||||||
|
street_number=None, |
||||||
|
city=None, |
||||||
|
state=None, |
||||||
|
country=None, |
||||||
|
zip=None): |
||||||
|
|
||||||
|
"""Does a PATCH request to /v2/e911s/<e911_id>. |
||||||
|
|
||||||
|
Updates an existing address record and any associations it may have |
||||||
|
|
||||||
|
Args: |
||||||
|
e911_id (integer, required): the id of the e911 record to update |
||||||
|
label (string, optional): the alias or friendly name of your entry |
||||||
|
first_name (string, optional): |
||||||
|
last_name (string, optional): |
||||||
|
street_name (string, optional): |
||||||
|
street_number (string, optional): |
||||||
|
city (string, optional): |
||||||
|
state (2 character string, optional): |
||||||
|
country (string USA or Canada, optional): |
||||||
|
zip (string postal code, optional) |
||||||
|
|
||||||
|
Returns: |
||||||
|
mixed: Response from the API. A JSON object containing the new record information. |
||||||
|
|
||||||
|
Raises: |
||||||
|
APIException: When an error occurs while fetching the data from |
||||||
|
the remote API. This exception includes the HTTP Response |
||||||
|
code, an error message, and the HTTP body that was received in |
||||||
|
the request. |
||||||
|
|
||||||
|
""" |
||||||
|
cur_record = self.get_e911(e911_id) |
||||||
|
record_data = cur_record |
||||||
|
|
||||||
|
record_data['data']['attributes']['zip_code'] = str(record_data['data']['attributes']['zip']) |
||||||
|
record_data['data']['attributes']['house_number'] = str(record_data['data']['attributes']['street_number']) |
||||||
|
|
||||||
|
if label is not None: |
||||||
|
record_data['data']['attributes']['label'] = label |
||||||
|
if first_name is not None: |
||||||
|
record_data['data']['attributes']['first_name'] = first_name |
||||||
|
if last_name is not None: |
||||||
|
record_data['data']['attributes']['last_name'] = last_name |
||||||
|
if street_name is not None: |
||||||
|
record_data['data']['attributes']['street_name'] = street_name |
||||||
|
if street_number is not None: |
||||||
|
record_data['data']['attributes']['street_number'] = str(street_number) |
||||||
|
record_data['data']['attributes']['house_number'] = str(street_number) |
||||||
|
if city is not None: |
||||||
|
record_data['data']['attributes']['city'] = city |
||||||
|
if state is not None: |
||||||
|
record_data['data']['attributes']['state'] = state |
||||||
|
if country is not None: |
||||||
|
record_data['data']['attributes']['country'] = country |
||||||
|
if zip is not None: |
||||||
|
record_data['data']['attributes']['zip'] = str(zip) |
||||||
|
record_data['data']['attributes']['zip_code'] = str(zip) |
||||||
|
|
||||||
|
# Prepare query URL |
||||||
|
_query_builder = Configuration.base_uri |
||||||
|
_query_builder += '/v2/e911s/{}'.format(e911_id) |
||||||
|
|
||||||
|
# Return appropriate type |
||||||
|
_query_url = APIHelper.clean_url(_query_builder) |
||||||
|
|
||||||
|
# Prepare headers |
||||||
|
_headers = { |
||||||
|
'accept': 'application/json' |
||||||
|
} |
||||||
|
|
||||||
|
# Prepare and execute request |
||||||
|
_request = self.http_client.patch(_query_url, headers=_headers, |
||||||
|
parameters=APIHelper.json_serialize(record_data)) |
||||||
|
BasicAuth.apply(_request) |
||||||
|
_context = self.execute_request(_request) |
||||||
|
|
||||||
|
# Endpoint and global error handling using HTTP status codes. |
||||||
|
if _context.response.status_code == 401: |
||||||
|
raise ErrorException('Unauthorized – There was an issue with your API credentials.', _context) |
||||||
|
elif _context.response.status_code == 404: |
||||||
|
raise ErrorException('The specified resource was not found', _context) |
||||||
|
self.validate_response(_context) |
||||||
|
|
||||||
|
# Return appropriate type |
||||||
|
return APIHelper.json_deserialize(_context.response.raw_body) |
||||||
|
|
||||||
|
def delete_address(self, e911_id): |
||||||
|
"""Does a DELETE request to /v2/e911s/<e911_id>. |
||||||
|
|
||||||
|
Removes the existing address record and any associations it may have |
||||||
|
|
||||||
|
Args: |
||||||
|
e911_id (integer, required): the id of the e911 record to update |
||||||
|
|
||||||
|
Returns: |
||||||
|
mixed: Response from the API. A 204 - No Content or a |
||||||
|
JSON object ith error data |
||||||
|
|
||||||
|
Raises: |
||||||
|
APIException: When an error occurs while fetching the data from |
||||||
|
the remote API. This exception includes the HTTP Response |
||||||
|
code, an error message, and the HTTP body that was received in |
||||||
|
the request. |
||||||
|
|
||||||
|
""" |
||||||
|
# Prepare query URL |
||||||
|
_query_builder = Configuration.base_uri |
||||||
|
_query_builder += '/v2/e911s/{}'.format(e911_id) |
||||||
|
|
||||||
|
# Return appropriate type |
||||||
|
_query_url = APIHelper.clean_url(_query_builder) |
||||||
|
|
||||||
|
# Prepare headers |
||||||
|
_headers = { |
||||||
|
'accept': 'application/json' |
||||||
|
} |
||||||
|
|
||||||
|
# Prepare and execute request |
||||||
|
_request = self.http_client.delete(_query_url, headers=_headers) |
||||||
|
BasicAuth.apply(_request) |
||||||
|
_context = self.execute_request(_request) |
||||||
|
|
||||||
|
# Endpoint and global error handling using HTTP status codes. |
||||||
|
if _context.response.status_code == 401: |
||||||
|
raise ErrorException('Unauthorized – There was an issue with your API credentials.', _context) |
||||||
|
elif _context.response.status_code == 404: |
||||||
|
raise ErrorException('The specified resource was not found', _context) |
||||||
|
self.validate_response(_context) |
||||||
|
|
||||||
|
# Return appropriate type |
||||||
|
return APIHelper.json_deserialize(_context.response.raw_body) |
||||||
|
|
||||||
|
def associate(self, e911_id, did): |
||||||
|
"""Does a PATCH request to /v2/numbers/<did>/relationships/e911s/<e911_id>. |
||||||
|
|
||||||
|
Associates the specified e911 record with the specified did |
||||||
|
|
||||||
|
Args: |
||||||
|
e911_id (integer, required): the id of the e911 record to update |
||||||
|
did (string, required): the phone number to associate with |
||||||
|
|
||||||
|
Returns: |
||||||
|
mixed: Response from the API. A 204 - No Content or a |
||||||
|
JSON object ith error data |
||||||
|
|
||||||
|
Raises: |
||||||
|
APIException: When an error occurs while fetching the data from |
||||||
|
the remote API. This exception includes the HTTP Response |
||||||
|
code, an error message, and the HTTP body that was received in |
||||||
|
the request. |
||||||
|
|
||||||
|
""" |
||||||
|
# Prepare query URL |
||||||
|
_query_builder = Configuration.base_uri |
||||||
|
_query_builder += '/v2/numbers/{}/relationships/e911s/{}'.format(did, e911_id) |
||||||
|
|
||||||
|
# Return appropriate type |
||||||
|
_query_url = APIHelper.clean_url(_query_builder) |
||||||
|
|
||||||
|
# Prepare headers |
||||||
|
_headers = { |
||||||
|
'accept': 'application/json' |
||||||
|
} |
||||||
|
|
||||||
|
# Prepare and execute request |
||||||
|
_request = self.http_client.patch(_query_url, headers=_headers) |
||||||
|
BasicAuth.apply(_request) |
||||||
|
_context = self.execute_request(_request) |
||||||
|
|
||||||
|
# Endpoint and global error handling using HTTP status codes. |
||||||
|
if _context.response.status_code == 401: |
||||||
|
raise ErrorException('Unauthorized – There was an issue with your API credentials.', _context) |
||||||
|
elif _context.response.status_code == 404: |
||||||
|
raise ErrorException('The specified resource was not found', _context) |
||||||
|
self.validate_response(_context) |
||||||
|
|
||||||
|
# Return appropriate type |
||||||
|
return APIHelper.json_deserialize(_context.response.raw_body) |
||||||
|
|
||||||
|
def disconnect(self, e911_id, did): |
||||||
|
"""Does a DELETE request to /v2/numbers/<did>/relationships/e911s/<e911_id>. |
||||||
|
|
||||||
|
Un-Associates the specified e911 record with the specified did |
||||||
|
|
||||||
|
Args: |
||||||
|
e911_id (integer, required): the id of the e911 record to update |
||||||
|
did (string, required): the phone number to associate with |
||||||
|
|
||||||
|
Returns: |
||||||
|
mixed: Response from the API. A 204 - No Content or a |
||||||
|
JSON object ith error data |
||||||
|
|
||||||
|
Raises: |
||||||
|
APIException: When an error occurs while fetching the data from |
||||||
|
the remote API. This exception includes the HTTP Response |
||||||
|
code, an error message, and the HTTP body that was received in |
||||||
|
the request. |
||||||
|
|
||||||
|
""" |
||||||
|
# Prepare query URL |
||||||
|
_query_builder = Configuration.base_uri |
||||||
|
_query_builder += '/v2/numbers/{}/relationships/e911s/{}'.format(did, e911_id) |
||||||
|
|
||||||
|
# Return appropriate type |
||||||
|
_query_url = APIHelper.clean_url(_query_builder) |
||||||
|
|
||||||
|
# Prepare headers |
||||||
|
_headers = { |
||||||
|
'accept': 'application/json' |
||||||
|
} |
||||||
|
|
||||||
|
# Prepare and execute request |
||||||
|
_request = self.http_client.delete(_query_url, headers=_headers) |
||||||
|
BasicAuth.apply(_request) |
||||||
|
_context = self.execute_request(_request) |
||||||
|
|
||||||
|
# Endpoint and global error handling using HTTP status codes. |
||||||
|
if _context.response.status_code == 401: |
||||||
|
raise ErrorException('Unauthorized – There was an issue with your API credentials.', _context) |
||||||
|
elif _context.response.status_code == 404: |
||||||
|
raise ErrorException('The specified resource was not found', _context) |
||||||
|
self.validate_response(_context) |
||||||
|
|
||||||
|
# Return appropriate type |
||||||
|
return APIHelper.json_deserialize(_context.response.raw_body) |
||||||
|
|
||||||
|
def list_dids_for_e911(self, e911_id): |
||||||
|
"""Does a GET request to /v2/e911s/<e911_id>/relationships/numbers |
||||||
|
|
||||||
|
Lists all Did records associated with the specified E911 record |
||||||
|
|
||||||
|
Args: |
||||||
|
e911_id (integer, required): the id of the e911 record to query |
||||||
|
|
||||||
|
Returns: |
||||||
|
mixed: Response from the API. A JSON Object list with the associated |
||||||
|
DID records |
||||||
|
Raises: |
||||||
|
APIException: When an error occurs while fetching the data from |
||||||
|
the remote API. This exception includes the HTTP Response |
||||||
|
code, an error message, and the HTTP body that was received in |
||||||
|
the request. |
||||||
|
|
||||||
|
""" |
||||||
|
# Prepare query URL |
||||||
|
_query_builder = Configuration.base_uri |
||||||
|
_query_builder += '/v2/e911s/{}'.format(e911_id) |
||||||
|
_query_url = APIHelper.clean_url(_query_builder) |
||||||
|
|
||||||
|
# Prepare and execute request |
||||||
|
_request = self.http_client.get(_query_url) |
||||||
|
BasicAuth.apply(_request) |
||||||
|
_context = self.execute_request(_request) |
||||||
|
|
||||||
|
# Endpoint and global error handling using HTTP status codes. |
||||||
|
if _context.response.status_code == 401: |
||||||
|
raise ErrorException('Unauthorized – There was an issue with your API credentials.', _context) |
||||||
|
elif _context.response.status_code == 404: |
||||||
|
raise ErrorException('The specified resource was not found', _context) |
||||||
|
self.validate_response(_context) |
||||||
|
|
||||||
|
return APIHelper.json_deserialize(_context.response.raw_body) |
Loading…
Reference in new issue