ruby-bandwidth-iris 2.1.0 → 2.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7b1159ee27c2a2ee423bdd0ce54a1b0943749127da435a611eeb113dec178ad0
4
- data.tar.gz: a7e09992b64e938a9dc1c3943ee8be92dc9d6b8a1ed9d3b722268879a35779bd
3
+ metadata.gz: fd0a2a83930a907b646fd60cd8a9022a112f57639316cfb5f72f8779620dd8cb
4
+ data.tar.gz: 7ec3e412315f790aa7dfc91fec9bed550d9df9c1b782ef4dbfa60ab54348dada
5
5
  SHA512:
6
- metadata.gz: bc146c9252add1af25853dd70416d790ba9bb5ad8b74adb6f1575e95b754cd6dcf5d5875112060b643493fcc4b970df156c8d8072db1d054c8f68a6c49faaf87
7
- data.tar.gz: 33db19d5c8f58b4632206a82333fd526b708726b8fbed3d71ba8efe6841708a19d29e66e2a9f1357f7a3caab668c2ff132422e34116e45bbdc33b3c7aee79516
6
+ metadata.gz: 8de965b470519e1855a25aaeaa212725e95c12e798805858f2a1d2256f3d666bd225b477a6e900f4c01c3037e18cf245d256cae41bb5b5cea095797750f41697
7
+ data.tar.gz: f581771fb98683cc909c7feef6dc598e6d427d8dbfd5f38a87798507406a0b5fcd5fcc81664cbc09d1d0d6b848bc15c1501bc6ca8a305bdbfbd32992f2a9423b
data/.gitignore CHANGED
@@ -10,3 +10,4 @@ coverage
10
10
  *.swo
11
11
  .yardoc
12
12
  examples/config.yml
