class Bandwidth::PhoneNumberLookup::APIController

APIController

Public Class Methods

new(config, http_call_back: nil) click to toggle source
Calls superclass method Bandwidth::BaseController::new
# File lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/controllers/api_controller.rb, line 10
def initialize(config, http_call_back: nil)
  super(config, http_call_back: http_call_back)
end

Public Instance Methods

create_lookup_request(account_id, body) click to toggle source

Create a TN Lookup Order @param [String] account_id Required parameter: The ID of the Bandwidth account that the user belongs to. @param [OrderRequest] body Required parameter: Example: @return [OrderResponse] response from the API call

# File lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/controllers/api_controller.rb, line 19
def create_lookup_request(account_id,
                          body)
  # Prepare query url.
  _query_builder = config.get_base_uri(Server::PHONENUMBERLOOKUPDEFAULT)
  _query_builder << '/accounts/{accountId}/tnlookup'
  _query_builder = APIHelper.append_url_with_template_parameters(
    _query_builder,
    'accountId' => { 'value' => account_id, 'encode' => false }
  )
  _query_url = APIHelper.clean_url _query_builder

  # Prepare headers.
  _headers = {
    'accept' => 'application/json',
    'content-type' => 'application/json; charset=utf-8'
  }

  # Prepare and execute HttpRequest.
  _request = config.http_client.post(
    _query_url,
    headers: _headers,
    parameters: body.to_json
  )
  PhoneNumberLookupBasicAuth.apply(config, _request)
  _response = execute_request(_request)

  # Validate response against endpoint and global error codes.
  if _response.status_code == 400
    raise AccountsTnlookup400ErrorException.new(
      'Bad Request. Ensure that your request payload is properly' \
      ' formatted and that the telephone numbers used are valid.',
      _response
    )
  elsif _response.status_code == 401
    raise APIException.new(
      'Unauthorized. Ensure that you are using the proper credentials' \
      ' for the environment you are accessing, your user has' \
      ' the proper role assigned to it, and that your' \
      ' Bandwidth account is enabled for TN Lookup access.',
      _response
    )
  elsif _response.status_code == 415
    raise APIException.new(
      'Invalid content-type. Ensure that your content-type header is set' \
      ' to application/json.',
      _response
    )
  elsif _response.status_code == 429
    raise APIException.new(
      'Too Many Requests. Reduce the amount of requests that you are' \
      ' sending in order to avoid receiving this status code.',
      _response
    )
  elsif _response.status_code == 500
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 501
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 502
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 503
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 504
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 505
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 506
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 507
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 508
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 509
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 510
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 511
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 512
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 513
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 514
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 515
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 516
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 517
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 518
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 519
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 520
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 521
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 522
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 523
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 524
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 525
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 526
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 527
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 528
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 529
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 530
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 531
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 532
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 533
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 534
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 535
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 536
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 537
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 538
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 539
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 540
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 541
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 542
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 543
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 544
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 545
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 546
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 547
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 548
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 549
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 550
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 551
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 552
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 553
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 554
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 555
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 556
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 557
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 558
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 559
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 560
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 561
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 562
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 563
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 564
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 565
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 566
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 567
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 568
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 569
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 570
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 571
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 572
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 573
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 574
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 575
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 576
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 577
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 578
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 579
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 580
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 581
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 582
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 583
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 584
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 585
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 586
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 587
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 588
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 589
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 590
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 591
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 592
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 593
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 594
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 595
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 596
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 597
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 598
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 599
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  end
  validate_response(_response)

  # Return appropriate response type.
  decoded = APIHelper.json_deserialize(_response.raw_body)
  ApiResponse.new(
    _response, data: OrderResponse.from_hash(decoded)
  )
end
get_lookup_request_status(account_id, request_id) click to toggle source

Query an existing TN Lookup Order @param [String] account_id Required parameter: The ID of the Bandwidth account that the user belongs to. @param [String] request_id Required parameter: Example: @return [OrderStatus] response from the API call

# File lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/controllers/api_controller.rb, line 787
def get_lookup_request_status(account_id,
                              request_id)
  # Prepare query url.
  _query_builder = config.get_base_uri(Server::PHONENUMBERLOOKUPDEFAULT)
  _query_builder << '/accounts/{accountId}/tnlookup/{requestId}'
  _query_builder = APIHelper.append_url_with_template_parameters(
    _query_builder,
    'accountId' => { 'value' => account_id, 'encode' => false },
    'requestId' => { 'value' => request_id, 'encode' => false }
  )
  _query_url = APIHelper.clean_url _query_builder

  # Prepare headers.
  _headers = {
    'accept' => 'application/json'
  }

  # Prepare and execute HttpRequest.
  _request = config.http_client.get(
    _query_url,
    headers: _headers
  )
  PhoneNumberLookupBasicAuth.apply(config, _request)
  _response = execute_request(_request)

  # Validate response against endpoint and global error codes.
  if _response.status_code == 400
    raise APIException.new(
      'Bad Request. Ensure that you have set the requestId as a URL path' \
      ' parameter.',
      _response
    )
  elsif _response.status_code == 401
    raise APIException.new(
      'Unauthorized. Ensure that you are using the proper credentials' \
      ' for the environment you are accessing, your user has' \
      ' the proper role assigned to it, and that your' \
      ' Bandwidth account is enabled for TN Lookup access.',
      _response
    )
  elsif _response.status_code == 404
    raise APIException.new(
      'RequestId not found. Ensure that the requestId used in the URL' \
      ' path is valid and maps to a previous request that was' \
      ' submitted.',
      _response
    )
  elsif _response.status_code == 429
    raise APIException.new(
      'Too Many Requests. Reduce the amount of requests that you are' \
      ' sending in order to avoid receiving this status code.',
      _response
    )
  elsif _response.status_code == 500
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 501
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 502
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 503
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 504
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 505
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 506
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 507
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 508
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 509
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 510
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 511
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 512
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 513
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 514
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 515
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 516
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 517
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 518
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 519
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 520
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 521
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 522
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 523
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 524
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 525
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 526
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 527
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 528
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 529
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 530
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 531
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 532
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 533
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 534
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 535
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 536
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 537
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 538
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 539
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 540
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 541
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 542
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 543
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 544
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 545
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 546
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 547
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 548
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 549
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 550
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 551
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 552
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 553
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 554
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 555
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 556
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 557
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 558
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 559
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 560
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 561
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 562
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 563
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 564
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 565
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 566
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 567
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 568
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 569
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 570
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 571
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 572
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 573
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 574
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 575
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 576
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 577
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 578
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 579
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 580
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 581
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 582
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 583
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 584
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 585
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 586
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 587
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 588
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 589
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 590
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 591
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 592
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 593
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 594
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 595
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 596
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 597
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 598
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  elsif _response.status_code == 599
    raise APIException.new(
      'Unexpected error. Please contact Bandwidth Support if your' \
      ' requests are receiving this status code for an' \
      ' extended period of time.',
      _response
    )
  end
  validate_response(_response)

  # Return appropriate response type.
  decoded = APIHelper.json_deserialize(_response.raw_body)
  ApiResponse.new(
    _response, data: OrderStatus.from_hash(decoded)
  )
end