telnyx 2.9.0 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (211) hide show
  1. checksums.yaml +4 -4
  2. data/.github/scripts/before_install.sh +10 -9
  3. data/.github/workflows/publish-gem-on-release.yml +6 -6
  4. data/.github/workflows/ruby.yml +4 -4
  5. data/.rubocop.yml +1 -1
  6. data/Gemfile +7 -8
  7. data/README.md +30 -9
  8. data/Spec3.json +77839 -0
  9. data/VERSION +1 -1
  10. data/lib/telnyx/access_control_ip.rb +13 -0
  11. data/lib/telnyx/access_ip_range.rb +12 -0
  12. data/lib/telnyx/address.rb +9 -0
  13. data/lib/telnyx/api_operations/delete.rb +1 -1
  14. data/lib/telnyx/api_resource.rb +4 -1
  15. data/lib/telnyx/authentication_providers.rb +12 -0
  16. data/lib/telnyx/available_phone_number.rb +5 -0
  17. data/lib/telnyx/balance.rb +12 -0
  18. data/lib/telnyx/batch_mdr_report.rb +15 -0
  19. data/lib/telnyx/brand.rb +20 -0
  20. data/lib/telnyx/bulk_creation.rb +21 -0
  21. data/lib/telnyx/bulk_credential.rb +16 -0
  22. data/lib/telnyx/bulk_phone_number_campaign.rb +23 -0
  23. data/lib/telnyx/bulk_sim_card_action.rb +9 -0
  24. data/lib/telnyx/business_identitie.rb +9 -0
  25. data/lib/telnyx/call.rb +2 -2
  26. data/lib/telnyx/call_event.rb +9 -0
  27. data/lib/telnyx/call_recording.rb +12 -0
  28. data/lib/telnyx/campaign.rb +42 -0
  29. data/lib/telnyx/cdr_usage_report.rb +13 -0
  30. data/lib/telnyx/channel_zone.rb +10 -0
  31. data/lib/telnyx/comment.rb +20 -0
  32. data/lib/telnyx/conference.rb +1 -1
  33. data/lib/telnyx/connection.rb +5 -0
  34. data/lib/telnyx/csv_download.rb +10 -0
  35. data/lib/telnyx/custom_storage_credential.rb +7 -0
  36. data/lib/telnyx/detail_record.rb +9 -0
  37. data/lib/telnyx/dialogflow_connection.rb +20 -0
  38. data/lib/telnyx/document.rb +20 -0
  39. data/lib/telnyx/dynamic_emergency_address.rb +12 -0
  40. data/lib/telnyx/dynamic_emergency_endpoint.rb +12 -0
  41. data/lib/telnyx/embedding.rb +14 -0
  42. data/lib/telnyx/enum.rb +22 -0
  43. data/lib/telnyx/fax.rb +14 -0
  44. data/lib/telnyx/global_ip.rb +10 -0
  45. data/lib/telnyx/global_ip_allowed_port.rb +8 -0
  46. data/lib/telnyx/global_ip_assignment.rb +12 -0
  47. data/lib/telnyx/global_ip_assignment_health.rb +8 -0
  48. data/lib/telnyx/global_ip_assignment_usage.rb +8 -0
  49. data/lib/telnyx/global_ip_latency.rb +8 -0
  50. data/lib/telnyx/global_ip_protocol.rb +8 -0
  51. data/lib/telnyx/global_ip_usage.rb +8 -0
  52. data/lib/telnyx/inference.rb +9 -0
  53. data/lib/telnyx/inventory_coverage.rb +9 -0
  54. data/lib/telnyx/ledger_billing_group_report.rb +9 -0
  55. data/lib/telnyx/managed_account.rb +32 -0
  56. data/lib/telnyx/mdr_usage_report.rb +21 -0
  57. data/lib/telnyx/media.rb +21 -0
  58. data/lib/telnyx/message_number_pool.rb +9 -0
  59. data/lib/telnyx/messaging_hosted_number_order.rb +21 -0
  60. data/lib/telnyx/messaging_profile.rb +14 -2
  61. data/lib/telnyx/messaging_tollfree_verification.rb +12 -0
  62. data/lib/telnyx/messaging_url_domain.rb +9 -0
  63. data/lib/telnyx/mobile_operator_network.rb +9 -0
  64. data/lib/telnyx/mobile_push_credential.rb +11 -0
  65. data/lib/telnyx/network.rb +19 -0
  66. data/lib/telnyx/notification_channel.rb +12 -0
  67. data/lib/telnyx/notification_event.rb +9 -0
  68. data/lib/telnyx/notification_event_condition.rb +9 -0
  69. data/lib/telnyx/notification_profile.rb +12 -0
  70. data/lib/telnyx/notification_setting.rb +12 -0
  71. data/lib/telnyx/number_block_order.rb +10 -0
  72. data/lib/telnyx/ota_update.rb +9 -0
  73. data/lib/telnyx/partner_campaign.rb +32 -0
  74. data/lib/telnyx/phone_number.rb +6 -0
  75. data/lib/telnyx/phone_number_block_job.rb +14 -0
  76. data/lib/telnyx/phone_number_campaigns.rb +19 -0
  77. data/lib/telnyx/portability_check.rb +9 -0
  78. data/lib/telnyx/porting_order.rb +39 -1
  79. data/lib/telnyx/portout.rb +9 -0
  80. data/lib/telnyx/private_wireless_gateway.rb +11 -0
  81. data/lib/telnyx/public_internet_gateway.rb +11 -0
  82. data/lib/telnyx/region.rb +9 -0
  83. data/lib/telnyx/requirement.rb +8 -0
  84. data/lib/telnyx/requirement_type.rb +8 -0
  85. data/lib/telnyx/room.rb +20 -0
  86. data/lib/telnyx/room_composition.rb +11 -0
  87. data/lib/telnyx/room_participant.rb +9 -0
  88. data/lib/telnyx/room_recording.rb +10 -0
  89. data/lib/telnyx/room_session.rb +18 -0
  90. data/lib/telnyx/short_code.rb +10 -0
  91. data/lib/telnyx/sim_card.rb +28 -2
  92. data/lib/telnyx/sim_card_action.rb +12 -0
  93. data/lib/telnyx/sim_card_data_usage_notification.rb +12 -0
  94. data/lib/telnyx/sim_card_group.rb +21 -0
  95. data/lib/telnyx/sim_card_group_action.rb +8 -0
  96. data/lib/telnyx/sim_card_order.rb +10 -0
  97. data/lib/telnyx/summary.rb +9 -0
  98. data/lib/telnyx/telephony_credential.rb +22 -0
  99. data/lib/telnyx/telnyx_client.rb +1 -2
  100. data/lib/telnyx/texml_application.rb +9 -0
  101. data/lib/telnyx/verification.rb +3 -3
  102. data/lib/telnyx/verified_calls_display_profile.rb +17 -0
  103. data/lib/telnyx/verify_profile.rb +1 -0
  104. data/lib/telnyx/version.rb +1 -1
  105. data/lib/telnyx/virtual_cross_connect.rb +20 -0
  106. data/lib/telnyx/virtual_cross_connect_region.rb +9 -0
  107. data/lib/telnyx/wdr.rb +13 -0
  108. data/lib/telnyx/webhook_deliverie.rb +9 -0
  109. data/lib/telnyx/wireguard_interface.rb +11 -0
  110. data/lib/telnyx/wireguard_peer.rb +21 -0
  111. data/lib/telnyx.rb +67 -3
  112. data/server.js +31 -0
  113. data/telnyx.gemspec +4 -2
  114. data/test/openapi/README.md +31 -4
  115. data/test/telnyx/api_resource_test.rb +28 -22
  116. data/test/telnyx/available_phone_number_test.rb +6 -0
  117. data/test/telnyx/batch_mdr_report_test.rb +39 -0
  118. data/test/telnyx/billing_group_test.rb +12 -8
  119. data/test/telnyx/bulk_credential_test.rb +20 -0
  120. data/test/telnyx/bulk_sim_card_action_test.rb +22 -0
  121. data/test/telnyx/business_identitie_test.rb +25 -0
  122. data/test/telnyx/call_control_application_test.rb +13 -9
  123. data/test/telnyx/call_control_test.rb +24 -23
  124. data/test/telnyx/call_event_test.rb +14 -0
  125. data/test/telnyx/call_recording_test.rb +28 -0
  126. data/test/telnyx/call_test.rb +29 -0
  127. data/test/telnyx/campaign_test.rb +32 -0
  128. data/test/telnyx/cdr_usage_report_test.rb +15 -0
  129. data/test/telnyx/channel_zone_test.rb +14 -0
  130. data/test/telnyx/comment_test.rb +32 -0
  131. data/test/telnyx/conference_test.rb +27 -16
  132. data/test/telnyx/connection_test.rb +8 -1
  133. data/test/telnyx/credential_connection_test.rb +5 -4
  134. data/test/telnyx/csv_download_test.rb +33 -0
  135. data/test/telnyx/custom_storage_credential_test.rb +17 -0
  136. data/test/telnyx/detail_record_test.rb +15 -0
  137. data/test/telnyx/dialogflow_connection_test.rb +32 -0
  138. data/test/telnyx/embedding_test.rb +27 -0
  139. data/test/telnyx/enum_test.rb +15 -0
  140. data/test/telnyx/fax_application_test.rb +5 -4
  141. data/test/telnyx/fax_test.rb +13 -4
  142. data/test/telnyx/fqdn_connection_test.rb +5 -5
  143. data/test/telnyx/fqdn_test.rb +12 -7
  144. data/test/telnyx/global_ip_allowed_port_test.rb +14 -0
  145. data/test/telnyx/global_ip_assignment_health_test.rb +14 -0
  146. data/test/telnyx/global_ip_assignment_test.rb +44 -0
  147. data/test/telnyx/global_ip_latency_test.rb +14 -0
  148. data/test/telnyx/global_ip_protocol_test.rb +14 -0
  149. data/test/telnyx/global_ip_test.rb +35 -0
  150. data/test/telnyx/global_ip_usage_test.rb +14 -0
  151. data/test/telnyx/inference_test.rb +13 -0
  152. data/test/telnyx/ip_connection_test.rb +12 -8
  153. data/test/telnyx/ip_test.rb +12 -8
  154. data/test/telnyx/ledger_billing_group_report_test.rb +18 -0
  155. data/test/telnyx/managed_account_test.rb +42 -0
  156. data/test/telnyx/mdr_usage_report_test.rb +47 -0
  157. data/test/telnyx/message_number_pool_test.rb +18 -0
  158. data/test/telnyx/message_test.rb +2 -2
  159. data/test/telnyx/messaging_phone_number_test.rb +2 -1
  160. data/test/telnyx/messaging_profile_test.rb +27 -14
  161. data/test/telnyx/messaging_tollfree_verification_test.rb +71 -0
  162. data/test/telnyx/messaging_url_domain_test.rb +14 -0
  163. data/test/telnyx/mobile_operator_network_test.rb +15 -0
  164. data/test/telnyx/mobile_push_credential_test.rb +33 -0
  165. data/test/telnyx/network_test.rb +49 -0
  166. data/test/telnyx/number_block_order_test.rb +28 -0
  167. data/test/telnyx/number_order_document_test.rb +4 -3
  168. data/test/telnyx/number_order_test.rb +3 -2
  169. data/test/telnyx/number_reservation_test.rb +2 -2
  170. data/test/telnyx/ota_update_test.rb +20 -0
  171. data/test/telnyx/phone_number_block_job_test.rb +25 -0
  172. data/test/telnyx/phone_number_regulatory_requirement_test.rb +2 -1
  173. data/test/telnyx/phone_number_test.rb +8 -6
  174. data/test/telnyx/porting_order_test.rb +45 -10
  175. data/test/telnyx/private_wireless_gateway_test.rb +32 -0
  176. data/test/telnyx/public_internet_gateway_test.rb +32 -0
  177. data/test/telnyx/queue_test.rb +9 -6
  178. data/test/telnyx/region_test.rb +14 -0
  179. data/test/telnyx/regulatory_requirement_test.rb +6 -3
  180. data/test/telnyx/requirement_test.rb +22 -0
  181. data/test/telnyx/requirement_type_test.rb +22 -0
  182. data/test/telnyx/room_composition_test.rb +32 -0
  183. data/test/telnyx/room_participant_test.rb +19 -0
  184. data/test/telnyx/room_recording_test.rb +27 -0
  185. data/test/telnyx/room_session_test.rb +47 -0
  186. data/test/telnyx/room_test.rb +52 -0
  187. data/test/telnyx/short_code_test.rb +30 -0
  188. data/test/telnyx/sim_card_data_usage_notification_test.rb +42 -0
  189. data/test/telnyx/sim_card_group_action_test.rb +22 -0
  190. data/test/telnyx/sim_card_group_test.rb +59 -0
  191. data/test/telnyx/sim_card_order_test.rb +27 -0
  192. data/test/telnyx/sim_card_test.rb +75 -10
  193. data/test/telnyx/summary_test.rb +13 -0
  194. data/test/telnyx/telephony_credential_test.rb +35 -6
  195. data/test/telnyx/telnyx_client_test.rb +1 -0
  196. data/test/telnyx/texml_application_test.rb +25 -0
  197. data/test/telnyx/verification_test.rb +6 -4
  198. data/test/telnyx/verified_calls_display_profile_test.rb +33 -0
  199. data/test/telnyx/verify_profile_test.rb +16 -7
  200. data/test/telnyx/virtual_cross_connect_region_test.rb +22 -0
  201. data/test/telnyx/virtual_cross_connect_test.rb +49 -0
  202. data/test/telnyx/wdr_test.rb +14 -0
  203. data/test/telnyx/webhook_deliverie_test.rb +23 -0
  204. data/test/telnyx/wireguard_interface_test.rb +32 -0
  205. data/test/telnyx/wireguard_peer_test.rb +48 -0
  206. data/test/test_helper.rb +10 -26
  207. metadata +237 -37
  208. data/examples/2 factor authentication/Gemfile +0 -7
  209. data/examples/2 factor authentication/main.rb +0 -67
  210. data/examples/2 factor authentication/readme.md +0 -5
  211. data/test/telnyx_mock.rb +0 -78
