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.new_route import NewRoute
print("Number Control Demo")
print("Number/Route Management v2 & Messaging v2.1 Demo")
# Set up your api credentials
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)
#print ("---Create an Inbound Route")
#request_body = '{
# "data": {
# "type": "route",
# "attributes": {
# "route_type": "host",
# "value": "www.example.com",
# "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)
print ("---Create an Inbound Route")
request_body = '{ \
"data": { \
"type": "route", \
"attributes": { \
"route_type": "host", \
"value": "' + str(number_id) +'", \
"alias": "new_route_id" \
} \
} \
}'
result = routes_controller.create_an_inbound_route(request_body)
pprint.pprint(result)
@ -85,19 +83,46 @@ print ("---List Inbound Routes")
result = routes_controller.list_inbound_routes()
pprint.pprint(result)
#print ("---Update Primary Voice Route")
#routeid = result['data'][1]['id']
#result = routes_controller.update_primary_voice_route()
#pprint.pprint(result)
#
#print ("---Update Failover Voice Route")
#routeid = result['data'][2]['id']
#result = routes_controller.update_failover_voice_route()
#pprint.pprint(result)
request_body = '{ \
"data": { \
"type": "route", \
"id": "87050" \
} \
}'
print ("---Update Primary Voice Route")
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")
#result = messages_controller.send_a_message()
#pprint.pprint(result)
print ("---Update Failover Voice Route")
routeid = result['data'][2]['id']
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")
message_id = "mdr2-ca82be46e6ba11e79d08862d092cf73d"
@ -105,5 +130,5 @@ result = messages_controller.look_up_a_message_detail_record(message_id)
pprint.pprint(result)
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)

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

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

@ -12,14 +12,14 @@ from ..configuration import Configuration
from ..http.auth.basic_auth import BasicAuth
from ..exceptions.error_exception import ErrorException
from ..exceptions.api_exception import APIException
import json
class RoutesController(BaseController):
"""A Controller to access Endpoints in the flowroutenumbersandmessaging API."""
def create_an_inbound_route(self,
body):
def create_an_inbound_route(self, body):
"""Does a POST request to /v2/routes.
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.
Returns:
void: Response from the API. CREATED
string: Response from the API. CREATED
Raises:
APIException: When an error occurs while fetching the data from
@ -51,9 +51,10 @@ class RoutesController(BaseController):
}
# 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)
_context = self.execute_request(_request)
print _context.response.status_code
# Endpoint and global error handling using HTTP status codes.
if _context.response.status_code == 401:
@ -62,6 +63,9 @@ class RoutesController(BaseController):
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_inbound_routes(self,
limit=None,
offset=None):
@ -118,9 +122,7 @@ class RoutesController(BaseController):
return APIHelper.json_deserialize(_context.response.raw_body)
def update_primary_voice_route(self,
number_id,
body):
def update_primary_voice_route(self, number_id, body):
"""Does a PATCH request to /v2/numbers/{number_id}/relationships/primary_route.
Use this endpoint to update the primary voice route for a phone
@ -147,13 +149,13 @@ class RoutesController(BaseController):
# Prepare query URL
_query_builder = Configuration.base_uri
_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
})
_query_url = APIHelper.clean_url(_query_builder)
# 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)
_context = self.execute_request(_request)
@ -194,13 +196,13 @@ class RoutesController(BaseController):
# Prepare query URL
_query_builder = Configuration.base_uri
_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
})
_query_url = APIHelper.clean_url(_query_builder)
# 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)
_context = self.execute_request(_request)

Loading…
Cancel
Save