Ziggeo 1.19 → 2.15

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d58393670371ac5cf501771bdf3950984c518be5
4
- data.tar.gz: 13d6d6a31ef73b318d5302ce3880415c789dc518
3
+ metadata.gz: b892852246fde1e5d04093b5fc30e50537157712
4
+ data.tar.gz: fc843c3d1ccf5c8e73f06b576c9bfef3ed08e88b
5
5
  SHA512:
6
- metadata.gz: 5797701734513c50a5daedd915ffd9754a4d75637d6f85a61a171c29e0bafeae66e37eb012ed93986b1169b6331acae554a90aef005d0e90f3627cad54502f58
7
- data.tar.gz: b63177caee0714daef4e4edb0331348b6937352569adb1fce0fe6c930016da138690dc64274d9b11888a55803a683f985e0c4f43f751fe893891db9d1a096e39
6
+ metadata.gz: 2f97d2b8be28c5f574d7f3ee177b078759d703a140f0e4e97686a4a7636acbfe4f094b85f827c486db0cd99ac9abb916987ed032809bd5342419306146955795
7
+ data.tar.gz: 846cc0463f9a8d8b589747fefe0ff0f4d53fb678aeeea07d596c11b4212c6ede450d486ff878939375673325a1b81088e33d935e62f83383381c8bf67b458057
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Ziggeo Ruby Server SDK 1.19
1
+ # Ziggeo Ruby Server SDK 2.15
2
2
 