data/test/test_helper.rb CHANGED
@@ -14,36 +14,20 @@ require "webmock/test_unit"
14
14
  PROJECT_ROOT = ::File.expand_path("../../", __FILE__)
15
15
 
16
16
  require ::File.expand_path("../test_data", __FILE__)
17
- require ::File.expand_path("../telnyx_mock", __FILE__)
18
17
 
19
- # If changing this number, please also change it in `.travis.yml`.
20
- MOCK_MINIMUM_VERSION = "0.8.10".freeze
21
- MOCK_PORT = Telnyx::TelnyxMock.start
18
+ # Set up Proxy server configuration
19
+ PROXY_PORT = 12_111 # Port where your proxy server is running
20
+ PROXY_HOST = "localhost"
21
+ PROXY_BASE_URL = "http://#{PROXY_HOST}:#{PROXY_PORT}".freeze
22
22
 
23
23
  # Disable all real network connections except those that are outgoing to
24
- # telnyx-mock.
25
- WebMock.disable_net_connect!(allow: "localhost:#{MOCK_PORT}")
24
+ # the Proxy server.
25
+ WebMock.disable_net_connect!(allow: "#{PROXY_HOST}:#{PROXY_PORT}")
26
26
 
27
- # Try one initial test connection to telnyx-mock so that if there's a problem
28
- # we can print one error and fail fast so that it's more clear to the user how
29
- # they should fix the problem.
30
- begin
31
- conn = Faraday::Connection.new("http://localhost:#{MOCK_PORT}")
32
- resp = conn.get("/")
33
- version = resp.headers["Telnyx-Mock-Version"]
34
- if version != "master" &&
35
- Gem::Version.new(version) < Gem::Version.new(MOCK_MINIMUM_VERSION)
36
- abort("Your version of telnyx-mock (#{version}) is too old. The minimum " \
37
- "version to run this test suite is #{MOCK_MINIMUM_VERSION}. Please " \
38
- "see its repository for upgrade instructions.")
39
- end
40
- rescue Faraday::ConnectionFailed
41
- abort("Couldn't reach telnyx-mock at `localhost:#{MOCK_PORT}`. Is " \
42
- "it running? Please see README for setup instructions.")
43
- end
27
+ # You can remove the Telnyx mock setup as it's not needed for Prism
44
28
 
