ruby-bandwidth-iris 2.4.0.pre → 2.7.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|