ruby-bandwidth-iris 2.4.0.pre → 2.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/README.md +264 -13
- data/examples/create_reservation_and_order.rb +79 -0
- data/examples/order_number.rb +83 -0
- data/lib/bandwidth-iris/aeui.rb +20 -0
- data/lib/bandwidth-iris/client.rb +6 -4
- data/lib/bandwidth-iris/emergency_notification_endpoints.rb +26 -0
- data/lib/bandwidth-iris/emergency_notification_groups.rb +39 -0
- data/lib/bandwidth-iris/emergency_notification_recipients.rb +37 -0
- data/lib/bandwidth-iris/order.rb +8 -0
- data/lib/bandwidth-iris/tn_options.rb +26 -0
- data/lib/bandwidth-iris/tn_reservation.rb +4 -2
- data/lib/bandwidth-iris/version.rb +1 -1
- data/lib/ruby-bandwidth-iris.rb +5 -0
- data/spec/bandwidth-iris/aeui_spec.rb +25 -0
- data/spec/bandwidth-iris/emergency_notification_endpoints_spec.rb +35 -0
- data/spec/bandwidth-iris/emergency_notification_groups_spec.rb +48 -0
- data/spec/bandwidth-iris/emergency_notification_recipients_spec.rb +48 -0
- data/spec/bandwidth-iris/order_spec.rb +18 -9
- data/spec/bandwidth-iris/tn_options_spec.rb +42 -0
- data/spec/bandwidth-iris/tn_reservation_spec.rb +5 -5
- data/spec/xml.yml +16 -3
- metadata +21 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 70340caae21b6e4b0d8319b786077325096b6b04f1ac5a622767fe96ad7bb09e
|
4
|
+
data.tar.gz: 5623576c45b222f71baeed210d3f0094e9375bf12b9d0607830ee62e5e4d8904
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e673d3832365eb1a292d8d09aad332be7c176bc2f92c4689cc396358514ac492df8d7de01596c98b6c681fdc1db21d2772f624acfec4383a76f7a023465682e4
|
7
|
+
data.tar.gz: e26f1478b92be1d4637286fb6f2f4d45e4cea86349627fef0b36aca5fea491d55ee4205b91439a9e661bd4a69ede0e6e3336a80815bf641d34a4395447eafe59
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -6,15 +6,18 @@ Ruby Client library for IRIS / BBS API
|
|
6
6
|
|
7
7
|
## Release Notes
|
8
8
|
|
9
|
-
| Release Version | Notes
|
10
|
-
|
11
|
-
| 1.0.5
|
12
|
-
| 2.0.0
|
13
|
-
| 2.0.1
|
14
|
-
| 2.1.0
|
15
|
-
| 2.2.0
|
16
|
-
| 2.3.0
|
17
|
-
| 2.4.0
|
9
|
+
| Release Version | Notes |
|
10
|
+
|:----------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
11
|
+
| 1.0.5 | Fixed incorrect generation of XML for a Disconnect request |
|
12
|
+
| 2.0.0 | Added `importTnOrders`, `removeImportedTnOrders`, `inserviceNumbers`, and `importTnChecker` endpoints. This release also changed the response body of `BandwidthIris::InServiceNumber.list()`. Please make sure to update your code to include this change. |
|
13
|
+
| 2.0.1 | Updated gem dependencies to be less restrictive |
|
14
|
+
| 2.1.0 | Added `csrs` endpoints |
|
15
|
+
| 2.2.0 | Added `loas` endpoints to `importTnOrders` |
|
16
|
+
| 2.3.0 | Added `get_tns_by_order_id` to the Orders class |
|
17
|
+
| 2.4.0.pre | Added application management and sippeer products endpoints |
|
18
|
+
| 2.5.0 | Added `get_order_response` to pull full `<OrderResponse>` object from API, added `id` back to order object on get requests. Fixed TN Reservation and updated tests to match reality |
|
19
|
+
| 2.6.0 | Added Emergency Calling Notification, Emergeny Notification Group, Emergency Notification Endpoint, and Alternate End User Identity methods |
|
20
|
+
| 2.7.0 | Added TNOptions endpoints |
|
18
21
|
|
19
22
|
## Install
|
20
23
|
|
@@ -78,6 +81,7 @@ When fetching objects from the API, it will always return an object that has the
|
|
78
81
|
instantiated so that you can call dependent methods as well as update, delete.
|
79
82
|
|
80
83
|
Example:
|
84
|
+
|
81
85
|
```ruby
|
82
86
|
site = BandwidthIris::Site.create({siteObject})
|
83
87
|
|
@@ -312,6 +316,16 @@ BandwidthIris::Order.create(order_data)
|
|
312
316
|
```ruby
|
313
317
|
order = BandwidthIris::Order.get("order_id")
|
314
318
|
```
|
319
|
+
|
320
|
+
### Get Order Response
|
321
|
+
|
322
|
+
The order response object contains more details returned in the `GET` `/orders/order-id` API.
|
323
|
+
|
324
|
+
```ruby
|
325
|
+
order = BandwidthIris::Order.get_order_response(client, "101")
|
326
|
+
completed_number = order.completed_numbers[:telephone_number][:full_number]
|
327
|
+
```
|
328
|
+
|
315
329
|
### List Orders
|
316
330
|
```ruby
|
317
331
|
BandwidthIris::Order.list(query)
|
@@ -464,7 +478,7 @@ sipPeer.delete()
|
|
464
478
|
### SipPeer TN Methods
|
465
479
|
```ruby
|
466
480
|
# get TN for this peer
|
467
|
-
sipPeer.get_tns(number)
|
481
|
+
sipPeer.get_tns(number)
|
468
482
|
|
469
483
|
# get all TNs for this peer
|
470
484
|
sipPeer.get_tns()
|
@@ -534,7 +548,7 @@ site.create_sip_peer(sipPeer)
|
|
534
548
|
```ruby
|
535
549
|
subscription = {
|
536
550
|
:order_type => "orders",
|
537
|
-
:
|
551
|
+
:callback_subscription => {
|
538
552
|
:URL => "http://mycallbackurl.com",
|
539
553
|
:user => "userid",
|
540
554
|
:expiry => 12000
|
@@ -589,7 +603,7 @@ tn.get_rate_center()
|
|
589
603
|
|
590
604
|
### Create TN Reservation
|
591
605
|
```ruby
|
592
|
-
BandwidthIris::TnReservation.create(
|
606
|
+
BandwidthIris::TnReservation.create("9195551212")
|
593
607
|
```
|
594
608
|
|
595
609
|
### Get TN Reservation
|
@@ -757,7 +771,7 @@ puts response[0][:file_name]
|
|
757
771
|
```ruby
|
758
772
|
metadata = {
|
759
773
|
:document_name => "file_name",
|
760
|
-
:document_type => "LOA"
|
774
|
+
:document_type => "LOA"
|
761
775
|
}
|
762
776
|
BandwidthIris::ImportTnOrders.update_loa_file_metadata("order_id", "file_id", metadata)
|
763
777
|
```
|
@@ -1077,3 +1091,240 @@ data = {
|
|
1077
1091
|
|
1078
1092
|
puts BandwidthIris::SipPeerProducts.update_messaging_settings("site_id", "sippeer_id", data)
|
1079
1093
|
```
|
1094
|
+
|
1095
|
+
## Emergency Notification Recipients
|
1096
|
+
|
1097
|
+
### Create Emergency Notification Recipient
|
1098
|
+
|
1099
|
+
```ruby
|
1100
|
+
data = {
|
1101
|
+
:description => "Email to Bldg. 3 Front Desk",
|
1102
|
+
:type => "EMAIL",
|
1103
|
+
:email_address => "foo@bar.com"
|
1104
|
+
}
|
1105
|
+
|
1106
|
+
enr = BandwidthIris::EmergencyNotificationRecipients.create_emergency_notification_recipient(data)
|
1107
|
+
puts enr
|
1108
|
+
```
|
1109
|
+
### Get Emergency Notification Recipients
|
1110
|
+
|
1111
|
+
```ruby
|
1112
|
+
enrs = BandwidthIris::EmergencyNotificationRecipients.get_emergency_notification_recipients()
|
1113
|
+
puts enrs
|
1114
|
+
```
|
1115
|
+
|
1116
|
+
### Get Emergency Notification Recipient
|
1117
|
+
|
1118
|
+
```ruby
|
1119
|
+
enr = BandwidthIris::EmergencyNotificationRecipients.get_emergency_notification_recipient("id")
|
1120
|
+
puts enr
|
1121
|
+
```
|
1122
|
+
|
1123
|
+
### Replace Emergency Notification Recipient
|
1124
|
+
|
1125
|
+
```ruby
|
1126
|
+
data = {
|
1127
|
+
:description => "Email to Bldg. 3 Front Desk",
|
1128
|
+
:type => "EMAIL",
|
1129
|
+
:email_address => "foo@bar.com"
|
1130
|
+
}
|
1131
|
+
|
1132
|
+
enr = BandwidthIris::EmergencyNotificationRecipients.replace_emergency_notification_recipient("id", data)
|
1133
|
+
puts enr
|
1134
|
+
```
|
1135
|
+
|
1136
|
+
### Delete Emergency Notification Recipient
|
1137
|
+
|
1138
|
+
```ruby
|
1139
|
+
BandwidthIris::EmergencyNotificationRecipients.delete_emergency_notification_recipient("id")
|
1140
|
+
```
|
1141
|
+
|
1142
|
+
## Emergeny Notification Group
|
1143
|
+
|
1144
|
+
### Create Emergency Notification Group Order
|
1145
|
+
|
1146
|
+
```ruby
|
1147
|
+
data = {
|
1148
|
+
:customer_order_id => "value",
|
1149
|
+
:added_emergency_notification_group => {
|
1150
|
+
:description => "description",
|
1151
|
+
:added_emergency_notification_recipients => {
|
1152
|
+
:emergency_notification_recipient => [
|
1153
|
+
{
|
1154
|
+
:identifier => "123"
|
1155
|
+
}
|
1156
|
+
]
|
1157
|
+
}
|
1158
|
+
}
|
1159
|
+
}
|
1160
|
+
|
1161
|
+
order = BandwidthIris::EmergencyNotificationGroups.create_emergency_notification_group_order(data)
|
1162
|
+
puts order
|
1163
|
+
```
|
1164
|
+
|
1165
|
+
### Get Emergency Notification Group Orders
|
1166
|
+
|
1167
|
+
```ruby
|
1168
|
+
orders = BandwidthIris::EmergencyNotificationGroups.get_emergency_notification_group_orders()
|
1169
|
+
puts orders
|
1170
|
+
```
|
1171
|
+
|
1172
|
+
### Get Emergency Notification Group Order
|
1173
|
+
|
1174
|
+
```ruby
|
1175
|
+
order = BandwidthIris::EmergencyNotificationGroups.get_emergency_notification_group_order("id")
|
1176
|
+
puts order
|
1177
|
+
```
|
1178
|
+
|
1179
|
+
### Get Emergency Notification Groups
|
1180
|
+
|
1181
|
+
```ruby
|
1182
|
+
groups = BandwidthIris::EmergencyNotificationGroups.get_emergency_notification_groups()
|
1183
|
+
puts groups
|
1184
|
+
```
|
1185
|
+
|
1186
|
+
### Get Emergency Notification Group
|
1187
|
+
|
1188
|
+
```ruby
|
1189
|
+
group = BandwidthIris::EmergencyNotificationGroups.get_emergency_notification_group("id")
|
1190
|
+
puts group
|
1191
|
+
```
|
1192
|
+
|
1193
|
+
## Emergency Notification Endpoint
|
1194
|
+
|
1195
|
+
### Create Emergency Notification Endpoint Order
|
1196
|
+
|
1197
|
+
```ruby
|
1198
|
+
data = {
|
1199
|
+
:customer_order_id => "123",
|
1200
|
+
:emergency_notification_endpoint_associations => {
|
1201
|
+
:emergency_notification_group => {
|
1202
|
+
:identifier => "456"
|
1203
|
+
}
|
1204
|
+
}
|
1205
|
+
}
|
1206
|
+
|
1207
|
+
order = BandwidthIris::EmergencyNotificationEndpoints.create_emergency_notification_endpoint_order(data)
|
1208
|
+
puts order
|
1209
|
+
```
|
1210
|
+
|
1211
|
+
### Get Emergency Notification Endpoint Orders
|
1212
|
+
|
1213
|
+
```ruby
|
1214
|
+
orders = BandwidthIris::EmergencyNotificationEndpoints.get_emergency_notification_endpoint_orders()
|
1215
|
+
puts orders
|
1216
|
+
```
|
1217
|
+
|
1218
|
+
### Get Emergency Notification Endpoint Order
|
1219
|
+
|
1220
|
+
```ruby
|
1221
|
+
order = BandwidthIris::EmergencyNotificationEndpoints.get_emergency_notification_endpoint_order("id")
|
1222
|
+
puts order
|
1223
|
+
```
|
1224
|
+
|
1225
|
+
## Alternate End User Identiy
|
1226
|
+
|
1227
|
+
### Get Alternate End User Information
|
1228
|
+
|
1229
|
+
```ruby
|
1230
|
+
aeuis = BandwidthIris::AlternateEndUserIdentity.get_alternate_end_user_information()
|
1231
|
+
puts aeuis
|
1232
|
+
```
|
1233
|
+
|
1234
|
+
### Get Alternate Caller Information
|
1235
|
+
|
1236
|
+
```ruby
|
1237
|
+
aeui = AlternateEndUserIdentity.get_alternate_caller_information("id")
|
1238
|
+
puts aeui
|
1239
|
+
```
|
1240
|
+
|
1241
|
+
## TN Option Orders
|
1242
|
+
|
1243
|
+
### Get TN Option Orders
|
1244
|
+
|
1245
|
+
```ruby
|
1246
|
+
orders = BandwidthIris::TnOptions.get_tn_option_orders()
|
1247
|
+
puts orders
|
1248
|
+
```
|
1249
|
+
|
1250
|
+
### Get TN Option Order
|
1251
|
+
|
1252
|
+
```ruby
|
1253
|
+
order = BandwidthIris::TnOptions.get_tn_option_order("order_id")
|
1254
|
+
puts order
|
1255
|
+
```
|
1256
|
+
|
1257
|
+
### Get TN Option Order (error)
|
1258
|
+
|
1259
|
+
```ruby
|
1260
|
+
begin
|
1261
|
+
order = BandwidthIris::TnOptions.get_tn_option_order("error_id")
|
1262
|
+
rescue BandwidthIris::Errors::GenericError => e
|
1263
|
+
puts e
|
1264
|
+
end
|
1265
|
+
```
|
1266
|
+
|
1267
|
+
### Create PortOut Passcode
|
1268
|
+
|
1269
|
+
```ruby
|
1270
|
+
data = {
|
1271
|
+
:customer_order_id => "custom order",
|
1272
|
+
:tn_option_groups => {
|
1273
|
+
:tn_option_group => [
|
1274
|
+
{
|
1275
|
+
:port_out_passcode => "12abd38",
|
1276
|
+
:telephone_numbers => {
|
1277
|
+
:telephone_number => ["2018551020"]
|
1278
|
+
}
|
1279
|
+
}
|
1280
|
+
]
|
1281
|
+
}
|
1282
|
+
}
|
1283
|
+
|
1284
|
+
|
1285
|
+
order = BandwidthIris::TnOptions.create_tn_option_order(data)
|
1286
|
+
puts order
|
1287
|
+
```
|
1288
|
+
|
1289
|
+
### Create Call Forward Number
|
1290
|
+
|
1291
|
+
```ruby
|
1292
|
+
data = {
|
1293
|
+
:customer_order_id => "custom order",
|
1294
|
+
:tn_option_groups => {
|
1295
|
+
:tn_option_group => [
|
1296
|
+
{
|
1297
|
+
:call_forward => "2018551022",
|
1298
|
+
:telephone_numbers => {
|
1299
|
+
:telephone_number => ["2018551020"]
|
1300
|
+
}
|
1301
|
+
}
|
1302
|
+
]
|
1303
|
+
}
|
1304
|
+
}
|
1305
|
+
|
1306
|
+
|
1307
|
+
order = BandwidthIris::TnOptions.create_tn_option_order(data)
|
1308
|
+
puts order
|
1309
|
+
```
|
1310
|
+
### Enable SMS
|
1311
|
+
|
1312
|
+
```ruby
|
1313
|
+
data = {
|
1314
|
+
:customer_order_id => "custom order",
|
1315
|
+
:tn_option_groups => {
|
1316
|
+
:tn_option_group => [
|
1317
|
+
{
|
1318
|
+
:sms => "on",
|
1319
|
+
:telephone_numbers => {
|
1320
|
+
:telephone_number => ["2018551020"]
|
1321
|
+
}
|
1322
|
+
}
|
1323
|
+
]
|
1324
|
+
}
|
1325
|
+
}
|
1326
|
+
|
1327
|
+
|
1328
|
+
order = BandwidthIris::TnOptions.create_tn_option_order(data)
|
1329
|
+
puts order
|
1330
|
+
```
|
@@ -0,0 +1,79 @@
|
|
1
|
+
lib = File.expand_path("../../lib", __FILE__)
|
2
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
+
|
4
|
+
require 'ruby-bandwidth-iris'
|
5
|
+
|
6
|
+
$bandwidth_account_id = ENV['BANDWIDTH_ACCOUNT_ID']
|
7
|
+
$bandwidth_user_name = ENV['BANDWIDTH_API_USER']
|
8
|
+
$bandwidth_password = ENV['BANDWIDTH_API_PASSWORD']
|
9
|
+
## Fill these in
|
10
|
+
$bandwidth_site_id = ENV['BANDWIDTH_SITE_ID']
|
11
|
+
$bandwidth_to_sippeer_id = ENV['BANDWIDTH_SIPPEER_ID']
|
12
|
+
|
13
|
+
|
14
|
+
def get_order_by_id(client, order_id:, attempts: 0)
|
15
|
+
begin
|
16
|
+
order_result = BandwidthIris::Order.get(client, order_id)
|
17
|
+
return order_result
|
18
|
+
rescue Exception => e
|
19
|
+
if attempts > 3
|
20
|
+
puts("Completely Failed fetching Order")
|
21
|
+
raise StandardError.new e
|
22
|
+
end
|
23
|
+
puts("Error Message: #{e.message}")
|
24
|
+
attempts = attempts+1
|
25
|
+
sleep(1)
|
26
|
+
return get_order_by_id(client, order_id: order_id, attempts: attempts)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def get_numbers_from_order_id(client, order_id:)
|
31
|
+
order = BandwidthIris::Order.new({:id => order_id}, client)
|
32
|
+
numbers_result = order.get_tns
|
33
|
+
return numbers_result
|
34
|
+
end
|
35
|
+
|
36
|
+
def order_numbers_with_reservation_id(client, reservation_id:, number:)
|
37
|
+
order_data = {
|
38
|
+
:name => "Reservation Test",
|
39
|
+
:site_id => $bandwidth_site_id,
|
40
|
+
:existing_telephone_number_order_type => {
|
41
|
+
:telephone_number_list => [
|
42
|
+
:telephone_number => number
|
43
|
+
],
|
44
|
+
:reservation_id_list => [
|
45
|
+
:reservation_id => reservation_id
|
46
|
+
]
|
47
|
+
}
|
48
|
+
}
|
49
|
+
order_result = BandwidthIris::Order.create(client, order_data)
|
50
|
+
return order_result
|
51
|
+
end
|
52
|
+
|
53
|
+
def reserve_numbers(client, number:)
|
54
|
+
reservation = BandwidthIris::TnReservation.create(client, number)
|
55
|
+
return reservation
|
56
|
+
end
|
57
|
+
|
58
|
+
def search_numbers(client, area_code: 919)
|
59
|
+
list = BandwidthIris::AvailableNumber.list(client, {:area_code => area_code, :quantity => 5})
|
60
|
+
return list
|
61
|
+
end
|
62
|
+
|
63
|
+
def main()
|
64
|
+
client = BandwidthIris::Client.new($bandwidth_account_id, $bandwidth_user_name, $bandwidth_password)
|
65
|
+
available_numbers = search_numbers(client)
|
66
|
+
number = available_numbers[0]
|
67
|
+
reservation = reserve_numbers(client, number: number)
|
68
|
+
reservation_id = reservation.id
|
69
|
+
order = order_numbers_with_reservation_id(client, reservation_id: reservation_id, number: number)
|
70
|
+
order_id = order.id
|
71
|
+
puts(order_id)
|
72
|
+
my_order = get_order_by_id(client, order_id: order_id)
|
73
|
+
my_numbers = get_numbers_from_order_id(client, order_id:order_id)
|
74
|
+
puts(my_numbers)
|
75
|
+
end
|
76
|
+
|
77
|
+
if __FILE__ == $0
|
78
|
+
main
|
79
|
+
end
|
@@ -0,0 +1,83 @@
|
|
1
|
+
lib = File.expand_path("../../lib", __FILE__)
|
2
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
+
|
4
|
+
require "ruby-bandwidth-iris"
|
5
|
+
|
6
|
+
def order_numbers_in_area_code(client, site_id:, sippeer_id:, area_code: 919, quantity: 1)
|
7
|
+
order_data = {
|
8
|
+
:name => "Test",
|
9
|
+
:site_id => site_id,
|
10
|
+
:area_code_search_and_order_type => {
|
11
|
+
:area_code => area_code,
|
12
|
+
:quantity => quantity
|
13
|
+
}
|
14
|
+
}
|
15
|
+
order_result = BandwidthIris::Order.create(client, order_data)
|
16
|
+
order_id = order_result.to_data[:id]
|
17
|
+
return order_id
|
18
|
+
end
|
19
|
+
|
20
|
+
def get_order_by_id(client, order_id:, attempts: 0)
|
21
|
+
begin
|
22
|
+
order_result = BandwidthIris::Order.get(client, order_id)
|
23
|
+
return order_result
|
24
|
+
rescue Exception => e
|
25
|
+
if attempts > 3
|
26
|
+
puts("Completely Failed fetching Order")
|
27
|
+
raise StandardError.new e
|
28
|
+
end
|
29
|
+
puts("Error Message: #{e.message}\nCode:#{e.code}")
|
30
|
+
attempts = attempts+1
|
31
|
+
sleep(1)
|
32
|
+
return get_order_by_id(client, order_id: order_id, attempts: attempts)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def get_order_response_by_id(client, order_id:, attempts: 0)
|
37
|
+
begin
|
38
|
+
order_response = BandwidthIris::Order.get_order_response(client, order_id)
|
39
|
+
order_data = order_response.to_data
|
40
|
+
numbers = order_response.completed_numbers
|
41
|
+
completed_number = order_data[:completed_numbers][:telephone_number][:full_number]
|
42
|
+
return order_data
|
43
|
+
rescue Exception => e
|
44
|
+
if attempts > 3
|
45
|
+
puts("Completely Failed fetching Order")
|
46
|
+
raise StandardError.new e
|
47
|
+
end
|
48
|
+
puts("Error Message: #{e.message}\nCode:#{e.code}")
|
49
|
+
attempts = attempts+1
|
50
|
+
sleep(1)
|
51
|
+
return get_order_response(client, order_id: order_id, attempts: attempts)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
|
56
|
+
def get_numbers_from_order_id(client, order_id:)
|
57
|
+
order = BandwidthIris::Order.new({:id => order_id}, client)
|
58
|
+
numbers_result = order.get_tns
|
59
|
+
return numbers_result
|
60
|
+
end
|
61
|
+
|
62
|
+
def get_numbers_from_order(order)
|
63
|
+
numbers_result = order.get_tns
|
64
|
+
return numbers_result
|
65
|
+
end
|
66
|
+
|
67
|
+
def main
|
68
|
+
bandwidth_account_id = ENV["BANDWIDTH_ACCOUNT_ID"]
|
69
|
+
bandwidth_user_name = ENV["BANDWIDTH_API_USER"]
|
70
|
+
bandwidth_password = ENV["BANDWIDTH_API_PASSWORD"]
|
71
|
+
bandwidth_site_id = ENV["BANDWIDTH_SITE_ID"]
|
72
|
+
bandwidth_to_sippeer_id = ENV["BANDWIDTH_SIPPEER_ID"]
|
73
|
+
client = BandwidthIris::Client.new(bandwidth_account_id, bandwidth_user_name, bandwidth_password)
|
74
|
+
order_id = order_numbers_in_area_code(client, site_id: bandwidth_site_id, sippeer_id: bandwidth_to_sippeer_id)
|
75
|
+
my_order = get_order_by_id(client, order_id: order_id)
|
76
|
+
my_order_response = get_order_response_by_id(client, order_id: order_id)
|
77
|
+
my_numbers = get_numbers_from_order_id(client, order_id:order_id)
|
78
|
+
my_numbers = get_numbers_from_order(my_order)
|
79
|
+
end
|
80
|
+
|
81
|
+
if __FILE__ == $0
|
82
|
+
main
|
83
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module BandwidthIris
|
2
|
+
AEUI_PATH = 'aeuis'
|
3
|
+
|
4
|
+
class AlternateEndUserIdentity
|
5
|
+
extend ClientWrapper
|
6
|
+
include ApiItem
|
7
|
+
|
8
|
+
def self.get_alternate_end_user_information(client, query=nil)
|
9
|
+
response = client.make_request(:get, "#{client.concat_account_path(AEUI_PATH)}", query)
|
10
|
+
return response[0]
|
11
|
+
end
|
12
|
+
wrap_client_arg :get_alternate_end_user_information
|
13
|
+
|
14
|
+
def self.get_alternate_caller_information(client, acid)
|
15
|
+
response = client.make_request(:get, "#{client.concat_account_path(AEUI_PATH)}/#{acid}")
|
16
|
+
return response[0][:alternate_end_user_identifier]
|
17
|
+
end
|
18
|
+
wrap_client_arg :get_alternate_caller_information
|
19
|
+
end
|
20
|
+
end
|
@@ -22,7 +22,7 @@ module BandwidthIris
|
|
22
22
|
password = options[:password] unless password
|
23
23
|
options[:api_endpoint] = @@global_options[:api_endpoint] unless options[:api_endpoint]
|
24
24
|
options[:api_version] = @@global_options[:api_version] unless options[:api_version]
|
25
|
-
api_endpoint = options[:api_endpoint] || "https://
|
25
|
+
api_endpoint = options[:api_endpoint] || "https://dashboard.bandwidth.com"
|
26
26
|
api_version = options[:api_version] || "v1.0"
|
27
27
|
|
28
28
|
@build_path = lambda {|path| "/#{api_version}" + (if path[0] == "/" then path else "/#{path}" end) }
|
@@ -32,6 +32,7 @@ module BandwidthIris
|
|
32
32
|
faraday.basic_auth(user_name, password)
|
33
33
|
#faraday.response :logger
|
34
34
|
faraday.headers['Accept'] = 'application/xml'
|
35
|
+
faraday.headers['user-agent'] = 'Ruby-Bandwidth-Iris'
|
35
36
|
faraday.use FaradayMiddleware::FollowRedirects
|
36
37
|
@set_adapter.call(faraday)
|
37
38
|
}
|
@@ -77,7 +78,8 @@ module BandwidthIris
|
|
77
78
|
req.params = d unless d == nil || d.empty?
|
78
79
|
end
|
79
80
|
else
|
80
|
-
|
81
|
+
xml_to_send = build_xml(data) # help debug
|
82
|
+
connection.run_request(method, @build_path.call(path), xml_to_send, {'Content-Type' => 'application/xml'})
|
81
83
|
end
|
82
84
|
body = check_response(response)
|
83
85
|
[body || {}, symbolize(response.headers || {})]
|
@@ -86,7 +88,7 @@ module BandwidthIris
|
|
86
88
|
# Makes an HTTP request for file uploads
|
87
89
|
# @param method [Symbol] http method to make
|
88
90
|
# @param path [string] path of url (exclude api verion and endpoint) to make call
|
89
|
-
# @param data [string] the raw binary string representing the file to upload
|
91
|
+
# @param data [string] the raw binary string representing the file to upload
|
90
92
|
# @param content_type [string] the content type of the request
|
91
93
|
# @return [Array] array with 2 elements: parsed data of response and response headers
|
92
94
|
def make_request_file_upload(method, path, data, content_type)
|
@@ -100,7 +102,7 @@ module BandwidthIris
|
|
100
102
|
# @param method [Symbol] http method to make
|
101
103
|
# @param path [string] path of url (exclude api verion and endpoint) to make call
|
102
104
|
# @param data [Hash] data which will be sent with request (for :get and :delete request they will be sent with query in url)
|
103
|
-
# @return [string] raw response from the API
|
105
|
+
# @return [string] raw response from the API
|
104
106
|
def make_request_file_download(method, path, data = {})
|
105
107
|
connection = @create_connection.call()
|
106
108
|
response = if method == :get || method == :delete
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module BandwidthIris
|
2
|
+
ENE_ORDERS_PATH = 'emergencyNotificationEndpointOrders'
|
3
|
+
|
4
|
+
class EmergencyNotificationEndpoints
|
5
|
+
extend ClientWrapper
|
6
|
+
include ApiItem
|
7
|
+
|
8
|
+
def self.create_emergency_notification_endpoint_order(client, data)
|
9
|
+
response = client.make_request(:post, "#{client.concat_account_path(ENE_ORDERS_PATH)}", {:emergency_notification_endpoint_order => data})
|
10
|
+
return response[0][:emergency_notification_endpoint_order]
|
11
|
+
end
|
12
|
+
wrap_client_arg :create_emergency_notification_endpoint_order
|
13
|
+
|
14
|
+
def self.get_emergency_notification_endpoint_orders(client, query=nil)
|
15
|
+
response = client.make_request(:get, "#{client.concat_account_path(ENE_ORDERS_PATH)}", query)
|
16
|
+
return response[0]
|
17
|
+
end
|
18
|
+
wrap_client_arg :get_emergency_notification_endpoint_orders
|
19
|
+
|
20
|
+
def self.get_emergency_notification_endpoint_order(client, order_id)
|
21
|
+
response = client.make_request(:get, "#{client.concat_account_path(ENE_ORDERS_PATH)}/#{order_id}")
|
22
|
+
return response[0][:emergency_notification_endpoint_order]
|
23
|
+
end
|
24
|
+
wrap_client_arg :get_emergency_notification_endpoint_order
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module BandwidthIris
|
2
|
+
ENG_ORDERS_PATH = 'emergencyNotificationGroupOrders'
|
3
|
+
ENG_PATH = 'emergencyNotificationGroups'
|
4
|
+
|
5
|
+
class EmergencyNotificationGroups
|
6
|
+
extend ClientWrapper
|
7
|
+
include ApiItem
|
8
|
+
|
9
|
+
def self.create_emergency_notification_group_order(client, data)
|
10
|
+
response = client.make_request(:post, "#{client.concat_account_path(ENG_ORDERS_PATH)}", {:emergency_notification_group_order => data})
|
11
|
+
return response[0][:emergency_notification_endpoint_order]
|
12
|
+
end
|
13
|
+
wrap_client_arg :create_emergency_notification_group_order
|
14
|
+
|
15
|
+
def self.get_emergency_notification_group_orders(client, query=nil)
|
16
|
+
response = client.make_request(:get, "#{client.concat_account_path(ENG_ORDERS_PATH)}", query)
|
17
|
+
return response[0]
|
18
|
+
end
|
19
|
+
wrap_client_arg :get_emergency_notification_group_orders
|
20
|
+
|
21
|
+
def self.get_emergency_notification_group_order(client, order_id)
|
22
|
+
response = client.make_request(:get, "#{client.concat_account_path(ENG_ORDERS_PATH)}/#{order_id}")
|
23
|
+
return response[0][:emergency_notification_endpoint_order]
|
24
|
+
end
|
25
|
+
wrap_client_arg :get_emergency_notification_group_order
|
26
|
+
|
27
|
+
def self.get_emergency_notification_group(client, eng_id)
|
28
|
+
response = client.make_request(:get, "#{client.concat_account_path(ENG_PATH)}/#{eng_id}")
|
29
|
+
return response[0][:emergency_notification_group]
|
30
|
+
end
|
31
|
+
wrap_client_arg :get_emergency_notification_group
|
32
|
+
|
33
|
+
def self.get_emergency_notification_groups(client, query=nil)
|
34
|
+
response = client.make_request(:get, "#{client.concat_account_path(ENG_PATH)}", query)
|
35
|
+
return response[0]
|
36
|
+
end
|
37
|
+
wrap_client_arg :get_emergency_notification_groups
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module BandwidthIris
|
2
|
+
ENR_PATH = 'emergencyNotificationRecipients'
|
3
|
+
|
4
|
+
class EmergencyNotificationRecipients
|
5
|
+
extend ClientWrapper
|
6
|
+
include ApiItem
|
7
|
+
|
8
|
+
def self.create_emergency_notification_recipient(client, data)
|
9
|
+
response = client.make_request(:post, "#{client.concat_account_path(ENR_PATH)}", {:emergency_notification_recipient => data})
|
10
|
+
return response[0][:emergency_notification_recipient]
|
11
|
+
end
|
12
|
+
wrap_client_arg :create_emergency_notification_recipient
|
13
|
+
|
14
|
+
def self.get_emergency_notification_recipients(client, query=nil)
|
15
|
+
response = client.make_request(:get, "#{client.concat_account_path(ENR_PATH)}", query)
|
16
|
+
return response[0]
|
17
|
+
end
|
18
|
+
wrap_client_arg :get_emergency_notification_recipients
|
19
|
+
|
20
|
+
def self.get_emergency_notification_recipient(client, enr_id)
|
21
|
+
response = client.make_request(:get, "#{client.concat_account_path(ENR_PATH)}/#{enr_id}")
|
22
|
+
return response[0][:emergency_notification_recipient]
|
23
|
+
end
|
24
|
+
wrap_client_arg :get_emergency_notification_recipient
|
25
|
+
|
26
|
+
def self.replace_emergency_notification_recipient(client, enr_id, data)
|
27
|
+
response = client.make_request(:put, "#{client.concat_account_path(ENR_PATH)}/#{enr_id}", {:emergency_notification_recipient => data})
|
28
|
+
return response[0][:emergency_notification_recipient]
|
29
|
+
end
|
30
|
+
wrap_client_arg :replace_emergency_notification_recipient
|
31
|
+
|
32
|
+
def self.delete_emergency_notification_recipient(client, enr_id)
|
33
|
+
client.make_request(:delete, "#{client.concat_account_path(ENR_PATH)}/#{enr_id}")
|
34
|
+
end
|
35
|
+
wrap_client_arg :delete_emergency_notification_recipient
|
36
|
+
end
|
37
|
+
end
|
data/lib/bandwidth-iris/order.rb
CHANGED
@@ -13,6 +13,14 @@ module BandwidthIris
|
|
13
13
|
|
14
14
|
def self.get(client, id)
|
15
15
|
data = client.make_request(:get, "#{client.concat_account_path(ORDER_PATH)}/#{id}")[0][:order]
|
16
|
+
data[:id] = id
|
17
|
+
Order.new(data, client)
|
18
|
+
end
|
19
|
+
wrap_client_arg :get
|
20
|
+
|
21
|
+
def self.get_order_response(client, id)
|
22
|
+
data = client.make_request(:get, "#{client.concat_account_path(ORDER_PATH)}/#{id}")[0]
|
23
|
+
data[:id] = id
|
16
24
|
Order.new(data, client)
|
17
25
|
end
|
18
26
|
wrap_client_arg :get
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module BandwidthIris
|
2
|
+
TN_OPTIONS_PATH = 'tnoptions'
|
3
|
+
|
4
|
+
class TnOptions
|
5
|
+
extend ClientWrapper
|
6
|
+
include ApiItem
|
7
|
+
|
8
|
+
def self.get_tn_option_orders(client, query = nil)
|
9
|
+
response = client.make_request(:get, "#{client.concat_account_path(TN_OPTIONS_PATH)}", query)
|
10
|
+
return response[0]
|
11
|
+
end
|
12
|
+
wrap_client_arg :get_tn_option_orders
|
13
|
+
|
14
|
+
def self.create_tn_option_order(client, data)
|
15
|
+
response = client.make_request(:post, "#{client.concat_account_path(TN_OPTIONS_PATH)}", {:tn_option_order => data})
|
16
|
+
return response[0][:tn_option_order]
|
17
|
+
end
|
18
|
+
wrap_client_arg :create_tn_option_order
|
19
|
+
|
20
|
+
def self.get_tn_option_order(client, order_id)
|
21
|
+
response = client.make_request(:get, "#{client.concat_account_path(TN_OPTIONS_PATH)}/#{order_id}")
|
22
|
+
return response[0]
|
23
|
+
end
|
24
|
+
wrap_client_arg :get_tn_option_order
|
25
|
+
end
|
26
|
+
end
|
@@ -8,12 +8,14 @@ module BandwidthIris
|
|
8
8
|
|
9
9
|
def self.get(client, id)
|
10
10
|
data = client.make_request(:get, "#{client.concat_account_path(TN_RESERVATION_PATH)}/#{id}")[0][:reservation]
|
11
|
+
data[:id] = id
|
11
12
|
TnReservation.new(data, client)
|
12
13
|
end
|
13
14
|
wrap_client_arg :get
|
14
15
|
|
15
|
-
def self.create(client,
|
16
|
-
|
16
|
+
def self.create(client, number)
|
17
|
+
reservation_request = {:reservation => {:reserved_tn => number } }
|
18
|
+
location = client.make_request(:post, client.concat_account_path(TN_RESERVATION_PATH), reservation_request)[1][:location]
|
17
19
|
id = Client.get_id_from_location_header(location)
|
18
20
|
self.get(client, id)
|
19
21
|
end
|
data/lib/ruby-bandwidth-iris.rb
CHANGED
@@ -32,5 +32,10 @@ require 'bandwidth-iris/remove_imported_tn_orders'
|
|
32
32
|
require 'bandwidth-iris/csr'
|
33
33
|
require 'bandwidth-iris/applications'
|
34
34
|
require 'bandwidth-iris/sip_peer_products'
|
35
|
+
require 'bandwidth-iris/emergency_notification_endpoints'
|
36
|
+
require 'bandwidth-iris/emergency_notification_groups'
|
37
|
+
require 'bandwidth-iris/emergency_notification_recipients'
|
38
|
+
require 'bandwidth-iris/aeui'
|
39
|
+
require 'bandwidth-iris/tn_options'
|
35
40
|
|
36
41
|
require 'bandwidth-iris/version'
|
@@ -0,0 +1,25 @@
|
|
1
|
+
describe BandwidthIris::AlternateEndUserIdentity do
|
2
|
+
client = nil
|
3
|
+
|
4
|
+
before :each do
|
5
|
+
client = Helper.get_client()
|
6
|
+
end
|
7
|
+
|
8
|
+
after :each do
|
9
|
+
client.stubs.verify_stubbed_calls()
|
10
|
+
end
|
11
|
+
|
12
|
+
describe '#aeui' do
|
13
|
+
it 'should get aeuis' do
|
14
|
+
client.stubs.get("/v1.0/accounts/accountId/aeuis") {|env| [200, {}, Helper.xml['aeuis']]}
|
15
|
+
aeuis = AlternateEndUserIdentity.get_alternate_end_user_information(client)
|
16
|
+
expect(aeuis[:alternate_end_user_identifiers][:alternate_end_user_identifier][0][:identifier]).to eql("DavidAcid")
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'should get aeui' do
|
20
|
+
client.stubs.get("/v1.0/accounts/accountId/aeuis/id") {|env| [200, {}, Helper.xml['aeui']]}
|
21
|
+
aeui = AlternateEndUserIdentity.get_alternate_caller_information(client, "id")
|
22
|
+
expect(aeui[:identifier]).to eql("DavidAcid")
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
describe BandwidthIris::EmergencyNotificationEndpoints do
|
2
|
+
client = nil
|
3
|
+
|
4
|
+
before :each do
|
5
|
+
client = Helper.get_client()
|
6
|
+
end
|
7
|
+
|
8
|
+
after :each do
|
9
|
+
client.stubs.verify_stubbed_calls()
|
10
|
+
end
|
11
|
+
|
12
|
+
describe '#EneTests' do
|
13
|
+
it 'should create ene order' do
|
14
|
+
data = {
|
15
|
+
:value => "value"
|
16
|
+
}
|
17
|
+
client.stubs.post("/v1.0/accounts/accountId/emergencyNotificationEndpointOrders", client.build_xml({:emergency_notification_endpoint_order => data})) {|env| [200, {}, Helper.xml['emergencyNotificationEndpointOrder']]}
|
18
|
+
ene_order = EmergencyNotificationEndpoints.create_emergency_notification_endpoint_order(client, data)
|
19
|
+
expect(ene_order[:order_id]).to eql("3e9a852e-2d1d-4e2d-84c3-87223a78cb70")
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'should get ene orders' do
|
23
|
+
client.stubs.get("/v1.0/accounts/accountId/emergencyNotificationEndpointOrders") {|env| [200, {}, Helper.xml['emergencyNotificationEndpointOrders']]}
|
24
|
+
ene_orders = EmergencyNotificationEndpoints.get_emergency_notification_endpoint_orders(client)
|
25
|
+
expect(ene_orders[:emergency_notification_endpoint_orders][:emergency_notification_endpoint_order][0][:order_id]).to eql("3e9a852e-2d1d-4e2d-84c3-87223a78cb70")
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'should get ene order' do
|
29
|
+
client.stubs.get("/v1.0/accounts/accountId/emergencyNotificationEndpointOrders/id") {|env| [200, {}, Helper.xml['emergencyNotificationEndpointOrder']]}
|
30
|
+
ene_order = EmergencyNotificationEndpoints.get_emergency_notification_endpoint_order(client, "id")
|
31
|
+
expect(ene_order[:order_id]).to eql("3e9a852e-2d1d-4e2d-84c3-87223a78cb70")
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
@@ -0,0 +1,48 @@
|
|
1
|
+
describe BandwidthIris::EmergencyNotificationGroups do
|
2
|
+
client = nil
|
3
|
+
|
4
|
+
before :each do
|
5
|
+
client = Helper.get_client()
|
6
|
+
end
|
7
|
+
|
8
|
+
after :each do
|
9
|
+
client.stubs.verify_stubbed_calls()
|
10
|
+
end
|
11
|
+
|
12
|
+
describe '#EngOrderTests' do
|
13
|
+
it 'should create eng order' do
|
14
|
+
data = {
|
15
|
+
:value => "value"
|
16
|
+
}
|
17
|
+
client.stubs.post("/v1.0/accounts/accountId/emergencyNotificationGroupOrders", client.build_xml({:emergency_notification_group_order => data})) {|env| [200, {}, Helper.xml['emergencyNotificationGroupOrder']]}
|
18
|
+
order = EmergencyNotificationGroups.create_emergency_notification_group_order(client, data)
|
19
|
+
expect(order[:order_id]).to eql("900b3646-18df-4626-b237-3a8de648ebf6")
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'should get eng orders' do
|
23
|
+
client.stubs.get("/v1.0/accounts/accountId/emergencyNotificationGroupOrders") {|env| [200, {}, Helper.xml['emergencyNotificationGroupOrders']]}
|
24
|
+
orders = EmergencyNotificationGroups.get_emergency_notification_group_orders(client)
|
25
|
+
expect(orders[:emergency_notification_group_orders][:emergency_notification_group_order][0][:order_id]).to eql("092815dc-9ced-4d67-a070-a80eb243b914")
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'should get eng order' do
|
29
|
+
client.stubs.get("/v1.0/accounts/accountId/emergencyNotificationGroupOrders/id") {|env| [200, {}, Helper.xml['emergencyNotificationGroupOrder']]}
|
30
|
+
order = EmergencyNotificationGroups.get_emergency_notification_group_order(client, "id")
|
31
|
+
expect(order[:order_id]).to eql("900b3646-18df-4626-b237-3a8de648ebf6")
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
describe '#EngTests' do
|
36
|
+
it 'should get eng' do
|
37
|
+
client.stubs.get("/v1.0/accounts/accountId/emergencyNotificationGroups/id") {|env| [200, {}, Helper.xml['emergencyNotificationGroup']]}
|
38
|
+
eng = EmergencyNotificationGroups.get_emergency_notification_group(client, "id")
|
39
|
+
expect(eng[:identifier]).to eql("63865500-0904-46b1-9b4f-7bd237a26363")
|
40
|
+
end
|
41
|
+
|
42
|
+
it 'should get engs' do
|
43
|
+
client.stubs.get("/v1.0/accounts/accountId/emergencyNotificationGroups") {|env| [200, {}, Helper.xml['emergencyNotificationGroups']]}
|
44
|
+
engs = EmergencyNotificationGroups.get_emergency_notification_groups(client)
|
45
|
+
expect(engs[:emergency_notification_groups][:emergency_notification_group][0][:identifier]).to eql("63865500-0904-46b1-9b4f-7bd237a26363")
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
describe BandwidthIris::EmergencyNotificationRecipients do
|
2
|
+
client = nil
|
3
|
+
|
4
|
+
before :each do
|
5
|
+
client = Helper.get_client()
|
6
|
+
end
|
7
|
+
|
8
|
+
after :each do
|
9
|
+
client.stubs.verify_stubbed_calls()
|
10
|
+
end
|
11
|
+
|
12
|
+
describe '#EnrTests' do
|
13
|
+
it 'should create enr' do
|
14
|
+
data = {
|
15
|
+
:value => "value"
|
16
|
+
}
|
17
|
+
client.stubs.post("/v1.0/accounts/accountId/emergencyNotificationRecipients", client.build_xml({:emergency_notification_recipient => data})) {|env| [200, {}, Helper.xml['emergencyNotificationRecipient']]}
|
18
|
+
enr = EmergencyNotificationRecipients.create_emergency_notification_recipient(client, data)
|
19
|
+
expect(enr[:identifier]).to eql(" 63865500-0904-46b1-9b4f-7bd237a26363 ")
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'should get enrs' do
|
23
|
+
client.stubs.get("/v1.0/accounts/accountId/emergencyNotificationRecipients") {|env| [200, {}, Helper.xml['emergencyNotificationRecipients']]}
|
24
|
+
enrs = EmergencyNotificationRecipients.get_emergency_notification_recipients(client)
|
25
|
+
expect(enrs[:emergency_notification_recipients][:emergency_notification_recipient][0][:identifier]).to eql(" 63865500-0904-46b1-9b4f-7bd237a26363 ")
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'should get enr' do
|
29
|
+
client.stubs.get("/v1.0/accounts/accountId/emergencyNotificationRecipients/id") {|env| [200, {}, Helper.xml['emergencyNotificationRecipient']]}
|
30
|
+
enr = EmergencyNotificationRecipients.get_emergency_notification_recipient(client, "id")
|
31
|
+
expect(enr[:identifier]).to eql(" 63865500-0904-46b1-9b4f-7bd237a26363 ")
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'should replace enr' do
|
35
|
+
data = {
|
36
|
+
:value => "value"
|
37
|
+
}
|
38
|
+
client.stubs.put("/v1.0/accounts/accountId/emergencyNotificationRecipients/id", client.build_xml({:emergency_notification_recipient => data})) {|env| [200, {}, Helper.xml['emergencyNotificationRecipient']]}
|
39
|
+
enr = EmergencyNotificationRecipients.replace_emergency_notification_recipient(client, "id", data)
|
40
|
+
expect(enr[:identifier]).to eql(" 63865500-0904-46b1-9b4f-7bd237a26363 ")
|
41
|
+
end
|
42
|
+
|
43
|
+
it 'should delete enr' do
|
44
|
+
client.stubs.delete("/v1.0/accounts/accountId/emergencyNotificationRecipients/id") {|env| [200, {}, '']}
|
45
|
+
EmergencyNotificationRecipients.delete_emergency_notification_recipient(client, "id")
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -12,18 +12,18 @@ describe BandwidthIris::Order do
|
|
12
12
|
describe '#create' do
|
13
13
|
it 'should create an order' do
|
14
14
|
data = {
|
15
|
-
:name => "
|
16
|
-
:siteId => "
|
17
|
-
:customerOrderId => "
|
18
|
-
:
|
19
|
-
:
|
15
|
+
:name => "Local Order",
|
16
|
+
:siteId => "29976",
|
17
|
+
:customerOrderId => "123456789",
|
18
|
+
:area_code_search_and_order_type => {
|
19
|
+
:area_code => 919,
|
20
20
|
:quantity => 1
|
21
21
|
}
|
22
22
|
}
|
23
|
-
client.stubs.post("/v1.0/accounts/accountId/orders", client.build_xml({:order => data})){|env| [200, {}, Helper.xml['
|
23
|
+
client.stubs.post("/v1.0/accounts/accountId/orders", client.build_xml({:order => data})){|env| [200, {}, Helper.xml['create_order_response']]}
|
24
24
|
order = Order.create(client, data)
|
25
|
-
expect(order.id).to eql(
|
26
|
-
expect(order.name).to eql("
|
25
|
+
expect(order.id).to eql("a7af704e-2ec0-4c4d-9dc5-1b77fa62c92a")
|
26
|
+
expect(order.name).to eql("Local Order")
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
@@ -31,11 +31,20 @@ describe BandwidthIris::Order do
|
|
31
31
|
it 'should return an order' do
|
32
32
|
client.stubs.get("/v1.0/accounts/accountId/orders/101"){|env| [200, {}, Helper.xml['order']]}
|
33
33
|
order = Order.get(client, "101")
|
34
|
-
expect(order.id).to eql(101)
|
34
|
+
expect(order.id).to eql("101")
|
35
35
|
expect(order.name).to eql("Test")
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
39
|
+
describe '#get_order_response' do
|
40
|
+
it 'should return an order with details' do
|
41
|
+
client.stubs.get("/v1.0/accounts/accountId/orders/101"){|env| [200, {}, Helper.xml['order']]}
|
42
|
+
order = Order.get_order_response(client, "101")
|
43
|
+
completed_number = order.completed_numbers[:telephone_number][:full_number]
|
44
|
+
expect(completed_number).to eql("9194464166")
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
39
48
|
describe '#list' do
|
40
49
|
it 'should return orders' do
|
41
50
|
client.stubs.get("/v1.0/accounts/accountId/orders"){|env| [200, {}, Helper.xml['orders']]}
|
@@ -0,0 +1,42 @@
|
|
1
|
+
describe BandwidthIris::TnOptions do
|
2
|
+
client = nil
|
3
|
+
|
4
|
+
before :each do
|
5
|
+
client = Helper.get_client()
|
6
|
+
end
|
7
|
+
|
8
|
+
after :each do
|
9
|
+
client.stubs.verify_stubbed_calls()
|
10
|
+
end
|
11
|
+
|
12
|
+
describe "#tnOptionOrders" do
|
13
|
+
it "should get tn option orders" do
|
14
|
+
client.stubs.get("/v1.0/accounts/accountId/tnoptions"){|env| [200, {}, Helper.xml['tnOptionOrders']]}
|
15
|
+
orders = TnOptions.get_tn_option_orders(client)
|
16
|
+
expect(orders[:tn_option_order_summary][0][:account_id]).to eql(14)
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should create tn option order" do
|
20
|
+
data = {
|
21
|
+
:customer_order_id => "12345",
|
22
|
+
:tn_option_groups => {
|
23
|
+
:tn_option_group => [
|
24
|
+
{
|
25
|
+
:number_format => "10digit",
|
26
|
+
:RPIDFormat => "10digit"
|
27
|
+
}
|
28
|
+
]
|
29
|
+
}
|
30
|
+
}
|
31
|
+
client.stubs.post("/v1.0/accounts/accountId/tnoptions", client.build_xml({:tn_option_order => data})){|env| [200, {}, Helper.xml['tnOptionOrderResponse']]}
|
32
|
+
order = TnOptions.create_tn_option_order(client, data)
|
33
|
+
expect(order[:account_id]).to eql(14)
|
34
|
+
end
|
35
|
+
|
36
|
+
it "should get tn option order" do
|
37
|
+
client.stubs.get("/v1.0/accounts/accountId/tnoptions/id"){|env| [200, {}, Helper.xml['tnOptionOrder']]}
|
38
|
+
order = TnOptions.get_tn_option_order(client, "id")
|
39
|
+
expect(order[:account_id]).to eql(14)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -20,11 +20,11 @@ describe BandwidthIris::TnReservation do
|
|
20
20
|
|
21
21
|
describe '#create' do
|
22
22
|
it 'should create a reservation' do
|
23
|
-
|
24
|
-
client.stubs.post('/v1.0/accounts/accountId/tnreservation', client.build_xml({:
|
25
|
-
client.stubs.get('/v1.0/accounts/accountId/tnreservation/
|
26
|
-
item = TnReservation.create(client,
|
27
|
-
expect(item[:id]).to eql(
|
23
|
+
number = "9198975719"
|
24
|
+
client.stubs.post('/v1.0/accounts/accountId/tnreservation', client.build_xml({:reservation => {:reserved_tn => number } })) {|env| [200, {'Location' => '/v1.0/accounts/accountId/tnreservations/e34474d6-1d47-486d-af32-be9f2eefdff4'}, '']}
|
25
|
+
client.stubs.get('/v1.0/accounts/accountId/tnreservation/e34474d6-1d47-486d-af32-be9f2eefdff4') {|env| [200, {}, Helper.xml['tn_reservation']]}
|
26
|
+
item = TnReservation.create(client, number)
|
27
|
+
expect(item[:id]).to eql("e34474d6-1d47-486d-af32-be9f2eefdff4")
|
28
28
|
expect(item[:account_id]).to eql(111)
|
29
29
|
end
|
30
30
|
end
|
data/spec/xml.yml
CHANGED
@@ -14,16 +14,16 @@
|
|
14
14
|
tn_sites: "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><Site><Id>1435</Id><Name>Sales Training</Name></Site>"
|
15
15
|
tn_sip_peers: "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><SipPeer><Id>4064</Id><Name>Sales</Name></SipPeer>"
|
16
16
|
tn_rate_center: "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><TelephoneNumberResponse><TelephoneNumberDetails><State>CO</State><RateCenter>DENVER</RateCenter></TelephoneNumberDetails></TelephoneNumberResponse>"
|
17
|
-
tn_reservation: "<?xml version=\"1.0\" encoding=\"
|
17
|
+
tn_reservation: "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><ReservationResponse><Reservation><ReservationId>e34474d6-1d47-486d-af32-be9f2eefdff4</ReservationId><AccountId>111</AccountId><ReservationExpires>13157</ReservationExpires><ReservedTn>9198975719</ReservedTn></Reservation></ReservationResponse>"
|
18
18
|
tn_details: "<TelephoneNumberResponse><TelephoneNumberDetails><City>JERSEY CITY</City><Lata>224</Lata><State>NJ</State><FullNumber>2018981023</FullNumber><Tier>0</Tier><VendorId>49</VendorId><VendorName>Bandwidth CLEC</VendorName><RateCenter>JERSEYCITY</RateCenter><Status>Inservice</Status><AccountId>14</AccountId><LastModified>2014-07-30T11:29:37.000Z</LastModified><Features><E911><Status>Success</Status></E911><Lidb><Status>Pending</Status><SubscriberInformation>Fred</SubscriberInformation><UseType>BUSINESS</UseType><Visibility>PUBLIC</Visibility></Lidb><Dlda><Status>Success</Status><SubscriberType>BUSINESS</SubscriberType><ListingType>LISTED</ListingType><ListingName><FirstName>Joe</FirstName><LastName>Smith</LastName></ListingName><ListAddress>true</ListAddress><Address><HouseNumber>12</HouseNumber><StreetName>ELM</StreetName><City>New York</City><StateCode>NY</StateCode><Zip>10007</Zip><Country>United States</Country><AddressType>Dlda</AddressType></Address></Dlda></Features><TnAttributes><TnAttribute>Protected</TnAttribute></TnAttributes></TelephoneNumberDetails></TelephoneNumberResponse>"
|
19
19
|
port_in: "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><LnpOrderResponse><OrderId>d28b36f7-fa96-49eb-9556-a40fca49f7c6</OrderId><Status><Code>201</Code><Description>Order request received. Please use the order id to check the status of your order later.</Description></Status><ProcessingStatus>PENDING_DOCUMENTS</ProcessingStatus><LoaAuthorizingPerson>John Doe</LoaAuthorizingPerson><Subscriber><SubscriberType>BUSINESS</SubscriberType><BusinessName>Acme Corporation</BusinessName><ServiceAddress><HouseNumber>1623</HouseNumber><StreetName>Brockton Ave #1</StreetName><City>Los Angeles</City><StateCode>CA</StateCode><Zip>90025</Zip><Country>USA</Country></ServiceAddress></Subscriber><BillingTelephoneNumber>6882015002</BillingTelephoneNumber><ListOfPhoneNumbers><PhoneNumber>6882015025</PhoneNumber><PhoneNumber>6882015026</PhoneNumber></ListOfPhoneNumbers><Triggered>false</Triggered><BillingType>PORTIN</BillingType></LnpOrderResponse>"
|
20
20
|
notes: "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><Notes><Note><Id>11299</Id><UserId>customer</UserId><Description>Test</Description><LastDateModifier>2014-11-20T07:08:47.000Z</LastDateModifier></Note><Note><Id>11301</Id><UserId>customer</UserId><Description>Test1</Description><LastDateModifier>2014-11-20T07:11:36.000Z</LastDateModifier></Note></Notes>"
|
21
21
|
files: "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><fileListResponse><fileCount>6</fileCount><fileData><FileName>d28b36f7-fa96-49eb-9556-a40fca49f7c6-1416231534986.txt</FileName><FileMetaData><DocumentType>LOA</DocumentType></FileMetaData></fileData><fileData><FileName>d28b36f7-fa96-49eb-9556-a40fca49f7c6-1416231558768.txt</FileName><FileMetaData><DocumentType>LOA</DocumentType></FileMetaData></fileData><fileData><FileName>d28b36f7-fa96-49eb-9556-a40fca49f7c6-1416231581134.txt</FileName><FileMetaData><DocumentType>LOA</DocumentType></FileMetaData></fileData><fileData><FileName>d28b36f7-fa96-49eb-9556-a40fca49f7c6-1416231629005.txt</FileName><FileMetaData><DocumentType>LOA</DocumentType></FileMetaData></fileData><fileData><FileName>d28b36f7-fa96-49eb-9556-a40fca49f7c6-1416231699462.txt</FileName><FileMetaData><DocumentType>LOA</DocumentType></FileMetaData></fileData><fileData><FileName>d28b36f7-fa96-49eb-9556-a40fca49f7c6-1416232756923.txt</FileName><FileMetaData><DocumentType>LOA</DocumentType></FileMetaData></fileData><resultCode>0</resultCode><resultMessage>LOA file list successfully returned</resultMessage></fileListResponse>"
|
22
22
|
file_metadata: "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><FileMetaData><DocumentType>LOA</DocumentType></FileMetaData>"
|
23
23
|
file_created: "<?xml version=\"1.0\" encoding=\"utf-8\"?><FileResult><filename>test.txt</filename></FileResult>"
|
24
|
-
order: "<?xml version=\"1.0\" encoding=\"utf-8\"?><OrderResponse><Order><id>101</id><Name>Test</Name><SiteId>10</SiteId><OrderCreateDate>2014-12-03T15:50:05.575549+03:00</OrderCreateDate><CustomerOrderId>11</CustomerOrderId></Order><CreatedByUser>test</CreatedByUser><CompletedQuantity>1</CompletedQuantity><FailedQuantity>0</FailedQuantity><PendingQuantity>0</PendingQuantity><OrderCompleteDate>0001-01-01T00:00:00</OrderCompleteDate></OrderResponse>"
|
25
24
|
orders: "<?xml version=\"1.0\" encoding=\"utf-8\"?><OrderResponse><Orders><Order><id>101</id><Name>Test</Name><SiteId>10</SiteId><OrderCreateDate>2014-12-03T15:50:05.575549+03:00</OrderCreateDate><CustomerOrderId>11</CustomerOrderId></Order><CreatedByUser>test</CreatedByUser><CompletedQuantity>1</CompletedQuantity><FailedQuantity>0</FailedQuantity><PendingQuantity>0</PendingQuantity><OrderCompleteDate>0001-01-01T00:00:00</OrderCompleteDate></Orders></OrderResponse>"
|
26
|
-
|
25
|
+
create_order_response: "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><OrderResponse><Order><CustomerOrderId>123456789</CustomerOrderId><Name>Local Order</Name><OrderCreateDate>2020-05-19T00:40:38.093Z</OrderCreateDate><BackOrderRequested>false</BackOrderRequested><id>a7af704e-2ec0-4c4d-9dc5-1b77fa62c92a</id><CombinedSearchAndOrderType><AreaCode>919</AreaCode><EnableLCA>false</EnableLCA><Quantity>1</Quantity></CombinedSearchAndOrderType><PartialAllowed>true</PartialAllowed><SiteId>29976</SiteId></Order><OrderStatus>RECEIVED</OrderStatus></OrderResponse>"
|
26
|
+
order: "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><OrderResponse><CompletedQuantity>1</CompletedQuantity><CreatedByUser>test</CreatedByUser><LastModifiedDate>2020-05-18T15:31:07.069Z</LastModifiedDate><OrderCompleteDate>2020-05-18T15:31:07.069Z</OrderCompleteDate><Order><Name>Test</Name><OrderCreateDate>2020-05-18T15:31:05.435Z</OrderCreateDate><PeerId>577561</PeerId><BackOrderRequested>false</BackOrderRequested><AreaCodeSearchAndOrderType><AreaCode>919</AreaCode><Quantity>1</Quantity></AreaCodeSearchAndOrderType><PartialAllowed>true</PartialAllowed><SiteId>1234</SiteId></Order><OrderStatus>COMPLETE</OrderStatus><CompletedNumbers><TelephoneNumber><FullNumber>9194464166</FullNumber></TelephoneNumber></CompletedNumbers><Summary>1 number ordered in (919)</Summary><FailedQuantity>0</FailedQuantity></OrderResponse>"
|
27
27
|
order_area_codes: "<TelephoneDetailsReports><TelephoneDetailsReport><AreaCode>888</AreaCode><Count>1</Count></TelephoneDetailsReport></TelephoneDetailsReports>"
|
28
28
|
order_npa_nxx: "<?xml version=\"1.0\" encoding=\"utf-8\"?><TelephoneDetailsReports><TelephoneDetailsReport><NPA-NXX>888424</NPA-NXX><Count>1</Count></TelephoneDetailsReport></TelephoneDetailsReports>"
|
29
29
|
order_totals: "<?xml version=\"1.0\" encoding=\"utf-8\"?><TelephoneDetailsReports><TelephoneDetailsReport><NPA-NXX>888424</NPA-NXX><Count>1</Count></TelephoneDetailsReport></TelephoneDetailsReports>"
|
@@ -59,3 +59,16 @@
|
|
59
59
|
sippeerMmsFeatureMmsSettings: '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><MmsFeatureMmsSettingsResponse><MmsSettings><Protocol>MM4</Protocol></MmsSettings></MmsFeatureMmsSettingsResponse>'
|
60
60
|
messagingApplicationSettings: '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><ApplicationsSettingsResponse><ApplicationsSettings><HttpMessagingV2AppId>4a4ca6c1-156b-4fca-84e9-34e35e2afc32</HttpMessagingV2AppId></ApplicationsSettings></ApplicationsSettingsResponse>'
|
61
61
|
sippeerMessageSettings: '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><SipPeerMessagingSettingsResponse><SipPeerMessagingSettings><BreakOutCountries><Country>CAN</Country></BreakOutCountries></SipPeerMessagingSettings></SipPeerMessagingSettingsResponse>'
|
62
|
+
emergencyNotificationEndpointOrders: '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><EmergencyNotificationEndpointOrderResponse><Links><first> -- link to first page of results -- </first> <next> -- link to next page of results -- </next> </Links> <EmergencyNotificationEndpointOrders> <EmergencyNotificationEndpointOrder> <OrderId>3e9a852e-2d1d-4e2d-84c3-87223a78cb70</OrderId> <OrderCreatedDate>2020-01-23T18:34:17.284Z</OrderCreatedDate> <CreatedBy>jgilmore</CreatedBy> <ProcessingStatus>COMPLETED</ProcessingStatus> <CustomerOrderId>ALG-31233884</CustomerOrderId> <EmergencyNotificationEndpointAssociations> <EmergencyNotificationGroup> <Identifier>3e9a852e-2d1d-4e2d-84c3-04595ba2eb93</Identifier> </EmergencyNotificationGroup> <AddedAssociations> <EepToEngAssociations> <EepTns> <TelephoneNumber>2248838829</TelephoneNumber> <TelephoneNumber>4052397735</TelephoneNumber> </EepTns> <EepAeuiIds> <Identifier>Fred992834</Identifier> <Identifier>Bob00359</Identifier> </EepAeuiIds> </EepToEngAssociations> <ErrorList /> </AddedAssociations> </EmergencyNotificationEndpointAssociations> </EmergencyNotificationEndpointOrder> <EmergencyNotificationEndpointOrder> <OrderId>3e9a852e-2d1d-4e2d-84c3-87223a78cb70</OrderId> <OrderCreatedDate>2020-01-23T18:34:17.284Z</OrderCreatedDate> <CreatedBy>jgilmore</CreatedBy> <ProcessingStatus>COMPLETED</ProcessingStatus> <CustomerOrderId>ALG-31233884</CustomerOrderId> <EmergencyNotificationEndpointAssociations> <EmergencyNotificationGroup> <Identifier>3e9a852e-2d1d-4e2d-84c3-04595ba2eb93</Identifier> </EmergencyNotificationGroup> <AddedAssociations> <EepToEngAssociations> <EepTns> <TelephoneNumber>2248838829</TelephoneNumber> <TelephoneNumber>4052397735</TelephoneNumber> </EepTns> <EepAeuiIds> <Identifier>Fred992834</Identifier> <Identifier>Bob00359</Identifier> </EepAeuiIds> </EepToEngAssociations> <ErrorList /> </AddedAssociations> </EmergencyNotificationEndpointAssociations> </EmergencyNotificationEndpointOrder> </EmergencyNotificationEndpointOrders></EmergencyNotificationEndpointOrderResponse>'
|
63
|
+
emergencyNotificationEndpointOrder: '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><EmergencyNotificationEndpointOrderResponse> <EmergencyNotificationEndpointOrder> <OrderId>3e9a852e-2d1d-4e2d-84c3-87223a78cb70</OrderId> <OrderCreatedDate>2020-01-23T18:34:17.284Z</OrderCreatedDate> <CreatedBy>jgilmore</CreatedBy> <ProcessingStatus>COMPLETED</ProcessingStatus> <CustomerOrderId>ALG-31233884</CustomerOrderId> <EmergencyNotificationEndpointAssociations> <EmergencyNotificationGroup> <Identifier>3e9a852e-2d1d-4e2d-84c3-04595ba2eb93</Identifier> </EmergencyNotificationGroup> <AddedAssociations> <EepToEngAssociations> <EepTns> <TelephoneNumber>2248838829</TelephoneNumber> <TelephoneNumber>4052397735</TelephoneNumber> </EepTns> <EepAeuiIds> <Identifier>Fred992834</Identifier> <Identifier>Bob00359</Identifier> </EepAeuiIds> </EepToEngAssociations> <ErrorList /> </AddedAssociations> </EmergencyNotificationEndpointAssociations> </EmergencyNotificationEndpointOrder></EmergencyNotificationEndpointOrderResponse>'
|
64
|
+
emergencyNotificationGroupOrders: '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><EmergencyNotificationGroupOrderResponse><Links><first>Link=<http://localhost:8080/v1.0/accounts/12346371/emergencyNotificationGroupOrders>;rel="first";</first> </Links> <EmergencyNotificationGroupOrders> <EmergencyNotificationGroupOrder><OrderId>092815dc-9ced-4d67-a070-a80eb243b914</OrderId><OrderCreatedDate>2020-04-29T15:40:01.449Z</OrderCreatedDate><CreatedBy>systemUser</CreatedBy><ProcessingStatus>COMPLETED</ProcessingStatus><CustomerOrderId>QTWeKMys</CustomerOrderId><AddedEmergencyNotificationGroup> <Identifier>6daa55e1-e499-4cf0-9f3d-9524215f1bee</Identifier> <Description>enr test description 3</Description> <AddedEmergencyNotificationRecipients> <EmergencyNotificationRecipient><Identifier>44f203915ca249b7b69bbc084af09a</Identifier><Description>TestDesc SEHsbDMM</Description><Type>SMS</Type><Sms> <TelephoneNumber>15638765448</TelephoneNumber></Sms> </EmergencyNotificationRecipient> </AddedEmergencyNotificationRecipients></AddedEmergencyNotificationGroup> </EmergencyNotificationGroupOrder> <EmergencyNotificationGroupOrder><OrderId>89b4e0a1-2789-43fb-b948-38d368159142</OrderId><OrderCreatedDate>2020-04-29T15:39:59.325Z</OrderCreatedDate><CreatedBy>systemUser</CreatedBy><ProcessingStatus>COMPLETED</ProcessingStatus><CustomerOrderId>SDWupQpf</CustomerOrderId><AddedEmergencyNotificationGroup> <Identifier>b49fa543-5bb3-4b9d-9213-96c8b63e77f5</Identifier> <Description>enr test description 2</Description> <AddedEmergencyNotificationRecipients> <EmergencyNotificationRecipient><Identifier>c719e060a6ba4212a2c0642b87a784</Identifier><Description>TestDesc zscxcAGG</Description><Type>SMS</Type><Sms> <TelephoneNumber>15678765448</TelephoneNumber></Sms> </EmergencyNotificationRecipient> <EmergencyNotificationRecipient><Identifier>93ad72dfe59c4992be6f8aa625466d</Identifier><Description>TestDesc RTflsKBz</Description><Type>TTS</Type><Tts> <TelephoneNumber>17678765449</TelephoneNumber></Tts> </EmergencyNotificationRecipient> </AddedEmergencyNotificationRecipients></AddedEmergencyNotificationGroup> </EmergencyNotificationGroupOrder> <EmergencyNotificationGroupOrder><OrderId>247d1425-4247-4b27-99d8-83ce30038b14</OrderId><OrderCreatedDate>2020-04-29T15:39:57.058Z</OrderCreatedDate><CreatedBy>systemUser</CreatedBy><ProcessingStatus>COMPLETED</ProcessingStatus><CustomerOrderId>vgshuNMB</CustomerOrderId><AddedEmergencyNotificationGroup> <Identifier>69a3d588-f314-42ca-8726-faa824bdf4be</Identifier> <Description>eng test description</Description> <AddedEmergencyNotificationRecipients> <EmergencyNotificationRecipient><Identifier>aab78f87074940f1aaaf1c9658be4b</Identifier><Description>enr test description</Description><Type>EMAIL</Type><EmailAddress>testEmail@gmail.com</EmailAddress> </EmergencyNotificationRecipient> <EmergencyNotificationRecipient><Identifier>852e9eee161b4da6823c91173b05c4</Identifier><Description>TestDesc WkHqpnNH</Description><Type>TTS</Type><Tts> <TelephoneNumber>15678765449</TelephoneNumber></Tts> </EmergencyNotificationRecipient> </AddedEmergencyNotificationRecipients></AddedEmergencyNotificationGroup> </EmergencyNotificationGroupOrder> </EmergencyNotificationGroupOrders></EmergencyNotificationGroupOrderResponse>'
|
65
|
+
emergencyNotificationGroupOrder: '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><EmergencyNotificationGroupOrderResponse><EmergencyNotificationEndpointOrder><OrderId>900b3646-18df-4626-b237-3a8de648ebf6</OrderId> <OrderCreatedDate>2020-04-29T15:27:16.151</OrderCreatedDate> <CreatedBy>systemUser</CreatedBy> <ProcessingStatus>PROCESSING</ProcessingStatus> <CustomerOrderId>UbOxhMnp</CustomerOrderId> <AddedEmergencyNotificationGroup> <Identifier>52897b97-3592-43fe-aa3f-857cf96671ee</Identifier> <Description>JgHzUzIchD</Description> <AddedEmergencyNotificationRecipients> <EmergencyNotificationRecipient> <Identifier>c7f74671edd8410d9a4c0f8e985e0a</Identifier> </EmergencyNotificationRecipient> <EmergencyNotificationRecipient> <Identifier>74ac30535b414d29bc36d50572f553</Identifier> </EmergencyNotificationRecipient> <EmergencyNotificationRecipient> <Identifier>b910df3245ce4192aee052f583259f</Identifier> </EmergencyNotificationRecipient> </AddedEmergencyNotificationRecipients> </AddedEmergencyNotificationGroup></EmergencyNotificationEndpointOrder></EmergencyNotificationGroupOrderResponse>'
|
66
|
+
emergencyNotificationGroups: '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><EmergencyNotificationGroupsResponse><Links><first> -- link to first page of results -- </first> <next> -- link to next page of results -- </next> </Links> <EmergencyNotificationGroups> <EmergencyNotificationGroup> <Identifier>63865500-0904-46b1-9b4f-7bd237a26363</Identifier> <CreatedDate>2020-01-23T18:34:17.284Z</CreatedDate> <ModifiedBy>jgilmore</ModifiedBy> <ModifiedDate>2020-01-23T18:34:17.284Z</ModifiedDate> <Description>This is a description of the emergency notification group.</Description> <EmergencyNotificationRecipients> <EmergencyNotificationRecipient> <Identifier>63865500-0904-46b1-9b4f-7bd237a26363</Identifier> </EmergencyNotificationRecipient> <EmergencyNotificationRecipient> <Identifier>ef47eb61-e3b1-449d-834b-0fbc5a11da30</Identifier> </EmergencyNotificationRecipient> </EmergencyNotificationRecipients> </EmergencyNotificationGroup> <EmergencyNotificationGroup> <Identifier>29477382-23947-23c-2349-aa8238b22743</Identifier> <CreatedDate>2020-01-23T18:36:51.987Z</CreatedDate> <ModifiedBy>jgilmore</ModifiedBy> <ModifiedDate>2020-01-23T18:36:51.987Z</ModifiedDate> <Description>This is a description of the emergency notification group.</Description> <EmergencyNotificationRecipients> <EmergencyNotificationRecipient> <Identifier>37742335-8722-3abc-8722-e2434f123a4d</Identifier> </EmergencyNotificationRecipient> </EmergencyNotificationRecipients> </EmergencyNotificationGroup> </EmergencyNotificationGroups></EmergencyNotificationGroupsResponse>'
|
67
|
+
emergencyNotificationGroup: '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><EmergencyNotificationGroupsResponse><EmergencyNotificationGroup> <Identifier>63865500-0904-46b1-9b4f-7bd237a26363</Identifier> <CreatedDate>2020-01-23T18:34:17.284Z</CreatedDate> <ModifiedBy>jgilmore</ModifiedBy> <ModifiedDate>2020-01-23T18:34:17.284Z</ModifiedDate> <Description>This is a description of the emergency notification group.</Description> <EmergencyNotificationRecipients> <EmergencyNotificationRecipient> <Identifier>63865500-0904-46b1-9b4f-7bd237a26363</Identifier> </EmergencyNotificationRecipient> <EmergencyNotificationRecipient> <Identifier>ef47eb61-e3b1-449d-834b-0fbc5a11da30</Identifier> </EmergencyNotificationRecipient> </EmergencyNotificationRecipients> </EmergencyNotificationGroup></EmergencyNotificationGroupsResponse>'
|
68
|
+
emergencyNotificationRecipients: '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><EmergencyNotificationRecipientsResponse> <Links> <first> -- link to first page of results -- </first> <next> -- link to next page of results -- </next> </Links> <EmergencyNotificationRecipients> <EmergencyNotificationRecipient> <Identifier> 63865500-0904-46b1-9b4f-7bd237a26363 </Identifier> <CreatedDate>2020-03-18T21:26:47.403Z</CreatedDate> <LastModifiedDate>2020-03-18T21:26:47.403Z</LastModifiedDate> <ModifiedByUser>jgilmore</ModifiedByUser> <Description> This is a description of the emergency notification recipient. </Description> <Type>CALLBACK</Type> <Callback> <Url>https://foo.bar/baz</Url> <Credentials> <Username>jgilmore</Username> <!-- CallbackPassword is omitted for security --> </Credentials> </Callback> </EmergencyNotificationRecipient> <EmergencyNotificationRecipient> <Identifier> 63865500-0904-46b1-9b4f-7bd237a26363 </Identifier> <CreatedDate>2020-03-22T12:13:25.782Z</CreatedDate> <LastModifiedDate>2020-03-22T12:13:25.782Z</LastModifiedDate> <ModifiedByUser>gfranklin</ModifiedByUser> <Description> This is a description of the emergency notification recipient. </Description> <Type>EMAIL</Type> <EmailAddress>fred@gmail.com</EmailAddress> </EmergencyNotificationRecipient> </EmergencyNotificationRecipients></EmergencyNotificationRecipientsResponse>'
|
69
|
+
emergencyNotificationRecipient: '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><EmergencyNotificationRecipientsResponse> <EmergencyNotificationRecipient> <Identifier> 63865500-0904-46b1-9b4f-7bd237a26363 </Identifier> <CreatedDate>2020-03-18T21:26:47.403Z</CreatedDate> <LastModifiedDate>2020-03-18T21:26:47.403Z</LastModifiedDate> <ModifiedByUser>jgilmore</ModifiedByUser> <Description> This is a description of the emergency notification recipient. </Description> <Type>CALLBACK</Type> <Callback> <Url>https://foo.bar/baz</Url> <Credentials> <Username>jgilmore</Username> </Credentials> </Callback> </EmergencyNotificationRecipient></EmergencyNotificationRecipientsResponse>'
|
70
|
+
aeuis: '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><AlternateEndUserIdentifiersResponse> <TotalCount>2</TotalCount> <Links> <first>Link=<http://localhost:8080/iris/accounts/14/aeuis?page=1&size=500>;rel="first";</first> </Links> <AlternateEndUserIdentifiers> <AlternateEndUserIdentifier> <Identifier>DavidAcid</Identifier> <CallbackNumber>8042105760</CallbackNumber> <EmergencyNotificationGroup> <Identifier>63865500-0904-46b1-9b4f-7bd237a26363</Identifier> <Description>Building 5, 5th Floor.</Description> </EmergencyNotificationGroup> </AlternateEndUserIdentifier> <AlternateEndUserIdentifier> <Identifier>JohnAcid</Identifier> <CallbackNumber>8042105618</CallbackNumber> </AlternateEndUserIdentifier> </AlternateEndUserIdentifiers></AlternateEndUserIdentifiersResponse>'
|
71
|
+
aeui: '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><AlternateEndUserIdentifierResponse><AlternateEndUserIdentifier> <Identifier>DavidAcid</Identifier> <CallbackNumber>8042105760</CallbackNumber> <E911> <CallerName>David</CallerName> <Address> <HouseNumber>900</HouseNumber> <HouseSuffix></HouseSuffix> <PreDirectional></PreDirectional> <StreetName>MAIN CAMPUS</StreetName> <StreetSuffix>DR</StreetSuffix> <AddressLine2></AddressLine2> <City>RALEIGH</City> <StateCode>NC</StateCode> <Zip>27606</Zip> <PlusFour>5214</PlusFour> <Country>United States</Country> <AddressType>Billing</AddressType> </Address> <EmergencyNotificationGroup> <Identifier>63865500-0904-46b1-9b4f-7bd237a26363</Identifier> <Description>Building 5, 5th Floor.</Description> </EmergencyNotificationGroup> </E911> </AlternateEndUserIdentifier></AlternateEndUserIdentifierResponse>'
|
72
|
+
tnOptionOrder: '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><TnOptionOrder> <OrderCreateDate>2016-01-15T11:22:58.789Z</OrderCreateDate> <AccountId>14</AccountId> <CreatedByUser>jbm</CreatedByUser> <OrderId>409033ee-88ec-43e3-85f3-538f30733963</OrderId> <LastModifiedDate>2016-01-15T11:22:58.969Z</LastModifiedDate> <ProcessingStatus>COMPLETE</ProcessingStatus> <TnOptionGroups> <TnOptionGroup> <CallingNameDisplay>on</CallingNameDisplay> <Sms>on</Sms> <TelephoneNumbers> <TelephoneNumber>2174101601</TelephoneNumber> </TelephoneNumbers> </TnOptionGroup> <TnOptionGroup> <CallingNameDisplay>off</CallingNameDisplay> <TelephoneNumbers> <TelephoneNumber>2174101602</TelephoneNumber> </TelephoneNumbers> </TnOptionGroup> <TnOptionGroup> <CallingNameDisplay>systemdefault</CallingNameDisplay> <FinalDestinationURI>sip:+12345678901@1.2.3.4:5060</FinalDestinationURI> <TelephoneNumbers> <TelephoneNumber>2174101603</TelephoneNumber> </TelephoneNumbers> </TnOptionGroup> </TnOptionGroups> <ErrorList/> <Warnings> <Warning> <TelephoneNumber>2174101601</TelephoneNumber> <Description>SMS is already Enabled or number is in processing.</Description> </Warning> </Warnings></TnOptionOrder>'
|
73
|
+
tnOptionOrderResponse: '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><TnOptionOrderResponse> <TnOptionOrder> <OrderCreateDate>2016-01-15T12:01:14.324Z</OrderCreateDate> <AccountId>14</AccountId> <CreatedByUser>jbm</CreatedByUser> <OrderId>ddbdc72e-dc27-490c-904e-d0c11291b095</OrderId> <LastModifiedDate>2016-01-15T12:01:14.324Z</LastModifiedDate> <ProcessingStatus>RECEIVED</ProcessingStatus> <TnOptionGroups> <TnOptionGroup> <NumberFormat>10digit</NumberFormat> <RPIDFormat>10digit</RPIDFormat> <RewriteUser>testUser1</RewriteUser> <CallForward>6042661720</CallForward> <CallingNameDisplay>on</CallingNameDisplay> <Protected>true</Protected> <Sms>on</Sms> <TelephoneNumbers> <TelephoneNumber>2018551020</TelephoneNumber> </TelephoneNumbers> </TnOptionGroup> <TnOptionGroup> <CallingNameDisplay>off</CallingNameDisplay> <Protected>false</Protected> <Sms>off</Sms> <TelephoneNumbers> <TelephoneNumber>2018551025</TelephoneNumber> </TelephoneNumbers> </TnOptionGroup> </TnOptionGroups> <ErrorList/> </TnOptionOrder></TnOptionOrderResponse>'
|
74
|
+
tnOptionOrders: '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><TnOptionOrders> <TotalCount>2</TotalCount> <TnOptionOrderSummary> <accountId>14</accountId> <CountOfTNs>2</CountOfTNs> <userId>jbm</userId> <lastModifiedDate>2016-01-15T12:01:14.363Z</lastModifiedDate> <OrderDate>2016-01-15T12:01:14.324Z</OrderDate> <OrderType>tn_option</OrderType> <OrderStatus>FAILED</OrderStatus> <OrderId>ddbdc72e-dc27-490c-904e-d0c11291b095</OrderId> </TnOptionOrderSummary> <TnOptionOrderSummary> <accountId>14</accountId> <CountOfTNs>3</CountOfTNs> <userId>jbm</userId> <lastModifiedDate>2016-01-15T11:22:58.969Z</lastModifiedDate> <OrderDate>2016-01-15T11:22:58.789Z</OrderDate> <OrderType>tn_option</OrderType> <OrderStatus>COMPLETE</OrderStatus> <OrderId>409033ee-88ec-43e3-85f3-538f30733963</OrderId> </TnOptionOrderSummary></TnOptionOrders>'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-bandwidth-iris
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.7.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrey Belchikov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-08-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: builder
|
@@ -157,13 +157,16 @@ files:
|
|
157
157
|
- examples/city.rb
|
158
158
|
- examples/config.yml.example
|
159
159
|
- examples/covered-rate-center.rb
|
160
|
+
- examples/create_reservation_and_order.rb
|
160
161
|
- examples/loa.pdf
|
161
162
|
- examples/order.rb
|
163
|
+
- examples/order_number.rb
|
162
164
|
- examples/port-in.rb
|
163
165
|
- examples/sip_peer.rb
|
164
166
|
- examples/site.rb
|
165
167
|
- examples/tn.rb
|
166
168
|
- lib/bandwidth-iris/account.rb
|
169
|
+
- lib/bandwidth-iris/aeui.rb
|
167
170
|
- lib/bandwidth-iris/api_item.rb
|
168
171
|
- lib/bandwidth-iris/applications.rb
|
169
172
|
- lib/bandwidth-iris/available_npa_nxx.rb
|
@@ -176,6 +179,9 @@ files:
|
|
176
179
|
- lib/bandwidth-iris/disc_number.rb
|
177
180
|
- lib/bandwidth-iris/disconnect.rb
|
178
181
|
- lib/bandwidth-iris/dlda.rb
|
182
|
+
- lib/bandwidth-iris/emergency_notification_endpoints.rb
|
183
|
+
- lib/bandwidth-iris/emergency_notification_groups.rb
|
184
|
+
- lib/bandwidth-iris/emergency_notification_recipients.rb
|
179
185
|
- lib/bandwidth-iris/errors.rb
|
180
186
|
- lib/bandwidth-iris/import_tn_checker.rb
|
181
187
|
- lib/bandwidth-iris/import_tn_orders.rb
|
@@ -194,12 +200,14 @@ files:
|
|
194
200
|
- lib/bandwidth-iris/site.rb
|
195
201
|
- lib/bandwidth-iris/subscription.rb
|
196
202
|
- lib/bandwidth-iris/tn.rb
|
203
|
+
- lib/bandwidth-iris/tn_options.rb
|
197
204
|
- lib/bandwidth-iris/tn_reservation.rb
|
198
205
|
- lib/bandwidth-iris/user.rb
|
199
206
|
- lib/bandwidth-iris/version.rb
|
200
207
|
- lib/ruby-bandwidth-iris.rb
|
201
208
|
- ruby-bandwidth-iris.gemspec
|
202
209
|
- spec/bandwidth-iris/account_spec.rb
|
210
|
+
- spec/bandwidth-iris/aeui_spec.rb
|
203
211
|
- spec/bandwidth-iris/application_spec.rb
|
204
212
|
- spec/bandwidth-iris/available_npa_nxx_spec.rb
|
205
213
|
- spec/bandwidth-iris/available_number_spec.rb
|
@@ -210,6 +218,9 @@ files:
|
|
210
218
|
- spec/bandwidth-iris/disc_number_spec.rb
|
211
219
|
- spec/bandwidth-iris/disconnect_spec.rb
|
212
220
|
- spec/bandwidth-iris/dlda_spec.rb
|
221
|
+
- spec/bandwidth-iris/emergency_notification_endpoints_spec.rb
|
222
|
+
- spec/bandwidth-iris/emergency_notification_groups_spec.rb
|
223
|
+
- spec/bandwidth-iris/emergency_notification_recipients_spec.rb
|
213
224
|
- spec/bandwidth-iris/import_tn_checker_spec.rb
|
214
225
|
- spec/bandwidth-iris/import_tn_orders_spec.rb
|
215
226
|
- spec/bandwidth-iris/import_to_account_spec.rb
|
@@ -226,6 +237,7 @@ files:
|
|
226
237
|
- spec/bandwidth-iris/sip_peer_spec.rb
|
227
238
|
- spec/bandwidth-iris/site_spec.rb
|
228
239
|
- spec/bandwidth-iris/subscription_spec.rb
|
240
|
+
- spec/bandwidth-iris/tn_options_spec.rb
|
229
241
|
- spec/bandwidth-iris/tn_reservation_spec.rb
|
230
242
|
- spec/bandwidth-iris/tn_spec.rb
|
231
243
|
- spec/bandwidth-iris/user_spec.rb
|
@@ -246,9 +258,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
246
258
|
version: '0'
|
247
259
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
248
260
|
requirements:
|
249
|
-
- - "
|
261
|
+
- - ">="
|
250
262
|
- !ruby/object:Gem::Version
|
251
|
-
version:
|
263
|
+
version: '0'
|
252
264
|
requirements: []
|
253
265
|
rubygems_version: 3.0.6
|
254
266
|
signing_key:
|
@@ -256,6 +268,7 @@ specification_version: 4
|
|
256
268
|
summary: Gem for integrating to Bandwidth's Iris API
|
257
269
|
test_files:
|
258
270
|
- spec/bandwidth-iris/account_spec.rb
|
271
|
+
- spec/bandwidth-iris/aeui_spec.rb
|
259
272
|
- spec/bandwidth-iris/application_spec.rb
|
260
273
|
- spec/bandwidth-iris/available_npa_nxx_spec.rb
|
261
274
|
- spec/bandwidth-iris/available_number_spec.rb
|
@@ -266,6 +279,9 @@ test_files:
|
|
266
279
|
- spec/bandwidth-iris/disc_number_spec.rb
|
267
280
|
- spec/bandwidth-iris/disconnect_spec.rb
|
268
281
|
- spec/bandwidth-iris/dlda_spec.rb
|
282
|
+
- spec/bandwidth-iris/emergency_notification_endpoints_spec.rb
|
283
|
+
- spec/bandwidth-iris/emergency_notification_groups_spec.rb
|
284
|
+
- spec/bandwidth-iris/emergency_notification_recipients_spec.rb
|
269
285
|
- spec/bandwidth-iris/import_tn_checker_spec.rb
|
270
286
|
- spec/bandwidth-iris/import_tn_orders_spec.rb
|
271
287
|
- spec/bandwidth-iris/import_to_account_spec.rb
|
@@ -282,6 +298,7 @@ test_files:
|
|
282
298
|
- spec/bandwidth-iris/sip_peer_spec.rb
|
283
299
|
- spec/bandwidth-iris/site_spec.rb
|
284
300
|
- spec/bandwidth-iris/subscription_spec.rb
|
301
|
+
- spec/bandwidth-iris/tn_options_spec.rb
|
285
302
|
- spec/bandwidth-iris/tn_reservation_spec.rb
|
286
303
|
- spec/bandwidth-iris/tn_spec.rb
|
287
304
|
- spec/bandwidth-iris/user_spec.rb
|