3
3
  Ziggeo API (https://ziggeo.com) allows you to integrate video recording and playback with only
4
4
  two lines of code in your site, service or app. This is the Ruby Server SDK repository.
@@ -18,14 +18,16 @@ gem "Ziggeo"
18
18
  For the client-side integration, you need to add these assets to your html file:
19
19
 
20
20
  ```html
21
- <link rel="stylesheet" href="//assets-cdn.ziggeo.com/v1-latest/ziggeo.css" />
22
- <script src="//assets-cdn.ziggeo.com/v1-latest/ziggeo.js"></script>
21
+ <link rel="stylesheet" href="//assets-cdn.ziggeo.com/v2-stable/ziggeo.css" />
22
+ <script src="//assets-cdn.ziggeo.com/v2-stable/ziggeo.js"></script>
23
23
  ```
24
24
 
25
25
  Then, you need to specify your api token:
26
26
  ```html
27
27
  <script>
28
- ZiggeoApi.token = "APPLICATION_TOKEN";
28
+ var ziggeoApplication = new ZiggeoApi.V2.Application({
29
+ token: "APPLICATION_TOKEN"
30
+ });
29
31
  </script>
30
32
  ```
31
33
 
@@ -33,17 +35,18 @@ You can specify other global options, [see here](https://ziggeo.com/docs).
33
35
 
34
36
  To fire up a recorder on your page, add:
35
37
  ```html
36
- <ziggeo></ziggeo>
38
+ <ziggeorecorder></ziggeorecorder>
37
39
  ```
38
40
 
39
41
  To embed a player for an existing video, add:
40
42
  ```html
41
- <ziggeo ziggeo-video='video-token'></ziggeo>
43
+ <ziggeoplayer ziggeo-video='video-token'></ziggeoplayer>
42
44
  ```
43
45
 
44
46
  For the full documentation, please visit [ziggeo.com](https://ziggeo.com/docs).
45
47
 
46
48
 
49
+
47
50
  ## Server-Side Integration
48
51
 
49
52
  You can integrate the Server SDK as follows:
@@ -76,6 +79,19 @@ Arguments
76
79
  - tags: *Filter the search result to certain tags, encoded as a comma-separated string*
77
80
 
78
81
 
82
+ #### Count
83
+
84
+ Get the video count for the application.
85
+
86
+ ```ruby
87
+ ziggeo.videos().count(arguments = nil)
88
+ ```
89
+
90
+ Arguments
91
+ - states: *Filter videos by state*
92
+ - tags: *Filter the search result to certain tags, encoded as a comma-separated string*
93
+
94
+
79
95
  #### Get
80
96
 
81
97
  Get a single video by token or key.
@@ -86,6 +102,31 @@ ziggeo.videos().get(token_or_key)
86
102
 
87
103
 
88
104
 
105
+ #### Get Bulk
106
+
107
+ Get multiple videos by tokens or keys.
108
+
109
+ ```ruby
110
+ ziggeo.videos().get_bulk(arguments = nil)
111
+ ```
112
+
113
+ Arguments
114
+ - tokens_or_keys: *Comma-separated list with the desired videos tokens or keys (Limit: 100 tokens or keys).*
115
+
116
+
117
+ #### Stats Bulk
118
+
119
+ Get stats for multiple videos by tokens or keys.
120
+
121
+ ```ruby
122
+ ziggeo.videos().stats_bulk(arguments = nil)
123
+ ```
124
+
125
+ Arguments
126
+ - tokens_or_keys: *Comma-separated list with the desired videos tokens or keys (Limit: 100 tokens or keys).*
127
+ - summarize: *Boolean. Set it to TRUE to get the stats summarized. Set it to FALSE to get the stats for each video in a separate array. Default: TRUE.*
128
+
129
+
89
130
  #### Download Video
90
131
 
91
132
  Download the video data file
@@ -106,6 +147,16 @@ ziggeo.videos().download_image(token_or_key)
106
147
 
107
148
 
108
149
 
150
+ #### Get Stats
151
+
152
+ Get the video's stats
153
+
154
+ ```ruby
155
+ ziggeo.videos().get_stats(token_or_key)
156
+ ```
157
+
158
+
159
+
109
160
  #### Push To Service
110
161
 
111
162
  Push a video to a provided push service.
@@ -130,6 +181,18 @@ Arguments
130
181
  - effectprofiletoken: *Effect Profile token (from the Effect Profiles configured for the app)*
131
182
 
132
183
 
184
+ #### Apply Meta
185
+
186
+ Apply a meta profile to a video.
187
+
188
+ ```ruby
189
+ ziggeo.videos().apply_meta(token_or_key, arguments = nil)
190
+ ```
191
+
192
+ Arguments
193
+ - metaprofiletoken: *Meta Profile token (from the Meta Profiles configured for the app)*
194
+
195
+
133
196
  #### Update
134
197
 
135
198
  Update single video by token or key.
@@ -147,6 +210,23 @@ Arguments
147
210
  - expiration_days: *After how many days will this video be deleted*
148
211
 
149
212
 
213
+ #### Update Bulk
214
+
215
+ Update multiple videos by token or key.
216
+
217
+ ```ruby
218
+ ziggeo.videos().update_bulk(arguments = nil)
219
+ ```
220
+
221
+ Arguments
222
+ - tokens_or_keys: *Comma-separated list with the desired videos tokens or keys (Limit: 100 tokens or keys).*
223
+ - min_duration: *Minimal duration of video*
224
+ - max_duration: *Maximal duration of video*
225
+ - tags: *Video Tags*
226
+ - volatile: *Automatically removed this video if it remains empty*
227
+ - expiration_days: *After how many days will this video be deleted*
228
+
229
+
150
230
  #### Delete
151
231
 
152
232
  Delete a single video by token or key.
@@ -174,6 +254,21 @@ Arguments
174
254
  - volatile: *Automatically removed this video if it remains empty*
175
255
 
176
256
 
257
+ #### Analytics
258
+
259
+ Get analytics for a specific videos with the given params
260
+
261
+ ```ruby
262
+ ziggeo.videos().analytics(token_or_key, arguments = nil)
263
+ ```
264
+
265
+ Arguments
266
+ - from: *A UNIX timestamp in microseconds used as the start date of the query*
267
+ - to: *A UNIX timestamp in microseconds used as the end date of the query*
268
+ - date: *A UNIX timestamp in microseconds to retrieve data from a single date. If set, it overwrites the from and to params.*
269
+ - query: *The query you want to run. It can be one of the following: device_views_by_os, device_views_by_date, total_plays_by_country, full_plays_by_country, total_plays_by_hour, full_plays_by_hour, total_plays_by_browser, full_plays_by_browser*
270
+
271
+
177
272
  ### Streams
178
273
 
179
274
  The streams resource allows you to directly access all streams associated with a single video.
@@ -348,6 +443,53 @@ Arguments
348
443
  - grants: *Permissions this tokens grants*
349
444
 
350
445
 
446
+ ### Application
447
+
448
+ The application token resource allows you to manage your application.
449
+
450
+
451
+ #### Get
452
+
453
+ Read application.
454
+
455
+ ```ruby
456
+ ziggeo.application().get()
457
+ ```
458
+
459
+
460
+
461
+ #### Update
462
+
463
+ Update application.
464
+
465
+ ```ruby
466
+ ziggeo.application().update(arguments = nil)
467
+ ```
468
+
469
+ Arguments
470
+ - volatile: *Will this object automatically be deleted if it remains empty?*
471
+ - name: *Name of the application*
472
+ - auth_token_required_for_create: *Require auth token for creating videos*
473
+ - auth_token_required_for_update: *Require auth token for updating videos*
474
+ - auth_token_required_for_read: *Require auth token for reading videos*
475
+ - auth_token_required_for_destroy: *Require auth token for deleting videos*
476
+ - client_can_index_videos: *Client is allowed to perform the index operation*
477
+ - client_cannot_access_unaccepted_videos: *Client cannot view unaccepted videos*
478
+ - enable_video_subpages: *Enable hosted video pages*
479
+
480
+
481
+ #### Get Stats
482
+
483
+ Read application stats
484
+
485
+ ```ruby
486
+ ziggeo.application().get_stats(arguments = nil)
487
+ ```
488
+
489
+ Arguments
490
+ - period: *Optional. Can be 'year' or 'month'.*
491
+
492
+
351
493
  ### EffectProfiles
352
494
 
353
495
  The effect profiles resource allows you to access and create effect profiles for your app. Each effect profile may contain one process or more.
@@ -364,6 +506,7 @@ ziggeo.effectProfiles().create(arguments = nil)
364
506
  Arguments
365
507
  - key: *Effect profile key.*
366
508
  - title: *Effect profile title.*
509
+ - default_effect: *Boolean. If TRUE, sets an effect profile as default. If FALSE, removes the default status for the given effect*
367
510
 
368
511
 
369
512
  #### Index
@@ -400,6 +543,18 @@ ziggeo.effectProfiles().delete(token_or_key)
400
543
 
401
544
 
402
545
 
546
+ #### Update
547
+
548
+ Updates an effect profile.
549
+
550
+ ```ruby
551
+ ziggeo.effectProfiles().update(token_or_key, arguments = nil)
552
+ ```
553
+
554
+ Arguments
555
+ - default_effect: *Boolean. If TRUE, sets an effect profile as default. If FALSE, removes the default status for the given effect*
556
+
557
+
403
558
  ### EffectProfileProcess
404
559
 
405
560
  The process resource allows you to directly access all process associated with a single effect profile.
@@ -459,9 +614,192 @@ ziggeo.effectProfileProcess().create_watermark_process(effect_token_or_key, argu
459
614
 
460
615
  Arguments
461
616
  - file: *Image file to be attached*
462
- - vertical: *Specify the vertical position of your watermark (a value between 0.0 and 1.0)*
463
- - horizontal: *Specify the horizontal position of your watermark (a value between 0.0 and 1.0)*
464
- - scale: *Specify the image scale of your watermark (a value between 0.0 and 1.0)*
617
+ - vertical_position: *Specify the vertical position of your watermark (a value between 0.0 and 1.0)*
618
+ - horizontal_position: *Specify the horizontal position of your watermark (a value between 0.0 and 1.0)*
619
+ - video_scale: *Specify the image scale of your watermark (a value between 0.0 and 1.0)*
620
+
621
+
622
+ ### MetaProfiles
623
+
624
+ The meta profiles resource allows you to access and create meta profiles for your app. Each meta profile may contain one process or more.
625
+
626
+
627
+ #### Create
628
+
629
+ Create a new meta profile.
630
+
631
+ ```ruby
632
+ ziggeo.metaProfiles().create(arguments = nil)
633
+ ```
634
+
635
+ Arguments
636
+ - key: *Meta Profile profile key.*
637
+ - title: *Meta Profile profile title.*
638
+
639
+
640
+ #### Index
641
+
642
+ Get list of meta profiles.
643
+
644
+ ```ruby
645
+ ziggeo.metaProfiles().index(arguments = nil)
646
+ ```
647
+
648
+ Arguments
649
+ - limit: *Limit the number of returned meta profiles. Can be set up to 100.*
650
+ - skip: *Skip the first [n] entries.*
651
+ - reverse: *Reverse the order in which meta profiles are returned.*
652
+
653
+
654
+ #### Get
655
+
656
+ Get a single meta profile
657
+
658
+ ```ruby
659
+ ziggeo.metaProfiles().get(token_or_key)
660
+ ```
661
+
662
+
663
+
664
+ #### Delete
665
+
666
+ Delete the meta profile
667
+
668
+ ```ruby
669
+ ziggeo.metaProfiles().delete(token_or_key)
670
+ ```
671
+
672
+
673
+
674
+ ### MetaProfileProcess
675
+
676
+ The process resource allows you to directly access all process associated with a single meta profile.
677
+
678
+
679
+ #### Index
680
+
681
+ Return all processes associated with a meta profile
682
+
683
+ ```ruby
684
+ ziggeo.metaProfileProcess().index(meta_token_or_key)
685
+ ```
686
+
687
+
688
+
689
+ #### Get
690
+
691
+ Get a single process
692
+
693
+ ```ruby
694
+ ziggeo.metaProfileProcess().get(meta_token_or_key, token_or_key)
695
+ ```
696
+
697
+
698
+
699
+ #### Delete
700
+
701
+ Delete the process
702
+
703
+ ```ruby
704
+ ziggeo.metaProfileProcess().delete(meta_token_or_key, token_or_key)
705
+ ```
706
+
707
+
708
+
709
+ #### Create Video Analysis Process
710
+
711
+ Create a new video analysis meta process
712
+
713
+ ```ruby
714
+ ziggeo.metaProfileProcess().create_video_analysis_process(meta_token_or_key)
715
+ ```
716
+
717
+
718
+
719
+ #### Create Audio Transcription Process
720
+
721
+ Create a new audio transcription meta process
722
+
723
+ ```ruby
724
+ ziggeo.metaProfileProcess().create_audio_transcription_process(meta_token_or_key)
725
+ ```
726
+
727
+
728
+
729
+ #### Create Nsfw Process
730
+
731
+ Create a new nsfw filter meta process
732
+
733
+ ```ruby
734
+ ziggeo.metaProfileProcess().create_nsfw_process(meta_token_or_key, arguments = nil)
735
+ ```
736
+
737
+ Arguments
738
+ - nsfw_action: *One of the following three: approve, reject, nothing.*
739
+
740
+
741
+ ### Webhooks
742
+
743
+ The webhooks resource allows you to create or delete webhooks related to a given application.
744
+
745
+
746
+ #### Create
747
+
748
+ Create a new webhook for the given url to catch the given events.
749
+
750
+ ```ruby
751
+ ziggeo.webhooks().create(arguments = nil)
752
+ ```
753
+
754
+ Arguments
755
+ - target_url: *The url that will catch the events*
756
+ - encoding: *Data encoding to be used by the webhook to send the events.*
757
+ - events: *Comma-separated list of the events the webhook will catch. They must be valid webhook type events.*
758
+
759
+
760
+ #### Confirm
761
+
762
+ Confirm a webhook using its ID and the corresponding validation code.
763
+
764
+ ```ruby
765
+ ziggeo.webhooks().confirm(arguments = nil)
766
+ ```
767
+
768
+ Arguments
769
+ - webhook_id: *Webhook ID that's returned in the creation call.*
770
+ - validation_code: *Validation code that is sent to the webhook when created.*
771
+
772
+
773
+ #### Delete
774
+
775
+ Delete a webhook using its URL.
776
+
777
+ ```ruby
778
+ ziggeo.webhooks().delete(arguments = nil)
779
+ ```
780
+
781
+ Arguments
782
+ - target_url: *The url that will catch the events*
783
+
784
+
785
+ ### Analytics
786
+
787
+ The analytics resource allows you to access the analytics for the given application
788
+
789
+
790
+ #### Get
791
+
792
+ Get analytics for the given params
793
+
794
+ ```ruby
795
+ ziggeo.analytics().get(arguments = nil)
796
+ ```
797
+
798
+ Arguments
799
+ - from: *A UNIX timestamp in microseconds used as the start date of the query*
800
+ - to: *A UNIX timestamp in microseconds used as the end date of the query*
801
+ - date: *A UNIX timestamp in microseconds to retrieve data from a single date. If set, it overwrites the from and to params.*
802
+ - query: *The query you want to run. It can be one of the following: device_views_by_os, device_views_by_date, total_plays_by_country, full_plays_by_country, total_plays_by_hour, full_plays_by_hour, total_plays_by_browser, full_plays_by_browser*
465
803
 
466
804
 
467
805
 
@@ -469,6 +807,6 @@ Arguments
469
807
 
470
808
  ## License
471
809
 
472
- Copyright (c) 2013-2017 Ziggeo
810
+ Copyright (c) 2013-2019 Ziggeo
473
811
 
474
812
  Apache 2.0 License
@@ -5,78 +5,129 @@ require 'cgi'
5
5
 
6
6
  require_relative "classes/ZiggeoConfig"
7
7
  require_relative "classes/ZiggeoConnect"
8
+ require_relative "classes/ZiggeoAuth"
8
9
  require_relative "classes/ZiggeoVideos"
9
10
  require_relative "classes/ZiggeoStreams"
11
+ require_relative "classes/ZiggeoAuthtokens"
12
+ require_relative "classes/ZiggeoApplication"
10
13
  require_relative "classes/ZiggeoEffectProfiles"
11
14
  require_relative "classes/ZiggeoEffectProfileProcess"
12
- require_relative "classes/ZiggeoAuthtokens"
13
- require_relative "classes/ZiggeoAuth"
15
+ require_relative "classes/ZiggeoMetaProfiles"
16
+ require_relative "classes/ZiggeoMetaProfileProcess"
17
+ require_relative "classes/ZiggeoWebhooks"
18
+ require_relative "classes/ZiggeoAnalytics"
14
19
 
15
20
  class Ziggeo
16
21
 
17
- attr_accessor :token, :private_key, :encryption_key, :config, :connect
18
- def initialize(token = nil, private_key = nil, encryption_key = nil)
19
- @token = token
20
- @private_key = private_key
21
- @encryption_key = encryption_key
22
- @config = ZiggeoConfig.new()
23
- @connect = ZiggeoConnect.new(self)
24
- @videos = nil
25
- @streams = nil
26
- @effectProfiles = nil
27
- @effectProfileProcess = nil
28
- @authtokens = nil
29
- @auth = nil
30
- if (ENV["ZIGGEO_URL"] != nil)
31
- uri = URI.parse(ENV["ZIGGEO_URL"])
32
- @config.server_api_url = uri.scheme + "://" + uri.host + ":" + uri.port.to_s
33
- @token = uri.user
34
- @private_key = uri.password
35
- query = CGI::parse(uri.query)
36
- @encryption_key = query["encryption_key"]
37
- end
38
- end
22
+ attr_accessor :token, :private_key, :encryption_key, :config, :connect, :api_connect
39
23
 
40
- def videos()
41
- if (@videos == nil)
42
- @videos = ZiggeoVideos.new(self)
24
+ def initialize(token = nil, private_key = nil, encryption_key = nil)
25
+ @token = token
26
+ @private_key = private_key
27
+ @encryption_key = encryption_key
28
+ @config = ZiggeoConfig.new()
29
+ server_api_url = @config.server_api_url
30
+ regions = @config.regions
31
+ regions.each do |key, value|
32
+ if (@token.start_with?(key))
33
+ server_api_url = value
34
+ end
35
+ end
36
+ @connect = ZiggeoConnect.new(self, server_api_url)
37
+ api_url = @config.api_url
38
+ api_regions = @config.api_regions
39
+ api_regions.each do |key, value|
40
+ if (@token.start_with?(key))
41
+ api_url = value
42
+ end
43
+ end
44
+ @api_connect = ZiggeoConnect.new(self, api_url)
45
+ @auth = nil
46
+ @videos = nil
47
+ @streams = nil
48
+ @authtokens = nil
49
+ @application = nil
50
+ @effectProfiles = nil
51
+ @effectProfileProcess = nil
52
+ @metaProfiles = nil
53
+ @metaProfileProcess = nil
54
+ @webhooks = nil
55
+ @analytics = nil
56
+ if (ENV["ZIGGEO_URL"] != nil)
57
+ uri = URI.parse(ENV["ZIGGEO_URL"])
58
+ @config.server_api_url = uri.scheme + "://" + uri.host + ":" + uri.port.to_s
59
+ @token = uri.user
60
+ @private_key = uri.password
61
+ query = CGI::parse(uri.query)
62
+ @encryption_key = query["encryption_key"]
63
+ end
43
64
  end
44
- return @videos
45
- end
46
65
 
47
- def streams()
48
- if (@streams == nil)
49
- @streams = ZiggeoStreams.new(self)
50
- end
51
- return @streams
52
- end
66
+ def auth()
67
+ if (@auth == nil)
68
+ @auth = ZiggeoAuth.new(self)
69
+ end
70
+ return @auth end
53
71
 
54
- def effectProfiles()
55
- if (@effectProfiles == nil)
56
- @effectProfiles = ZiggeoEffectProfiles.new(self)
57
- end
58
- return @effectProfiles
59
- end
72
+ def videos()
73
+ if (@videos == nil)
74
+ @videos = ZiggeoVideos.new(self)
75
+ end
76
+ return @videos end
60
77
 
61
- def effectProfileProcess()
62
- if (@effectProfileProcess == nil)
63
- @effectProfileProcess = ZiggeoEffectProfileProcess.new(self)
64
- end
65
- return @effectProfileProcess
66
- end
78
+ def streams()
79
+ if (@streams == nil)
80
+ @streams = ZiggeoStreams.new(self)
81
+ end
82
+ return @streams end
67
83
 
68
- def authtokens()
69
- if (@authtokens == nil)
70
- @authtokens = ZiggeoAuthtokens.new(self)
71
- end
72
- return @authtokens
73
- end
84
+ def authtokens()
85
+ if (@authtokens == nil)
86
+ @authtokens = ZiggeoAuthtokens.new(self)
87
+ end
88
+ return @authtokens end
89
+
90
+ def application()
91
+ if (@application == nil)
92
+ @application = ZiggeoApplication.new(self)
93
+ end
94
+ return @application end
95
+
96
+ def effectProfiles()
97
+ if (@effectProfiles == nil)
98
+ @effectProfiles = ZiggeoEffectProfiles.new(self)
99
+ end
100
+ return @effectProfiles end
101
+
102
+ def effectProfileProcess()
103
+ if (@effectProfileProcess == nil)
104
+ @effectProfileProcess = ZiggeoEffectProfileProcess.new(self)
105
+ end
106
+ return @effectProfileProcess end
107
+
108
+ def metaProfiles()
109
+ if (@metaProfiles == nil)
110
+ @metaProfiles = ZiggeoMetaProfiles.new(self)
111
+ end
112
+ return @metaProfiles end
113
+
114
+ def metaProfileProcess()
115
+ if (@metaProfileProcess == nil)
116
+ @metaProfileProcess = ZiggeoMetaProfileProcess.new(self)
117
+ end
118
+ return @metaProfileProcess end
119
+
120
+ def webhooks()
121
+ if (@webhooks == nil)
122
+ @webhooks = ZiggeoWebhooks.new(self)
123
+ end
124
+ return @webhooks end
125
+
126
+ def analytics()
127
+ if (@analytics == nil)
128
+ @analytics = ZiggeoAnalytics.new(self)
129
+ end
130
+ return @analytics end
74
131
 
75
- def auth()
76
- if (@auth == nil)
77
- @auth = ZiggeoAuth.new(self)
78
- end
79
- return @auth
80
- end
81
132
 
82
133
  end
@@ -0,0 +1,11 @@
1
+ class ZiggeoAnalytics
2
+
3
+ def initialize(application)
4
+ @application = application
5
+ end
6
+
7
+ def get(data = nil)
8
+ return @application.connect.postJSON('/v1/analytics/get', data)
9
+ end
10
+
11
+ end
@@ -0,0 +1,19 @@
1
+ class ZiggeoApplication
2
+
3
+ def initialize(application)
4
+ @application = application
5
+ end
6
+
7
+ def get()
8
+ return @application.connect.getJSON('/v1/application')
9
+ end
10
+
11
+ def update(data = nil)
12
+ return @application.connect.postJSON('/v1/application', data)
13
+ end
14
+
15
+ def get_stats(data = nil)
16
+ return @application.api_connect.getJSON('/server/v1/application/stats', data)
17
+ end
18
+
19
+ end
@@ -5,19 +5,19 @@ class ZiggeoAuthtokens
5
5
  end
6
6
 
7
7
  def get(token)
8
- return @application.connect.getJSON('/authtokens/' + token + '')
8
+ return @application.connect.getJSON('/v1/authtokens/' + token + '')
9
9
  end
10
10
 
11
11
  def update(token_or_key, data = nil)
12
- return @application.connect.postJSON('/authtokens/' + token_or_key + '', data)
12
+ return @application.connect.postJSON('/v1/authtokens/' + token_or_key + '', data)
13
13
  end
14
14
 
15
15
  def delete(token_or_key)
16
- return @application.connect.delete('/authtokens/' + token_or_key + '')
16
+ return @application.connect.delete('/v1/authtokens/' + token_or_key + '')
17
17
  end
18
18
 
19
19
  def create(data = nil)
20
- return @application.connect.postJSON('/authtokens/', data)
20
+ return @application.connect.postJSON('/v1/authtokens/', data)
21
21
  end
22
22
 
23
23
  end
@@ -1,10 +1,13 @@
1
+
1
2
  class ZiggeoConfig
2
- attr_accessor :server_api_url, :request_timeout, :request_timeout_per_mb, :regions
3
+ attr_accessor :server_api_url, :api_url, :request_timeout, :request_timeout_per_mb, :regions, :api_regions
3
4
 
4
5
  def initialize()
5
6
  @request_timeout = 30 # seconds
6
7
  @request_timeout_per_mb = 20 # seconds per MB of uploaded file
7
8
  @server_api_url = "https://srvapi.ziggeo.com"
9
+ @api_url = "https://api-us-east-1.ziggeo.com"
8
10
  @regions = {"r1" => "https://srvapi-eu-west-1.ziggeo.com", }
11
+ @api_regions = {"r1" => "https://api-eu-west-1.ziggeo.com", }
9
12
  end
10
13
  end
@@ -4,20 +4,13 @@ require 'httparty'
4
4
  require 'httmultiparty'
5
5
 
6
6
  class ZiggeoConnect
7
- def initialize(application)
7
+ def initialize(application, baseuri)
8
8
  @application = application
9
+ @baseuri = baseuri
9
10
  end
10
11
 
11
12
  def request(method, path, data = nil, file = nil)
12
- server_api_url = @application.config.server_api_url
13
- regions = @application.config.regions
14
- regions.each do |key, value|
15
- if (@application.token.start_with?(key))
16
- server_api_url = value
17
- end
18
- end
19
-
20
- url = URI.parse(server_api_url + '/v1' + path)
13
+ url = URI.parse(@baseuri + path)
21
14
  auth = { username: @application.token, password: @application.private_key }
22
15
  timeout_in_seconds = @application.config.request_timeout.to_i
23
16
 
@@ -5,23 +5,23 @@ class ZiggeoEffectProfileProcess
5
5
  end
6
6
 
7
7
  def index(effect_token_or_key, data = nil)
8
- return @application.connect.getJSON('/effects/' + effect_token_or_key + '/process', data)
8
+ return @application.connect.getJSON('/v1/effects/' + effect_token_or_key + '/process', data)
9
9
  end
10
10
 
11
11
  def get(effect_token_or_key, token_or_key)
12
- return @application.connect.getJSON('/effects/' + effect_token_or_key + '/process/' + token_or_key + '')
12
+ return @application.connect.getJSON('/v1/effects/' + effect_token_or_key + '/process/' + token_or_key + '')
13
13
  end
14
14
 
15
15
  def delete(effect_token_or_key, token_or_key)
16
- return @application.connect.delete('/effects/' + effect_token_or_key + '/process/' + token_or_key + '')
16
+ return @application.connect.delete('/v1/effects/' + effect_token_or_key + '/process/' + token_or_key + '')
17
17
  end
18
18
 
19
19
  def create_filter_process(effect_token_or_key, data = nil)
20
- return @application.connect.postJSON('/effects/' + effect_token_or_key + '/process/filter', data)
20
+ return @application.connect.postJSON('/v1/effects/' + effect_token_or_key + '/process/filter', data)
21
21
  end
22
22
 
23
23
  def create_watermark_process(effect_token_or_key, data = nil, file = nil)
24
- return @application.connect.postJSON('/effects/' + effect_token_or_key + '/process/watermark', data, file)
24
+ return @application.connect.postJSON('/v1/effects/' + effect_token_or_key + '/process/watermark', data, file)
25
25
  end
26
26
 
27
27
  end
@@ -5,19 +5,23 @@ class ZiggeoEffectProfiles
5
5
  end
6
6
 
7
7
  def create(data = nil)
8
- return @application.connect.postJSON('/effects/', data)
8
+ return @application.connect.postJSON('/v1/effects/', data)
9
9
  end
10
10
 
11
11
  def index(data = nil)
12
- return @application.connect.getJSON('/effects/', data)
12
+ return @application.connect.getJSON('/v1/effects/', data)
13
13
  end
14
14
 
15
15
  def get(token_or_key)
16
- return @application.connect.getJSON('/effects/' + token_or_key + '')
16
+ return @application.connect.getJSON('/v1/effects/' + token_or_key + '')
17
17
  end
18
18
 
19
19
  def delete(token_or_key)
20
- return @application.connect.delete('/effects/' + token_or_key + '')
20
+ return @application.connect.delete('/v1/effects/' + token_or_key + '')
21
+ end
22
+
23
+ def update(token_or_key, data = nil)
24
+ return @application.connect.postJSON('/v1/effects/' + token_or_key + '', data)
21
25
  end
22
26
 
23
27
  end
@@ -0,0 +1,31 @@
1
+ class ZiggeoMetaProfileProcess
2
+
3
+ def initialize(application)
4
+ @application = application
5
+ end
6
+
7
+ def index(meta_token_or_key)
8
+ return @application.connect.getJSON('/v1/metaprofiles/' + meta_token_or_key + '/process')
9
+ end
10
+
11
+ def get(meta_token_or_key, token_or_key)
12
+ return @application.connect.getJSON('/v1/metaprofiles/' + meta_token_or_key + '/process/' + token_or_key + '')
13
+ end
14
+
15
+ def delete(meta_token_or_key, token_or_key)
16
+ return @application.connect.delete('/v1/metaprofiles/' + meta_token_or_key + '/process/' + token_or_key + '')
17
+ end
18
+
19
+ def create_video_analysis_process(meta_token_or_key)
20
+ return @application.connect.postJSON('/v1/metaprofiles/' + meta_token_or_key + '/process/analysis')
21
+ end
22
+
23
+ def create_audio_transcription_process(meta_token_or_key)
24
+ return @application.connect.postJSON('/v1/metaprofiles/' + meta_token_or_key + '/process/transcription')
25
+ end
26
+
27
+ def create_nsfw_process(meta_token_or_key, data = nil)
28
+ return @application.connect.postJSON('/v1/metaprofiles/' + meta_token_or_key + '/process/nsfw', data)
29
+ end
30
+
31
+ end
@@ -0,0 +1,23 @@
1
+ class ZiggeoMetaProfiles
2
+
3
+ def initialize(application)
4
+ @application = application
5
+ end
6
+
7
+ def create(data = nil)
8
+ return @application.connect.postJSON('/v1/metaprofiles/', data)
9
+ end
10
+
11
+ def index(data = nil)
12
+ return @application.connect.getJSON('/v1/metaprofiles/', data)
13
+ end
14
+
15
+ def get(token_or_key)
16
+ return @application.connect.getJSON('/v1/metaprofiles/' + token_or_key + '')
17
+ end
18
+
19
+ def delete(token_or_key)
20
+ return @application.connect.delete('/v1/metaprofiles/' + token_or_key + '')
21
+ end
22
+
23
+ end
@@ -5,43 +5,43 @@ class ZiggeoStreams
5
5
  end
6
6
 
7
7
  def index(video_token_or_key, data = nil)
8
- return @application.connect.getJSON('/videos/' + video_token_or_key + '/streams', data)
8
+ return @application.connect.getJSON('/v1/videos/' + video_token_or_key + '/streams', data)
9
9
  end
10
10
 
11
11
  def get(video_token_or_key, token_or_key)
12
- return @application.connect.getJSON('/videos/' + video_token_or_key + '/streams/' + token_or_key + '')
12
+ return @application.connect.getJSON('/v1/videos/' + video_token_or_key + '/streams/' + token_or_key + '')
13
13
  end
14
14
 
15
15
  def download_video(video_token_or_key, token_or_key)
16
- return @application.connect.get('/videos/' + video_token_or_key + '/streams/' + token_or_key + '/video')
16
+ return @application.connect.get('/v1/videos/' + video_token_or_key + '/streams/' + token_or_key + '/video')
17
17
  end
18
18
 
19
19
  def download_image(video_token_or_key, token_or_key)
20
- return @application.connect.get('/videos/' + video_token_or_key + '/streams/' + token_or_key + '/image')
20
+ return @application.connect.get('/v1/videos/' + video_token_or_key + '/streams/' + token_or_key + '/image')
21
21
  end
22
22
 
23
23
  def push_to_service(video_token_or_key, token_or_key, data = nil)
24
- return @application.connect.postJSON('/videos/' + video_token_or_key + '/streams/' + token_or_key + '/push', data)
24
+ return @application.connect.postJSON('/v1/videos/' + video_token_or_key + '/streams/' + token_or_key + '/push', data)
25
25
  end
26
26
 
27
27
  def delete(video_token_or_key, token_or_key)
28
- return @application.connect.delete('/videos/' + video_token_or_key + '/streams/' + token_or_key + '')
28
+ return @application.connect.delete('/v1/videos/' + video_token_or_key + '/streams/' + token_or_key + '')
29
29
  end
30
30
 
31
31
  def create(video_token_or_key, data = nil, file = nil)
32
- return @application.connect.postJSON('/videos/' + video_token_or_key + '/streams', data, file)
32
+ return @application.connect.postJSON('/v1/videos/' + video_token_or_key + '/streams', data, file)
33
33
  end
34
34
 
35
35
  def attach_image(video_token_or_key, token_or_key, data = nil, file = nil)
36
- return @application.connect.postJSON('/videos/' + video_token_or_key + '/streams/' + token_or_key + '/image', data, file)
36
+ return @application.connect.postJSON('/v1/videos/' + video_token_or_key + '/streams/' + token_or_key + '/image', data, file)
37
37
  end
38
38
 
39
39
  def attach_video(video_token_or_key, token_or_key, data = nil, file = nil)
40
- return @application.connect.postJSON('/videos/' + video_token_or_key + '/streams/' + token_or_key + '/video', data, file)
40
+ return @application.connect.postJSON('/v1/videos/' + video_token_or_key + '/streams/' + token_or_key + '/video', data, file)
41
41
  end
42
42
 
43
43
  def bind(video_token_or_key, token_or_key)
44
- return @application.connect.postJSON('/videos/' + video_token_or_key + '/streams/' + token_or_key + '/bind')
44
+ return @application.connect.postJSON('/v1/videos/' + video_token_or_key + '/streams/' + token_or_key + '/bind')
45
45
  end
46
46
 
47
47
  end
@@ -5,39 +5,67 @@ class ZiggeoVideos
5
5
  end
6
6
 
7
7
  def index(data = nil)
8
- return @application.connect.getJSON('/videos/', data)
8
+ return @application.connect.getJSON('/v1/videos/', data)
9
+ end
10
+
11
+ def count(data = nil)
12
+ return @application.connect.getJSON('/v1/videos/count', data)
9
13
  end
10
14
 
11
15
  def get(token_or_key)
12
- return @application.connect.getJSON('/videos/' + token_or_key + '')
16
+ return @application.connect.getJSON('/v1/videos/' + token_or_key + '')
17
+ end
18
+
19
+ def get_bulk(data = nil)
20
+ return @application.connect.postJSON('/v1/videos/get_bulk', data)
21
+ end
22
+
23
+ def stats_bulk(data = nil)
24
+ return @application.connect.postJSON('/v1/videos/stats_bulk', data)
13
25
  end
14
26
 
15
27
  def download_video(token_or_key)
16
- return @application.connect.get('/videos/' + token_or_key + '/video')
28
+ return @application.connect.get('/v1/videos/' + token_or_key + '/video')
17
29
  end
18
30
 
19
31
  def download_image(token_or_key)
20
- return @application.connect.get('/videos/' + token_or_key + '/image')
32
+ return @application.connect.get('/v1/videos/' + token_or_key + '/image')
33
+ end
34
+
35
+ def get_stats(token_or_key)
36
+ return @application.connect.getJSON('/v1/videos/' + token_or_key + '/stats')
21
37
  end
22
38
 
23
39
  def push_to_service(token_or_key, data = nil)
24
- return @application.connect.postJSON('/videos/' + token_or_key + '/push', data)
40
+ return @application.connect.postJSON('/v1/videos/' + token_or_key + '/push', data)
25
41
  end
26
42
 
27
43
  def apply_effect(token_or_key, data = nil)
28
- return @application.connect.postJSON('/videos/' + token_or_key + '/effect', data)
44
+ return @application.connect.postJSON('/v1/videos/' + token_or_key + '/effect', data)
45
+ end
46
+
47
+ def apply_meta(token_or_key, data = nil)
48
+ return @application.connect.postJSON('/v1/videos/' + token_or_key + '/metaprofile', data)
29
49
  end
30
50
 
31
51
  def update(token_or_key, data = nil)
32
- return @application.connect.postJSON('/videos/' + token_or_key + '', data)
52
+ return @application.connect.postJSON('/v1/videos/' + token_or_key + '', data)
53
+ end
54
+
55
+ def update_bulk(data = nil)
56
+ return @application.connect.postJSON('/v1/videos/update_bulk', data)
33
57
  end
34
58
 
35
59
  def delete(token_or_key)
36
- return @application.connect.delete('/videos/' + token_or_key + '')
60
+ return @application.connect.delete('/v1/videos/' + token_or_key + '')
37
61
  end
38
62
 
39
63
  def create(data = nil, file = nil)
40
- return @application.connect.postJSON('/videos/', data, file)
64
+ return @application.connect.postJSON('/v1/videos/', data, file)
65
+ end
66
+
67
+ def analytics(token_or_key, data = nil)
68
+ return @application.connect.postJSON('/v1/videos/' + token_or_key + '/analytics', data)
41
69
  end
42
70
 
43
71
  end
@@ -0,0 +1,19 @@
1
+ class ZiggeoWebhooks
2
+
3
+ def initialize(application)
4
+ @application = application
5
+ end
6
+
7
+ def create(data = nil)
8
+ return @application.connect.post('/v1/api/hook', data)
9
+ end
10
+
11
+ def confirm(data = nil)
12
+ return @application.connect.post('/v1/api/confirmhook', data)
13
+ end
14
+
15
+ def delete(data = nil)
16
+ return @application.connect.post('/v1/api/removehook', data)
17
+ end
18
+
19
+ end
metadata CHANGED
@@ -1,41 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: Ziggeo
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.19'
4
+ version: '2.15'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ziggeo, Inc
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-18 00:00:00.000000000 Z
11
+ date: 2019-04-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: 0.13.5
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.13.5
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: httmultiparty
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  description: The Ziggeo Ruby and Rails Server SDK.
@@ -45,19 +45,24 @@ executables: []
45
45
  extensions: []
46
46
  extra_rdoc_files: []
47
47
  files:
48
+ - README.md
49
+ - lib/Ziggeo.rb
50
+ - lib/classes/ZiggeoAnalytics.rb
51
+ - lib/classes/ZiggeoApplication.rb
48
52
  - lib/classes/ZiggeoAuth.rb
49
53
  - lib/classes/ZiggeoAuthtokens.rb
50
54
  - lib/classes/ZiggeoConfig.rb
51
55
  - lib/classes/ZiggeoConnect.rb
52
56
  - lib/classes/ZiggeoEffectProfileProcess.rb
53
57
  - lib/classes/ZiggeoEffectProfiles.rb
58
+ - lib/classes/ZiggeoMetaProfileProcess.rb
59
+ - lib/classes/ZiggeoMetaProfiles.rb
54
60
  - lib/classes/ZiggeoStreams.rb
55
61
  - lib/classes/ZiggeoVideos.rb
56
- - lib/Ziggeo.rb
57
- - README.md
62
+ - lib/classes/ZiggeoWebhooks.rb
58
63
  homepage: https://ziggeo.com
59
64
  licenses:
60
- - Apache 2.0
65
+ - Apache-2.0
61
66
  metadata: {}
62
67
  post_install_message:
63
68
  rdoc_options: []
@@ -65,17 +70,17 @@ require_paths:
65
70
  - lib
66
71
  required_ruby_version: !ruby/object:Gem::Requirement
67
72
  requirements:
68
- - - '>='
73
+ - - ">="
69
74
  - !ruby/object:Gem::Version
70
75
  version: '0'
71
76
  required_rubygems_version: !ruby/object:Gem::Requirement
72
77
  requirements:
73
- - - '>='
78
+ - - ">="
74
79
  - !ruby/object:Gem::Version
75
80
  version: '0'
76
81
  requirements: []
77
82
  rubyforge_project:
78
- rubygems_version: 2.0.14.1
83
+ rubygems_version: 2.5.2.3
79
84
  signing_key:
80
85
  specification_version: 4
81
86
  summary: The Ziggeo ServerSDK gem.