Fix Messaging and Route Controller issues, update demo to include missing function calls

e911_addr
Maria Bermudez 7 years ago
parent 75490954b4
commit e07a914710
  1. 81
      demo.py
  2. 13
      flowroutenumbersandmessaging/controllers/messages_controller.py
  3. 2
      flowroutenumbersandmessaging/controllers/numbers_controller.py
  4. 24
      flowroutenumbersandmessaging/controllers/routes_controller.py

@ -6,7 +6,7 @@ from flowroutenumbersandmessaging.flowroutenumbersandmessaging_client import Flo
from flowroutenumbersandmessaging.models import * from flowroutenumbersandmessaging.models import *
from flowroutenumbersandmessaging.models.new_route import NewRoute from flowroutenumbersandmessaging.models.new_route import NewRoute
print("Number Control Demo") print("Number/Route Management v2 & Messaging v2.1 Demo")
# Set up your api credentials # Set up your api credentials
basic_auth_user_name = os.environ.get('FR_ACCESS_KEY') basic_auth_user_name = os.environ.get('FR_ACCESS_KEY')
@ -64,20 +64,18 @@ result = numbers_controller.list_account_phone_numbers(starts_with, ends_with, c
pprint.pprint(result) pprint.pprint(result)
#print ("---Create an Inbound Route") print ("---Create an Inbound Route")
#request_body = '{ request_body = '{ \
# "data": { "data": { \
# "type": "route", "type": "route", \
# "attributes": { "attributes": { \
# "route_type": "host", "route_type": "host", \
# "value": "www.example.com", "value": "' + str(number_id) +'", \
# "alias": "new_route_id" "alias": "new_route_id" \
# } } \
# } } \
#}' }'
#routepost = NewRoute(json.dumps({"data": {"type": "route", "attributes": {"route_type": "host", "value": "13471654563", "alias": "new_route_56"}}}))
#result = routes_controller.create_an_inbound_route(routepost)
result = routes_controller.create_an_inbound_route(request_body) result = routes_controller.create_an_inbound_route(request_body)
pprint.pprint(result) pprint.pprint(result)
@ -85,19 +83,46 @@ print ("---List Inbound Routes")
result = routes_controller.list_inbound_routes() result = routes_controller.list_inbound_routes()
pprint.pprint(result) pprint.pprint(result)
#print ("---Update Primary Voice Route") request_body = '{ \
#routeid = result['data'][1]['id'] "data": { \
#result = routes_controller.update_primary_voice_route() "type": "route", \
#pprint.pprint(result) "id": "87050" \
# } \
#print ("---Update Failover Voice Route") }'
#routeid = result['data'][2]['id']
#result = routes_controller.update_failover_voice_route() print ("---Update Primary Voice Route")
#pprint.pprint(result) routeid = result['data'][1]['id']
result = routes_controller.update_primary_voice_route(number_id, request_body)
pprint.pprint(result)
request_body = '{ \
"data": { \
"type": "route", \
"id": "87051" \
} \
}'
#print ("---Send A Message") print ("---Update Failover Voice Route")
#result = messages_controller.send_a_message() routeid = result['data'][2]['id']
#pprint.pprint(result) result = routes_controller.update_failover_voice_route(number_id, request_body)
pprint.pprint(result)
request_body = '{ \
"data": { \
"type": "message", \
"attributes": { \
"to": "12067392634", \
"from": "' + str(testnumber) + '", \
"body": "hello there", \
"is_mms": "true", \
"media_urls": ["http://s3.amazonaws.com/barkpost-assets/50+GIFs/37.gif"] \
} \
} \
}'
print ("---Send A Message")
result = messages_controller.send_a_message(request_body)
pprint.pprint(result)
print ("---Look Up A Message Detail Record") print ("---Look Up A Message Detail Record")
message_id = "mdr2-ca82be46e6ba11e79d08862d092cf73d" message_id = "mdr2-ca82be46e6ba11e79d08862d092cf73d"
@ -105,5 +130,5 @@ result = messages_controller.look_up_a_message_detail_record(message_id)
pprint.pprint(result) pprint.pprint(result)
print ("---Look Up A Set Of Messages") print ("---Look Up A Set Of Messages")
result = messages_controller.look_up_a_set_of_messages() result = messages_controller.look_up_a_set_of_messages('2017-12-31')
pprint.pprint(result) pprint.pprint(result)

@ -12,6 +12,7 @@ from ..configuration import Configuration
from ..http.auth.basic_auth import BasicAuth from ..http.auth.basic_auth import BasicAuth
from ..models.mdr_2 import MDR2 from ..models.mdr_2 import MDR2
from ..exceptions.error_exception import ErrorException from ..exceptions.error_exception import ErrorException
import json
class MessagesController(BaseController): class MessagesController(BaseController):
@ -53,13 +54,17 @@ class MessagesController(BaseController):
the request. the request.
""" """
parsed_end_date = None
if end_date is not None:
parsed_end_date = APIHelper.RFC3339DateTime(end_date)
# Prepare query URL # Prepare query URL
_query_builder = Configuration.base_uri _query_builder = Configuration.base_uri
_query_builder += '/v2.1/messages' _query_builder += '/v2.1/messages'
_query_parameters = { _query_parameters = {
'start_date': APIHelper.RFC3339DateTime(start_date), 'start_date': APIHelper.RFC3339DateTime(start_date),
'end_date': APIHelper.RFC3339DateTime(end_date), 'end_date': parsed_end_date,
'limit': limit, 'limit': limit,
'offset': offset 'offset': offset
} }
@ -165,12 +170,12 @@ class MessagesController(BaseController):
# Prepare headers # Prepare headers
_headers = { _headers = {
'accept': 'application/json', 'accept': 'application/vnd.api+json',
'content-type': 'application/json; charset=utf-8' 'content-type': 'application/vnd.api+json; charset=utf-8'
} }
# Prepare and execute request # Prepare and execute request
_request = self.http_client.post(_query_url, headers=_headers, parameters=APIHelper.json_serialize(body)) _request = self.http_client.post(_query_url, headers=_headers, parameters=APIHelper.json_serialize(json.loads(body)))
BasicAuth.apply(_request) BasicAuth.apply(_request)
_context = self.execute_request(_request) _context = self.execute_request(_request)

@ -318,6 +318,8 @@ class NumbersController(BaseController):
_query_builder = APIHelper.append_url_with_template_parameters(_query_builder, { _query_builder = APIHelper.append_url_with_template_parameters(_query_builder, {
'id': id 'id': id
}) })
# Return appropriate type
return APIHelper.json_deserialize(_context.response.raw_body)
_query_url = APIHelper.clean_url(_query_builder) _query_url = APIHelper.clean_url(_query_builder)
# Prepare headers # Prepare headers

@ -12,14 +12,14 @@ from ..configuration import Configuration
from ..http.auth.basic_auth import BasicAuth from ..http.auth.basic_auth import BasicAuth
from ..exceptions.error_exception import ErrorException from ..exceptions.error_exception import ErrorException
from ..exceptions.api_exception import APIException from ..exceptions.api_exception import APIException
import json
class RoutesController(BaseController): class RoutesController(BaseController):
"""A Controller to access Endpoints in the flowroutenumbersandmessaging API.""" """A Controller to access Endpoints in the flowroutenumbersandmessaging API."""
def create_an_inbound_route(self, def create_an_inbound_route(self, body):
body):
"""Does a POST request to /v2/routes. """Does a POST request to /v2/routes.
Creates a new inbound route which can then be associated with phone Creates a new inbound route which can then be associated with phone
@ -30,7 +30,7 @@ class RoutesController(BaseController):
body (NewRoute): The new inbound route to be created. body (NewRoute): The new inbound route to be created.
Returns: Returns:
void: Response from the API. CREATED string: Response from the API. CREATED
Raises: Raises:
APIException: When an error occurs while fetching the data from APIException: When an error occurs while fetching the data from
@ -51,9 +51,10 @@ class RoutesController(BaseController):
} }
# Prepare and execute request # Prepare and execute request
_request = self.http_client.post(_query_url, headers=_headers, parameters=APIHelper.json_serialize(body)) _request = self.http_client.post(_query_url, headers=_headers, parameters=APIHelper.json_serialize(json.loads(body)))
BasicAuth.apply(_request) BasicAuth.apply(_request)
_context = self.execute_request(_request) _context = self.execute_request(_request)
print _context.response.status_code
# Endpoint and global error handling using HTTP status codes. # Endpoint and global error handling using HTTP status codes.
if _context.response.status_code == 401: if _context.response.status_code == 401:
@ -62,6 +63,9 @@ class RoutesController(BaseController):
raise ErrorException('The specified resource was not found', _context) raise ErrorException('The specified resource was not found', _context)
self.validate_response(_context) self.validate_response(_context)
# Return appropriate type
return APIHelper.json_deserialize(_context.response.raw_body)
def list_inbound_routes(self, def list_inbound_routes(self,
limit=None, limit=None,
offset=None): offset=None):
@ -118,9 +122,7 @@ class RoutesController(BaseController):
return APIHelper.json_deserialize(_context.response.raw_body) return APIHelper.json_deserialize(_context.response.raw_body)
def update_primary_voice_route(self, def update_primary_voice_route(self, number_id, body):
number_id,
body):
"""Does a PATCH request to /v2/numbers/{number_id}/relationships/primary_route. """Does a PATCH request to /v2/numbers/{number_id}/relationships/primary_route.
Use this endpoint to update the primary voice route for a phone Use this endpoint to update the primary voice route for a phone
@ -147,13 +149,13 @@ class RoutesController(BaseController):
# Prepare query URL # Prepare query URL
_query_builder = Configuration.base_uri _query_builder = Configuration.base_uri
_query_builder += '/v2/numbers/{number_id}/relationships/primary_route' _query_builder += '/v2/numbers/{number_id}/relationships/primary_route'
_query_builder = APIHelper.append_url_with_template_parameters(_query_builder, { _query_builder = APIHelper.append_url_with_template_parameters(_query_builder, {
'number_id': number_id 'number_id': number_id
}) })
_query_url = APIHelper.clean_url(_query_builder) _query_url = APIHelper.clean_url(_query_builder)
# Prepare and execute request # Prepare and execute request
_request = self.http_client.patch(_query_url, parameters=str(body)) _request = self.http_client.patch(_query_url, parameters=APIHelper.json_serialize(json.loads(body)))
BasicAuth.apply(_request) BasicAuth.apply(_request)
_context = self.execute_request(_request) _context = self.execute_request(_request)
@ -194,13 +196,13 @@ class RoutesController(BaseController):
# Prepare query URL # Prepare query URL
_query_builder = Configuration.base_uri _query_builder = Configuration.base_uri
_query_builder += '/v2/numbers/{number_id}/relationships/failover_route' _query_builder += '/v2/numbers/{number_id}/relationships/failover_route'
_query_builder = APIHelper.append_url_with_template_parameters(_query_builder, { _query_builder = APIHelper.append_url_with_template_parameters(_query_builder, {
'number_id': number_id 'number_id': number_id
}) })
_query_url = APIHelper.clean_url(_query_builder) _query_url = APIHelper.clean_url(_query_builder)
# Prepare and execute request # Prepare and execute request
_request = self.http_client.patch(_query_url, parameters=str(body)) _request = self.http_client.patch(_query_url, parameters=APIHelper.json_serialize(json.loads(body)))
BasicAuth.apply(_request) BasicAuth.apply(_request)
_context = self.execute_request(_request) _context = self.execute_request(_request)

Loading…
Cancel
Save