45
29
  Test::Unit.at_exit do
46
- Telnyx::TelnyxMock.stop
30
+ # Clean up actions for Proxy if required
47
31
  end
48
32
 
49
33
  module Test
@@ -53,8 +37,8 @@ module Test
53
37
  include Mocha
54
38
 
55
39
  setup do
56
- Telnyx.api_key = "KEYSUPERSECRET" # mock server expects this exact string
57
- Telnyx.api_base = "http://localhost:#{MOCK_PORT}"
40
+ Telnyx.api_key = "KEYSUPERSECRET" # Set your desired API key or the one expected by the proxy/Prism
41
+ Telnyx.api_base = PROXY_BASE_URL # Use Proxy's base URL
58
42
 
59
43
  # stub_connect
60
44
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: telnyx
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.9.0
4
+ version: 3.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Telnyx
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-09 00:00:00.000000000 Z
11
+ date: 2024-05-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -16,44 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0.13'
20
- - - "!="
21
- - !ruby/object:Gem::Version
22
- version: 0.16.0
23
- - - "!="
24
- - !ruby/object:Gem::Version
25
- version: 0.16.1
26
- - - "!="
27
- - !ruby/object:Gem::Version
28
- version: 0.16.2
29
- - - "!="
30
- - !ruby/object:Gem::Version
31
- version: 0.17.1
32
- - - "<"
33
- - !ruby/object:Gem::Version
34
- version: '2.0'
19
+ version: 2.5.0
35
20
  type: :runtime
