telnyx 2.9.0 → 3.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/scripts/before_install.sh +10 -9
- data/.github/workflows/publish-gem-on-release.yml +6 -6
- data/.github/workflows/ruby.yml +4 -4
- data/.rubocop.yml +1 -1
- data/Gemfile +7 -8
- data/README.md +30 -9
- data/Spec3.json +77839 -0
- data/VERSION +1 -1
- data/lib/telnyx/access_control_ip.rb +13 -0
- data/lib/telnyx/access_ip_range.rb +12 -0
- data/lib/telnyx/address.rb +9 -0
- data/lib/telnyx/api_operations/delete.rb +1 -1
- data/lib/telnyx/api_resource.rb +4 -1
- data/lib/telnyx/authentication_providers.rb +12 -0
- data/lib/telnyx/available_phone_number.rb +5 -0
- data/lib/telnyx/balance.rb +12 -0
- data/lib/telnyx/batch_mdr_report.rb +15 -0
- data/lib/telnyx/brand.rb +20 -0
- data/lib/telnyx/bulk_creation.rb +21 -0
- data/lib/telnyx/bulk_credential.rb +16 -0
- data/lib/telnyx/bulk_phone_number_campaign.rb +23 -0
- data/lib/telnyx/bulk_sim_card_action.rb +9 -0
- data/lib/telnyx/business_identitie.rb +9 -0
- data/lib/telnyx/call.rb +2 -2
- data/lib/telnyx/call_event.rb +9 -0
- data/lib/telnyx/call_recording.rb +12 -0
- data/lib/telnyx/campaign.rb +42 -0
- data/lib/telnyx/cdr_usage_report.rb +13 -0
- data/lib/telnyx/channel_zone.rb +10 -0
- data/lib/telnyx/comment.rb +20 -0
- data/lib/telnyx/conference.rb +1 -1
- data/lib/telnyx/connection.rb +5 -0
- data/lib/telnyx/csv_download.rb +10 -0
- data/lib/telnyx/custom_storage_credential.rb +7 -0
- data/lib/telnyx/detail_record.rb +9 -0
- data/lib/telnyx/dialogflow_connection.rb +20 -0
- data/lib/telnyx/document.rb +20 -0
- data/lib/telnyx/dynamic_emergency_address.rb +12 -0
- data/lib/telnyx/dynamic_emergency_endpoint.rb +12 -0
- data/lib/telnyx/embedding.rb +14 -0
- data/lib/telnyx/enum.rb +22 -0
- data/lib/telnyx/fax.rb +14 -0
- data/lib/telnyx/global_ip.rb +10 -0
- data/lib/telnyx/global_ip_allowed_port.rb +8 -0
- data/lib/telnyx/global_ip_assignment.rb +12 -0
- data/lib/telnyx/global_ip_assignment_health.rb +8 -0
- data/lib/telnyx/global_ip_assignment_usage.rb +8 -0
- data/lib/telnyx/global_ip_latency.rb +8 -0
- data/lib/telnyx/global_ip_protocol.rb +8 -0
- data/lib/telnyx/global_ip_usage.rb +8 -0
- data/lib/telnyx/inference.rb +9 -0
- data/lib/telnyx/inventory_coverage.rb +9 -0
- data/lib/telnyx/ledger_billing_group_report.rb +9 -0
- data/lib/telnyx/managed_account.rb +32 -0
- data/lib/telnyx/mdr_usage_report.rb +21 -0
- data/lib/telnyx/media.rb +21 -0
- data/lib/telnyx/message_number_pool.rb +9 -0
- data/lib/telnyx/messaging_hosted_number_order.rb +21 -0
- data/lib/telnyx/messaging_profile.rb +14 -2
- data/lib/telnyx/messaging_tollfree_verification.rb +12 -0
- data/lib/telnyx/messaging_url_domain.rb +9 -0
- data/lib/telnyx/mobile_operator_network.rb +9 -0
- data/lib/telnyx/mobile_push_credential.rb +11 -0
- data/lib/telnyx/network.rb +19 -0
- data/lib/telnyx/notification_channel.rb +12 -0
- data/lib/telnyx/notification_event.rb +9 -0
- data/lib/telnyx/notification_event_condition.rb +9 -0
- data/lib/telnyx/notification_profile.rb +12 -0
- data/lib/telnyx/notification_setting.rb +12 -0
- data/lib/telnyx/number_block_order.rb +10 -0
- data/lib/telnyx/ota_update.rb +9 -0
- data/lib/telnyx/partner_campaign.rb +32 -0
- data/lib/telnyx/phone_number.rb +6 -0
- data/lib/telnyx/phone_number_block_job.rb +14 -0
- data/lib/telnyx/phone_number_campaigns.rb +19 -0
- data/lib/telnyx/portability_check.rb +9 -0
- data/lib/telnyx/porting_order.rb +39 -1
- data/lib/telnyx/portout.rb +9 -0
- data/lib/telnyx/private_wireless_gateway.rb +11 -0
- data/lib/telnyx/public_internet_gateway.rb +11 -0
- data/lib/telnyx/region.rb +9 -0
- data/lib/telnyx/requirement.rb +8 -0
- data/lib/telnyx/requirement_type.rb +8 -0
- data/lib/telnyx/room.rb +20 -0
- data/lib/telnyx/room_composition.rb +11 -0
- data/lib/telnyx/room_participant.rb +9 -0
- data/lib/telnyx/room_recording.rb +10 -0
- data/lib/telnyx/room_session.rb +18 -0
- data/lib/telnyx/short_code.rb +10 -0
- data/lib/telnyx/sim_card.rb +28 -2
- data/lib/telnyx/sim_card_action.rb +12 -0
- data/lib/telnyx/sim_card_data_usage_notification.rb +12 -0
- data/lib/telnyx/sim_card_group.rb +21 -0
- data/lib/telnyx/sim_card_group_action.rb +8 -0
- data/lib/telnyx/sim_card_order.rb +10 -0
- data/lib/telnyx/summary.rb +9 -0
- data/lib/telnyx/telephony_credential.rb +22 -0
- data/lib/telnyx/telnyx_client.rb +1 -2
- data/lib/telnyx/texml_application.rb +9 -0
- data/lib/telnyx/verification.rb +3 -3
- data/lib/telnyx/verified_calls_display_profile.rb +17 -0
- data/lib/telnyx/verify_profile.rb +1 -0
- data/lib/telnyx/version.rb +1 -1
- data/lib/telnyx/virtual_cross_connect.rb +20 -0
- data/lib/telnyx/virtual_cross_connect_region.rb +9 -0
- data/lib/telnyx/wdr.rb +13 -0
- data/lib/telnyx/webhook_deliverie.rb +9 -0
- data/lib/telnyx/wireguard_interface.rb +11 -0
- data/lib/telnyx/wireguard_peer.rb +21 -0
- data/lib/telnyx.rb +67 -3
- data/server.js +31 -0
- data/telnyx.gemspec +4 -2
- data/test/openapi/README.md +31 -4
- data/test/telnyx/api_resource_test.rb +28 -22
- data/test/telnyx/available_phone_number_test.rb +6 -0
- data/test/telnyx/batch_mdr_report_test.rb +39 -0
- data/test/telnyx/billing_group_test.rb +12 -8
- data/test/telnyx/bulk_credential_test.rb +20 -0
- data/test/telnyx/bulk_sim_card_action_test.rb +22 -0
- data/test/telnyx/business_identitie_test.rb +25 -0
- data/test/telnyx/call_control_application_test.rb +13 -9
- data/test/telnyx/call_control_test.rb +24 -23
- data/test/telnyx/call_event_test.rb +14 -0
- data/test/telnyx/call_recording_test.rb +28 -0
- data/test/telnyx/call_test.rb +29 -0
- data/test/telnyx/campaign_test.rb +32 -0
- data/test/telnyx/cdr_usage_report_test.rb +15 -0
- data/test/telnyx/channel_zone_test.rb +14 -0
- data/test/telnyx/comment_test.rb +32 -0
- data/test/telnyx/conference_test.rb +27 -16
- data/test/telnyx/connection_test.rb +8 -1
- data/test/telnyx/credential_connection_test.rb +5 -4
- data/test/telnyx/csv_download_test.rb +33 -0
- data/test/telnyx/custom_storage_credential_test.rb +17 -0
- data/test/telnyx/detail_record_test.rb +15 -0
- data/test/telnyx/dialogflow_connection_test.rb +32 -0
- data/test/telnyx/embedding_test.rb +27 -0
- data/test/telnyx/enum_test.rb +15 -0
- data/test/telnyx/fax_application_test.rb +5 -4
- data/test/telnyx/fax_test.rb +13 -4
- data/test/telnyx/fqdn_connection_test.rb +5 -5
- data/test/telnyx/fqdn_test.rb +12 -7
- data/test/telnyx/global_ip_allowed_port_test.rb +14 -0
- data/test/telnyx/global_ip_assignment_health_test.rb +14 -0
- data/test/telnyx/global_ip_assignment_test.rb +44 -0
- data/test/telnyx/global_ip_latency_test.rb +14 -0
- data/test/telnyx/global_ip_protocol_test.rb +14 -0
- data/test/telnyx/global_ip_test.rb +35 -0
- data/test/telnyx/global_ip_usage_test.rb +14 -0
- data/test/telnyx/inference_test.rb +13 -0
- data/test/telnyx/ip_connection_test.rb +12 -8
- data/test/telnyx/ip_test.rb +12 -8
- data/test/telnyx/ledger_billing_group_report_test.rb +18 -0
- data/test/telnyx/managed_account_test.rb +42 -0
- data/test/telnyx/mdr_usage_report_test.rb +47 -0
- data/test/telnyx/message_number_pool_test.rb +18 -0
- data/test/telnyx/message_test.rb +2 -2
- data/test/telnyx/messaging_phone_number_test.rb +2 -1
- data/test/telnyx/messaging_profile_test.rb +27 -14
- data/test/telnyx/messaging_tollfree_verification_test.rb +71 -0
- data/test/telnyx/messaging_url_domain_test.rb +14 -0
- data/test/telnyx/mobile_operator_network_test.rb +15 -0
- data/test/telnyx/mobile_push_credential_test.rb +33 -0
- data/test/telnyx/network_test.rb +49 -0
- data/test/telnyx/number_block_order_test.rb +28 -0
- data/test/telnyx/number_order_document_test.rb +4 -3
- data/test/telnyx/number_order_test.rb +3 -2
- data/test/telnyx/number_reservation_test.rb +2 -2
- data/test/telnyx/ota_update_test.rb +20 -0
- data/test/telnyx/phone_number_block_job_test.rb +25 -0
- data/test/telnyx/phone_number_regulatory_requirement_test.rb +2 -1
- data/test/telnyx/phone_number_test.rb +8 -6
- data/test/telnyx/porting_order_test.rb +45 -10
- data/test/telnyx/private_wireless_gateway_test.rb +32 -0
- data/test/telnyx/public_internet_gateway_test.rb +32 -0
- data/test/telnyx/queue_test.rb +9 -6
- data/test/telnyx/region_test.rb +14 -0
- data/test/telnyx/regulatory_requirement_test.rb +6 -3
- data/test/telnyx/requirement_test.rb +22 -0
- data/test/telnyx/requirement_type_test.rb +22 -0
- data/test/telnyx/room_composition_test.rb +32 -0
- data/test/telnyx/room_participant_test.rb +19 -0
- data/test/telnyx/room_recording_test.rb +27 -0
- data/test/telnyx/room_session_test.rb +47 -0
- data/test/telnyx/room_test.rb +52 -0
- data/test/telnyx/short_code_test.rb +30 -0
- data/test/telnyx/sim_card_data_usage_notification_test.rb +42 -0
- data/test/telnyx/sim_card_group_action_test.rb +22 -0
- data/test/telnyx/sim_card_group_test.rb +59 -0
- data/test/telnyx/sim_card_order_test.rb +27 -0
- data/test/telnyx/sim_card_test.rb +75 -10
- data/test/telnyx/summary_test.rb +13 -0
- data/test/telnyx/telephony_credential_test.rb +35 -6
- data/test/telnyx/telnyx_client_test.rb +1 -0
- data/test/telnyx/texml_application_test.rb +25 -0
- data/test/telnyx/verification_test.rb +6 -4
- data/test/telnyx/verified_calls_display_profile_test.rb +33 -0
- data/test/telnyx/verify_profile_test.rb +16 -7
- data/test/telnyx/virtual_cross_connect_region_test.rb +22 -0
- data/test/telnyx/virtual_cross_connect_test.rb +49 -0
- data/test/telnyx/wdr_test.rb +14 -0
- data/test/telnyx/webhook_deliverie_test.rb +23 -0
- data/test/telnyx/wireguard_interface_test.rb +32 -0
- data/test/telnyx/wireguard_peer_test.rb +48 -0
- data/test/test_helper.rb +10 -26
- metadata +237 -37
- data/examples/2 factor authentication/Gemfile +0 -7
- data/examples/2 factor authentication/main.rb +0 -67
- data/examples/2 factor authentication/readme.md +0 -5
- data/test/telnyx_mock.rb +0 -78
data/lib/telnyx/sim_card.rb
CHANGED
@@ -6,20 +6,45 @@ module Telnyx
|
|
6
6
|
extend APIOperations::NestedResource
|
7
7
|
extend APIOperations::List
|
8
8
|
|
9
|
-
ACTIONS = %w[enable disable].freeze
|
9
|
+
ACTIONS = %w[enable disable set_standby public_ip wireless_connectivity_logs device_details set_public_ip set_network_preferences remove_public_ip delete_network_preferences].freeze
|
10
10
|
ACTIONS.each do |action|
|
11
11
|
nested_resource_class_methods action,
|
12
12
|
path: %W[actions #{action}],
|
13
13
|
operations: [:create],
|
14
14
|
instance_methods: { create: action }
|
15
15
|
end
|
16
|
+
nested_resource_class_methods :device_details,
|
17
|
+
path: ["device_details"],
|
18
|
+
operations: %i[list],
|
19
|
+
instance_methods: { list: "device_details" }
|
20
|
+
nested_resource_class_methods :activation_code,
|
21
|
+
path: ["activation_code"],
|
22
|
+
operations: %i[list],
|
23
|
+
instance_methods: { list: "activation_code" }
|
16
24
|
|
17
25
|
def self.register(params = {}, opts = {})
|
18
26
|
resp, opts = request(:post, "/v2/actions/register/sim_cards", params, opts)
|
19
27
|
Util.convert_to_telnyx_object(resp.data, opts)
|
20
28
|
end
|
21
29
|
|
22
|
-
|
30
|
+
# Additional action to validate registration codes
|
31
|
+
def self.validate_registration_codes(params = {}, opts = {})
|
32
|
+
opts = Util.normalize_opts(opts)
|
33
|
+
resp, opts = request(:post, "/v2/sim_cards/actions/validate_registration_codes", params, opts)
|
34
|
+
Util.convert_to_telnyx_object(resp.data, opts)
|
35
|
+
end
|
36
|
+
|
37
|
+
# Additional action to bulk_set_public_ips
|
38
|
+
def self.bulk_set_public_ips(params = {}, opts = {})
|
39
|
+
opts = Util.normalize_opts(opts)
|
40
|
+
resp, opts = request(:post, "/v2/sim_cards/actions/bulk_set_public_ips", params, opts)
|
41
|
+
Util.convert_to_telnyx_object(resp.data, opts)
|
42
|
+
end
|
43
|
+
|
44
|
+
def self.network_preferences(params = {}, opts = {})
|
45
|
+
resp, opts = request(:put, "/v2/actions/network_preferences/sim_cards", params, opts)
|
46
|
+
Util.convert_to_telnyx_object(resp.data, opts)
|
47
|
+
end
|
23
48
|
|
24
49
|
# depreciated api
|
25
50
|
def activate
|
@@ -31,5 +56,6 @@ module Telnyx
|
|
31
56
|
warn "[DEPRECATION] SimCard#deactivate is deprecated, use enable instead."
|
32
57
|
disable
|
33
58
|
end
|
59
|
+
OBJECT_NAME = "sim_card".freeze
|
34
60
|
end
|
35
61
|
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Telnyx
|
4
|
+
class SimCardAction < APIResource
|
5
|
+
extend APIOperations::List
|
6
|
+
extend APIOperations::Create
|
7
|
+
include APIOperations::Delete
|
8
|
+
include APIOperations::Save
|
9
|
+
|
10
|
+
OBJECT_NAME = "sim_card_actions".freeze
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Telnyx
|
4
|
+
class SimCardDataUsageNotification < APIResource
|
5
|
+
extend APIOperations::List
|
6
|
+
extend APIOperations::Create
|
7
|
+
include APIOperations::Delete
|
8
|
+
include APIOperations::Save
|
9
|
+
|
10
|
+
OBJECT_NAME = "sim_card_data_usage_notification".freeze
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Telnyx
|
4
|
+
class SimCardGroup < APIResource
|
5
|
+
extend APIOperations::List
|
6
|
+
extend APIOperations::Create
|
7
|
+
include APIOperations::Delete
|
8
|
+
include APIOperations::Save
|
9
|
+
extend APIOperations::NestedResource
|
10
|
+
|
11
|
+
ACTIONS = %w[set_private_wireless_gateway remove_private_wireless_gateway].freeze
|
12
|
+
ACTIONS.each do |action|
|
13
|
+
nested_resource_class_methods action,
|
14
|
+
path: %W[actions #{action}],
|
15
|
+
operations: [:create],
|
16
|
+
instance_methods: { create: action }
|
17
|
+
end
|
18
|
+
|
19
|
+
OBJECT_NAME = "sim_card_group".freeze
|
20
|
+
end
|
21
|
+
end
|
@@ -6,6 +6,28 @@ module Telnyx
|
|
6
6
|
extend Telnyx::APIOperations::Create
|
7
7
|
include Telnyx::APIOperations::Save
|
8
8
|
include Telnyx::APIOperations::Delete
|
9
|
+
extend APIOperations::NestedResource
|
10
|
+
ACTIONS = %w[activate deactivate].freeze
|
11
|
+
|
12
|
+
ACTIONS.each do |action|
|
13
|
+
nested_resource_class_methods action,
|
14
|
+
path: %W[actions #{action}],
|
15
|
+
operations: [:create],
|
16
|
+
instance_methods: { create: action }
|
17
|
+
end
|
18
|
+
|
19
|
+
%w[token].each do |action|
|
20
|
+
nested_resource_class_methods action,
|
21
|
+
path: %W[#{action}],
|
22
|
+
operations: [:create],
|
23
|
+
instance_methods: { create: action }
|
24
|
+
end
|
25
|
+
# Additional action to list tags
|
26
|
+
def self.tags(params = {}, opts = {})
|
27
|
+
opts = Util.normalize_opts(opts)
|
28
|
+
resp, opts = request(:get, "/v2/telephony_credentials/tags", params, opts)
|
29
|
+
ListObject.construct_from(resp.data, opts)
|
30
|
+
end
|
9
31
|
|
10
32
|
OBJECT_NAME = "telephony_credential".freeze
|
11
33
|
end
|
data/lib/telnyx/telnyx_client.rb
CHANGED
@@ -32,7 +32,6 @@ module Telnyx
|
|
32
32
|
# object per thread.
|
33
33
|
Thread.current[:telnyx_client_default_conn] ||= begin
|
34
34
|
conn = Faraday.new do |builder|
|
35
|
-
builder.use Faraday::Request::Multipart
|
36
35
|
builder.use Faraday::Request::UrlEncoded
|
37
36
|
builder.use Faraday::Response::RaiseError
|
38
37
|
|
@@ -411,7 +410,7 @@ module Telnyx
|
|
411
410
|
body: body,
|
412
411
|
request_id: context.request_id)
|
413
412
|
|
414
|
-
|
413
|
+
nil unless context.request_id
|
415
414
|
end
|
416
415
|
private :log_response
|
417
416
|
|
data/lib/telnyx/verification.rb
CHANGED
@@ -19,9 +19,9 @@ module Telnyx
|
|
19
19
|
retrieve: "by_telephone",
|
20
20
|
}
|
21
21
|
|
22
|
-
def self.submit_code(
|
23
|
-
url = "#{resource_url}/by_phone_number/#{CGI.escape phone_number}/actions/verify"
|
24
|
-
resp, _opts = request(:post, url,
|
22
|
+
def self.submit_code(params = {})
|
23
|
+
url = "#{resource_url}/by_phone_number/#{CGI.escape params[:phone_number]}/actions/verify"
|
24
|
+
resp, _opts = request(:post, url, params)
|
25
25
|
Response.construct_from resp.data[:data]
|
26
26
|
end
|
27
27
|
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Telnyx
|
4
|
+
class VerifiedCallsDisplayProfile < APIResource
|
5
|
+
extend APIOperations::List
|
6
|
+
extend APIOperations::NestedResource
|
7
|
+
|
8
|
+
%w[verification_request].each do |action|
|
9
|
+
nested_resource_class_methods action,
|
10
|
+
path: %W[#{action}],
|
11
|
+
operations: [:create],
|
12
|
+
instance_methods: { create: action }
|
13
|
+
end
|
14
|
+
|
15
|
+
OBJECT_NAME = "verified_calls_display_profile".freeze
|
16
|
+
end
|
17
|
+
end
|
data/lib/telnyx/version.rb
CHANGED
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Telnyx
|
4
|
+
class VirtualCrossConnect < APIResource
|
5
|
+
include APIOperations::Delete
|
6
|
+
include APIOperations::Save
|
7
|
+
extend APIOperations::List
|
8
|
+
extend APIOperations::Create
|
9
|
+
extend APIOperations::NestedResource
|
10
|
+
ACTIONS = %w[provision].freeze
|
11
|
+
ACTIONS.each do |action|
|
12
|
+
nested_resource_class_methods action,
|
13
|
+
path: %W[actions #{action}],
|
14
|
+
operations: [:create],
|
15
|
+
instance_methods: { create: action }
|
16
|
+
end
|
17
|
+
|
18
|
+
OBJECT_NAME = "virtual_cross_connect".freeze
|
19
|
+
end
|
20
|
+
end
|
data/lib/telnyx/wdr.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Telnyx
|
4
|
+
class Wdr < APIResource
|
5
|
+
extend APIOperations::List
|
6
|
+
def self.resource_path(id = nil)
|
7
|
+
return "reports/wdrs/#{CGI.escape(id)}" if id
|
8
|
+
|
9
|
+
"reports/wdrs"
|
10
|
+
end
|
11
|
+
OBJECT_NAME = "/reports/wdr".freeze
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Telnyx
|
4
|
+
class WireguardInterface < APIResource
|
5
|
+
include Telnyx::APIOperations::Delete
|
6
|
+
extend Telnyx::APIOperations::List
|
7
|
+
extend Telnyx::APIOperations::Create
|
8
|
+
|
9
|
+
OBJECT_NAME = "wireguard_interface".freeze
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Telnyx
|
4
|
+
class WireguardPeer < APIResource
|
5
|
+
include APIOperations::Delete
|
6
|
+
include APIOperations::Save
|
7
|
+
extend APIOperations::List
|
8
|
+
extend APIOperations::Create
|
9
|
+
extend APIOperations::NestedResource
|
10
|
+
nested_resource_class_methods "config",
|
11
|
+
path: "config",
|
12
|
+
operations: [:list],
|
13
|
+
instance_methods: { list: "config" }
|
14
|
+
nested_resource_class_methods "allowed_ips",
|
15
|
+
path: "allowed_ips",
|
16
|
+
operations: [:list],
|
17
|
+
instance_methods: { list: "allowed_ips" }
|
18
|
+
|
19
|
+
OBJECT_NAME = "wireguard_peer".freeze
|
20
|
+
end
|
21
|
+
end
|
data/lib/telnyx.rb
CHANGED
@@ -4,6 +4,9 @@
|
|
4
4
|
# API spec at https://developers.telnyx.com
|
5
5
|
require "cgi"
|
6
6
|
require "faraday"
|
7
|
+
require "faraday/retry"
|
8
|
+
require "faraday/multipart"
|
9
|
+
require "faraday/net_http_persistent"
|
7
10
|
require "json"
|
8
11
|
require "logger"
|
9
12
|
require "openssl"
|
@@ -46,33 +49,94 @@ require "telnyx/conference"
|
|
46
49
|
require "telnyx/connection"
|
47
50
|
require "telnyx/credential_connection"
|
48
51
|
require "telnyx/event"
|
49
|
-
require "telnyx/fax"
|
50
52
|
require "telnyx/fax_application"
|
53
|
+
require "telnyx/fax"
|
51
54
|
require "telnyx/fqdn_connection"
|
52
55
|
require "telnyx/fqdn"
|
53
56
|
require "telnyx/ip_connection"
|
54
57
|
require "telnyx/ip"
|
55
58
|
require "telnyx/message"
|
59
|
+
require "telnyx/message_number_pool"
|
56
60
|
require "telnyx/messaging_phone_number"
|
57
61
|
require "telnyx/messaging_profile"
|
62
|
+
require "telnyx/mobile_operator_network"
|
63
|
+
require "telnyx/network"
|
64
|
+
require "telnyx/region"
|
58
65
|
require "telnyx/number_lookup"
|
59
66
|
require "telnyx/number_order_document"
|
60
67
|
require "telnyx/number_order"
|
61
68
|
require "telnyx/number_reservation"
|
69
|
+
require "telnyx/ota_update"
|
62
70
|
require "telnyx/outbound_voice_profile"
|
63
71
|
require "telnyx/phone_number_regulatory_requirement"
|
64
72
|
require "telnyx/phone_number"
|
65
|
-
require "telnyx/portout"
|
66
73
|
require "telnyx/porting_order"
|
74
|
+
require "telnyx/portout"
|
67
75
|
require "telnyx/public_key"
|
68
|
-
require "telnyx/queue"
|
69
76
|
require "telnyx/queue_call"
|
77
|
+
require "telnyx/queue"
|
70
78
|
require "telnyx/regulatory_requirement"
|
71
79
|
require "telnyx/sim_card"
|
72
80
|
require "telnyx/telephony_credential"
|
73
81
|
require "telnyx/verification"
|
74
82
|
require "telnyx/verify_profile"
|
75
83
|
require "telnyx/wireless_detail_records_report"
|
84
|
+
require "telnyx/room_composition"
|
85
|
+
require "telnyx/room_participant"
|
86
|
+
require "telnyx/room_recording"
|
87
|
+
require "telnyx/room_session"
|
88
|
+
require "telnyx/room"
|
89
|
+
require "telnyx/wireguard_interface"
|
90
|
+
require "telnyx/short_code"
|
91
|
+
require "telnyx/wireguard_peer"
|
92
|
+
require "telnyx/virtual_cross_connect_region"
|
93
|
+
require "telnyx/virtual_cross_connect"
|
94
|
+
require "telnyx/sim_card_group"
|
95
|
+
require "telnyx/sim_card_order"
|
96
|
+
require "telnyx/sim_card_group_action"
|
97
|
+
require "telnyx/sim_card_data_usage_notification"
|
98
|
+
require "telnyx/requirement_type"
|
99
|
+
require "telnyx/requirement"
|
100
|
+
require "telnyx/batch_mdr_report"
|
101
|
+
require "telnyx/cdr_usage_report"
|
102
|
+
require "telnyx/mdr_usage_report"
|
103
|
+
require "telnyx/inference"
|
104
|
+
require "telnyx/summary"
|
105
|
+
require "telnyx/call_recording"
|
106
|
+
require "telnyx/public_internet_gateway"
|
107
|
+
require "telnyx/private_wireless_gateway"
|
108
|
+
require "telnyx/csv_download"
|
109
|
+
require "telnyx/number_block_order"
|
110
|
+
require "telnyx/mobile_push_credential"
|
111
|
+
require "telnyx/messaging_tollfree_verification"
|
112
|
+
require "telnyx/phone_number_block_job"
|
113
|
+
require "telnyx/wdr"
|
114
|
+
require "telnyx/embedding"
|
115
|
+
require "telnyx/webhook_deliverie"
|
116
|
+
require "telnyx/call_event"
|
117
|
+
require "telnyx/messaging_url_domain"
|
118
|
+
require "telnyx/verified_calls_display_profile"
|
119
|
+
require "telnyx/detail_record"
|
120
|
+
require "telnyx/business_identitie"
|
121
|
+
require "telnyx/managed_account"
|
122
|
+
require "telnyx/ledger_billing_group_report"
|
123
|
+
require "telnyx/global_ip"
|
124
|
+
require "telnyx/global_ip_usage"
|
125
|
+
require "telnyx/global_ip_protocol"
|
126
|
+
require "telnyx/global_ip_latency"
|
127
|
+
require "telnyx/global_ip_assignment"
|
128
|
+
require "telnyx/global_ip_assignment_health"
|
129
|
+
require "telnyx/global_ip_assignment_usage"
|
130
|
+
require "telnyx/global_ip_allowed_port"
|
131
|
+
require "telnyx/dialogflow_connection"
|
132
|
+
require "telnyx/channel_zone"
|
133
|
+
require "telnyx/bulk_sim_card_action"
|
134
|
+
require "telnyx/campaign"
|
135
|
+
require "telnyx/comment"
|
136
|
+
require "telnyx/enum"
|
137
|
+
require "telnyx/custom_storage_credential"
|
138
|
+
require "telnyx/texml_application"
|
139
|
+
require "telnyx/bulk_credential"
|
76
140
|
|
77
141
|
module Telnyx
|
78
142
|
@app_info = nil
|
data/server.js
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
const http = require('http');
|
2
|
+
const httpProxy = require('http-proxy');
|
3
|
+
|
4
|
+
// Create a proxy server with custom application logic
|
5
|
+
const proxy = httpProxy.createProxyServer({});
|
6
|
+
|
7
|
+
// Your Prism mock server URL
|
8
|
+
const PRISM_MOCK_SERVER = 'http://127.0.0.1:4010'; // Replace with your Prism mock server URL
|
9
|
+
|
10
|
+
// Create your server that makes an operation on the request
|
11
|
+
const server = http.createServer((req, res) => {
|
12
|
+
// Modify the URL by removing the '/v2' prefix
|
13
|
+
req.url = req.url.replace(/^\/v2(\/|$)/, '/');
|
14
|
+
|
15
|
+
// Forward the modified request to the Prism mock server
|
16
|
+
proxy.web(req, res, { target: PRISM_MOCK_SERVER });
|
17
|
+
});
|
18
|
+
|
19
|
+
// Listen to the `error` event and log it
|
20
|
+
proxy.on('error', (err, req, res) => {
|
21
|
+
console.error('Proxy error:', err);
|
22
|
+
res.end();
|
23
|
+
});
|
24
|
+
|
25
|
+
// Choose the port for the proxy server
|
26
|
+
const PORT = 8000; // You can choose any available port
|
27
|
+
|
28
|
+
// Start the server
|
29
|
+
server.listen(PORT, () => {
|
30
|
+
console.log(`Proxy server listening on port ${PORT}`);
|
31
|
+
});
|
data/telnyx.gemspec
CHANGED
@@ -7,7 +7,7 @@ require "telnyx/version"
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "telnyx"
|
9
9
|
s.version = Telnyx::VERSION
|
10
|
-
s.required_ruby_version = ">=
|
10
|
+
s.required_ruby_version = ">= 3.0.0"
|
11
11
|
s.summary = "Ruby bindings for the Telnyx API"
|
12
12
|
s.description = "Telnyx enables anyone to deliver enterprise-grade real-time communications over the internet. See https://telnyx.com for details."
|
13
13
|
s.author = "Telnyx"
|
@@ -22,7 +22,9 @@ Gem::Specification.new do |s|
|
|
22
22
|
"source_code_uri" => "https://github.com/team-telnyx/telnyx-ruby",
|
23
23
|
}
|
24
24
|
|
25
|
-
s.add_dependency("faraday", ">=
|
25
|
+
s.add_dependency("faraday", ">= 2.5.0")
|
26
|
+
s.add_dependency("faraday-multipart", "~> 1.0.4")
|
27
|
+
s.add_dependency("faraday-net_http_persistent", "~> 2.1.0")
|
26
28
|
s.add_dependency("net-http-persistent", ">= 3.0", "< 5.0")
|
27
29
|
s.add_dependency("ed25519", "~> 1")
|
28
30
|
|
data/test/openapi/README.md
CHANGED
@@ -1,9 +1,36 @@
|
|
1
|
-
|
1
|
+
# Using custom OpenAPI specification and fixtures files
|
2
2
|
|
3
3
|
You can place custom OpenAPI specification and fixtures files in this
|
4
4
|
directory. The files must be in JSON format, and must be named `spec3.json`
|
5
5
|
and `fixtures3.json` respectively.
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
## Development
|
8
|
+
|
9
|
+
### Setup
|
10
|
+
The test suite depends on the [Prism Mock Server](https://github.com/stoplightio/prism).
|
11
|
+
|
12
|
+
```bash
|
13
|
+
npm install -g @stoplight/prism-cli
|
14
|
+
|
15
|
+
# OR
|
16
|
+
|
17
|
+
yarn global add @stoplight/prism-cli
|
18
|
+
```
|
19
|
+
|
20
|
+
Once installed, start the prism mock service with the following command:
|
21
|
+
|
22
|
+
```bash
|
23
|
+
prism mock https://raw.githubusercontent.com/team-telnyx/openapi/master/openapi/spec3.json
|
24
|
+
```
|
25
|
+
|
26
|
+
--------
|
27
|
+
|
28
|
+
One final step -- because the Ruby SDK originally expected to reach the legacy `telnyx-mock` service at port 12111 (in addition to providing a `/v2/` base path), we need to setup a proxy server.
|
29
|
+
|
30
|
+
You can do this any way you wish, but included is a server.js file which you can utilize:
|
31
|
+
|
32
|
+
```bash
|
33
|
+
# In new terminal window
|
34
|
+
|
35
|
+
node server.js
|
36
|
+
```
|