13
+ .idea/*
data/README.md CHANGED
@@ -6,12 +6,17 @@ Ruby Client library for IRIS / BBS API
6
6
 
7
7
  ## Release Notes
8
8
 
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 |
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 |
15
20
 
16
21
  ## Install
17
22
 
@@ -75,6 +80,7 @@ When fetching objects from the API, it will always return an object that has the
75
80
  instantiated so that you can call dependent methods as well as update, delete.
76
81
 
77
82
  Example:
83
+
78
84
  ```ruby
79
85
  site = BandwidthIris::Site.create({siteObject})
80
86
 
@@ -309,6 +315,16 @@ BandwidthIris::Order.create(order_data)
309
315
  ```ruby
310
316
  order = BandwidthIris::Order.get("order_id")
311
317
  ```
318
+
319
+ ### Get Order Response
320
+
321
+ The order response object contains more details returned in the `GET` `/orders/order-id` API.
322
+
323
+ ```ruby
324
+ order = BandwidthIris::Order.get_order_response(client, "101")
325
+ completed_number = order.completed_numbers[:telephone_number][:full_number]
326
+ ```
327
+
312
328
  ### List Orders
313
329
  ```ruby
314
330
  BandwidthIris::Order.list(query)
@@ -330,6 +346,8 @@ order.get_totals()
330
346
 
331
347
  // get all Tns for an order
332
348
  order.get_tns()
349
+ ##Use the below method to grab TNs via an already existing Order ID##
350
+ BandwidthIris::Order.get_tns_by_order_id("id")
333
351
 
334
352
  // get order history
335
353
  order.get_history()
@@ -459,7 +477,7 @@ sipPeer.delete()
459
477
  ### SipPeer TN Methods
460
478
  ```ruby
461
479
  # get TN for this peer
462
- sipPeer.get_tns(number)
480
+ sipPeer.get_tns(number)
463
481
 
464
482
  # get all TNs for this peer
465
483
  sipPeer.get_tns()
@@ -529,7 +547,7 @@ site.create_sip_peer(sipPeer)
529
547
  ```ruby
530
548
  subscription = {
531
549
  :order_type => "orders",
532
- :callback_subcription => {
550
+ :callback_subscription => {
533
551
  :URL => "http://mycallbackurl.com",
534
552
  :user => "userid",
535
553
  :expiry => 12000
@@ -584,7 +602,7 @@ tn.get_rate_center()
584
602
 
585
603
  ### Create TN Reservation
586
604
  ```ruby
587
- BandwidthIris::TnReservation.create({:reserved_tn => "9195551212"})
605
+ BandwidthIris::TnReservation.create("9195551212")
588
606
  ```
589
607
 
590
608
  ### Get TN Reservation
@@ -604,6 +622,7 @@ tn.delete()
604
622
  import_tn_order = {
605
623
  :customer_order_id => "id",
606
624
  :site_id => "12345",
625
+ :sip_peer_id => "23456",
607
626
  :subscriber => {
608
627
  :service_address => {
609
628
  :city => "city",
@@ -696,6 +715,71 @@ response = BandwidthIris::RemoveImportedTnOrders.create_remove_imported_tn_order
696
715
  puts response
697
716
  ```
698
717
 
718
+ ### Get LOAs
719
+ ```ruby
720
+ response = BandwidthIris::ImportTnOrders.get_loa_files("order_id")
721
+ puts response[0][:result_message]
722
+ puts response[0][:file_names] #this can be a single string (if there's 1 file) or an array of strings (if there's multiple files)
723
+ ```
724
+
725
+ ### Upload LOA
726
+ Valid `mime_types` can be found on the [Dashboard API Reference](https://dev.bandwidth.com/numbers/apiReference.html) under `/accounts /{accountId} /importTnOrders /{orderid} /loas`
727
+
728
+ Mime types are expected to be in the format `x/y`, such as `application/pdf` or `text/plain`
729
+
730
+ ```ruby
731
+ BandwidthIris::ImportTnOrders.upload_loa_file("order_id", "binary_file_contents", "mime_type")
732
+ ```
733
+
734
+ ```ruby
735
+ f = open("loa.pdf", "rb")
736
+ file_content = f.read
737
+ f.close()
738
+
739
+ BandwidthIris::ImportTnOrders.upload_loa_file("order_id", file_content, "application/pdf")
740
+ ```
741
+
742
+ ### Download LOA
743
+ Note: Make sure to grab the desired file ID from the response of `BandwidthIris::ImportTnOrders.get_loa_files("order_id")` in the field `response[0][:file_names]`
744
+
745
+ ```ruby
746
+ f = open("write.pdf", "wb")
747
+ response = BandwidthIris::ImportTnOrders.download_loa_file("order_id", "file_id")
748
+ f.puts(response)
749
+ f.close()
750
+ ```
751
+
752
+ ### Replace LOA
753
+ ```ruby
754
+ BandwidthIris::ImportTnOrders.replace_loa_file("order_id", "file_id", "binary_file_contents", "mime_type")
755
+ ```
756
+
757
+ ### Delete LOA
758
+ ```ruby
759
+ BandwidthIris::ImportTnOrders.delete_loa_file("order_id", "file_id")
760
+ ```
761
+
762
+ ### Get LOA Metadata
763
+ ```ruby
764
+ response = BandwidthIris::ImportTnOrders.get_loa_file_metadata("order_id", "file_id")
765
+ puts response[0][:document_name]
766
+ puts response[0][:file_name]
767
+ ```
768
+
769
+ ### Update LOA Metadata
770
+ ```ruby
771
+ metadata = {
772
+ :document_name => "file_name",
773
+ :document_type => "LOA"
774
+ }
775
+ BandwidthIris::ImportTnOrders.update_loa_file_metadata("order_id", "file_id", metadata)
776
+ ```
777
+
778
+ ### Delete LOA Metadata
779
+ ```ruby
780
+ BandwidthIris::ImportTnOrders.delete_loa_file_metadata("order_id", "file_id")
781
+ ```
782
+
699
783
  ## CSR
700
784
 
701
785
  ### Create CSR Order
@@ -757,3 +841,398 @@ note_data = {
757
841
 
758
842
  BandwidthIris::Csr.update_note("csr_id", "note_id", note_data)
759
843
  ```
844
+
845
+ ## Application Management
846
+
847
+ ### Create Application
848
+
849
+ ```ruby
850
+ data = {
851
+ :service_type => "Messaging-V2",
852
+ :app_name => "Name",
853
+ :msg_callback_url => "https://test.com"
854
+ }
855
+ application = BandwidthIris::Applications.create_application(data)
856
+ puts application
857
+ ```
858
+
859
+ ### Get Applications
860
+
861
+ ```ruby
862
+ applications = BandwidthIris::Applications.get_applications()
863
+ puts applications[0]
864
+ ```
865
+
866
+ ### Get An Application
867
+
868
+ ```ruby
869
+ application = BandwidthIris::Applications.get_application("id")
870
+ puts application
871
+ ```
872
+
873
+ ### Partially Update An Application
874
+
875
+ ```ruby
876
+ data = {
877
+ :app_name => "Name2"
878
+ }
879
+ application = BandwidthIris::Applications.partial_update_application("id", data)
880
+ puts application
881
+ ```
882
+
883
+ ### Completely Update An Application
884
+
885
+ ```ruby
886
+ data = {
887
+ :service_type => "Messaging-V2",
888
+ :app_name => "Name2",
889
+ :msg_callback_url => "https://test2.com"
890
+ }
891
+ application = BandwidthIris::Applications.complete_update_application("id", data)
892
+ puts application
893
+ ```
894
+
895
+ ### Remove An Application
896
+
897
+ ```ruby
898
+ BandwidthIris::Applications.delete_application("id")
899
+ ```
900
+
901
+ ### List Application Sippeers
902
+
903
+ ```ruby
904
+ sippeers = BandwidthIris::Applications.get_application_sippeers("id")
905
+ puts sippeers[0]
906
+ ```
907
+
908
+ ## SipPeer Products
909
+
910
+ ### Get Origination Settings
911
+
912
+ ```ruby
913
+ puts BandwidthIris::SipPeerProducts.get_origination_settings("site_id", "sippeer_id")
914
+ ```
915
+
916
+ ### Create Origination Settings
917
+
918
+ ```ruby
919
+ data = {
920
+ :voice_protocol => "HTTP"
921
+ }
922
+ puts BandwidthIris::SipPeerProducts.create_origination_settings("site_id", "sippeer_id", data)
923
+ ```
924
+
925
+ ### Update Origination Settings
926
+
927
+ ```ruby
928
+ data = {
929
+ :voice_protocol => "HTTP"
930
+ }
931
+ BandwidthIris::SipPeerProducts.update_origination_settings("site_id", "sippeer_id", data)
932
+ ```
933
+
934
+ ### Get Termination Settings
935
+
936
+ ```ruby
937
+ puts BandwidthIris::SipPeerProducts.get_termination_settings("site_id", "sippeer_id")
938
+ ```
939
+
940
+ ### Create Termination Settings
941
+
942
+ ```ruby
943
+ data = {
944
+ :voice_protocol => "HTTP"
945
+ }
946
+ puts BandwidthIris::SipPeerProducts.create_termination_settings("site_id", "sippeer_id", data)
947
+ ```
948
+
949
+ ### Update Termination Settings
950
+
951
+ ```ruby
952
+ data = {
953
+ :voice_protocol => "HTTP"
954
+ }
955
+ BandwidthIris::SipPeerProducts.update_termination_settings("site_id", "sippeer_id", data)
956
+ ```
957
+
958
+ ### Get Sms Feature Settings
959
+
960
+ ```ruby
961
+ puts BandwidthIris::SipPeerProducts.get_sms_feature_settings("site_id", "sippeer_id")
962
+ ```
963
+
964
+ ### Create Sms Feature Settings
965
+
966
+ ```ruby
967
+ data = {
968
+ :sip_peer_sms_feature_settings => {
969
+ :toll_free => true,
970
+ :protocol => "HTTP",
971
+ :zone_1 => true,
972
+ :zone_2 => false,
973
+ :zone_3 => false,
974
+ :zone_4 => false,
975
+ :zone_5 => false
976
+ },
977
+ :http_settings => {}
978
+ }
979
+
980
+ puts BandwidthIris::SipPeerProducts.create_sms_feature_settings("site_id", "sippeer_id", data)
981
+ ```
982
+
983
+ ### Update Sms Feature Settings
984
+
985
+ ```ruby
986
+ data = {
987
+ :sip_peer_sms_feature_settings => {
988
+ :toll_free => true,
989
+ :protocol => "HTTP",
990
+ :zone_1 => true,
991
+ :zone_2 => false,
992
+ :zone_3 => false,
993
+ :zone_4 => false,
994
+ :zone_5 => false
995
+ },
996
+ :http_settings => {}
997
+ }
998
+
999
+ puts BandwidthIris::SipPeerProducts.update_sms_feature_settings("site_id", "sippeer_id", data)
1000
+ ```
1001
+
1002
+ ### Delete Sms Feature Settings
1003
+
1004
+ ```ruby
1005
+ BandwidthIris::SipPeerProducts.delete_sms_feature_settings("site_id", "sippeer_id")
1006
+ ```
1007
+
1008
+ ### Get Mms Feature Settings
1009
+
1010
+ ```ruby
1011
+ puts BandwidthIris::SipPeerProducts.get_mms_feature_settings("site_id", "sippeer_id")
1012
+ ```
1013
+
1014
+ ### Create Mms Feature Settings
1015
+
1016
+ ```ruby
1017
+ data = {
1018
+ :mms_settings => {
1019
+ :protocol => "HTTP"
1020
+ },
1021
+ :protocols => {
1022
+ :HTTP => {
1023
+ :http_settings => {}
1024
+ }
1025
+ }
1026
+ }
1027
+
1028
+ puts BandwidthIris::SipPeerProducts.create_mms_feature_settings("site_id", "sippeer_id", data)
1029
+ ```
1030
+
1031
+ ### Update Mms Feature Settings
1032
+
1033
+ ```ruby
1034
+ data = {
1035
+ :mms_settings => {
1036
+ :protocol => "HTTP"
1037
+ },
1038
+ :protocols => {
1039
+ :HTTP => {
1040
+ :http_settings => {}
1041
+ }
1042
+ }
1043
+ }
1044
+
1045
+ BandwidthIris::SipPeerProducts.update_mms_feature_settings("site_id", "sippeer_id", data)
1046
+ ```
1047
+
1048
+ ### Delete Mms Feature Settings
1049
+
1050
+ ```ruby
1051
+ BandwidthIris::SipPeerProducts.delete_mms_feature_settings("site_id", "sippeer_id")
1052
+ ```
1053
+
1054
+ ### Get Mms Feature Mms Settings
1055
+
1056
+ ```ruby
1057
+ puts BandwidthIris::SipPeerProducts.get_mms_feature_mms_settings("site_id", "sippeer_id")
1058
+ ```
1059
+
1060
+ ### Get Messaging Application Settings
1061
+
1062
+ ```ruby
1063
+ puts BandwidthIris::SipPeerProducts.get_messaging_application_settings("site_id", "sippeer_id")
1064
+ ```
1065
+
1066
+ ### Update Messaging Application Settings
1067
+
1068
+ ```ruby
1069
+ data = {
1070
+ :http_messaging_v2_app_id => "4-d-4-8-5"
1071
+ }
1072
+
1073
+ puts BandwidthIris::SipPeerProducts.update_messaging_application_settings("site_id", "sippeer_id", data)
1074
+ ```
1075
+
1076
+ ### Get Messaging Settings
1077
+
1078
+ ```ruby
1079
+ puts BandwidthIris::SipPeerProducts.get_messaging_settings("site_id", "sippeer_id")
1080
+ ```
1081
+
1082
+ ### Update Messaging Settings
1083
+
1084
+ ```ruby
1085
+ data = {
1086
+ :break_out_countries => {
1087
+ :country => "CAN"
1088
+ }
1089
+ }
1090
+
1091
+ puts BandwidthIris::SipPeerProducts.update_messaging_settings("site_id", "sippeer_id", data)
1092
+ ```
1093
+
1094
+ ## Emergency Notification Recipients
1095
+
1096
+ ### Create Emergency Notification Recipient
1097
+
1098
+ ```ruby
1099
+ data = {
1100
+ :description => "Email to Bldg. 3 Front Desk",
1101
+ :type => "EMAIL",
1102
+ :email_address => "foo@bar.com"
1103
+ }
1104
+
1105
+ enr = BandwidthIris::EmergencyNotificationRecipients.create_emergency_notification_recipient(data)
1106
+ puts enr
1107
+ ```
1108
+ ### Get Emergency Notification Recipients
1109
+
1110
+ ```ruby
1111
+ enrs = BandwidthIris::EmergencyNotificationRecipients.get_emergency_notification_recipients()
1112
+ puts enrs
1113
+ ```
1114
+
1115
+ ### Get Emergency Notification Recipient
1116
+
1117
+ ```ruby
1118
+ enr = BandwidthIris::EmergencyNotificationRecipients.get_emergency_notification_recipient("id")
1119
+ puts enr
1120
+ ```
1121
+
1122
+ ### Replace Emergency Notification Recipient
1123
+
1124
+ ```ruby
1125
+ data = {
1126
+ :description => "Email to Bldg. 3 Front Desk",
1127
+ :type => "EMAIL",
1128
+ :email_address => "foo@bar.com"
1129
+ }
1130
+
1131
+ enr = BandwidthIris::EmergencyNotificationRecipients.replace_emergency_notification_recipient("id", data)
1132
+ puts enr
1133
+ ```
1134
+
1135
+ ### Delete Emergency Notification Recipient
1136
+
1137
+ ```ruby
1138
+ BandwidthIris::EmergencyNotificationRecipients.delete_emergency_notification_recipient("id")
1139
+ ```
1140
+
1141
+ ## Emergeny Notification Group
1142
+
1143
+ ### Create Emergency Notification Group Order
1144
+
1145
+ ```ruby
1146
+ data = {
1147
+ :customer_order_id => "value",
1148
+ :added_emergency_notification_group => {
1149
+ :description => "description",
1150
+ :added_emergency_notification_recipients => {
1151
+ :emergency_notification_recipient => [
1152
+ {
1153
+ :identifier => "123"
1154
+ }
1155
+ ]
1156
+ }
1157
+ }
1158
+ }
1159
+
1160
+ order = BandwidthIris::EmergencyNotificationGroups.create_emergency_notification_group_order(data)
1161
+ puts order
1162
+ ```
1163
+
1164
+ ### Get Emergency Notification Group Orders
1165
+
1166
+ ```ruby
1167
+ orders = BandwidthIris::EmergencyNotificationGroups.get_emergency_notification_group_orders()
1168
+ puts orders
1169
+ ```
1170
+
1171
+ ### Get Emergency Notification Group Order
1172
+
1173
+ ```ruby
1174
+ order = BandwidthIris::EmergencyNotificationGroups.get_emergency_notification_group_order("id")
1175
+ puts order
1176
+ ```
1177
+
1178
+ ### Get Emergency Notification Groups
1179
+
1180
+ ```ruby
1181
+ groups = BandwidthIris::EmergencyNotificationGroups.get_emergency_notification_groups()
1182
+ puts groups
1183
+ ```
1184
+
1185
+ ### Get Emergency Notification Group
1186
+
1187
+ ```ruby
1188
+ group = BandwidthIris::EmergencyNotificationGroups.get_emergency_notification_group("id")
1189
+ puts group
1190
+ ```
1191
+
1192
+ ## Emergency Notification Endpoint
1193
+
1194
+ ### Create Emergency Notification Endpoint Order
1195
+
1196
+ ```ruby
1197
+ data = {
1198
+ :customer_order_id => "123",
1199
+ :emergency_notification_endpoint_associations => {
1200
+ :emergency_notification_group => {
1201
+ :identifier => "456"
1202
+ }
1203
+ }
1204
+ }
1205
+
1206
+ order = BandwidthIris::EmergencyNotificationEndpoints.create_emergency_notification_endpoint_order(data)
1207
+ puts order
1208
+ ```
1209
+
1210
+ ### Get Emergency Notification Endpoint Orders
1211
+
1212
+ ```ruby
1213
+ orders = BandwidthIris::EmergencyNotificationEndpoints.get_emergency_notification_endpoint_orders()
1214
+ puts orders
1215
+ ```
1216
+
1217
+ ### Get Emergency Notification Endpoint Order
1218
+
1219
+ ```ruby
1220
+ order = BandwidthIris::EmergencyNotificationEndpoints.get_emergency_notification_endpoint_order("id")
1221
+ puts order
1222
+ ```
1223
+
1224
+ ## Alternate End User Identiy
1225
+
1226
+ ### Get Alternate End User Information
1227
+
1228
+ ```ruby
1229
+ aeuis = BandwidthIris::AlternateEndUserIdentity.get_alternate_end_user_information()
1230
+ puts aeuis
1231
+ ```
1232
+
1233
+ ### Get Alternate Caller Information
1234
+
1235
+ ```ruby
1236
+ aeui = AlternateEndUserIdentity.get_alternate_caller_information("id")
1237
+ puts aeui
1238
+ ```