36
21
  prerelease: false
37
22
  version_requirements: !ruby/object:Gem::Requirement
38
23
  requirements:
39
24
  - - ">="
40
25
  - !ruby/object:Gem::Version
41
- version: '0.13'
42
- - - "!="
43
- - !ruby/object:Gem::Version
44
- version: 0.16.0
45
- - - "!="
26
+ version: 2.5.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: faraday-multipart
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
46
32
  - !ruby/object:Gem::Version
47
- version: 0.16.1
48
- - - "!="
33
+ version: 1.0.4
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
49
39
  - !ruby/object:Gem::Version
50
- version: 0.16.2
51
- - - "!="
40
+ version: 1.0.4
41
+ - !ruby/object:Gem::Dependency
42
+ name: faraday-net_http_persistent
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
52
46
  - !ruby/object:Gem::Version
53
- version: 0.17.1
54
- - - "<"
47
+ version: 2.1.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
55
53
  - !ruby/object:Gem::Version
56
- version: '2.0'
54
+ version: 2.1.0
57
55
  - !ruby/object:Gem::Dependency
58
56
  name: net-http-persistent
59
57
  requirement: !ruby/object:Gem::Requirement
@@ -112,17 +110,17 @@ files:
112
110
  - LICENSE
113
111
  - README.md
114
112
  - Rakefile
113
+ - Spec3.json
115
114
  - VERSION
116
115
  - bin/telnyx-console
117
- - examples/2 factor authentication/Gemfile
118
- - examples/2 factor authentication/main.rb
119
- - examples/2 factor authentication/readme.md
120
116
  - examples/fax/Gemfile
121
117
  - examples/fax/config.yaml
122
118
  - examples/fax/fax.rb
123
119
  - examples/fax/options.rb
124
120
  - examples/fax/readme.md
125
121
  - lib/telnyx.rb
122
+ - lib/telnyx/access_control_ip.rb
123
+ - lib/telnyx/access_ip_range.rb
126
124
  - lib/telnyx/address.rb
127
125
  - lib/telnyx/alphanumeric_sender_id.rb
128
126
  - lib/telnyx/api_operations/create.rb
@@ -133,50 +131,132 @@ files:
133
131
  - lib/telnyx/api_operations/request.rb
134
132
  - lib/telnyx/api_operations/save.rb
135
133
  - lib/telnyx/api_resource.rb
134
+ - lib/telnyx/authentication_providers.rb
136
135
  - lib/telnyx/available_phone_number.rb
136
+ - lib/telnyx/balance.rb
137
+ - lib/telnyx/batch_mdr_report.rb
137
138
  - lib/telnyx/billing_group.rb
139
+ - lib/telnyx/brand.rb
140
+ - lib/telnyx/bulk_creation.rb
141
+ - lib/telnyx/bulk_credential.rb
142
+ - lib/telnyx/bulk_phone_number_campaign.rb
143
+ - lib/telnyx/bulk_sim_card_action.rb
144
+ - lib/telnyx/business_identitie.rb
138
145
  - lib/telnyx/call.rb
139
146
  - lib/telnyx/call_control_application.rb
147
+ - lib/telnyx/call_event.rb
148
+ - lib/telnyx/call_recording.rb
149
+ - lib/telnyx/campaign.rb
150
+ - lib/telnyx/cdr_usage_report.rb
151
+ - lib/telnyx/channel_zone.rb
152
+ - lib/telnyx/comment.rb
140
153
  - lib/telnyx/conference.rb
141
154
  - lib/telnyx/connection.rb
142
155
  - lib/telnyx/credential_connection.rb
156
+ - lib/telnyx/csv_download.rb
157
+ - lib/telnyx/custom_storage_credential.rb
158
+ - lib/telnyx/detail_record.rb
159
+ - lib/telnyx/dialogflow_connection.rb
160
+ - lib/telnyx/document.rb
161
+ - lib/telnyx/dynamic_emergency_address.rb
162
+ - lib/telnyx/dynamic_emergency_endpoint.rb
163
+ - lib/telnyx/embedding.rb
164
+ - lib/telnyx/enum.rb
143
165
  - lib/telnyx/errors.rb
144
166
  - lib/telnyx/event.rb
145
167
  - lib/telnyx/fax.rb
146
168
  - lib/telnyx/fax_application.rb
147
169
  - lib/telnyx/fqdn.rb
148
170
  - lib/telnyx/fqdn_connection.rb
171
+ - lib/telnyx/global_ip.rb
172
+ - lib/telnyx/global_ip_allowed_port.rb
173
+ - lib/telnyx/global_ip_assignment.rb
174
+ - lib/telnyx/global_ip_assignment_health.rb
175
+ - lib/telnyx/global_ip_assignment_usage.rb
176
+ - lib/telnyx/global_ip_latency.rb
177
+ - lib/telnyx/global_ip_protocol.rb
178
+ - lib/telnyx/global_ip_usage.rb
179
+ - lib/telnyx/inference.rb
180
+ - lib/telnyx/inventory_coverage.rb
149
181
  - lib/telnyx/ip.rb
