Ziggeo 1.19 → 2.15

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  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.