ruby-bandwidth-iris 2.6.0 → 2.7.0
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/README.md +92 -0
- data/lib/bandwidth-iris/client.rb +1 -0
- data/lib/bandwidth-iris/tn_options.rb +26 -0
- data/lib/bandwidth-iris/version.rb +1 -1
- data/lib/ruby-bandwidth-iris.rb +1 -0
- data/spec/bandwidth-iris/tn_options_spec.rb +42 -0
- data/spec/xml.yml +3 -0
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fbe7fbc5dcefe17806397fdf31f547dca15ca31abe404cfd89916531885ca901
|
4
|
+
data.tar.gz: 21618c8c74f583fab7e9ddb7c5d6d689128fbcfc853d450e215972deca18e9f3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1df9daf8667a8b098a0fb4fff416d9b3529364f9d7eee08c342297c2489142bc465f5efbac7d8f0e1d386c04c7e742073aeed8601314e7e1a412f8d25f3ce681
|
7
|
+
data.tar.gz: 2c2359325581abc5d177334bf3e5f463973f1e2055fb3b433c8150f474fb024164b427843478910c6a019cf4d93ebfd2664b89794be647441b811d6c71fc965c
|
data/README.md
CHANGED
@@ -17,6 +17,7 @@ Ruby Client library for IRIS / BBS API
|
|
17
17
|
| 2.4.0.pre | Added application management and sippeer products endpoints |
|
18
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
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 |
|
20
21
|
|
21
22
|
## Install
|
22
23
|
|
@@ -1236,3 +1237,94 @@ puts aeuis
|
|
1236
1237
|
aeui = AlternateEndUserIdentity.get_alternate_caller_information("id")
|
1237
1238
|
puts aeui
|
1238
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
|
+
```
|
@@ -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
|
}
|
@@ -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
|
data/lib/ruby-bandwidth-iris.rb
CHANGED
@@ -36,5 +36,6 @@ require 'bandwidth-iris/emergency_notification_endpoints'
|
|
36
36
|
require 'bandwidth-iris/emergency_notification_groups'
|
37
37
|
require 'bandwidth-iris/emergency_notification_recipients'
|
38
38
|
require 'bandwidth-iris/aeui'
|
39
|
+
require 'bandwidth-iris/tn_options'
|
39
40
|
|
40
41
|
require 'bandwidth-iris/version'
|
@@ -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
|
data/spec/xml.yml
CHANGED
@@ -69,3 +69,6 @@
|
|
69
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
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
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.0
|
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-06
|
11
|
+
date: 2020-07-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: builder
|
@@ -200,6 +200,7 @@ files:
|
|
200
200
|
- lib/bandwidth-iris/site.rb
|
201
201
|
- lib/bandwidth-iris/subscription.rb
|
202
202
|
- lib/bandwidth-iris/tn.rb
|
203
|
+
- lib/bandwidth-iris/tn_options.rb
|
203
204
|
- lib/bandwidth-iris/tn_reservation.rb
|
204
205
|
- lib/bandwidth-iris/user.rb
|
205
206
|
- lib/bandwidth-iris/version.rb
|
@@ -236,6 +237,7 @@ files:
|
|
236
237
|
- spec/bandwidth-iris/sip_peer_spec.rb
|
237
238
|
- spec/bandwidth-iris/site_spec.rb
|
238
239
|
- spec/bandwidth-iris/subscription_spec.rb
|
240
|
+
- spec/bandwidth-iris/tn_options_spec.rb
|
239
241
|
- spec/bandwidth-iris/tn_reservation_spec.rb
|
240
242
|
- spec/bandwidth-iris/tn_spec.rb
|
241
243
|
- spec/bandwidth-iris/user_spec.rb
|
@@ -296,6 +298,7 @@ test_files:
|
|
296
298
|
- spec/bandwidth-iris/sip_peer_spec.rb
|
297
299
|
- spec/bandwidth-iris/site_spec.rb
|
298
300
|
- spec/bandwidth-iris/subscription_spec.rb
|
301
|
+
- spec/bandwidth-iris/tn_options_spec.rb
|
299
302
|
- spec/bandwidth-iris/tn_reservation_spec.rb
|
300
303
|
- spec/bandwidth-iris/tn_spec.rb
|
301
304
|
- spec/bandwidth-iris/user_spec.rb
|