150
182
  - lib/telnyx/ip_connection.rb
183
+ - lib/telnyx/ledger_billing_group_report.rb
151
184
  - lib/telnyx/list_object.rb
185
+ - lib/telnyx/managed_account.rb
186
+ - lib/telnyx/mdr_usage_report.rb
187
+ - lib/telnyx/media.rb
152
188
  - lib/telnyx/message.rb
189
+ - lib/telnyx/message_number_pool.rb
190
+ - lib/telnyx/messaging_hosted_number_order.rb
153
191
  - lib/telnyx/messaging_phone_number.rb
154
192
  - lib/telnyx/messaging_profile.rb
193
+ - lib/telnyx/messaging_tollfree_verification.rb
194
+ - lib/telnyx/messaging_url_domain.rb
195
+ - lib/telnyx/mobile_operator_network.rb
196
+ - lib/telnyx/mobile_push_credential.rb
197
+ - lib/telnyx/network.rb
198
+ - lib/telnyx/notification_channel.rb
199
+ - lib/telnyx/notification_event.rb
200
+ - lib/telnyx/notification_event_condition.rb
201
+ - lib/telnyx/notification_profile.rb
202
+ - lib/telnyx/notification_setting.rb
203
+ - lib/telnyx/number_block_order.rb
155
204
  - lib/telnyx/number_lookup.rb
156
205
  - lib/telnyx/number_order.rb
157
206
  - lib/telnyx/number_order_document.rb
158
207
  - lib/telnyx/number_reservation.rb
208
+ - lib/telnyx/ota_update.rb
159
209
  - lib/telnyx/outbound_voice_profile.rb
210
+ - lib/telnyx/partner_campaign.rb
160
211
  - lib/telnyx/phone_number.rb
212
+ - lib/telnyx/phone_number_block_job.rb
213
+ - lib/telnyx/phone_number_campaigns.rb
161
214
  - lib/telnyx/phone_number_regulatory_requirement.rb
215
+ - lib/telnyx/portability_check.rb
162
216
  - lib/telnyx/porting_order.rb
163
217
  - lib/telnyx/portout.rb
218
+ - lib/telnyx/private_wireless_gateway.rb
219
+ - lib/telnyx/public_internet_gateway.rb
164
220
  - lib/telnyx/public_key.rb
165
221
  - lib/telnyx/queue.rb
166
222
  - lib/telnyx/queue_call.rb
223
+ - lib/telnyx/region.rb
167
224
  - lib/telnyx/regulatory_requirement.rb
225
+ - lib/telnyx/requirement.rb
226
+ - lib/telnyx/requirement_type.rb
227
+ - lib/telnyx/room.rb
228
+ - lib/telnyx/room_composition.rb
229
+ - lib/telnyx/room_participant.rb
230
+ - lib/telnyx/room_recording.rb
231
+ - lib/telnyx/room_session.rb
232
+ - lib/telnyx/short_code.rb
168
233
  - lib/telnyx/sim_card.rb
234
+ - lib/telnyx/sim_card_action.rb
235
+ - lib/telnyx/sim_card_data_usage_notification.rb
236
+ - lib/telnyx/sim_card_group.rb
237
+ - lib/telnyx/sim_card_group_action.rb
238
+ - lib/telnyx/sim_card_order.rb
169
239
  - lib/telnyx/singleton_api_resource.rb
240
+ - lib/telnyx/summary.rb
170
241
  - lib/telnyx/telephony_credential.rb
171
242
  - lib/telnyx/telnyx_client.rb
172
243
  - lib/telnyx/telnyx_object.rb
173
244
  - lib/telnyx/telnyx_response.rb
245
+ - lib/telnyx/texml_application.rb
174
246
  - lib/telnyx/util.rb
175
247
  - lib/telnyx/verification.rb
248
+ - lib/telnyx/verified_calls_display_profile.rb
176
249
  - lib/telnyx/verify_profile.rb
177
250
  - lib/telnyx/version.rb
251
+ - lib/telnyx/virtual_cross_connect.rb
252
+ - lib/telnyx/virtual_cross_connect_region.rb
253
+ - lib/telnyx/wdr.rb
178
254
  - lib/telnyx/webhook.rb
255
+ - lib/telnyx/webhook_deliverie.rb
256
+ - lib/telnyx/wireguard_interface.rb
257
+ - lib/telnyx/wireguard_peer.rb
179
258
  - lib/telnyx/wireless_detail_records_report.rb
259
+ - server.js
180
260
  - telnyx.gemspec
181
261
  - test/api_stub_helpers.rb
182
262
  - test/openapi/README.md
@@ -185,45 +265,105 @@ files:
185
265
  - test/telnyx/api_operations_test.rb
186
266
  - test/telnyx/api_resource_test.rb
187
267
  - test/telnyx/available_phone_number_test.rb
268
+ - test/telnyx/batch_mdr_report_test.rb
188
269
  - test/telnyx/billing_group_test.rb
270
+ - test/telnyx/bulk_credential_test.rb
271
+ - test/telnyx/bulk_sim_card_action_test.rb
272
+ - test/telnyx/business_identitie_test.rb
189
273
  - test/telnyx/call_control_application_test.rb
190
274
  - test/telnyx/call_control_test.rb
275
+ - test/telnyx/call_event_test.rb
276
+ - test/telnyx/call_recording_test.rb
277
+ - test/telnyx/call_test.rb
278
+ - test/telnyx/campaign_test.rb
279
+ - test/telnyx/cdr_usage_report_test.rb
280
+ - test/telnyx/channel_zone_test.rb
281
+ - test/telnyx/comment_test.rb
191
282
  - test/telnyx/conference_test.rb
192
283
  - test/telnyx/connection_test.rb
