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++;