From 331d6635e75e35a0c0953f84aec497805ba39660 Mon Sep 17 00:00:00 2001 From: jmulford-bw <39915377+jmulford-bw@users.noreply.github.com> Date: Thu, 30 Jan 2020 13:58:21 -0500 Subject: [PATCH 01/15] Dx 920 (#52) * First stab at importTnOrders endpoints * Broke up models into 2 classes * Fixed syntax, updated readme with code example * Added tests --- README.md | 37 ++++++++++++++++++-- composer.json | 2 +- src/Account.php | 25 ++++++++++++++ src/simpleModels/ImportTnOrder.php | 27 +++++++++++++++ src/simpleModels/ImportTnOrderResponse.php | 15 ++++++++ tests/AccountTest.php | 40 ++++++++++++++++++++++ 6 files changed, 143 insertions(+), 3 deletions(-) create mode 100644 src/simpleModels/ImportTnOrder.php create mode 100644 src/simpleModels/ImportTnOrderResponse.php diff --git a/README.md b/README.md index 45af7be..faeb404 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ PHP Client library for Bandwidth's Phone Number Dashboard (AKA: Dashboard, Iris) | 2.0.6 | Build `ReportsModel` functionality | | 2.0.7 | Fixed error handling for Errors fields | | 2.0.8 | Fixed rate center check | +| 2.1.0 | Added `importTnOrders` endpoints | ## Supported PHP Versions @@ -45,8 +46,8 @@ $client = new \Iris\Client($login, $password, ['url' => 'https://dashboard.bandw ## Run tests ```bash -$ composer install -$ php ./bin/phpunit --bootstrap ./vendor/autoload.php tests/ +composer install +php ./bin/phpunit --bootstrap ./vendor/autoload.php tests/ ``` ======= ## Examples @@ -600,3 +601,35 @@ $data = array( ); $tnoptions->create($data); ``` + +## Import TN Orders + +### Get Import TN Orders +```PHP +$account->getImportTnOrders(array( + "createdDateFrom" => "2013-10-22T00:00:00.000Z", + "createdDateTo" => "2013-10-25T00:00:00.000Z" +)); +``` + +### Create Import TN Order +```PHP +$importTnOrder = new \Iris\ImportTnOrder(array( + "CustomerOrderId" => "custom string", + "TelephoneNumbers" => array( + "TelephoneNumber" => array("+15554443333", "+15553332222") + ) +)); + +$account->createImportTnOrder($importTnOrder); +``` + +### Get Import TN Order By ID +```PHP +$account->getImportTnOrder("some_id_value"); +``` + +### Get Import TN Order History +```PHP +$account->getImportTnOrderHistory("some_id_value"); +``` diff --git a/composer.json b/composer.json index 0b0842f..2633d92 100644 --- a/composer.json +++ b/composer.json @@ -4,7 +4,7 @@ "description": "Bandwidth's Iris SDK for PHP", "keywords": ["iris","sdk","php"], "homepage": "http://dev.bandwidth.com", - "reference": "v2.0.6", + "reference": "v2.1.0", "license": "MIT", "authors": [ ], diff --git a/src/Account.php b/src/Account.php index 04a93f9..617ae37 100644 --- a/src/Account.php +++ b/src/Account.php @@ -250,4 +250,29 @@ public function get_relative_namespace() { public function get_rest_client() { return $this->client; } + + public function getImportTnOrders($filters = array()) { + $url = sprintf('%s/%s', $this->account_id, 'importTnOrders'); + $response = parent::_get($url, $filters); + return new ImportTnOrderResponse($response); + } + + public function createImportTnOrder(ImportTnOrder $order) { + $url = sprintf('%s/%s', $this->account_id, 'importTnOrders'); + $data = parent::post($url, 'ImportTnOrder', $order->to_array()); + return new ImportTnOrderResponse($data); + } + + public function getImportTnOrder($id) { + $url = sprintf('%s/%s/%s', $this->account_id, 'importTnOrders', $id); + $response = parent::_get($url); + return new ImportTnOrderResponse($response); + } + + public function getImportTnOrderHistory($id) { + $url = sprintf('%s/%s/%s/%s', $this->account_id, 'importTnOrders', $id, 'history'); + $response = parent::_get($url); + //TODO: Figure out the actual response object + return $response; + } } diff --git a/src/simpleModels/ImportTnOrder.php b/src/simpleModels/ImportTnOrder.php new file mode 100644 index 0000000..14eb756 --- /dev/null +++ b/src/simpleModels/ImportTnOrder.php @@ -0,0 +1,27 @@ + array("type" => "string"), + "OrderCreateDate" => array("type" => "string"), + "AccountId" => array("type" => "string"), + "CreatedByUser" => array("type" => "string"), + "OrderId" => array("type" => "string"), + "LastModifiedDate" => array("type" => "string"), + "SiteId" => array("type" => "string"), + "SipPeerId" => array("type" => "string"), + "Subscriber" => array("type" => "\Iris\Subscriber"), + "LoaAuthorizingPerson" => array("type" => "string"), + "ProcessingStatus" => array("type" => "string"), + "Errors" => array("type" => "\Iris\Error"), + "TelephoneNumbers" => array("type" => "\Iris\Phones") + ); + + public function __construct($data) { + $this->set_data($data); + } +} diff --git a/src/simpleModels/ImportTnOrderResponse.php b/src/simpleModels/ImportTnOrderResponse.php new file mode 100644 index 0000000..6b957a3 --- /dev/null +++ b/src/simpleModels/ImportTnOrderResponse.php @@ -0,0 +1,15 @@ + array("type" => "\Iris\ImportTnOrder") + ); + + public function __construct($data) { + $this->set_data($data); + } +} diff --git a/tests/AccountTest.php b/tests/AccountTest.php index 3099da7..859d6c0 100644 --- a/tests/AccountTest.php +++ b/tests/AccountTest.php @@ -59,6 +59,39 @@ public static function setUpBeforeClass() { new Response(201, ['Location' => 'https://api.test.inetwork.com:443/v1.0/accounts/9500249/billingreports/a12b456c8-abcd-1a3b-a1b2-0a2b4c6d8e0f2'], 'RECEIVEDThe report archive is currently being constructed.'), new Response(200, ['Location' => 'https://api.test.inetwork.com:443/v1.0/accounts/9500249/billingreports/a12b456c8-abcd-1a3b-a1b2-0a2b4c6d8e0f2/file'], 'COMPLETEDThe report archive is constructed.'), new Response(200, ['Content-Type' => 'application/zip'], 'zipcontent'), + new Response(200, [], " + + + SJM000001 + 2018-01-20T02:59:54.000Z + 9900012 + smckinnon + b05de7e6-0cab-4c83-81bb-9379cba8efd0 + 2018-01-20T02:59:54.000Z + 202 + 520565 + + ABC Inc. + + 11235 + Back + Denver + CO + 27541 + Canyon + + + The Authguy + + 9199918388 + 4158714245 + 4352154439 + 4352154466 + + PROCESSING + + + "), ]); self::$container = []; @@ -278,4 +311,11 @@ public function testBillingReportReadyAndDownload() { $this->assertEquals("https://api.test.inetwork.com/v1.0/accounts/9500249/billingreports/a12b456c8-abcd-1a3b-a1b2-0a2b4c6d8e0f2/file", self::$container[self::$index]['request']->getUri()); self::$index++; } + + public function testGetImportTnOrder() { + $importTnOrderResponse = self::$account->getImportTnOrder("b05de7e6-0cab-4c83-81bb-9379cba8efd0"); + + $this->assertEquals("b05de7e6-0cab-4c83-81bb-9379cba8efd0", $importTnOrderResponse->ImportTnOrder->OrderId); + self::$index++; + } } From bb3d08a20014b7709c1dcf39dac293ad4cf613d5 Mon Sep 17 00:00:00 2001 From: jmulford-bw <39915377+jmulford-bw@users.noreply.github.com> Date: Thu, 30 Jan 2020 15:21:13 -0500 Subject: [PATCH 02/15] Added POST /importTnChecker (#53) --- README.md | 5 +++++ src/Account.php | 14 ++++++++++++++ src/simpleModels/ImportTnCheckerPayload.php | 16 ++++++++++++++++ src/simpleModels/ImportTnCheckerResponse.php | 16 ++++++++++++++++ src/simpleModels/ImportTnError.php | 17 +++++++++++++++++ 5 files changed, 68 insertions(+) create mode 100644 src/simpleModels/ImportTnCheckerPayload.php create mode 100644 src/simpleModels/ImportTnCheckerResponse.php create mode 100644 src/simpleModels/ImportTnError.php diff --git a/README.md b/README.md index faeb404..dac8ecc 100644 --- a/README.md +++ b/README.md @@ -633,3 +633,8 @@ $account->getImportTnOrder("some_id_value"); ```PHP $account->getImportTnOrderHistory("some_id_value"); ``` + +### Check TNs Portability +```PHP +$account->checkTnsPortability(array("+15554443333", "+15553334444")); +``` diff --git a/src/Account.php b/src/Account.php index 617ae37..cb4f4a3 100644 --- a/src/Account.php +++ b/src/Account.php @@ -254,18 +254,21 @@ public function get_rest_client() { public function getImportTnOrders($filters = array()) { $url = sprintf('%s/%s', $this->account_id, 'importTnOrders'); $response = parent::_get($url, $filters); + //TODO: Confirm the actual response object return new ImportTnOrderResponse($response); } public function createImportTnOrder(ImportTnOrder $order) { $url = sprintf('%s/%s', $this->account_id, 'importTnOrders'); $data = parent::post($url, 'ImportTnOrder', $order->to_array()); + //TODO: Confirm the actual response object return new ImportTnOrderResponse($data); } public function getImportTnOrder($id) { $url = sprintf('%s/%s/%s', $this->account_id, 'importTnOrders', $id); $response = parent::_get($url); + //TODO: Confirm the actual response object return new ImportTnOrderResponse($response); } @@ -275,4 +278,15 @@ public function getImportTnOrderHistory($id) { //TODO: Figure out the actual response object return $response; } + + public function checkTnsPortability($tns) { + $url = sprintf('%s/%s', $this->account_id, 'importTnChecker'); + $payload = new ImportTnCheckerPayload(array( + "TelephoneNumbers" => array( + "TelephoneNumber" => $tns + ))); + $data = parent::post($url, 'ImportTnCheckerPayload', $payload->to_array()); + //TODO: Confirm the actual response object + return new ImportTnCheckerResponse($data); + } } diff --git a/src/simpleModels/ImportTnCheckerPayload.php b/src/simpleModels/ImportTnCheckerPayload.php new file mode 100644 index 0000000..e974fce --- /dev/null +++ b/src/simpleModels/ImportTnCheckerPayload.php @@ -0,0 +1,16 @@ + array("type" => "\Iris\Phones"), + "ImportTnErrors" => array("type" => "\Iris\ImportTnError") + ); + + public function __construct($data) { + $this->set_data($data); + } +} diff --git a/src/simpleModels/ImportTnCheckerResponse.php b/src/simpleModels/ImportTnCheckerResponse.php new file mode 100644 index 0000000..bc24d49 --- /dev/null +++ b/src/simpleModels/ImportTnCheckerResponse.php @@ -0,0 +1,16 @@ + array("type" => "\Iris\ImportTnCheckerPayload"), + "Errors" => array("type" => "\Iris\Error") + ); + + public function __construct($data) { + $this->set_data($data); + } +} diff --git a/src/simpleModels/ImportTnError.php b/src/simpleModels/ImportTnError.php new file mode 100644 index 0000000..a06caac --- /dev/null +++ b/src/simpleModels/ImportTnError.php @@ -0,0 +1,17 @@ + array("type" => "\Iris\Phones"), + "Code" => array("type" => "string"), + "Description" => array("type" => "string") + ); + + public function __construct($data) { + $this->set_data($data); + } +} From 20eced9a13b495cd0d526366cd4be07c91b6ba14 Mon Sep 17 00:00:00 2001 From: jmulford-bandwidth Date: Thu, 30 Jan 2020 15:49:15 -0500 Subject: [PATCH 03/15] DX-930 added inservice numbers endpoints --- README.md | 12 +++++++++++- src/Account.php | 13 +++++++++++++ src/simpleModels/Links.php | 17 +++++++++++++++++ src/simpleModels/Phones.php | 3 ++- src/simpleModels/TNs.php | 17 +++++++++++++++++ 5 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 src/simpleModels/Links.php create mode 100644 src/simpleModels/TNs.php diff --git a/README.md b/README.md index dac8ecc..6b4004e 100644 --- a/README.md +++ b/README.md @@ -602,7 +602,7 @@ $data = array( $tnoptions->create($data); ``` -## Import TN Orders +## Hosted Messaging Functions ### Get Import TN Orders ```PHP @@ -638,3 +638,13 @@ $account->getImportTnOrderHistory("some_id_value"); ```PHP $account->checkTnsPortability(array("+15554443333", "+15553334444")); ``` + +### Get In Service Numbers +```PHP +$account->getInserviceNumbers(array("areacode" => "919")); +``` + +### Check In Service Number +```PHP +$account->checkInserviceNumber("5554443333"); +``` diff --git a/src/Account.php b/src/Account.php index cb4f4a3..bb68248 100644 --- a/src/Account.php +++ b/src/Account.php @@ -289,4 +289,17 @@ public function checkTnsPortability($tns) { //TODO: Confirm the actual response object return new ImportTnCheckerResponse($data); } + + public function getInserviceNumbers($filters = array()) { + $url = sprintf('%s/%s', $this->account_id, 'inserviceNumbers'); + $response = parent::_get($url, $filters); + //TODO: Confirm the actual response object + return new TNs($response); + } + + public function checkInserviceNumber($tn) { + $url = sprintf('%s/%s/%s', $this->account_id, 'inserviceNumbers', $tn); + $response = parent::_get($url); + return $response; + } } diff --git a/src/simpleModels/Links.php b/src/simpleModels/Links.php new file mode 100644 index 0000000..8780415 --- /dev/null +++ b/src/simpleModels/Links.php @@ -0,0 +1,17 @@ + array("type" => "string"), + "next" => array("type" => "string"), + "last" => array("type" => "string") + ); + + public function __construct($data) { + $this->set_data($data, true); + } +} diff --git a/src/simpleModels/Phones.php b/src/simpleModels/Phones.php index ddcae82..1cb0dfd 100644 --- a/src/simpleModels/Phones.php +++ b/src/simpleModels/Phones.php @@ -8,7 +8,8 @@ class Phones { protected $fields = array( "PhoneNumber" => array("type" => "string"), "TelephoneNumber" => array("type" => "string"), - "FullNumber" => array("type" => "string") + "FullNumber" => array("type" => "string"), + "Count" => array("type" => "integer") ); public function __construct($data) { diff --git a/src/simpleModels/TNs.php b/src/simpleModels/TNs.php new file mode 100644 index 0000000..f8f8f16 --- /dev/null +++ b/src/simpleModels/TNs.php @@ -0,0 +1,17 @@ + array("type" => "integer"), + "TelephoneNumbers" => array("type" => "\Iris\Phones"), + "Links" => array("type" => "\Iris\Links") + ); + + public function __construct($data) { + $this->set_data($data, true); + } +} From 11412dc0885e18a374bda155f9eeb7a2d1ad865b Mon Sep 17 00:00:00 2001 From: jmulford-bandwidth Date: Thu, 30 Jan 2020 16:33:20 -0500 Subject: [PATCH 04/15] DX-935 Removed Imported TN Orders endpoints --- README.md | 30 +++++++++++++++++++ src/Account.php | 28 +++++++++++++++++ src/simpleModels/RemoveImportedTnOrder.php | 23 ++++++++++++++ .../RemoveImportedTnOrderResponse.php | 17 +++++++++++ 4 files changed, 98 insertions(+) create mode 100644 src/simpleModels/RemoveImportedTnOrder.php create mode 100644 src/simpleModels/RemoveImportedTnOrderResponse.php diff --git a/README.md b/README.md index 6b4004e..fdf11ba 100644 --- a/README.md +++ b/README.md @@ -648,3 +648,33 @@ $account->getInserviceNumbers(array("areacode" => "919")); ```PHP $account->checkInserviceNumber("5554443333"); ``` + +### Get Remove Imported TN Orders +```PHP +$account->getRemoveImportedTnOrders(array( + "createdDateFrom" => "2013-10-22T00:00:00.000Z", + "createdDateTo" => "2013-10-25T00:00:00.000Z" +)); +``` + +### Create A Remove Imported TN Order +```PHP +$removeImportedTnOrder = new \Iris\RemoveImportedTnOrder(array( + "CustomerOrderId" => "custom string", + "TelephoneNumbers" => array( + "TelephoneNumber" => array("+15554443333", "+15553332222") + ) +)); + +$account->createRemoveImportedTnOrder($removeImportedTnOrder); +``` + +### Get Removed Imported TN Order +```PHP +$account->getRemoveImportedTnOrder("some_id_value"); +``` + +### Get Removed Imported TN Order History +```PHP +$account->getRemoveImportedTnOrderHistory("some_id_value"); +``` diff --git a/src/Account.php b/src/Account.php index bb68248..ab4f5ab 100644 --- a/src/Account.php +++ b/src/Account.php @@ -302,4 +302,32 @@ public function checkInserviceNumber($tn) { $response = parent::_get($url); return $response; } + + public function getRemoveImportedTnOrders($filters = array()) { + $url = sprintf('%s/%s', $this->account_id, 'removeImportedTnOrders'); + $response = parent::_get($url, $filters); + //TODO: Confirm the actual response object + return new RemoveImportedTnOrderResponse($response); + } + + public function createRemoveImportedTnOrder(RemoveImportedTnOrder $order) { + $url = sprintf('%s/%s', $this->account_id, 'removeImportedTnOrders'); + $data = parent::post($url, 'RemoveImportedTnOrder', $order->to_array()); + //TODO: Confirm the actual response object + return new RemoveImportedTnOrderResponse($data); + } + + public function getRemoveImportedTnOrder($id) { + $url = sprintf('%s/%s/%s', $this->account_id, 'removeImportedTnOrders', $id); + $response = parent::_get($url); + //TODO: Confirm the actual response object + return new RemoveImportedTnOrderResponse($response); + } + + public function getRemoveImportedTnOrderHistory($id) { + $url = sprintf('%s/%s/%s/%s', $this->account_id, 'removeImportedTnOrders', $id, 'history'); + $response = parent::_get($url); + //TODO: Figure out the actual response object + return $response; + } } diff --git a/src/simpleModels/RemoveImportedTnOrder.php b/src/simpleModels/RemoveImportedTnOrder.php new file mode 100644 index 0000000..21995f8 --- /dev/null +++ b/src/simpleModels/RemoveImportedTnOrder.php @@ -0,0 +1,23 @@ + array("type" => "string"), + "OrderCreateDate" => array("type" => "string"), + "AccountId" => array("type" => "string"), + "CreatedByUser" => array("type" => "string"), + "OrderId" => array("type" => "string"), + "LastModifiedDate" => array("type" => "string"), + "ProcessingStatus" => array("type" => "string"), + "Errors" => array("type" => "\Iris\Error"), + "TelephoneNumbers" => array("type" => "\Iris\Phones") + ); + + public function __construct($data) { + $this->set_data($data); + } +} diff --git a/src/simpleModels/RemoveImportedTnOrderResponse.php b/src/simpleModels/RemoveImportedTnOrderResponse.php new file mode 100644 index 0000000..8eb61dc --- /dev/null +++ b/src/simpleModels/RemoveImportedTnOrderResponse.php @@ -0,0 +1,17 @@ + array("type" => "\Iris\RemoveImportedTnOrder"), + "Errors" => array("type" => "\Iris\Error"), + "ProcessingStatus" => array("type" => "string") + ); + + public function __construct($data) { + $this->set_data($data); + } +} From cc967386a1b6ae93c028062822af36c68a68973f Mon Sep 17 00:00:00 2001 From: jmulford-bandwidth Date: Thu, 30 Jan 2020 16:37:19 -0500 Subject: [PATCH 05/15] Updated release notes --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fdf11ba..215688f 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ PHP Client library for Bandwidth's Phone Number Dashboard (AKA: Dashboard, Iris) | 2.0.6 | Build `ReportsModel` functionality | | 2.0.7 | Fixed error handling for Errors fields | | 2.0.8 | Fixed rate center check | -| 2.1.0 | Added `importTnOrders` endpoints | +| 2.1.0 | Added `importTnOrders`, `removeImportedTnOrders`, `inserviceNumbers`, and `importTnChecker` endpoints | ## Supported PHP Versions From 73410c8537f2f5e339e8d9fcc217decc6394ca19 Mon Sep 17 00:00:00 2001 From: jmulford-bandwidth Date: Thu, 30 Jan 2020 16:50:44 -0500 Subject: [PATCH 06/15] Added RemoveImportedTnOrder test --- tests/AccountTest.php | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/tests/AccountTest.php b/tests/AccountTest.php index 859d6c0..e20a42e 100644 --- a/tests/AccountTest.php +++ b/tests/AccountTest.php @@ -92,6 +92,25 @@ public static function setUpBeforeClass() { "), + new Response(200, [], " + + + SJM000001 + 2018-01-20T02:59:54.000Z + 9900012 + smckinnon + b05de7e6-0cab-4c83-81bb-9379cba8efd0 + 2018-01-20T02:59:54.000Z + + 9199918388 + 4158714245 + 4352154439 + 4352154466 + + PROCESSING + + + "), ]); self::$container = []; @@ -318,4 +337,11 @@ public function testGetImportTnOrder() { $this->assertEquals("b05de7e6-0cab-4c83-81bb-9379cba8efd0", $importTnOrderResponse->ImportTnOrder->OrderId); self::$index++; } + + public function testRemoveImportedTnOrder() { + $removeImportedTnOrderResponse = self::$account->getRemoveImportedTnOrder("b05de7e6-0cab-4c83-81bb-9379cba8efd0"); + + $this->assertEquals("b05de7e6-0cab-4c83-81bb-9379cba8efd0", $removeImportedTnOrderResponse->RemoveImportedTnOrder->OrderId); + self::$index++; + } } From 2d4267c980141e642d4d567ca55243ca79122739 Mon Sep 17 00:00:00 2001 From: jmulford-bandwidth Date: Thu, 30 Jan 2020 17:01:34 -0500 Subject: [PATCH 07/15] Added testGetInserviceNumbers and fixed bugs --- src/Account.php | 2 +- .../{TNs.php => InserviceTns.php} | 4 ++-- src/simpleModels/Phones.php | 2 +- tests/AccountTest.php | 24 +++++++++++++++++++ 4 files changed, 28 insertions(+), 4 deletions(-) rename src/simpleModels/{TNs.php => InserviceTns.php} (79%) diff --git a/src/Account.php b/src/Account.php index ab4f5ab..e476672 100644 --- a/src/Account.php +++ b/src/Account.php @@ -294,7 +294,7 @@ public function getInserviceNumbers($filters = array()) { $url = sprintf('%s/%s', $this->account_id, 'inserviceNumbers'); $response = parent::_get($url, $filters); //TODO: Confirm the actual response object - return new TNs($response); + return new InserviceTns($response); } public function checkInserviceNumber($tn) { diff --git a/src/simpleModels/TNs.php b/src/simpleModels/InserviceTns.php similarity index 79% rename from src/simpleModels/TNs.php rename to src/simpleModels/InserviceTns.php index f8f8f16..1caaf3f 100644 --- a/src/simpleModels/TNs.php +++ b/src/simpleModels/InserviceTns.php @@ -2,11 +2,11 @@ namespace Iris; -class TNs { +class InserviceTns { use BaseModel; protected $fields = array( - "TotalCount" => array("type" => "integer"), + "TotalCount" => array("type" => "string"), "TelephoneNumbers" => array("type" => "\Iris\Phones"), "Links" => array("type" => "\Iris\Links") ); diff --git a/src/simpleModels/Phones.php b/src/simpleModels/Phones.php index 1cb0dfd..f771b87 100644 --- a/src/simpleModels/Phones.php +++ b/src/simpleModels/Phones.php @@ -9,7 +9,7 @@ class Phones { "PhoneNumber" => array("type" => "string"), "TelephoneNumber" => array("type" => "string"), "FullNumber" => array("type" => "string"), - "Count" => array("type" => "integer") + "Count" => array("type" => "string") ); public function __construct($data) { diff --git a/tests/AccountTest.php b/tests/AccountTest.php index e20a42e..73394c0 100644 --- a/tests/AccountTest.php +++ b/tests/AccountTest.php @@ -111,6 +111,18 @@ public static function setUpBeforeClass() { "), + new Response(200, [], " + + 2 + + link + + + 2 + 8043024183 + 8042121778 + + "), ]); self::$container = []; @@ -344,4 +356,16 @@ public function testRemoveImportedTnOrder() { $this->assertEquals("b05de7e6-0cab-4c83-81bb-9379cba8efd0", $removeImportedTnOrderResponse->RemoveImportedTnOrder->OrderId); self::$index++; } + + public function testGetInserviceNumbers() { + $tns = self::$account->getInserviceNumbers(); + + $this->assertEquals("2", $tns->TotalCount); + $this->assertEquals("link", $tns->Links->first); + $this->assertEquals("2", $tns->TelephoneNumbers->Count); + $this->assertEquals("8043024183", $tns->TelephoneNumbers->TelephoneNumber[0]); + $this->assertEquals("8042121778", $tns->TelephoneNumbers->TelephoneNumber[1]); + + self::$index++; + } } From 7203fac5edf60552486a63b581d51848ee74953e Mon Sep 17 00:00:00 2001 From: jmulford-bandwidth Date: Thu, 30 Jan 2020 17:32:11 -0500 Subject: [PATCH 08/15] Added testCheckTnsPortability and fixed bugs --- src/simpleModels/ImportTnCheckerPayload.php | 4 +-- src/simpleModels/ImportTnError.php | 2 +- src/simpleModels/ImportTnErrors.php | 15 +++++++++++ tests/AccountTest.php | 28 +++++++++++++++++++++ 4 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 src/simpleModels/ImportTnErrors.php diff --git a/src/simpleModels/ImportTnCheckerPayload.php b/src/simpleModels/ImportTnCheckerPayload.php index e974fce..08eee87 100644 --- a/src/simpleModels/ImportTnCheckerPayload.php +++ b/src/simpleModels/ImportTnCheckerPayload.php @@ -7,10 +7,10 @@ class ImportTnCheckerPayload { protected $fields = array( "TelephoneNumbers" => array("type" => "\Iris\Phones"), - "ImportTnErrors" => array("type" => "\Iris\ImportTnError") + "ImportTnErrors" => array("type" => "\Iris\ImportTnErrors") ); public function __construct($data) { - $this->set_data($data); + $this->set_data($data, true); } } diff --git a/src/simpleModels/ImportTnError.php b/src/simpleModels/ImportTnError.php index a06caac..a758c79 100644 --- a/src/simpleModels/ImportTnError.php +++ b/src/simpleModels/ImportTnError.php @@ -12,6 +12,6 @@ class ImportTnError { ); public function __construct($data) { - $this->set_data($data); + $this->set_data($data, true); } } diff --git a/src/simpleModels/ImportTnErrors.php b/src/simpleModels/ImportTnErrors.php new file mode 100644 index 0000000..7f67eb9 --- /dev/null +++ b/src/simpleModels/ImportTnErrors.php @@ -0,0 +1,15 @@ + array("type" => "\Iris\ImportTnError") + ); + + public function __construct($data) { + $this->set_data($data, true); + } +} diff --git a/tests/AccountTest.php b/tests/AccountTest.php index 73394c0..93da600 100644 --- a/tests/AccountTest.php +++ b/tests/AccountTest.php @@ -123,6 +123,24 @@ public static function setUpBeforeClass() { 8042121778 "), + new Response(200, [], " + + + + 3032281000 + + + + 19006 + Bandwidth numbers cannot be imported by this account at this time. + + 4109235436 + 4104685864 + + + + + "), ]); self::$container = []; @@ -366,6 +384,16 @@ public function testGetInserviceNumbers() { $this->assertEquals("8043024183", $tns->TelephoneNumbers->TelephoneNumber[0]); $this->assertEquals("8042121778", $tns->TelephoneNumbers->TelephoneNumber[1]); + self::$index++; + } + + public function testCheckTnsPortability() { + $importTnCheckerResponse = self::$account->checkTnsPortability(array("5554443333")); + + $this->assertEquals("3032281000", $importTnCheckerResponse->ImportTnCheckerPayload->TelephoneNumbers->TelephoneNumber); + $this->assertEquals("19006", $importTnCheckerResponse->ImportTnCheckerPayload->ImportTnErrors->ImportTnError->Code); + + self::$index++; } } From 8628879e2b818dcf369b06ba0eafd2d1ce0d8ab1 Mon Sep 17 00:00:00 2001 From: jmulford-bandwidth Date: Fri, 31 Jan 2020 16:18:24 -0500 Subject: [PATCH 09/15] Updated responses --- README.md | 67 +++++++++++++++++++++------------ src/Account.php | 26 ++++--------- src/simpleModels/Subscriber.php | 3 +- 3 files changed, 52 insertions(+), 44 deletions(-) diff --git a/README.md b/README.md index 215688f..af9f823 100644 --- a/README.md +++ b/README.md @@ -604,77 +604,94 @@ $tnoptions->create($data); ## Hosted Messaging Functions -### Get Import TN Orders +### Get Import TN Orders (good) ```PHP -$account->getImportTnOrders(array( +$resp = $account->getImportTnOrders(array( "createdDateFrom" => "2013-10-22T00:00:00.000Z", "createdDateTo" => "2013-10-25T00:00:00.000Z" )); + +print_r($resp); ``` -### Create Import TN Order +### Create Import TN Order (good) ```PHP $importTnOrder = new \Iris\ImportTnOrder(array( - "CustomerOrderId" => "custom string", + "CustomerOrderId" => "id", "TelephoneNumbers" => array( - "TelephoneNumber" => array("+15554443333", "+15553332222") - ) + "TelephoneNumber" => array("5554443333") + ), + "SiteId" => "12345", + "Subscriber" => array( + "Name" => "Company INC", + "ServiceAddress" => array( + "HouseNumber" => "1", + "StreetName" => "Street", + "City" => "City", + "StateCode" => "XY", + "Zip" => "54345", + "County" => "County" + ) + ), + "LoaAuthorizingPerson" => "Test Person" )); -$account->createImportTnOrder($importTnOrder); +print_r($account->createImportTnOrder($importTnOrder)); ``` -### Get Import TN Order By ID +### Get Import TN Order By ID (good) ```PHP -$account->getImportTnOrder("some_id_value"); +print_r($account->getImportTnOrder("some_id_value")); ``` -### Get Import TN Order History +### Get Import TN Order History (good) ```PHP -$account->getImportTnOrderHistory("some_id_value"); +print_r($account->getImportTnOrderHistory("some_id_value")); ``` -### Check TNs Portability +### Check TNs Portability (good) ```PHP -$account->checkTnsPortability(array("+15554443333", "+15553334444")); +print_r($account->checkTnsPortability(array("5554443333", "5553334444"))); ``` -### Get In Service Numbers +### Get In Service Numbers (good) ```PHP $account->getInserviceNumbers(array("areacode" => "919")); ``` -### Check In Service Number +### Check In Service Number (good) ```PHP -$account->checkInserviceNumber("5554443333"); +print_r($account->checkInserviceNumber("5554443333")); ``` -### Get Remove Imported TN Orders +### Get Remove Imported TN Orders (good) ```PHP -$account->getRemoveImportedTnOrders(array( +$resp = $account->getRemoveImportedTnOrders(array( "createdDateFrom" => "2013-10-22T00:00:00.000Z", "createdDateTo" => "2013-10-25T00:00:00.000Z" )); + +print_r($resp); ``` -### Create A Remove Imported TN Order +### Create A Remove Imported TN Order (good) ```PHP $removeImportedTnOrder = new \Iris\RemoveImportedTnOrder(array( "CustomerOrderId" => "custom string", "TelephoneNumbers" => array( - "TelephoneNumber" => array("+15554443333", "+15553332222") + "TelephoneNumber" => array("5554443333", "5553332222") ) )); -$account->createRemoveImportedTnOrder($removeImportedTnOrder); +print_r($account->createRemoveImportedTnOrder($removeImportedTnOrder)); ``` -### Get Removed Imported TN Order +### Get Removed Imported TN Order (good) ```PHP -$account->getRemoveImportedTnOrder("some_id_value"); +print_r($account->getRemoveImportedTnOrder("some_id_value")); ``` -### Get Removed Imported TN Order History +### Get Removed Imported TN Order History (good) ```PHP -$account->getRemoveImportedTnOrderHistory("some_id_value"); +print_r($account->getRemoveImportedTnOrderHistory("some_id_value")); ``` diff --git a/src/Account.php b/src/Account.php index e476672..0087410 100644 --- a/src/Account.php +++ b/src/Account.php @@ -254,28 +254,24 @@ public function get_rest_client() { public function getImportTnOrders($filters = array()) { $url = sprintf('%s/%s', $this->account_id, 'importTnOrders'); $response = parent::_get($url, $filters); - //TODO: Confirm the actual response object - return new ImportTnOrderResponse($response); + return $response; } public function createImportTnOrder(ImportTnOrder $order) { $url = sprintf('%s/%s', $this->account_id, 'importTnOrders'); $data = parent::post($url, 'ImportTnOrder', $order->to_array()); - //TODO: Confirm the actual response object - return new ImportTnOrderResponse($data); + return $data; } public function getImportTnOrder($id) { $url = sprintf('%s/%s/%s', $this->account_id, 'importTnOrders', $id); $response = parent::_get($url); - //TODO: Confirm the actual response object - return new ImportTnOrderResponse($response); + return $response; } public function getImportTnOrderHistory($id) { $url = sprintf('%s/%s/%s/%s', $this->account_id, 'importTnOrders', $id, 'history'); $response = parent::_get($url); - //TODO: Figure out the actual response object return $response; } @@ -286,15 +282,13 @@ public function checkTnsPortability($tns) { "TelephoneNumber" => $tns ))); $data = parent::post($url, 'ImportTnCheckerPayload', $payload->to_array()); - //TODO: Confirm the actual response object - return new ImportTnCheckerResponse($data); + return $data; } public function getInserviceNumbers($filters = array()) { $url = sprintf('%s/%s', $this->account_id, 'inserviceNumbers'); $response = parent::_get($url, $filters); - //TODO: Confirm the actual response object - return new InserviceTns($response); + return $response; } public function checkInserviceNumber($tn) { @@ -306,28 +300,24 @@ public function checkInserviceNumber($tn) { public function getRemoveImportedTnOrders($filters = array()) { $url = sprintf('%s/%s', $this->account_id, 'removeImportedTnOrders'); $response = parent::_get($url, $filters); - //TODO: Confirm the actual response object - return new RemoveImportedTnOrderResponse($response); + return $response; } public function createRemoveImportedTnOrder(RemoveImportedTnOrder $order) { $url = sprintf('%s/%s', $this->account_id, 'removeImportedTnOrders'); $data = parent::post($url, 'RemoveImportedTnOrder', $order->to_array()); - //TODO: Confirm the actual response object - return new RemoveImportedTnOrderResponse($data); + return $data; } public function getRemoveImportedTnOrder($id) { $url = sprintf('%s/%s/%s', $this->account_id, 'removeImportedTnOrders', $id); $response = parent::_get($url); - //TODO: Confirm the actual response object - return new RemoveImportedTnOrderResponse($response); + return $response; } public function getRemoveImportedTnOrderHistory($id) { $url = sprintf('%s/%s/%s/%s', $this->account_id, 'removeImportedTnOrders', $id, 'history'); $response = parent::_get($url); - //TODO: Figure out the actual response object return $response; } } diff --git a/src/simpleModels/Subscriber.php b/src/simpleModels/Subscriber.php index d776845..b247c64 100644 --- a/src/simpleModels/Subscriber.php +++ b/src/simpleModels/Subscriber.php @@ -11,7 +11,8 @@ class Subscriber { "ServiceAddress" => array("type" => "\Iris\ServiceAddress"), "FirstName" => array("type" => "string"), "LastName" => array("type" => "string"), - "MiddleInitial" => array("type" => "string") + "MiddleInitial" => array("type" => "string"), + "Name" => array("type" => "string") ); public function __construct($data) { From da20702d5d585401009db9b69b2a36b9ead87a23 Mon Sep 17 00:00:00 2001 From: jmulford-bandwidth Date: Fri, 31 Jan 2020 16:18:49 -0500 Subject: [PATCH 10/15] Removed good tag --- README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index af9f823..6da4341 100644 --- a/README.md +++ b/README.md @@ -604,7 +604,7 @@ $tnoptions->create($data); ## Hosted Messaging Functions -### Get Import TN Orders (good) +### Get Import TN Orders ```PHP $resp = $account->getImportTnOrders(array( "createdDateFrom" => "2013-10-22T00:00:00.000Z", @@ -614,7 +614,7 @@ $resp = $account->getImportTnOrders(array( print_r($resp); ``` -### Create Import TN Order (good) +### Create Import TN Order ```PHP $importTnOrder = new \Iris\ImportTnOrder(array( "CustomerOrderId" => "id", @@ -639,32 +639,32 @@ $importTnOrder = new \Iris\ImportTnOrder(array( print_r($account->createImportTnOrder($importTnOrder)); ``` -### Get Import TN Order By ID (good) +### Get Import TN Order By ID ```PHP print_r($account->getImportTnOrder("some_id_value")); ``` -### Get Import TN Order History (good) +### Get Import TN Order History ```PHP print_r($account->getImportTnOrderHistory("some_id_value")); ``` -### Check TNs Portability (good) +### Check TNs Portability ```PHP print_r($account->checkTnsPortability(array("5554443333", "5553334444"))); ``` -### Get In Service Numbers (good) +### Get In Service Numbers ```PHP $account->getInserviceNumbers(array("areacode" => "919")); ``` -### Check In Service Number (good) +### Check In Service Number ```PHP print_r($account->checkInserviceNumber("5554443333")); ``` -### Get Remove Imported TN Orders (good) +### Get Remove Imported TN Orders ```PHP $resp = $account->getRemoveImportedTnOrders(array( "createdDateFrom" => "2013-10-22T00:00:00.000Z", @@ -674,7 +674,7 @@ $resp = $account->getRemoveImportedTnOrders(array( print_r($resp); ``` -### Create A Remove Imported TN Order (good) +### Create A Remove Imported TN Order ```PHP $removeImportedTnOrder = new \Iris\RemoveImportedTnOrder(array( "CustomerOrderId" => "custom string", @@ -686,12 +686,12 @@ $removeImportedTnOrder = new \Iris\RemoveImportedTnOrder(array( print_r($account->createRemoveImportedTnOrder($removeImportedTnOrder)); ``` -### Get Removed Imported TN Order (good) +### Get Removed Imported TN Order ```PHP print_r($account->getRemoveImportedTnOrder("some_id_value")); ``` -### Get Removed Imported TN Order History (good) +### Get Removed Imported TN Order History ```PHP print_r($account->getRemoveImportedTnOrderHistory("some_id_value")); ``` From d423422c3b0defbb4cfd308a07265853643147a0 Mon Sep 17 00:00:00 2001 From: jmulford-bandwidth Date: Fri, 31 Jan 2020 16:24:07 -0500 Subject: [PATCH 11/15] Updated tests to reflect new structure --- tests/AccountTest.php | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/tests/AccountTest.php b/tests/AccountTest.php index 93da600..e7c6d86 100644 --- a/tests/AccountTest.php +++ b/tests/AccountTest.php @@ -364,25 +364,25 @@ public function testBillingReportReadyAndDownload() { public function testGetImportTnOrder() { $importTnOrderResponse = self::$account->getImportTnOrder("b05de7e6-0cab-4c83-81bb-9379cba8efd0"); - $this->assertEquals("b05de7e6-0cab-4c83-81bb-9379cba8efd0", $importTnOrderResponse->ImportTnOrder->OrderId); + $this->assertEquals("b05de7e6-0cab-4c83-81bb-9379cba8efd0", $importTnOrderResponse["ImportTnOrder"]["OrderId"]); self::$index++; } public function testRemoveImportedTnOrder() { $removeImportedTnOrderResponse = self::$account->getRemoveImportedTnOrder("b05de7e6-0cab-4c83-81bb-9379cba8efd0"); - $this->assertEquals("b05de7e6-0cab-4c83-81bb-9379cba8efd0", $removeImportedTnOrderResponse->RemoveImportedTnOrder->OrderId); + $this->assertEquals("b05de7e6-0cab-4c83-81bb-9379cba8efd0", $removeImportedTnOrderResponse["RemoveImportedTnOrder"]["OrderId"]); self::$index++; } public function testGetInserviceNumbers() { $tns = self::$account->getInserviceNumbers(); - $this->assertEquals("2", $tns->TotalCount); - $this->assertEquals("link", $tns->Links->first); - $this->assertEquals("2", $tns->TelephoneNumbers->Count); - $this->assertEquals("8043024183", $tns->TelephoneNumbers->TelephoneNumber[0]); - $this->assertEquals("8042121778", $tns->TelephoneNumbers->TelephoneNumber[1]); + $this->assertEquals("2", $tns["TotalCount"]); + $this->assertEquals("link", $tns["Links"]["first"]); + $this->assertEquals("2", $tns["TelephoneNumbers"]["Count"]); + $this->assertEquals("8043024183", $tns["TelephoneNumbers"]["TelephoneNumber"][0]); + $this->assertEquals("8042121778", $tns["TelephoneNumbers"]["TelephoneNumber"][1]); self::$index++; } @@ -390,8 +390,8 @@ public function testGetInserviceNumbers() { public function testCheckTnsPortability() { $importTnCheckerResponse = self::$account->checkTnsPortability(array("5554443333")); - $this->assertEquals("3032281000", $importTnCheckerResponse->ImportTnCheckerPayload->TelephoneNumbers->TelephoneNumber); - $this->assertEquals("19006", $importTnCheckerResponse->ImportTnCheckerPayload->ImportTnErrors->ImportTnError->Code); + $this->assertEquals("3032281000", $importTnCheckerResponse["ImportTnCheckerPayload"]["TelephoneNumbers"]["TelephoneNumber"]); + $this->assertEquals("19006", $importTnCheckerResponse["ImportTnCheckerPayload"]["ImportTnErrors"]["ImportTnError"]["Code"]); self::$index++; From ae4fe75c4314a3eb206b0598c60b8c25a70bdbbe Mon Sep 17 00:00:00 2001 From: jmulford-bandwidth Date: Mon, 3 Feb 2020 11:11:36 -0500 Subject: [PATCH 12/15] Made responses for some endpoints objects --- README.md | 12 +++++----- src/Account.php | 12 +++++----- src/simpleModels/OrderHistory.php | 18 +++++++++++++++ src/simpleModels/OrderHistoryResponse.php | 15 ++++++++++++ src/simpleModels/OrderRequest.php | 1 - .../RemoveImportedTnOrderResponse.php | 3 +-- .../RemoveImportedTnOrderSummary.php | 23 +++++++++++++++++++ .../RemoveImportedTnOrderSummaryResponse.php | 16 +++++++++++++ 8 files changed, 85 insertions(+), 15 deletions(-) create mode 100644 src/simpleModels/OrderHistory.php create mode 100644 src/simpleModels/OrderHistoryResponse.php create mode 100644 src/simpleModels/RemoveImportedTnOrderSummary.php create mode 100644 src/simpleModels/RemoveImportedTnOrderSummaryResponse.php diff --git a/README.md b/README.md index 6da4341..c599da4 100644 --- a/README.md +++ b/README.md @@ -651,12 +651,12 @@ print_r($account->getImportTnOrderHistory("some_id_value")); ### Check TNs Portability ```PHP -print_r($account->checkTnsPortability(array("5554443333", "5553334444"))); +print_r($account->checkTnsPortability(array("5554443333", "5553334444"))->ImportTnCheckerPayload); ``` ### Get In Service Numbers ```PHP -$account->getInserviceNumbers(array("areacode" => "919")); +print_r($account->getInserviceNumbers(array("areacode" => "919"))->TelephoneNumbers->Count); ``` ### Check In Service Number @@ -671,7 +671,7 @@ $resp = $account->getRemoveImportedTnOrders(array( "createdDateTo" => "2013-10-25T00:00:00.000Z" )); -print_r($resp); +print_r($resp->RemoveImportedTnOrderSummary[0]->OrderStatus); ``` ### Create A Remove Imported TN Order @@ -683,15 +683,15 @@ $removeImportedTnOrder = new \Iris\RemoveImportedTnOrder(array( ) )); -print_r($account->createRemoveImportedTnOrder($removeImportedTnOrder)); +print_r($account->createRemoveImportedTnOrder($removeImportedTnOrder)->Location); ``` ### Get Removed Imported TN Order ```PHP -print_r($account->getRemoveImportedTnOrder("some_id_value")); +print_r($account->getRemoveImportedTnOrder("some_id_value")->ProcessingStatus); ``` ### Get Removed Imported TN Order History ```PHP -print_r($account->getRemoveImportedTnOrderHistory("some_id_value")); +print_r($account->getRemoveImportedTnOrderHistory("some_id_value")->OrderHistory[0]->Status); ``` diff --git a/src/Account.php b/src/Account.php index 0087410..0836172 100644 --- a/src/Account.php +++ b/src/Account.php @@ -282,13 +282,13 @@ public function checkTnsPortability($tns) { "TelephoneNumber" => $tns ))); $data = parent::post($url, 'ImportTnCheckerPayload', $payload->to_array()); - return $data; + return new ImportTnCheckerResponse($data); } public function getInserviceNumbers($filters = array()) { $url = sprintf('%s/%s', $this->account_id, 'inserviceNumbers'); $response = parent::_get($url, $filters); - return $response; + return new InserviceTns($response); } public function checkInserviceNumber($tn) { @@ -300,24 +300,24 @@ public function checkInserviceNumber($tn) { public function getRemoveImportedTnOrders($filters = array()) { $url = sprintf('%s/%s', $this->account_id, 'removeImportedTnOrders'); $response = parent::_get($url, $filters); - return $response; + return new RemoveImportedTnOrderSummaryResponse($response); } public function createRemoveImportedTnOrder(RemoveImportedTnOrder $order) { $url = sprintf('%s/%s', $this->account_id, 'removeImportedTnOrders'); $data = parent::post($url, 'RemoveImportedTnOrder', $order->to_array()); - return $data; + return new RemoveImportedTnOrderResponse($data); } public function getRemoveImportedTnOrder($id) { $url = sprintf('%s/%s/%s', $this->account_id, 'removeImportedTnOrders', $id); $response = parent::_get($url); - return $response; + return new RemoveImportedTnOrder($response); } public function getRemoveImportedTnOrderHistory($id) { $url = sprintf('%s/%s/%s/%s', $this->account_id, 'removeImportedTnOrders', $id, 'history'); $response = parent::_get($url); - return $response; + return new OrderHistoryResponse($response); } } diff --git a/src/simpleModels/OrderHistory.php b/src/simpleModels/OrderHistory.php new file mode 100644 index 0000000..4e82d40 --- /dev/null +++ b/src/simpleModels/OrderHistory.php @@ -0,0 +1,18 @@ + array("type" => "string"), + "Note" => array("type" => "string"), + "Author" => array("type" => "string"), + "Status" => array("type" => "string") + ); + + public function __construct($data) { + $this->set_data($data, true); + } +} diff --git a/src/simpleModels/OrderHistoryResponse.php b/src/simpleModels/OrderHistoryResponse.php new file mode 100644 index 0000000..97d8277 --- /dev/null +++ b/src/simpleModels/OrderHistoryResponse.php @@ -0,0 +1,15 @@ + array("type" => "\Iris\OrderHistory"), + ); + + public function __construct($data) { + $this->set_data($data, true); + } +} diff --git a/src/simpleModels/OrderRequest.php b/src/simpleModels/OrderRequest.php index e05ebad..8ef2b97 100644 --- a/src/simpleModels/OrderRequest.php +++ b/src/simpleModels/OrderRequest.php @@ -23,7 +23,6 @@ class OrderRequest { "OrderCreateDate" => array("type" => "string"), "id" => array("type" => "string"), "DisconnectTelephoneNumberOrderType" => array("type" => "string"), - "OrderCreateDate" => array("type" => "string"), ); public function __construct($data) { diff --git a/src/simpleModels/RemoveImportedTnOrderResponse.php b/src/simpleModels/RemoveImportedTnOrderResponse.php index 8eb61dc..b80c538 100644 --- a/src/simpleModels/RemoveImportedTnOrderResponse.php +++ b/src/simpleModels/RemoveImportedTnOrderResponse.php @@ -7,8 +7,7 @@ class RemoveImportedTnOrderResponse { protected $fields = array( "RemoveImportedTnOrder" => array("type" => "\Iris\RemoveImportedTnOrder"), - "Errors" => array("type" => "\Iris\Error"), - "ProcessingStatus" => array("type" => "string") + "Location" => array("type" => "string") ); public function __construct($data) { diff --git a/src/simpleModels/RemoveImportedTnOrderSummary.php b/src/simpleModels/RemoveImportedTnOrderSummary.php new file mode 100644 index 0000000..2bb6935 --- /dev/null +++ b/src/simpleModels/RemoveImportedTnOrderSummary.php @@ -0,0 +1,23 @@ + array("type" => "string"), + "CountOfTNs" => array("type" => "integer"), + "CustomerOrderId" => array("type" => "string"), + "userId" => array("type" => "string"), + "lastModifiedDate" => array("type" => "string"), + "OrderDate" => array("type" => "string"), + "OrderType" => array("type" => "string"), + "OrderStatus" => array("type" => "string"), + "OrderId" => array("type" => "string") + ); + + public function __construct($data) { + $this->set_data($data); + } +} diff --git a/src/simpleModels/RemoveImportedTnOrderSummaryResponse.php b/src/simpleModels/RemoveImportedTnOrderSummaryResponse.php new file mode 100644 index 0000000..dea6daa --- /dev/null +++ b/src/simpleModels/RemoveImportedTnOrderSummaryResponse.php @@ -0,0 +1,16 @@ + array("type" => "integer"), + "RemoveImportedTnOrderSummary" => array("type" => "\Iris\RemoveImportedTnOrderSummary") + ); + + public function __construct($data) { + $this->set_data($data); + } +} From 7f3827c59b62bd3bfd1a7e39ffc39a2234b31ed4 Mon Sep 17 00:00:00 2001 From: jmulford-bandwidth Date: Mon, 3 Feb 2020 11:19:38 -0500 Subject: [PATCH 13/15] Fixed tests --- tests/AccountTest.php | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/tests/AccountTest.php b/tests/AccountTest.php index e7c6d86..3276de2 100644 --- a/tests/AccountTest.php +++ b/tests/AccountTest.php @@ -94,7 +94,6 @@ public static function setUpBeforeClass() { "), new Response(200, [], " - SJM000001 2018-01-20T02:59:54.000Z 9900012 @@ -109,7 +108,6 @@ public static function setUpBeforeClass() { PROCESSING - "), new Response(200, [], " @@ -370,19 +368,20 @@ public function testGetImportTnOrder() { public function testRemoveImportedTnOrder() { $removeImportedTnOrderResponse = self::$account->getRemoveImportedTnOrder("b05de7e6-0cab-4c83-81bb-9379cba8efd0"); + print_r($removeImportedTnOrderResponse); - $this->assertEquals("b05de7e6-0cab-4c83-81bb-9379cba8efd0", $removeImportedTnOrderResponse["RemoveImportedTnOrder"]["OrderId"]); + $this->assertEquals("b05de7e6-0cab-4c83-81bb-9379cba8efd0", $removeImportedTnOrderResponse->OrderId); self::$index++; } public function testGetInserviceNumbers() { $tns = self::$account->getInserviceNumbers(); - $this->assertEquals("2", $tns["TotalCount"]); - $this->assertEquals("link", $tns["Links"]["first"]); - $this->assertEquals("2", $tns["TelephoneNumbers"]["Count"]); - $this->assertEquals("8043024183", $tns["TelephoneNumbers"]["TelephoneNumber"][0]); - $this->assertEquals("8042121778", $tns["TelephoneNumbers"]["TelephoneNumber"][1]); + $this->assertEquals("2", $tns->TotalCount); + $this->assertEquals("link", $tns->Links->first); + $this->assertEquals("2", $tns->TelephoneNumbers->Count); + $this->assertEquals("8043024183", $tns->TelephoneNumbers->TelephoneNumber[0]); + $this->assertEquals("8042121778", $tns->TelephoneNumbers->TelephoneNumber[1]); self::$index++; } @@ -390,8 +389,8 @@ public function testGetInserviceNumbers() { public function testCheckTnsPortability() { $importTnCheckerResponse = self::$account->checkTnsPortability(array("5554443333")); - $this->assertEquals("3032281000", $importTnCheckerResponse["ImportTnCheckerPayload"]["TelephoneNumbers"]["TelephoneNumber"]); - $this->assertEquals("19006", $importTnCheckerResponse["ImportTnCheckerPayload"]["ImportTnErrors"]["ImportTnError"]["Code"]); + $this->assertEquals("3032281000", $importTnCheckerResponse->ImportTnCheckerPayload->TelephoneNumbers->TelephoneNumber); + $this->assertEquals("19006", $importTnCheckerResponse->ImportTnCheckerPayload->ImportTnErrors->ImportTnError->Code); self::$index++; From d579d1e952e6aff431b3ecf900f7e4c6e86238ee Mon Sep 17 00:00:00 2001 From: jmulford-bandwidth Date: Mon, 3 Feb 2020 13:15:17 -0500 Subject: [PATCH 14/15] Fixed remaining instances --- README.md | 8 ++++---- src/Account.php | 8 ++++---- src/simpleModels/ImportTnOrderResponse.php | 5 ++++- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index c599da4..759e2b5 100644 --- a/README.md +++ b/README.md @@ -611,7 +611,7 @@ $resp = $account->getImportTnOrders(array( "createdDateTo" => "2013-10-25T00:00:00.000Z" )); -print_r($resp); +print_r($resp->ImportTnOrderSummary[0]->OrderId); ``` ### Create Import TN Order @@ -636,17 +636,17 @@ $importTnOrder = new \Iris\ImportTnOrder(array( "LoaAuthorizingPerson" => "Test Person" )); -print_r($account->createImportTnOrder($importTnOrder)); +print_r($account->createImportTnOrder($importTnOrder)->ImportTnOrder->OrderId); ``` ### Get Import TN Order By ID ```PHP -print_r($account->getImportTnOrder("some_id_value")); +print_r($account->getImportTnOrder("some_id_value")->ProcessingStatus); ``` ### Get Import TN Order History ```PHP -print_r($account->getImportTnOrderHistory("some_id_value")); +print_r($account->getImportTnOrderHistory("some_id_value")->OrderHistory[0]->Status); ``` ### Check TNs Portability diff --git a/src/Account.php b/src/Account.php index 0836172..763b296 100644 --- a/src/Account.php +++ b/src/Account.php @@ -254,25 +254,25 @@ public function get_rest_client() { public function getImportTnOrders($filters = array()) { $url = sprintf('%s/%s', $this->account_id, 'importTnOrders'); $response = parent::_get($url, $filters); - return $response; + return new ImportTnOrderResponse($response); } public function createImportTnOrder(ImportTnOrder $order) { $url = sprintf('%s/%s', $this->account_id, 'importTnOrders'); $data = parent::post($url, 'ImportTnOrder', $order->to_array()); - return $data; + return new ImportTnOrderResponse($data); } public function getImportTnOrder($id) { $url = sprintf('%s/%s/%s', $this->account_id, 'importTnOrders', $id); $response = parent::_get($url); - return $response; + return new ImportTnOrder($response); } public function getImportTnOrderHistory($id) { $url = sprintf('%s/%s/%s/%s', $this->account_id, 'importTnOrders', $id, 'history'); $response = parent::_get($url); - return $response; + return new OrderHistoryResponse($response); } public function checkTnsPortability($tns) { diff --git a/src/simpleModels/ImportTnOrderResponse.php b/src/simpleModels/ImportTnOrderResponse.php index 6b957a3..d545777 100644 --- a/src/simpleModels/ImportTnOrderResponse.php +++ b/src/simpleModels/ImportTnOrderResponse.php @@ -6,7 +6,10 @@ class ImportTnOrderResponse { use BaseModel; protected $fields = array( - "ImportTnOrder" => array("type" => "\Iris\ImportTnOrder") + "TotalCount" => array("type" => "integer"), + "ImportTnOrder" => array("type" => "\Iris\ImportTnOrder"), + "ImportTnOrderSummary" => array("type" => "\Iris\ImportTnOrder"), + "Location" => array("type" => "string") ); public function __construct($data) { From e6101871ddb5750f5c0f268d29daba145733c794 Mon Sep 17 00:00:00 2001 From: jmulford-bandwidth Date: Mon, 3 Feb 2020 13:17:46 -0500 Subject: [PATCH 15/15] Fixed test --- tests/AccountTest.php | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tests/AccountTest.php b/tests/AccountTest.php index 3276de2..2522d8c 100644 --- a/tests/AccountTest.php +++ b/tests/AccountTest.php @@ -61,7 +61,6 @@ public static function setUpBeforeClass() { new Response(200, ['Content-Type' => 'application/zip'], 'zipcontent'), new Response(200, [], " - SJM000001 2018-01-20T02:59:54.000Z 9900012 @@ -90,7 +89,6 @@ public static function setUpBeforeClass() { PROCESSING - "), new Response(200, [], " @@ -362,13 +360,12 @@ public function testBillingReportReadyAndDownload() { public function testGetImportTnOrder() { $importTnOrderResponse = self::$account->getImportTnOrder("b05de7e6-0cab-4c83-81bb-9379cba8efd0"); - $this->assertEquals("b05de7e6-0cab-4c83-81bb-9379cba8efd0", $importTnOrderResponse["ImportTnOrder"]["OrderId"]); + $this->assertEquals("b05de7e6-0cab-4c83-81bb-9379cba8efd0", $importTnOrderResponse->OrderId); self::$index++; } public function testRemoveImportedTnOrder() { $removeImportedTnOrderResponse = self::$account->getRemoveImportedTnOrder("b05de7e6-0cab-4c83-81bb-9379cba8efd0"); - print_r($removeImportedTnOrderResponse); $this->assertEquals("b05de7e6-0cab-4c83-81bb-9379cba8efd0", $removeImportedTnOrderResponse->OrderId); self::$index++;