193
284
  - test/telnyx/credential_connection_test.rb
285
+ - test/telnyx/csv_download_test.rb
286
+ - test/telnyx/custom_storage_credential_test.rb
287
+ - test/telnyx/detail_record_test.rb
288
+ - test/telnyx/dialogflow_connection_test.rb
289
+ - test/telnyx/embedding_test.rb
290
+ - test/telnyx/enum_test.rb
194
291
  - test/telnyx/errors_test.rb
195
292
  - test/telnyx/fax_application_test.rb
196
293
  - test/telnyx/fax_test.rb
197
294
  - test/telnyx/fqdn_connection_test.rb
198
295
  - test/telnyx/fqdn_test.rb
296
+ - test/telnyx/global_ip_allowed_port_test.rb
297
+ - test/telnyx/global_ip_assignment_health_test.rb
298
+ - test/telnyx/global_ip_assignment_test.rb
299
+ - test/telnyx/global_ip_latency_test.rb
300
+ - test/telnyx/global_ip_protocol_test.rb
301
+ - test/telnyx/global_ip_test.rb
302
+ - test/telnyx/global_ip_usage_test.rb
303
+ - test/telnyx/inference_test.rb
199
304
  - test/telnyx/ip_connection_test.rb
200
305
  - test/telnyx/ip_test.rb
306
+ - test/telnyx/ledger_billing_group_report_test.rb
201
307
  - test/telnyx/list_object_test.rb
308
+ - test/telnyx/managed_account_test.rb
309
+ - test/telnyx/mdr_usage_report_test.rb
310
+ - test/telnyx/message_number_pool_test.rb
202
311
  - test/telnyx/message_test.rb
203
312
  - test/telnyx/messaging_phone_number_test.rb
204
313
  - test/telnyx/messaging_profile_test.rb
314
+ - test/telnyx/messaging_tollfree_verification_test.rb
315
+ - test/telnyx/messaging_url_domain_test.rb
316
+ - test/telnyx/mobile_operator_network_test.rb
317
+ - test/telnyx/mobile_push_credential_test.rb
318
+ - test/telnyx/network_test.rb
319
+ - test/telnyx/number_block_order_test.rb
205
320
  - test/telnyx/number_lookup_test.rb
206
321
  - test/telnyx/number_order_document_test.rb
207
322
  - test/telnyx/number_order_test.rb
208
323
  - test/telnyx/number_reservation_test.rb
324
+ - test/telnyx/ota_update_test.rb
209
325
  - test/telnyx/outbound_voice_profile_test.rb
326
+ - test/telnyx/phone_number_block_job_test.rb
210
327
  - test/telnyx/phone_number_regulatory_requirement_test.rb
211
328
  - test/telnyx/phone_number_test.rb
212
329
  - test/telnyx/porting_order_test.rb
330
+ - test/telnyx/private_wireless_gateway_test.rb
331
+ - test/telnyx/public_internet_gateway_test.rb
213
332
  - test/telnyx/public_key_test.rb
214
333
  - test/telnyx/queue_test.rb
334
+ - test/telnyx/region_test.rb
215
335
  - test/telnyx/regulatory_requirement_test.rb
336
+ - test/telnyx/requirement_test.rb
337
+ - test/telnyx/requirement_type_test.rb
338
+ - test/telnyx/room_composition_test.rb
339
+ - test/telnyx/room_participant_test.rb
340
+ - test/telnyx/room_recording_test.rb
341
+ - test/telnyx/room_session_test.rb
342
+ - test/telnyx/room_test.rb
343
+ - test/telnyx/short_code_test.rb
344
+ - test/telnyx/sim_card_data_usage_notification_test.rb
345
+ - test/telnyx/sim_card_group_action_test.rb
346
+ - test/telnyx/sim_card_group_test.rb
347
+ - test/telnyx/sim_card_order_test.rb
216
348
  - test/telnyx/sim_card_test.rb
349
+ - test/telnyx/summary_test.rb
217
350
  - test/telnyx/telephony_credential_test.rb
218
351
  - test/telnyx/telnyx_client_test.rb
219
352
  - test/telnyx/telnyx_object_test.rb
220
353
  - test/telnyx/telnyx_response_test.rb
354
+ - test/telnyx/texml_application_test.rb
221
355
  - test/telnyx/util_test.rb
222
356
  - test/telnyx/verification_test.rb
357
+ - test/telnyx/verified_calls_display_profile_test.rb
223
358
  - test/telnyx/verify_profile_test.rb
359
+ - test/telnyx/virtual_cross_connect_region_test.rb
360
+ - test/telnyx/virtual_cross_connect_test.rb
361
+ - test/telnyx/wdr_test.rb
362
+ - test/telnyx/webhook_deliverie_test.rb
224
363
  - test/telnyx/webhook_test.rb
364
+ - test/telnyx/wireguard_interface_test.rb
365
+ - test/telnyx/wireguard_peer_test.rb
225
366
  - test/telnyx/wireless_detail_records_report_test.rb
226
- - test/telnyx_mock.rb
227
367
  - test/telnyx_test.rb
228
368
  - test/test_data.rb
229
369
  - test/test_helper.rb
@@ -243,14 +383,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
243
383
  requirements:
244
384
  - - ">="
245
385
  - !ruby/object:Gem::Version
246
- version: 2.1.0
386
+ version: 3.0.0
247
387
  required_rubygems_version: !ruby/object:Gem::Requirement
248
388
  requirements:
249
389
  - - ">="
250
390
  - !ruby/object:Gem::Version
251
391
  version: '0'
252
392
  requirements: []
253
- rubygems_version: 3.0.3.1
393
+ rubygems_version: 3.2.15
254
394
  signing_key:
255
395
  specification_version: 4
256
396
  summary: Ruby bindings for the Telnyx API
