plivo 4.27.0 → 4.29.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/CHANGELOG.md +11 -0
- data/README.md +1 -1
- data/lib/plivo/resources/calls.rb +45 -28
- data/lib/plivo/resources/token.rb +66 -0
- data/lib/plivo/resources.rb +1 -0
- data/lib/plivo/rest_client.rb +2 -0
- data/lib/plivo/version.rb +1 -1
- metadata +3 -3
- data/.travis.yml +0 -11
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ec364fb43089ee282e74b34a0583506cf779b969
|
|
4
|
+
data.tar.gz: 35c6813354cbc974ebe0643b00c74d1032c7b8cd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 72145e3123568e80e427b3335877943bb75ffac9afb88d16f222c9e5622e8876d9342697c749b1c04e912d2c92b35063ef82cdc89ef3ca78b7fc71542d903354
|
|
7
|
+
data.tar.gz: 6f52fa44fc0f450b0f0aeee39a076bb0bf7c4021575d41cf4d23f861bd9270044c37974518d862403921fbee13238254c037f11de7b99aa2cf91115425b7b8e3
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## [4.29.0](https://github.com/plivo/plivo-go/tree/v4.29.0) (2022-08-01)
|
|
4
|
+
**Feature - Token Creation**
|
|
5
|
+
- `JWT Token Creation API` added functionality to create a new JWT token.
|
|
6
|
+
|
|
7
|
+
## [4.28.0](https://github.com/plivo/plivo-go/tree/v4.28.0) (2022-07-11)
|
|
8
|
+
**Feature - STIR Attestation**
|
|
9
|
+
- Add stir attestation param as part of Get CDR and Get live call APIs Response
|
|
10
|
+
|
|
11
|
+
## [4.27.1](https://github.com/plivo/plivo-ruby/tree/v4.27.1) (2022-06-30)
|
|
12
|
+
- `from_number`, `to_number` and `stir_verification` added to filter param [Retrieve all calls] (https://www.plivo.com/docs/voice/api/call#retrieve-all-calls)
|
|
13
|
+
|
|
3
14
|
## [4.27.0](https://github.com/plivo/plivo-ruby/tree/v4.27.0) (2022-05-05)
|
|
4
15
|
**Feature - List all recordings**
|
|
5
16
|
- `from_number` and `to_number` added to filter param [List all recordings](https://www.plivo.com/docs/voice/api/recording#list-all-recordings)
|
data/README.md
CHANGED
|
@@ -231,7 +231,8 @@ module Plivo
|
|
|
231
231
|
request_uuid: @request_uuid,
|
|
232
232
|
direction: @direction,
|
|
233
233
|
caller_name: @caller_name,
|
|
234
|
-
stir_verification: @stir_verification
|
|
234
|
+
stir_verification: @stir_verification,
|
|
235
|
+
stir_attestation: @stir_attestation
|
|
235
236
|
}
|
|
236
237
|
call_details = call_details.select {|k, v| !v.nil? }
|
|
237
238
|
call_details.to_s
|
|
@@ -275,14 +276,14 @@ module Plivo
|
|
|
275
276
|
# @option options [String] :parent_call_uuid - The call_uuid of the first leg in an ongoing conference call. It is recommended to use this parameter in scenarios where a member who is already present in the conference intends to add new members by initiating outbound API calls. This minimizes the delay in adding a new memeber to the conference.
|
|
276
277
|
# @option options [Boolean] :error_parent_not_found - if set to true and the parent_call_uuid cannot be found, the API request would return an error. If set to false, the outbound call API request will be executed even if the parent_call_uuid is not found. Defaults to false.
|
|
277
278
|
# @return [Call] Call
|
|
278
|
-
def create(from, to, answer_url, options = nil)
|
|
279
|
+
def create(from, to, answer_url, options = nil)
|
|
279
280
|
valid_param?(:from, from, [String, Symbol, Integer], true)
|
|
280
281
|
valid_param?(:to, to, Array, true)
|
|
281
282
|
to.each do |to_num|
|
|
282
283
|
valid_param?(:to_num, to_num, [Integer, String, Symbol], true)
|
|
283
284
|
end
|
|
284
285
|
valid_param?(:answer_url, answer_url, [String, Symbol], true)
|
|
285
|
-
|
|
286
|
+
|
|
286
287
|
|
|
287
288
|
params = {
|
|
288
289
|
from: from,
|
|
@@ -345,31 +346,6 @@ module Plivo
|
|
|
345
346
|
return perform_list if options.nil?
|
|
346
347
|
valid_param?(:options, options, Hash, true)
|
|
347
348
|
|
|
348
|
-
params = {}
|
|
349
|
-
params_expected = %i[
|
|
350
|
-
subaccount bill_duration bill_duration__gt bill_duration__gte
|
|
351
|
-
bill_duration__lt bill_duration__lte end_time end_time__gt
|
|
352
|
-
end_time__gte end_time__lt end_time__lte parent_call_uuid hangup_source
|
|
353
|
-
]
|
|
354
|
-
params_expected.each do |param|
|
|
355
|
-
if options.key?(param) &&
|
|
356
|
-
valid_param?(param, options[param], [String, Symbol], true)
|
|
357
|
-
params[param] = options[param]
|
|
358
|
-
end
|
|
359
|
-
end
|
|
360
|
-
|
|
361
|
-
if options.key?(:call_direction) &&
|
|
362
|
-
valid_param?(:call_direction, options[:call_direction],
|
|
363
|
-
[String, Symbol], true, %w[inbound outbound])
|
|
364
|
-
params[:call_direction] = options[:call_direction]
|
|
365
|
-
end
|
|
366
|
-
|
|
367
|
-
%i[offset limit hangup_cause_code].each do |param|
|
|
368
|
-
if options.key?(param) && valid_param?(param, options[param], [Integer, Integer], true)
|
|
369
|
-
params[param] = options[param]
|
|
370
|
-
end
|
|
371
|
-
end
|
|
372
|
-
|
|
373
349
|
raise_invalid_request("Offset can't be negative") if options.key?(:offset) && options[:offset] < 0
|
|
374
350
|
|
|
375
351
|
if options.key?(:limit) && (options[:limit] > 20 || options[:limit] <= 0)
|
|
@@ -377,6 +353,47 @@ module Plivo
|
|
|
377
353
|
"fetched is 20. limit can't be more than 20 or less than 1")
|
|
378
354
|
end
|
|
379
355
|
|
|
356
|
+
# initial list of possible params
|
|
357
|
+
params = %i[
|
|
358
|
+
bill_duration
|
|
359
|
+
bill_duration__gt
|
|
360
|
+
bill_duration__gte
|
|
361
|
+
bill_duration__lt
|
|
362
|
+
bill_duration__lte
|
|
363
|
+
call_direction
|
|
364
|
+
end_time
|
|
365
|
+
end_time__gt
|
|
366
|
+
end_time__gte
|
|
367
|
+
end_time__lt
|
|
368
|
+
end_time__lte
|
|
369
|
+
from_number
|
|
370
|
+
hangup_cause_code
|
|
371
|
+
hangup_source
|
|
372
|
+
limit
|
|
373
|
+
offset
|
|
374
|
+
parent_call_uuid
|
|
375
|
+
subaccount
|
|
376
|
+
to_number
|
|
377
|
+
stir_verification
|
|
378
|
+
].reduce({}) do |result_hash, param|
|
|
379
|
+
if options.key?(param)
|
|
380
|
+
if param == :call_direction
|
|
381
|
+
if valid_param?(:call_direction, options[:call_direction],
|
|
382
|
+
[String, Symbol], true, %w[inbound outbound])
|
|
383
|
+
result_hash[:call_direction] = options[:call_direction]
|
|
384
|
+
end
|
|
385
|
+
elsif %i[offset limit hangup_cause_code].include?(param)
|
|
386
|
+
if valid_param?(param, options[param], [Integer, Integer], true)
|
|
387
|
+
result_hash[param] = options[param]
|
|
388
|
+
end
|
|
389
|
+
elsif valid_param?(param, options[param], [String, Symbol], true)
|
|
390
|
+
result_hash[param] = options[param]
|
|
391
|
+
end
|
|
392
|
+
end
|
|
393
|
+
|
|
394
|
+
result_hash
|
|
395
|
+
end
|
|
396
|
+
|
|
380
397
|
perform_list(params)
|
|
381
398
|
end
|
|
382
399
|
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
module Plivo
|
|
2
|
+
module Resources
|
|
3
|
+
include Plivo
|
|
4
|
+
include Plivo::Utils
|
|
5
|
+
class Token < Base::Resource
|
|
6
|
+
def initialize(client, options = nil)
|
|
7
|
+
@_name = 'JWT/Token'
|
|
8
|
+
super
|
|
9
|
+
@_is_voice_request = true
|
|
10
|
+
end
|
|
11
|
+
def to_s
|
|
12
|
+
{
|
|
13
|
+
api_id: @api_id,
|
|
14
|
+
token: @token
|
|
15
|
+
}.to_s
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
class TokenInterface < Base::ResourceInterface
|
|
20
|
+
def initialize(client, resource_list_json = nil)
|
|
21
|
+
@_name = 'JWT/Token'
|
|
22
|
+
@_resource_type = Token
|
|
23
|
+
super
|
|
24
|
+
@_is_voice_request = true
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def create(iss , options = nil)
|
|
29
|
+
valid_param?(:iss, iss, [String, Symbol, Hash], true)
|
|
30
|
+
params = {}
|
|
31
|
+
params[:iss] = iss
|
|
32
|
+
|
|
33
|
+
return perform_create(params, false) if options.nil?
|
|
34
|
+
# return perform_action('Record', 'POST', nil, true) if options.nil?
|
|
35
|
+
valid_param?(:options, options, [Hash], false)
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
if options.key?("sub") && valid_param?("sub", options["sub"], [String, Symbol], false )
|
|
39
|
+
params[:sub] = options["sub"]
|
|
40
|
+
end
|
|
41
|
+
if options.key("nbf") && valid_param?("nbf", options["nbf"], [Integer, Symbol], false )
|
|
42
|
+
params[:nbf] = options["nbf"]
|
|
43
|
+
end
|
|
44
|
+
if options.key("exp") && valid_param?("exp", options["exp"], [Integer, Symbol], false )
|
|
45
|
+
params[:exp] = options["exp"]
|
|
46
|
+
end
|
|
47
|
+
if options.key?("incoming_allow") || options.key?("outgoing_allow")
|
|
48
|
+
params[:per] = {}
|
|
49
|
+
params[:per][:voice] = {}
|
|
50
|
+
if options.key?("incoming_allow") && valid_param?("incoming_allow", options["incoming_allow"], [TrueClass, FalseClass, String,Symbol], false)
|
|
51
|
+
params[:per][:voice][:incoming_allow] = options["incoming_allow"]
|
|
52
|
+
end
|
|
53
|
+
if options.key?("outgoing_allow") && valid_param?("outgoing_allow", options["outgoing_allow"], [TrueClass, FalseClass, String, Symbol], false)
|
|
54
|
+
params[:per][:voice][:outgoing_allow] = options["outgoing_allow"]
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
if options.key?("app") && valid_param?("app", options["app"], [String, Symbol], false)
|
|
58
|
+
params[:app] = options["app"]
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
perform_create(params.merge(options), false)
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
data/lib/plivo/resources.rb
CHANGED
|
@@ -7,6 +7,7 @@ require_relative 'resources/pricings'
|
|
|
7
7
|
require_relative 'resources/numbers'
|
|
8
8
|
require_relative 'resources/conferences'
|
|
9
9
|
require_relative 'resources/calls'
|
|
10
|
+
require_relative 'resources/token'
|
|
10
11
|
require_relative 'resources/endpoints'
|
|
11
12
|
require_relative 'resources/addresses'
|
|
12
13
|
require_relative 'resources/identities'
|
data/lib/plivo/rest_client.rb
CHANGED
|
@@ -8,6 +8,7 @@ module Plivo
|
|
|
8
8
|
# Resources
|
|
9
9
|
attr_reader :messages, :account, :subaccounts, :recordings
|
|
10
10
|
attr_reader :pricings, :numbers, :calls, :conferences
|
|
11
|
+
attr_reader :token
|
|
11
12
|
attr_reader :phone_numbers, :applications, :endpoints, :multipartycalls
|
|
12
13
|
attr_reader :addresses, :identities
|
|
13
14
|
attr_reader :call_feedback
|
|
@@ -49,6 +50,7 @@ module Plivo
|
|
|
49
50
|
@phone_numbers = Resources::PhoneNumberInterface.new(self)
|
|
50
51
|
@conferences = Resources::ConferenceInterface.new(self)
|
|
51
52
|
@calls = Resources::CallInterface.new(self)
|
|
53
|
+
@token = Resources::TokenInterface.new(self)
|
|
52
54
|
@endpoints = Resources::EndpointInterface.new(self)
|
|
53
55
|
@applications = Resources::ApplicationInterface.new(self)
|
|
54
56
|
@addresses = Resources::AddressInterface.new(self)
|
data/lib/plivo/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: plivo
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.
|
|
4
|
+
version: 4.29.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- The Plivo SDKs Team
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2022-
|
|
11
|
+
date: 2022-08-12 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: faraday
|
|
@@ -155,7 +155,6 @@ files:
|
|
|
155
155
|
- ".github/workflows/unitTests.yml"
|
|
156
156
|
- ".gitignore"
|
|
157
157
|
- ".rspec"
|
|
158
|
-
- ".travis.yml"
|
|
159
158
|
- AUTHORS.md
|
|
160
159
|
- CHANGELOG.md
|
|
161
160
|
- Gemfile
|
|
@@ -202,6 +201,7 @@ files:
|
|
|
202
201
|
- lib/plivo/resources/pricings.rb
|
|
203
202
|
- lib/plivo/resources/recordings.rb
|
|
204
203
|
- lib/plivo/resources/regulatory_compliance.rb
|
|
204
|
+
- lib/plivo/resources/token.rb
|
|
205
205
|
- lib/plivo/rest_client.rb
|
|
206
206
|
- lib/plivo/utils.rb
|
|
207
207
|
- lib/plivo/version.rb
|