@@ -262,45 +402,105 @@ test_files:
262
402
  - test/telnyx/api_operations_test.rb
263
403
  - test/telnyx/api_resource_test.rb
264
404
  - test/telnyx/available_phone_number_test.rb
405
+ - test/telnyx/batch_mdr_report_test.rb
265
406
  - test/telnyx/billing_group_test.rb
407
+ - test/telnyx/bulk_credential_test.rb
408
+ - test/telnyx/bulk_sim_card_action_test.rb
409
+ - test/telnyx/business_identitie_test.rb
266
410
  - test/telnyx/call_control_application_test.rb
267
411
  - test/telnyx/call_control_test.rb
412
+ - test/telnyx/call_event_test.rb
413
+ - test/telnyx/call_recording_test.rb
414
+ - test/telnyx/call_test.rb
415
+ - test/telnyx/campaign_test.rb
416
+ - test/telnyx/cdr_usage_report_test.rb
417
+ - test/telnyx/channel_zone_test.rb
418
+ - test/telnyx/comment_test.rb
268
419
  - test/telnyx/conference_test.rb
269
420
  - test/telnyx/connection_test.rb
270
421
  - test/telnyx/credential_connection_test.rb
422
+ - test/telnyx/csv_download_test.rb
423
+ - test/telnyx/custom_storage_credential_test.rb
424
+ - test/telnyx/detail_record_test.rb
425
+ - test/telnyx/dialogflow_connection_test.rb
426
+ - test/telnyx/embedding_test.rb
427
+ - test/telnyx/enum_test.rb
271
428
  - test/telnyx/errors_test.rb
272
429
  - test/telnyx/fax_application_test.rb
273
430
  - test/telnyx/fax_test.rb
274
431
  - test/telnyx/fqdn_connection_test.rb
275
432
  - test/telnyx/fqdn_test.rb
433
+ - test/telnyx/global_ip_allowed_port_test.rb
434
+ - test/telnyx/global_ip_assignment_health_test.rb
435
+ - test/telnyx/global_ip_assignment_test.rb
436
+ - test/telnyx/global_ip_latency_test.rb
437
+ - test/telnyx/global_ip_protocol_test.rb
438
+ - test/telnyx/global_ip_test.rb
439
+ - test/telnyx/global_ip_usage_test.rb
440
+ - test/telnyx/inference_test.rb
276
441
  - test/telnyx/ip_connection_test.rb
277
442
  - test/telnyx/ip_test.rb
443
+ - test/telnyx/ledger_billing_group_report_test.rb
278
444
  - test/telnyx/list_object_test.rb
445
+ - test/telnyx/managed_account_test.rb
446
+ - test/telnyx/mdr_usage_report_test.rb
447
+ - test/telnyx/message_number_pool_test.rb
279
448
  - test/telnyx/message_test.rb
280
449
  - test/telnyx/messaging_phone_number_test.rb
281
450
  - test/telnyx/messaging_profile_test.rb
451
+ - test/telnyx/messaging_tollfree_verification_test.rb
452
+ - test/telnyx/messaging_url_domain_test.rb
453
+ - test/telnyx/mobile_operator_network_test.rb
454
+ - test/telnyx/mobile_push_credential_test.rb
455
+ - test/telnyx/network_test.rb
456
+ - test/telnyx/number_block_order_test.rb
282
457
  - test/telnyx/number_lookup_test.rb
283
458
  - test/telnyx/number_order_document_test.rb
284
459
  - test/telnyx/number_order_test.rb
285
460
  - test/telnyx/number_reservation_test.rb
461
+ - test/telnyx/ota_update_test.rb
286
462
  - test/telnyx/outbound_voice_profile_test.rb
463
+ - test/telnyx/phone_number_block_job_test.rb
287
464
  - test/telnyx/phone_number_regulatory_requirement_test.rb
288
465
  - test/telnyx/phone_number_test.rb
289
466
  - test/telnyx/porting_order_test.rb
467
+ - test/telnyx/private_wireless_gateway_test.rb
468
+ - test/telnyx/public_internet_gateway_test.rb
290
469
  - test/telnyx/public_key_test.rb
291
470
  - test/telnyx/queue_test.rb
471
+ - test/telnyx/region_test.rb
292
472
  - test/telnyx/regulatory_requirement_test.rb
473
+ - test/telnyx/requirement_test.rb
474
+ - test/telnyx/requirement_type_test.rb
475
+ - test/telnyx/room_composition_test.rb
476
+ - test/telnyx/room_participant_test.rb
477
+ - test/telnyx/room_recording_test.rb
478
+ - test/telnyx/room_session_test.rb
479
+ - test/telnyx/room_test.rb
480
+ - test/telnyx/short_code_test.rb
481
+ - test/telnyx/sim_card_data_usage_notification_test.rb
482
+ - test/telnyx/sim_card_group_action_test.rb
483
+ - test/telnyx/sim_card_group_test.rb
484
+ - test/telnyx/sim_card_order_test.rb
293
485
  - test/telnyx/sim_card_test.rb
486
+ - test/telnyx/summary_test.rb
294
487
  - test/telnyx/telephony_credential_test.rb
295
488
  - test/telnyx/telnyx_client_test.rb
296
489
  - test/telnyx/telnyx_object_test.rb
297
490
  - test/telnyx/telnyx_response_test.rb
491
+ - test/telnyx/texml_application_test.rb
298
492
  - test/telnyx/util_test.rb
299
493
  - test/telnyx/verification_test.rb
494
+ - test/telnyx/verified_calls_display_profile_test.rb
300
495
  - test/telnyx/verify_profile_test.rb
496
+ - test/telnyx/virtual_cross_connect_region_test.rb
497
+ - test/telnyx/virtual_cross_connect_test.rb
498
+ - test/telnyx/wdr_test.rb
499
+ - test/telnyx/webhook_deliverie_test.rb
301
500
  - test/telnyx/webhook_test.rb
501
+ - test/telnyx/wireguard_interface_test.rb
502
+ - test/telnyx/wireguard_peer_test.rb
302
503
  - test/telnyx/wireless_detail_records_report_test.rb
303
- - test/telnyx_mock.rb
304
504
  - test/telnyx_test.rb
305
505
  - test/test_data.rb
306
506
  - test/test_helper.rb
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "amazing_print"
6
- gem "telnyx", path: "../../."
7
- gem "tty-prompt"
@@ -1,67 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "telnyx"
4
- require "amazing_print" # for displaying the api requests nicely.
5
- require "tty-prompt" # for prettier interactive prompts.
6
-
7
- Telnyx.api_key = ENV["TELNYX_KEY"] # Set your key here
8
- raise "Please set your API key in this script, or set the TELNYX_KEY env variable!" unless Telnyx.api_key
9
-
10
- class Demo
11
- def initialize
12
- @prompt = TTY::Prompt.new
13
- end
14
-
15
- def start
16
- create_profile
17
- puts "Profile object returned from API:"
18
- ap @profile
19
-
20
- verify
21
- puts "Verification object returned from API:"
22
- ap @verification
23
-
24
- puts "A SMS should be sent to the phone number soon."
25
- check_prompt
26
- end
27
-
28
- def create_profile
29
- # Ask what to call the new verification profile.
30
- profile_name = @prompt.ask("Profile name:", default: "demo profile")
31
- # Check if we already created a demo profile.
32
- existing_profile = Telnyx::VerifyProfile.list.first { |p| p.name == profile_name }
33
- # Check if we should use the existing one.
34
- return @profile = existing_profile if existing_profile && @prompt.yes?(%(Found a profile already called "#{profile_name}", would you like to use that instead of creating a new profile?))
35
-
36
- # Create a new profile.
37
- @profile = Telnyx::VerifyProfile.create name: profile_name
38
- end
39
-
40
- def verify
41
- # Create a new verification, this will send a code via SMS to the number provided.
42
- @verification = Telnyx::Verification.create(
43
- type: "sms",
44
- verify_profile_id: @profile.id,
45
- phone_number: @prompt.ask("Enter a phone number to send a verification code to (must be e164 format, e.g., +15554443333):", value: "+1") { |p| p.validate(/^\+?[1-9]\d{1,14}$/) }
46
- )
47
- end
48
-
49
- def check_prompt
50
- loop do
51
- # Ask the user for the verification code.
52
- code = @prompt.ask "Enter verification code:"
53
- # Ask the api if this is the correct code.
54
- response = Telnyx::Verification.submit_code code: code, phone_number: @verification.phone_number
55
- puts "Api responded with:"
56
- ap response
57
-
58
- # If it's not the right code try again.
59
- break if response.response_code == "accepted"
60
-
61
- puts "\e[31mIncorrect code, try again!\e[0m"
62
- create_profile if @prompt.yes?("Resend code?")
63
- end
64
- end
65
- end
66
-
67
- Demo.new.start
@@ -1,5 +0,0 @@
1
- # Usage
2
- ```
3
- bundle
4
- bundle exec ruby main.rb
5
- ```
data/test/telnyx_mock.rb DELETED
@@ -1,78 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Telnyx
4
- class TelnyxMock
5
- include Singleton
6
-
7
- PATH_SPEC = "#{::File.dirname(__FILE__)}/openapi/spec3.json".freeze
8
- PATH_FIXTURES = "#{::File.dirname(__FILE__)}/openapi/fixtures3.json".freeze
9
-
10
- @pid = nil
11
- @port = -1
12
-
13
- # Starts telnyx-mock, if necessary. Returns the port on which telnyx-mock is listening.
14
- def self.start
15
- unless ::File.exist?(PATH_SPEC)
16
- port = ENV["TELNYX_MOCK_PORT"] || 12_111
17
- puts("No custom spec file found, assuming telnyx-mock is already running on port #{port}")
18
- return port
19
- end
20
-
21
- unless @pid.nil?
22
- puts("telnyx-mock already running on port #{@port}")
23
- return @port
24
- end
25
-
26
- @port = find_available_port
27
-
28
- puts("Starting telnyx-mock on port #{@port}...")
29
-
30
- @stdout, @child_stdout = ::IO.pipe
31
- @stderr, @child_stderr = ::IO.pipe
32
-
33
- @pid = ::Process.spawn(
34
- ["telnyx-mock", "telnyx-mock"],
35
- "-http-port",
36
- @port.to_s,
37
- "-spec",
38
- PATH_SPEC,
39
- "-fixtures",
40
- PATH_FIXTURES,
41
- out: @child_stdout,
42
- err: @child_stderr
43
- )
44
-
45
- [@child_stdout, @child_stderr].each(&:close)
46
-
47
- sleep 1
48
-
49
- status = (::Process.wait2(@pid, ::Process::WNOHANG) || []).last
50
- if status.nil?
51
- puts("Started telnyx-mock, PID = #{@pid}")
52
- else
53
- abort("telnyx-mock terminated early: #{status}")
54
- end
55
-
56
- @port
57
- end
58
-
59
- # Stops telnyx-mock, if necessary.
60
- def self.stop
61
- return if @pid.nil?
62
- puts("Stopping telnyx-mock...")
63
- ::Process.kill(:SIGTERM, @pid)
64
- ::Process.waitpid2(@pid)
65
- @pid = nil
66
- @port = -1
67
- puts("Stopped telnyx-mock")
68
- end
69
-
70
- # Finds and returns an available TCP port
71
- private_class_method def self.find_available_port
72
- server = TCPServer.new("localhost", 0)
73
- port = server.addr[1]
74
- server.close
75
- port
76
- end
77
- end
78
- end