Ziggeo 2.19 → 2.29
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +836 -597
- data/lib/Ziggeo.rb +56 -46
- data/lib/classes/ZiggeoAudioStreams.rb +33 -0
- data/lib/classes/ZiggeoAudios.rb +49 -0
- data/lib/classes/ZiggeoConfig.rb +7 -3
- data/lib/classes/ZiggeoConnect.rb +42 -21
- data/lib/classes/ZiggeoEffectProfileProcess.rb +14 -2
- data/lib/classes/ZiggeoMetaProfileProcess.rb +4 -0
- data/lib/classes/ZiggeoStreams.rb +23 -9
- data/lib/classes/ZiggeoVideos.rb +9 -3
- metadata +7 -19
data/README.md
CHANGED
@@ -1,19 +1,144 @@
|
|
1
|
-
# Ziggeo Ruby Server SDK
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
1
|
+
# Ziggeo's Ruby Server SDK
|
2
|
+
|
3
|
+
latest version: **2.29**
|
4
|
+
|
5
|
+
## Index
|
6
|
+
|
7
|
+
1. [Why Ziggeo's Ruby Server Side SDK?](#why-us)
|
8
|
+
2. [Prerequisites](#prerequisites)
|
9
|
+
1. [Download](#download)
|
10
|
+
2. [How to use](#how-to-use)
|
11
|
+
3. [Installation](#install)
|
12
|
+
3. [Client-Side Integration](#codes-client-side)
|
13
|
+
4. [Server-Side Integration](#codes-server-side)
|
14
|
+
1. [Init](#codes-init)
|
15
|
+
2. [Available Methods](#codes-methods)
|
16
|
+
3. [Methods for Videos](#method-videos)
|
17
|
+
1. [Videos Index](#method-videos-index)
|
18
|
+
2. [Videos Count](#method-videos-count)
|
19
|
+
3. [Videos Get](#method-videos-get)
|
20
|
+
4. [Videos Get Bulk](#method-videos-get-bulk)
|
21
|
+
5. [Videos Stats Bulk](#method-videos-stats-bulk)
|
22
|
+
6. [Videos Download Video](#method-videos-download-video)
|
23
|
+
7. [Videos Download Image](#method-videos-download-image)
|
24
|
+
8. [Videos Get Stats](#method-videos-get-stats)
|
25
|
+
9. [Videos Push To Service](#method-videos-push-to-service)
|
26
|
+
10. [Videos Apply Effect](#method-videos-apply-effect)
|
27
|
+
11. [Videos Apply Meta](#method-videos-apply-meta)
|
28
|
+
12. [Videos Update](#method-videos-update)
|
29
|
+
13. [Videos Update Bulk](#method-videos-update-bulk)
|
30
|
+
14. [Videos Delete](#method-videos-delete)
|
31
|
+
15. [Videos Create](#method-videos-create)
|
32
|
+
16. [Videos Analytics](#method-videos-analytics)
|
33
|
+
4. [Methods for Streams](#method-streams)
|
34
|
+
1. [Streams Index](#method-streams-index)
|
35
|
+
2. [Streams Get](#method-streams-get)
|
36
|
+
3. [Streams Download Video](#method-streams-download-video)
|
37
|
+
4. [Streams Download Image](#method-streams-download-image)
|
38
|
+
5. [Streams Push To Service](#method-streams-push-to-service)
|
39
|
+
6. [Streams Delete](#method-streams-delete)
|
40
|
+
7. [Streams Create](#method-streams-create)
|
41
|
+
8. [Streams Attach Image](#method-streams-attach-image)
|
42
|
+
9. [Streams Attach Video](#method-streams-attach-video)
|
43
|
+
10. [Streams Attach Subtitle](#method-streams-attach-subtitle)
|
44
|
+
5. [Methods for Audios](#method-audios)
|
45
|
+
1. [Audios Index](#method-audios-index)
|
46
|
+
2. [Audios Count](#method-audios-count)
|
47
|
+
3. [Audios Get](#method-audios-get)
|
48
|
+
4. [Audios Get Bulk](#method-audios-get-bulk)
|
49
|
+
5. [Audios Download Audio](#method-audios-download-audio)
|
50
|
+
6. [Audios Update](#method-audios-update)
|
51
|
+
7. [Audios Update Bulk](#method-audios-update-bulk)
|
52
|
+
8. [Audios Delete](#method-audios-delete)
|
53
|
+
9. [Audios Create](#method-audios-create)
|
54
|
+
6. [Methods for Audio_streams](#method-audio-streams)
|
55
|
+
1. [Audio_streams Index](#method-audio-streams-index)
|
56
|
+
2. [Audio_streams Get](#method-audio-streams-get)
|
57
|
+
3. [Audio_streams Download Audio](#method-audio-streams-download-audio)
|
58
|
+
4. [Audio_streams Delete](#method-audio-streams-delete)
|
59
|
+
5. [Audio_streams Create](#method-audio-streams-create)
|
60
|
+
7. [Methods for Authtokens](#method-authtokens)
|
61
|
+
1. [Authtokens Get](#method-authtokens-get)
|
62
|
+
2. [Authtokens Update](#method-authtokens-update)
|
63
|
+
3. [Authtokens Delete](#method-authtokens-delete)
|
64
|
+
4. [Authtokens Create](#method-authtokens-create)
|
65
|
+
8. [Methods for Application](#method-application)
|
66
|
+
1. [Application Get](#method-application-get)
|
67
|
+
2. [Application Update](#method-application-update)
|
68
|
+
3. [Application Get Stats](#method-application-get-stats)
|
69
|
+
9. [Methods for Effect Profiles](#method-effect-profiles)
|
70
|
+
1. [Effect Profiles Create](#method-effect-profiles-create)
|
71
|
+
2. [Effect Profiles Index](#method-effect-profiles-index)
|
72
|
+
3. [Effect Profiles Get](#method-effect-profiles-get)
|
73
|
+
4. [Effect Profiles Delete](#method-effect-profiles-delete)
|
74
|
+
5. [Effect Profiles Update](#method-effect-profiles-update)
|
75
|
+
10. [Methods for Effect Profile Process](#method-effect-profile-process)
|
76
|
+
1. [Effect Profile Process Index](#method-effect-profile-process-index)
|
77
|
+
2. [Effect Profile Process Get](#method-effect-profile-process-get)
|
78
|
+
3. [Effect Profile Process Delete](#method-effect-profile-process-delete)
|
79
|
+
4. [Effect Profile Process Create Filter Process](#method-effect-profile-process-create-filter-process)
|
80
|
+
5. [Effect Profile Process Create Watermark Process](#method-effect-profile-process-create-watermark-process)
|
81
|
+
6. [Effect Profile Process Edit Watermark Process](#method-effect-profile-process-edit-watermark-process)
|
82
|
+
11. [Methods for Meta Profiles](#method-meta-profiles)
|
83
|
+
1. [Meta Profiles Create](#method-meta-profiles-create)
|
84
|
+
2. [Meta Profiles Index](#method-meta-profiles-index)
|
85
|
+
3. [Meta Profiles Get](#method-meta-profiles-get)
|
86
|
+
4. [Meta Profiles Delete](#method-meta-profiles-delete)
|
87
|
+
12. [Methods for Meta Profile Process](#method-meta-profile-process)
|
88
|
+
1. [Meta Profile Process Index](#method-meta-profile-process-index)
|
89
|
+
2. [Meta Profile Process Get](#method-meta-profile-process-get)
|
90
|
+
3. [Meta Profile Process Delete](#method-meta-profile-process-delete)
|
91
|
+
4. [Meta Profile Process Create Video Analysis Process](#method-meta-profile-process-create-video-analysis-process)
|
92
|
+
5. [Meta Profile Process Create Audio Transcription Process](#method-meta-profile-process-create-audio-transcription-process)
|
93
|
+
6. [Meta Profile Process Create Nsfw Process](#method-meta-profile-process-create-nsfw-process)
|
94
|
+
7. [Meta Profile Process Create Profanity Process](#method-meta-profile-process-create-profanity-process)
|
95
|
+
13. [Methods for Webhooks](#method-webhooks)
|
96
|
+
1. [Webhooks Create](#method-webhooks-create)
|
97
|
+
2. [Webhooks Confirm](#method-webhooks-confirm)
|
98
|
+
3. [Webhooks Delete](#method-webhooks-delete)
|
99
|
+
14. [Methods for Analytics](#method-analytics)
|
100
|
+
1. [Analytics Get](#method-analytics-get)
|
101
|
+
5. [License](#license)
|
102
|
+
|
103
|
+
|
104
|
+
## Why Ziggeo's Ruby Server Side SDK? <a name="why-us"></a>
|
105
|
+
|
106
|
+
[Ziggeo](https://ziggeo.com) is a powerfull, whitelabel video SAAS with a goal to help people with their video revolution. And what better way to do it than with an award winning multimedia API.
|
107
|
+
|
108
|
+
This server side SDK is designed to help you ease the communication with Ziggeo API. In that it allows you to privately communicate between your server and our server through requests of what you want to happen.
|
109
|
+
|
110
|
+
It offers you pre-built functionality to call and manipulate and there are demos in /demos/ directory for you to check out and use as starting point.
|
111
|
+
|
112
|
+
### Who it is for?
|
113
|
+
|
114
|
+
1. Do you have a system that requires calls to be made which should not be seen on client side?
|
115
|
+
2. Want to have an easier time handling the media as it comes to your server?
|
116
|
+
3. Want something that is simple and easy to use?
|
117
|
+
4. You need some powerful features high end video services provide?
|
118
|
+
|
119
|
+
If any of the above is "Yes" then you are in the right place as this SDK is for you!
|
120
|
+
|
121
|
+
## Prerequisites <a name="prerequisites"></a>
|
122
|
+
|
123
|
+
### Download <a name="download"></a>
|
124
|
+
|
125
|
+
You will want to either download the SDK zip file or to pull it in as git repository into your own project.
|
126
|
+
|
127
|
+
To clone it you would go into your project folder and then
|
128
|
+
```ruby git clone https://github.com/Ziggeo/ZiggeoRubySdk```
|
129
|
+
|
130
|
+
### How to use <a name="how-to-use"></a>
|
131
|
+
|
132
|
+
To start using the Ruby SDK you would need to initialize the Ziggeo class with application token, private token and possibly encryption token. The token and keys can be found within the Ziggeo application once you log into your account, under Overview page.
|
133
|
+
|
134
|
+
|
135
|
+
### Installation<a name="install"></a>
|
10
136
|
|
11
137
|
For Rails applications, you can simply install this repository as a gem.
|
12
138
|
|
13
139
|
gem "Ziggeo"
|
14
140
|
|
15
|
-
|
16
|
-
## Client-Side Integration
|
141
|
+
## Client-Side Integration<a name="codes-client-side"></a>
|
17
142
|
|
18
143
|
For the client-side integration, you need to add these assets to your html file:
|
19
144
|
|
@@ -26,7 +151,9 @@ Then, you need to specify your api token:
|
|
26
151
|
```html
|
27
152
|
<script>
|
28
153
|
var ziggeoApplication = new ZiggeoApi.V2.Application({
|
29
|
-
token: "APPLICATION_TOKEN"
|
154
|
+
token: "APPLICATION_TOKEN",
|
155
|
+
webrtc_streaming_if_necessary: true,
|
156
|
+
webrtc_on_mobile: true
|
30
157
|
});
|
31
158
|
</script>
|
32
159
|
```
|
@@ -45,9 +172,9 @@ To embed a player for an existing video, add:
|
|
45
172
|
|
46
173
|
For the full documentation, please visit [ziggeo.com](https://ziggeo.com/docs).
|
47
174
|
|
175
|
+
## Server-Side Integration<a name="codes-server-side"></a>
|
48
176
|
|
49
|
-
|
50
|
-
## Server-Side Integration
|
177
|
+
### Initialize Ziggeo class in your code<a name="codes-init"></a>
|
51
178
|
|
52
179
|
You can integrate the Server SDK as follows:
|
53
180
|
|
@@ -55,789 +182,901 @@ You can integrate the Server SDK as follows:
|
|
55
182
|
@ziggeo = Ziggeo.new("*token*", "*private_key*", "*encryption_key*")
|
56
183
|
```
|
57
184
|
|
185
|
+
Config is optional and if not specified (recommended), the Config file will be used instead.
|
58
186
|
|
59
|
-
|
187
|
+
### Available Methods<a name="codes-methods"></a>
|
60
188
|
|
61
|
-
|
189
|
+
Currently available methods are branched off within different categories:
|
62
190
|
|
63
|
-
|
64
|
-
|
191
|
+
1. Videos
|
192
|
+
2. Streams
|
193
|
+
3. Audios
|
194
|
+
4. Audio_streams
|
195
|
+
5. Authtokens
|
196
|
+
6. Application
|
197
|
+
7. Effect Profiles
|
198
|
+
8. Effect Profile Process
|
199
|
+
9. Meta Profiles
|
200
|
+
10. Meta Profile Process
|
201
|
+
11. Webhooks
|
202
|
+
12. Analytics
|
65
203
|
|
66
|
-
|
67
|
-
|
68
|
-
Query an array of videos (will return at most 50 videos by default). Newest videos come first.
|
204
|
+
Each of this sections has their own actions and they are explained bellow
|
69
205
|
|
70
|
-
```ruby
|
71
|
-
ziggeo.videos().index(arguments = nil)
|
72
|
-
```
|
73
|
-
|
74
|
-
Arguments
|
75
|
-
- limit: *Limit the number of returned videos. Can be set up to 100.*
|
76
|
-
- skip: *Skip the first [n] entries.*
|
77
|
-
- reverse: *Reverse the order in which videos are returned.*
|
78
|
-
- states: *Filter videos by state*
|
79
|
-
- tags: *Filter the search result to certain tags, encoded as a comma-separated string*
|
80
206
|
|
81
207
|
|
82
|
-
|
83
|
-
|
84
|
-
Get the video count for the application.
|
208
|
+
### Videos<a name="method-videos"></a>
|
85
209
|
|
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
210
|
|
211
|
+
The videos resource allows you to access all single videos. Each video may contain more than one stream.
|
94
212
|
|
95
|
-
####
|
96
|
-
|
97
|
-
Get a single video by token or key.
|
213
|
+
#### Index<a name="method-videos-index"></a>
|
98
214
|
|
99
|
-
|
100
|
-
ziggeo.videos().get(token_or_key)
|
101
|
-
```
|
102
|
-
|
215
|
+
Query an array of videos (will return at most 50 videos by default). Newest videos come first.
|
103
216
|
|
217
|
+
```ruby
|
218
|
+
ziggeo.videos().index(arguments = nil)
|
219
|
+
```
|
104
220
|
|
105
|
-
|
106
|
-
|
107
|
-
|
221
|
+
Arguments
|
222
|
+
- limit: *Limit the number of returned videos. Can be set up to 100.*
|
223
|
+
- skip: *Skip the first [n] entries.*
|
224
|
+
- reverse: *Reverse the order in which videos are returned.*
|
225
|
+
- states: *Filter videos by state*
|
226
|
+
- tags: *Filter the search result to certain tags, encoded as a comma-separated string*
|
108
227
|
|
109
|
-
|
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).*
|
228
|
+
#### Count<a name="method-videos-count"></a>
|
115
229
|
|
230
|
+
Get the video count for the application.
|
116
231
|
|
117
|
-
|
118
|
-
|
119
|
-
|
232
|
+
```ruby
|
233
|
+
ziggeo.videos().count(arguments = nil)
|
234
|
+
```
|
120
235
|
|
121
|
-
|
122
|
-
|
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.*
|
236
|
+
Arguments
|
237
|
+
- states: *Filter videos by state*
|
238
|
+
- tags: *Filter the search result to certain tags, encoded as a comma-separated string*
|
128
239
|
|
240
|
+
#### Get<a name="method-videos-get"></a>
|
129
241
|
|
130
|
-
|
131
|
-
|
132
|
-
Download the video data file
|
242
|
+
Get a single video by token or key.
|
133
243
|
|
134
|
-
```ruby
|
135
|
-
ziggeo.videos().
|
136
|
-
```
|
137
|
-
|
244
|
+
```ruby
|
245
|
+
ziggeo.videos().get(token_or_key)
|
246
|
+
```
|
138
247
|
|
248
|
+
#### Get Bulk<a name="method-videos-get-bulk"></a>
|
139
249
|
|
140
|
-
|
141
|
-
|
142
|
-
Download the image data file
|
250
|
+
Get multiple videos by tokens or keys.
|
143
251
|
|
144
|
-
```ruby
|
145
|
-
ziggeo.videos().
|
146
|
-
```
|
147
|
-
|
252
|
+
```ruby
|
253
|
+
ziggeo.videos().get_bulk(arguments = nil)
|
254
|
+
```
|
148
255
|
|
256
|
+
Arguments
|
257
|
+
- tokens_or_keys: *Comma-separated list with the desired videos tokens or keys (Limit: 100 tokens or keys).*
|
149
258
|
|
150
|
-
####
|
151
|
-
|
152
|
-
Get the video's stats
|
259
|
+
#### Stats Bulk<a name="method-videos-stats-bulk"></a>
|
153
260
|
|
154
|
-
|
155
|
-
ziggeo.videos().get_stats(token_or_key)
|
156
|
-
```
|
157
|
-
|
261
|
+
Get stats for multiple videos by tokens or keys.
|
158
262
|
|
263
|
+
```ruby
|
264
|
+
ziggeo.videos().stats_bulk(arguments = nil)
|
265
|
+
```
|
159
266
|
|
160
|
-
|
161
|
-
|
162
|
-
|
267
|
+
Arguments
|
268
|
+
- tokens_or_keys: *Comma-separated list with the desired videos tokens or keys (Limit: 100 tokens or keys).*
|
269
|
+
- 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.*
|
163
270
|
|
164
|
-
|
165
|
-
ziggeo.videos().push_to_service(token_or_key, arguments = nil)
|
166
|
-
```
|
167
|
-
|
168
|
-
Arguments
|
169
|
-
- pushservicetoken: *Push Services's token (from the Push Services configured for the app)*
|
271
|
+
#### Download Video<a name="method-videos-download-video"></a>
|
170
272
|
|
273
|
+
Download the video data file
|
171
274
|
|
172
|
-
|
173
|
-
|
174
|
-
|
275
|
+
```ruby
|
276
|
+
ziggeo.videos().download_video(token_or_key)
|
277
|
+
```
|
175
278
|
|
176
|
-
|
177
|
-
ziggeo.videos().apply_effect(token_or_key, arguments = nil)
|
178
|
-
```
|
179
|
-
|
180
|
-
Arguments
|
181
|
-
- effectprofiletoken: *Effect Profile token (from the Effect Profiles configured for the app)*
|
279
|
+
#### Download Image<a name="method-videos-download-image"></a>
|
182
280
|
|
281
|
+
Download the image data file
|
183
282
|
|
184
|
-
|
185
|
-
|
186
|
-
|
283
|
+
```ruby
|
284
|
+
ziggeo.videos().download_image(token_or_key)
|
285
|
+
```
|
187
286
|
|
188
|
-
|
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)*
|
287
|
+
#### Get Stats<a name="method-videos-get-stats"></a>
|
194
288
|
|
289
|
+
Get the video's stats
|
195
290
|
|
196
|
-
|
197
|
-
|
198
|
-
|
291
|
+
```ruby
|
292
|
+
ziggeo.videos().get_stats(token_or_key)
|
293
|
+
```
|
199
294
|
|
200
|
-
|
201
|
-
ziggeo.videos().update(token_or_key, arguments = nil)
|
202
|
-
```
|
203
|
-
|
204
|
-
Arguments
|
205
|
-
- min_duration: *Minimal duration of video*
|
206
|
-
- max_duration: *Maximal duration of video*
|
207
|
-
- tags: *Video Tags*
|
208
|
-
- key: *Unique (optional) name of video*
|
209
|
-
- volatile: *Automatically removed this video if it remains empty*
|
210
|
-
- expiration_days: *After how many days will this video be deleted*
|
211
|
-
- expire_on: *On which date will this video be deleted. String in ISO 8601 format: YYYY-MM-DD*
|
295
|
+
#### Push To Service<a name="method-videos-push-to-service"></a>
|
212
296
|
|
297
|
+
Push a video to a provided push service.
|
213
298
|
|
214
|
-
|
215
|
-
|
216
|
-
|
299
|
+
```ruby
|
300
|
+
ziggeo.videos().push_to_service(token_or_key, arguments = nil)
|
301
|
+
```
|
217
302
|
|
218
|
-
|
219
|
-
|
220
|
-
```
|
221
|
-
|
222
|
-
Arguments
|
223
|
-
- tokens_or_keys: *Comma-separated list with the desired videos tokens or keys (Limit: 100 tokens or keys).*
|
224
|
-
- min_duration: *Minimal duration of video*
|
225
|
-
- max_duration: *Maximal duration of video*
|
226
|
-
- tags: *Video Tags*
|
227
|
-
- volatile: *Automatically removed this video if it remains empty*
|
228
|
-
- expiration_days: *After how many days will this video be deleted*
|
229
|
-
- expire_on: *On which date will this video be deleted. String in ISO 8601 format: YYYY-MM-DD*
|
303
|
+
Arguments
|
304
|
+
- pushservicetoken: *Push Services's token (from the Push Services configured for the app)*
|
230
305
|
|
306
|
+
#### Apply Effect<a name="method-videos-apply-effect"></a>
|
231
307
|
|
232
|
-
|
233
|
-
|
234
|
-
Delete a single video by token or key.
|
308
|
+
Apply an effect profile to a video.
|
235
309
|
|
236
|
-
```ruby
|
237
|
-
ziggeo.videos().
|
238
|
-
```
|
239
|
-
|
310
|
+
```ruby
|
311
|
+
ziggeo.videos().apply_effect(token_or_key, arguments = nil)
|
312
|
+
```
|
240
313
|
|
314
|
+
Arguments
|
315
|
+
- effectprofiletoken: *Effect Profile token (from the Effect Profiles configured for the app)*
|
241
316
|
|
242
|
-
####
|
243
|
-
|
244
|
-
Create a new video.
|
317
|
+
#### Apply Meta<a name="method-videos-apply-meta"></a>
|
245
318
|
|
246
|
-
|
247
|
-
ziggeo.videos().create(arguments = nil, file = nil)
|
248
|
-
```
|
249
|
-
|
250
|
-
Arguments
|
251
|
-
- file: *Video file to be uploaded*
|
252
|
-
- min_duration: *Minimal duration of video*
|
253
|
-
- max_duration: *Maximal duration of video*
|
254
|
-
- tags: *Video Tags*
|
255
|
-
- key: *Unique (optional) name of video*
|
256
|
-
- volatile: *Automatically removed this video if it remains empty*
|
319
|
+
Apply a meta profile to a video.
|
257
320
|
|
321
|
+
```ruby
|
322
|
+
ziggeo.videos().apply_meta(token_or_key, arguments = nil)
|
323
|
+
```
|
258
324
|
|
259
|
-
|
260
|
-
|
261
|
-
Get analytics for a specific videos with the given params
|
325
|
+
Arguments
|
326
|
+
- metaprofiletoken: *Meta Profile token (from the Meta Profiles configured for the app)*
|
262
327
|
|
263
|
-
|
264
|
-
ziggeo.videos().analytics(token_or_key, arguments = nil)
|
265
|
-
```
|
266
|
-
|
267
|
-
Arguments
|
268
|
-
- from: *A UNIX timestamp in microseconds used as the start date of the query*
|
269
|
-
- to: *A UNIX timestamp in microseconds used as the end date of the query*
|
270
|
-
- date: *A UNIX timestamp in microseconds to retrieve data from a single date. If set, it overwrites the from and to params.*
|
271
|
-
- 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*
|
328
|
+
#### Update<a name="method-videos-update"></a>
|
272
329
|
|
330
|
+
Update single video by token or key.
|
273
331
|
|
274
|
-
|
332
|
+
```ruby
|
333
|
+
ziggeo.videos().update(token_or_key, arguments = nil)
|
334
|
+
```
|
275
335
|
|
276
|
-
|
277
|
-
|
336
|
+
Arguments
|
337
|
+
- min_duration: *Minimal duration of video*
|
338
|
+
- max_duration: *Maximal duration of video*
|
339
|
+
- tags: *Video Tags*
|
340
|
+
- key: *Unique (optional) name of video*
|
341
|
+
- volatile: *Automatically removed this video if it remains empty*
|
342
|
+
- expiration_days: *After how many days will this video be deleted*
|
343
|
+
- expire_on: *On which date will this video be deleted. String in ISO 8601 format: YYYY-MM-DD*
|
278
344
|
|
279
|
-
####
|
280
|
-
|
281
|
-
Return all streams associated with a video
|
345
|
+
#### Update Bulk<a name="method-videos-update-bulk"></a>
|
282
346
|
|
283
|
-
|
284
|
-
ziggeo.streams().index(video_token_or_key, arguments = nil)
|
285
|
-
```
|
286
|
-
|
287
|
-
Arguments
|
288
|
-
- states: *Filter streams by state*
|
347
|
+
Update multiple videos by token or key.
|
289
348
|
|
349
|
+
```ruby
|
350
|
+
ziggeo.videos().update_bulk(arguments = nil)
|
351
|
+
```
|
290
352
|
|
291
|
-
|
292
|
-
|
293
|
-
|
353
|
+
Arguments
|
354
|
+
- tokens_or_keys: *Comma-separated list with the desired videos tokens or keys (Limit: 100 tokens or keys).*
|
355
|
+
- min_duration: *Minimal duration of video*
|
356
|
+
- max_duration: *Maximal duration of video*
|
357
|
+
- tags: *Video Tags*
|
358
|
+
- volatile: *Automatically removed this video if it remains empty*
|
359
|
+
- expiration_days: *After how many days will this video be deleted*
|
360
|
+
- expire_on: *On which date will this video be deleted. String in ISO 8601 format: YYYY-MM-DD*
|
294
361
|
|
295
|
-
|
296
|
-
ziggeo.streams().get(video_token_or_key, token_or_key)
|
297
|
-
```
|
298
|
-
|
362
|
+
#### Delete<a name="method-videos-delete"></a>
|
299
363
|
|
364
|
+
Delete a single video by token or key.
|
300
365
|
|
301
|
-
|
302
|
-
|
303
|
-
|
366
|
+
```ruby
|
367
|
+
ziggeo.videos().delete(token_or_key)
|
368
|
+
```
|
304
369
|
|
305
|
-
|
306
|
-
ziggeo.streams().download_video(video_token_or_key, token_or_key)
|
307
|
-
```
|
308
|
-
|
370
|
+
#### Create<a name="method-videos-create"></a>
|
309
371
|
|
372
|
+
Create a new video.
|
310
373
|
|
311
|
-
|
312
|
-
|
313
|
-
|
374
|
+
```ruby
|
375
|
+
ziggeo.videos().create(arguments = nil, file = nil)
|
376
|
+
```
|
314
377
|
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
378
|
+
Arguments
|
379
|
+
- file: *Video file to be uploaded*
|
380
|
+
- min_duration: *Minimal duration of video*
|
381
|
+
- max_duration: *Maximal duration of video*
|
382
|
+
- tags: *Video Tags*
|
383
|
+
- key: *Unique (optional) name of video*
|
384
|
+
- volatile: *Automatically removed this video if it remains empty*
|
385
|
+
- effect_profile: *Set the effect profile that you want to have applied to your video.*
|
386
|
+
- meta_profile: *Set the meta profile that you want to have applied to your video once created.*
|
387
|
+
- video_profile: *Set the video profile that you want to have applied to your video as you create it.*
|
319
388
|
|
389
|
+
#### Analytics<a name="method-videos-analytics"></a>
|
320
390
|
|
321
|
-
|
322
|
-
|
323
|
-
Push a stream to a provided push service.
|
391
|
+
Get analytics for a specific videos with the given params
|
324
392
|
|
325
|
-
```ruby
|
326
|
-
ziggeo.
|
327
|
-
```
|
328
|
-
|
329
|
-
Arguments
|
330
|
-
- pushservicetoken: *Push Services's token (from the Push Services configured for the app)*
|
393
|
+
```ruby
|
394
|
+
ziggeo.videos().analytics(token_or_key, arguments = nil)
|
395
|
+
```
|
331
396
|
|
397
|
+
Arguments
|
398
|
+
- from: *A UNIX timestamp in microseconds used as the start date of the query*
|
399
|
+
- to: *A UNIX timestamp in microseconds used as the end date of the query*
|
400
|
+
- date: *A UNIX timestamp in microseconds to retrieve data from a single date. If set, it overwrites the from and to params.*
|
401
|
+
- 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*
|
332
402
|
|
333
|
-
|
334
|
-
|
335
|
-
Delete the stream
|
403
|
+
### Streams<a name="method-streams"></a>
|
336
404
|
|
337
|
-
```ruby
|
338
|
-
ziggeo.streams().delete(video_token_or_key, token_or_key)
|
339
|
-
```
|
340
|
-
|
341
405
|
|
406
|
+
The streams resource allows you to directly access all streams associated with a single video.
|
342
407
|
|
343
|
-
####
|
344
|
-
|
345
|
-
Create a new stream
|
408
|
+
#### Index<a name="method-streams-index"></a>
|
346
409
|
|
347
|
-
|
348
|
-
ziggeo.streams().create(video_token_or_key, arguments = nil, file = nil)
|
349
|
-
```
|
350
|
-
|
351
|
-
Arguments
|
352
|
-
- file: *Video file to be uploaded*
|
410
|
+
Return all streams associated with a video
|
353
411
|
|
412
|
+
```ruby
|
413
|
+
ziggeo.streams().index(video_token_or_key, arguments = nil)
|
414
|
+
```
|
354
415
|
|
355
|
-
|
356
|
-
|
357
|
-
Attaches an image to a new stream
|
416
|
+
Arguments
|
417
|
+
- states: *Filter streams by state*
|
358
418
|
|
359
|
-
|
360
|
-
ziggeo.streams().attach_image(video_token_or_key, token_or_key, arguments = nil, file = nil)
|
361
|
-
```
|
362
|
-
|
363
|
-
Arguments
|
364
|
-
- file: *Image file to be attached*
|
419
|
+
#### Get<a name="method-streams-get"></a>
|
365
420
|
|
421
|
+
Get a single stream
|
366
422
|
|
367
|
-
|
368
|
-
|
369
|
-
|
423
|
+
```ruby
|
424
|
+
ziggeo.streams().get(video_token_or_key, token_or_key)
|
425
|
+
```
|
370
426
|
|
371
|
-
|
372
|
-
ziggeo.streams().attach_video(video_token_or_key, token_or_key, arguments = nil, file = nil)
|
373
|
-
```
|
374
|
-
|
375
|
-
Arguments
|
376
|
-
- file: *Video file to be attached*
|
427
|
+
#### Download Video<a name="method-streams-download-video"></a>
|
377
428
|
|
429
|
+
Download the video data associated with the stream
|
378
430
|
|
379
|
-
|
380
|
-
|
381
|
-
|
431
|
+
```ruby
|
432
|
+
ziggeo.streams().download_video(video_token_or_key, token_or_key)
|
433
|
+
```
|
382
434
|
|
383
|
-
|
384
|
-
ziggeo.streams().attach_subtitle(video_token_or_key, token_or_key, arguments = nil)
|
385
|
-
```
|
386
|
-
|
387
|
-
Arguments
|
388
|
-
- lang: *Subtitle language*
|
389
|
-
- label: *Subtitle reference*
|
390
|
-
- data: *Actual subtitle*
|
435
|
+
#### Download Image<a name="method-streams-download-image"></a>
|
391
436
|
|
437
|
+
Download the image data associated with the stream
|
392
438
|
|
393
|
-
|
394
|
-
|
395
|
-
|
439
|
+
```ruby
|
440
|
+
ziggeo.streams().download_image(video_token_or_key, token_or_key)
|
441
|
+
```
|
396
442
|
|
397
|
-
|
398
|
-
ziggeo.streams().bind(video_token_or_key, token_or_key, arguments = nil)
|
399
|
-
```
|
400
|
-
|
443
|
+
#### Push To Service<a name="method-streams-push-to-service"></a>
|
401
444
|
|
445
|
+
Push a stream to a provided push service.
|
402
446
|
|
403
|
-
|
447
|
+
```ruby
|
448
|
+
ziggeo.streams().push_to_service(video_token_or_key, token_or_key, arguments = nil)
|
449
|
+
```
|
404
450
|
|
405
|
-
|
406
|
-
|
451
|
+
Arguments
|
452
|
+
- pushservicetoken: *Push Services's token (from the Push Services configured for the app)*
|
407
453
|
|
408
|
-
####
|
409
|
-
|
410
|
-
Get a single auth token by token.
|
454
|
+
#### Delete<a name="method-streams-delete"></a>
|
411
455
|
|
412
|
-
|
413
|
-
ziggeo.authtokens().get(token)
|
414
|
-
```
|
415
|
-
|
456
|
+
Delete the stream
|
416
457
|
|
458
|
+
```ruby
|
459
|
+
ziggeo.streams().delete(video_token_or_key, token_or_key)
|
460
|
+
```
|
417
461
|
|
418
|
-
####
|
419
|
-
|
420
|
-
Update single auth token by token.
|
462
|
+
#### Create<a name="method-streams-create"></a>
|
421
463
|
|
422
|
-
|
423
|
-
ziggeo.authtokens().update(token_or_key, arguments = nil)
|
424
|
-
```
|
425
|
-
|
426
|
-
Arguments
|
427
|
-
- volatile: *Will this object automatically be deleted if it remains empty?*
|
428
|
-
- hidden: *If hidden, the token cannot be used directly.*
|
429
|
-
- expiration_date: *Expiration date for the auth token*
|
430
|
-
- usage_experitation_time: *Expiration time per session*
|
431
|
-
- session_limit: *Maximal number of sessions*
|
432
|
-
- grants: *Permissions this tokens grants*
|
464
|
+
Create a new stream
|
433
465
|
|
466
|
+
```ruby
|
467
|
+
ziggeo.streams().create(video_token_or_key, arguments = nil, file = nil)
|
468
|
+
```
|
434
469
|
|
435
|
-
|
436
|
-
|
437
|
-
Delete a single auth token by token.
|
470
|
+
Arguments
|
471
|
+
- file: *Video file to be uploaded*
|
438
472
|
|
439
|
-
|
440
|
-
ziggeo.authtokens().delete(token_or_key)
|
441
|
-
```
|
442
|
-
|
473
|
+
#### Attach Image<a name="method-streams-attach-image"></a>
|
443
474
|
|
475
|
+
Attaches an image to a new stream. Must be attached before video, since video upload triggers the transcoding job and binds the stream
|
444
476
|
|
445
|
-
|
446
|
-
|
447
|
-
|
477
|
+
```ruby
|
478
|
+
ziggeo.streams().attach_image(video_token_or_key, token_or_key, arguments = nil, file = nil)
|
479
|
+
```
|
448
480
|
|
449
|
-
|
450
|
-
|
451
|
-
```
|
452
|
-
|
453
|
-
Arguments
|
454
|
-
- volatile: *Will this object automatically be deleted if it remains empty?*
|
455
|
-
- hidden: *If hidden, the token cannot be used directly.*
|
456
|
-
- expiration_date: *Expiration date for the auth token*
|
457
|
-
- usage_experitation_time: *Expiration time per session*
|
458
|
-
- session_limit: *Maximal number of sessions*
|
459
|
-
- grants: *Permissions this tokens grants*
|
481
|
+
Arguments
|
482
|
+
- file: *Image file to be attached*
|
460
483
|
|
484
|
+
#### Attach Video<a name="method-streams-attach-video"></a>
|
461
485
|
|
462
|
-
|
486
|
+
Attaches a video to a new stream
|
463
487
|
|
464
|
-
|
465
|
-
|
488
|
+
```ruby
|
489
|
+
ziggeo.streams().attach_video(video_token_or_key, token_or_key, arguments = nil, file = nil)
|
490
|
+
```
|
466
491
|
|
467
|
-
|
468
|
-
|
469
|
-
Read application.
|
492
|
+
Arguments
|
493
|
+
- file: *Video file to be attached*
|
470
494
|
|
471
|
-
|
472
|
-
ziggeo.application().get()
|
473
|
-
```
|
474
|
-
|
495
|
+
#### Attach Subtitle<a name="method-streams-attach-subtitle"></a>
|
475
496
|
|
497
|
+
Attaches a subtitle to the stream.
|
476
498
|
|
477
|
-
|
478
|
-
|
479
|
-
|
499
|
+
```ruby
|
500
|
+
ziggeo.streams().attach_subtitle(video_token_or_key, token_or_key, arguments = nil)
|
501
|
+
```
|
480
502
|
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
Arguments
|
486
|
-
- volatile: *Will this object automatically be deleted if it remains empty?*
|
487
|
-
- name: *Name of the application*
|
488
|
-
- auth_token_required_for_create: *Require auth token for creating videos*
|
489
|
-
- auth_token_required_for_update: *Require auth token for updating videos*
|
490
|
-
- auth_token_required_for_read: *Require auth token for reading videos*
|
491
|
-
- auth_token_required_for_destroy: *Require auth token for deleting videos*
|
492
|
-
- client_can_index_videos: *Client is allowed to perform the index operation*
|
493
|
-
- client_cannot_access_unaccepted_videos: *Client cannot view unaccepted videos*
|
494
|
-
- enable_video_subpages: *Enable hosted video pages*
|
495
|
-
|
496
|
-
|
497
|
-
#### Get Stats
|
498
|
-
|
499
|
-
Read application stats
|
503
|
+
Arguments
|
504
|
+
- lang: *Subtitle language*
|
505
|
+
- label: *Subtitle reference*
|
506
|
+
- data: *Actual subtitle*
|
500
507
|
|
501
|
-
|
502
|
-
ziggeo.application().get_stats(arguments = nil)
|
503
|
-
```
|
504
|
-
|
505
|
-
Arguments
|
506
|
-
- period: *Optional. Can be 'year' or 'month'.*
|
508
|
+
### Audios<a name="method-audios"></a>
|
507
509
|
|
508
510
|
|
509
|
-
|
511
|
+
The audios resource allows you to access all single audios. Each video may contain more than one stream.
|
510
512
|
|
511
|
-
|
512
|
-
|
513
|
+
#### Index<a name="method-audios-index"></a>
|
513
514
|
|
514
|
-
|
515
|
-
|
516
|
-
Create a new effect profile.
|
515
|
+
Query an array of audios (will return at most 50 audios by default). Newest audios come first.
|
517
516
|
|
518
|
-
```ruby
|
519
|
-
ziggeo.
|
520
|
-
```
|
521
|
-
|
522
|
-
Arguments
|
523
|
-
- key: *Effect profile key.*
|
524
|
-
- title: *Effect profile title.*
|
525
|
-
- default_effect: *Boolean. If TRUE, sets an effect profile as default. If FALSE, removes the default status for the given effect*
|
517
|
+
```ruby
|
518
|
+
ziggeo.audios().index(arguments = nil)
|
519
|
+
```
|
526
520
|
|
521
|
+
Arguments
|
522
|
+
- limit: *Limit the number of returned audios. Can be set up to 100.*
|
523
|
+
- skip: *Skip the first [n] entries.*
|
524
|
+
- reverse: *Reverse the order in which audios are returned.*
|
525
|
+
- states: *Filter audios by state*
|
526
|
+
- tags: *Filter the search result to certain tags, encoded as a comma-separated string*
|
527
527
|
|
528
|
-
####
|
529
|
-
|
530
|
-
Get list of effect profiles.
|
528
|
+
#### Count<a name="method-audios-count"></a>
|
531
529
|
|
532
|
-
|
533
|
-
ziggeo.effectProfiles().index(arguments = nil)
|
534
|
-
```
|
535
|
-
|
536
|
-
Arguments
|
537
|
-
- limit: *Limit the number of returned effect profiles. Can be set up to 100.*
|
538
|
-
- skip: *Skip the first [n] entries.*
|
539
|
-
- reverse: *Reverse the order in which effect profiles are returned.*
|
530
|
+
Get the audio count for the application.
|
540
531
|
|
532
|
+
```ruby
|
533
|
+
ziggeo.audios().count(arguments = nil)
|
534
|
+
```
|
541
535
|
|
542
|
-
|
543
|
-
|
544
|
-
|
536
|
+
Arguments
|
537
|
+
- states: *Filter audios by state*
|
538
|
+
- tags: *Filter the search result to certain tags, encoded as a comma-separated string*
|
545
539
|
|
546
|
-
|
547
|
-
ziggeo.effectProfiles().get(token_or_key)
|
548
|
-
```
|
549
|
-
|
540
|
+
#### Get<a name="method-audios-get"></a>
|
550
541
|
|
542
|
+
Get a single audio by token or key.
|
551
543
|
|
552
|
-
|
553
|
-
|
554
|
-
|
544
|
+
```ruby
|
545
|
+
ziggeo.audios().get(token_or_key)
|
546
|
+
```
|
555
547
|
|
556
|
-
|
557
|
-
ziggeo.effectProfiles().delete(token_or_key)
|
558
|
-
```
|
559
|
-
|
548
|
+
#### Get Bulk<a name="method-audios-get-bulk"></a>
|
560
549
|
|
550
|
+
Get multiple audios by tokens or keys.
|
561
551
|
|
562
|
-
|
563
|
-
|
564
|
-
|
552
|
+
```ruby
|
553
|
+
ziggeo.audios().get_bulk(arguments = nil)
|
554
|
+
```
|
565
555
|
|
566
|
-
|
567
|
-
|
568
|
-
```
|
569
|
-
|
570
|
-
Arguments
|
571
|
-
- default_effect: *Boolean. If TRUE, sets an effect profile as default. If FALSE, removes the default status for the given effect*
|
556
|
+
Arguments
|
557
|
+
- tokens_or_keys: *Comma-separated list with the desired audios tokens or keys (Limit: 100 tokens or keys).*
|
572
558
|
|
559
|
+
#### Download Audio<a name="method-audios-download-audio"></a>
|
573
560
|
|
574
|
-
|
561
|
+
Download the audio data file
|
575
562
|
|
576
|
-
|
577
|
-
|
563
|
+
```ruby
|
564
|
+
ziggeo.audios().download_audio(token_or_key)
|
565
|
+
```
|
578
566
|
|
579
|
-
####
|
580
|
-
|
581
|
-
Return all processes associated with a effect profile
|
567
|
+
#### Update<a name="method-audios-update"></a>
|
582
568
|
|
583
|
-
|
584
|
-
ziggeo.effectProfileProcess().index(effect_token_or_key, arguments = nil)
|
585
|
-
```
|
586
|
-
|
587
|
-
Arguments
|
588
|
-
- states: *Filter streams by state*
|
569
|
+
Update single audio by token or key.
|
589
570
|
|
571
|
+
```ruby
|
572
|
+
ziggeo.audios().update(token_or_key, arguments = nil)
|
573
|
+
```
|
590
574
|
|
591
|
-
|
592
|
-
|
593
|
-
|
575
|
+
Arguments
|
576
|
+
- min_duration: *Minimal duration of audio*
|
577
|
+
- max_duration: *Maximal duration of audio*
|
578
|
+
- tags: *Audio Tags*
|
579
|
+
- key: *Unique (optional) name of audio*
|
580
|
+
- volatile: *Automatically removed this audio if it remains empty*
|
581
|
+
- expiration_days: *After how many days will this audio be deleted*
|
582
|
+
- expire_on: *On which date will this audio be deleted. String in ISO 8601 format: YYYY-MM-DD*
|
594
583
|
|
595
|
-
|
596
|
-
ziggeo.effectProfileProcess().get(effect_token_or_key, token_or_key)
|
597
|
-
```
|
598
|
-
|
584
|
+
#### Update Bulk<a name="method-audios-update-bulk"></a>
|
599
585
|
|
586
|
+
Update multiple audios by token or key.
|
600
587
|
|
601
|
-
|
602
|
-
|
603
|
-
|
588
|
+
```ruby
|
589
|
+
ziggeo.audios().update_bulk(arguments = nil)
|
590
|
+
```
|
604
591
|
|
605
|
-
|
606
|
-
|
607
|
-
|
608
|
-
|
592
|
+
Arguments
|
593
|
+
- tokens_or_keys: *Comma-separated list with the desired audios tokens or keys (Limit: 100 tokens or keys).*
|
594
|
+
- min_duration: *Minimal duration of audio*
|
595
|
+
- max_duration: *Maximal duration of audio*
|
596
|
+
- tags: *Audio Tags*
|
597
|
+
- volatile: *Automatically removed this audio if it remains empty*
|
598
|
+
- expiration_days: *After how many days will this audio be deleted*
|
599
|
+
- expire_on: *On which date will this audio be deleted. String in ISO 8601 format: YYYY-MM-DD*
|
609
600
|
|
601
|
+
#### Delete<a name="method-audios-delete"></a>
|
610
602
|
|
611
|
-
|
612
|
-
|
613
|
-
Create a new filter effect process
|
603
|
+
Delete a single audio by token or key.
|
614
604
|
|
615
|
-
```ruby
|
616
|
-
ziggeo.
|
617
|
-
```
|
618
|
-
|
619
|
-
Arguments
|
620
|
-
- effect: *Effect to be applied in the process*
|
605
|
+
```ruby
|
606
|
+
ziggeo.audios().delete(token_or_key)
|
607
|
+
```
|
621
608
|
|
609
|
+
#### Create<a name="method-audios-create"></a>
|
622
610
|
|
623
|
-
|
624
|
-
|
625
|
-
Attaches an image to a new stream
|
611
|
+
Create a new audio.
|
626
612
|
|
627
|
-
```ruby
|
628
|
-
ziggeo.
|
629
|
-
```
|
630
|
-
|
631
|
-
Arguments
|
632
|
-
- file: *Image file to be attached*
|
633
|
-
- vertical_position: *Specify the vertical position of your watermark (a value between 0.0 and 1.0)*
|
634
|
-
- horizontal_position: *Specify the horizontal position of your watermark (a value between 0.0 and 1.0)*
|
635
|
-
- video_scale: *Specify the image scale of your watermark (a value between 0.0 and 1.0)*
|
613
|
+
```ruby
|
614
|
+
ziggeo.audios().create(arguments = nil, file = nil)
|
615
|
+
```
|
636
616
|
|
617
|
+
Arguments
|
618
|
+
- file: *Audio file to be uploaded*
|
619
|
+
- min_duration: *Minimal duration of audio*
|
620
|
+
- max_duration: *Maximal duration of audio*
|
621
|
+
- tags: *Audio Tags*
|
622
|
+
- key: *Unique (optional) name of audio*
|
623
|
+
- volatile: *Automatically removed this video if it remains empty*
|
637
624
|
|
638
|
-
|
639
|
-
|
640
|
-
Edits an existing watermark process.
|
625
|
+
### Audio_streams<a name="method-audio-streams"></a>
|
641
626
|
|
642
|
-
```ruby
|
643
|
-
ziggeo.effectProfileProcess().edit_watermark_process(effect_token_or_key, token_or_key, arguments = nil, file = nil)
|
644
|
-
```
|
645
|
-
|
646
|
-
Arguments
|
647
|
-
- file: *Image file to be attached*
|
648
|
-
- vertical_position: *Specify the vertical position of your watermark (a value between 0.0 and 1.0)*
|
649
|
-
- horizontal_position: *Specify the horizontal position of your watermark (a value between 0.0 and 1.0)*
|
650
|
-
- video_scale: *Specify the image scale of your watermark (a value between 0.0 and 1.0)*
|
651
627
|
|
628
|
+
The streams resource allows you to directly access all streams associated with a single audio.
|
652
629
|
|
653
|
-
|
630
|
+
#### Index<a name="method-audio-streams-index"></a>
|
654
631
|
|
655
|
-
|
656
|
-
|
632
|
+
Return all streams associated with a audio
|
657
633
|
|
658
|
-
|
659
|
-
|
660
|
-
|
634
|
+
```ruby
|
635
|
+
ziggeo.audio_streams().index(audio_token_or_key, arguments = nil)
|
636
|
+
```
|
661
637
|
|
662
|
-
|
663
|
-
|
664
|
-
```
|
665
|
-
|
666
|
-
Arguments
|
667
|
-
- key: *Meta Profile profile key.*
|
668
|
-
- title: *Meta Profile profile title.*
|
638
|
+
Arguments
|
639
|
+
- states: *Filter streams by state*
|
669
640
|
|
641
|
+
#### Get<a name="method-audio-streams-get"></a>
|
670
642
|
|
671
|
-
|
672
|
-
|
673
|
-
Get list of meta profiles.
|
643
|
+
Get a single stream
|
674
644
|
|
675
|
-
```ruby
|
676
|
-
ziggeo.
|
677
|
-
```
|
678
|
-
|
679
|
-
Arguments
|
680
|
-
- limit: *Limit the number of returned meta profiles. Can be set up to 100.*
|
681
|
-
- skip: *Skip the first [n] entries.*
|
682
|
-
- reverse: *Reverse the order in which meta profiles are returned.*
|
645
|
+
```ruby
|
646
|
+
ziggeo.audio_streams().get(audio_token_or_key, token_or_key)
|
647
|
+
```
|
683
648
|
|
649
|
+
#### Download Audio<a name="method-audio-streams-download-audio"></a>
|
684
650
|
|
685
|
-
|
686
|
-
|
687
|
-
Get a single meta profile
|
651
|
+
Download the audio data associated with the stream
|
688
652
|
|
689
|
-
```ruby
|
690
|
-
ziggeo.
|
691
|
-
```
|
692
|
-
|
653
|
+
```ruby
|
654
|
+
ziggeo.audio_streams().download_audio(audio_token_or_key, token_or_key)
|
655
|
+
```
|
693
656
|
|
657
|
+
#### Delete<a name="method-audio-streams-delete"></a>
|
694
658
|
|
695
|
-
|
696
|
-
|
697
|
-
Delete the meta profile
|
659
|
+
Delete the stream
|
698
660
|
|
699
|
-
```ruby
|
700
|
-
ziggeo.
|
701
|
-
```
|
702
|
-
|
661
|
+
```ruby
|
662
|
+
ziggeo.audio_streams().delete(audio_token_or_key, token_or_key)
|
663
|
+
```
|
703
664
|
|
665
|
+
#### Create<a name="method-audio-streams-create"></a>
|
704
666
|
|
705
|
-
|
667
|
+
Create a new stream
|
706
668
|
|
707
|
-
|
708
|
-
|
669
|
+
```ruby
|
670
|
+
ziggeo.audio_streams().create(audio_token_or_key, arguments = nil, file = nil)
|
671
|
+
```
|
709
672
|
|
710
|
-
|
711
|
-
|
712
|
-
Return all processes associated with a meta profile
|
673
|
+
Arguments
|
674
|
+
- file: *Audio file to be uploaded*
|
713
675
|
|
714
|
-
|
715
|
-
ziggeo.metaProfileProcess().index(meta_token_or_key)
|
716
|
-
```
|
717
|
-
|
676
|
+
### Authtokens<a name="method-authtokens"></a>
|
718
677
|
|
719
678
|
|
720
|
-
|
721
|
-
|
722
|
-
Get a single process
|
679
|
+
The auth token resource allows you to manage authorization settings for video objects.
|
723
680
|
|
724
|
-
|
725
|
-
ziggeo.metaProfileProcess().get(meta_token_or_key, token_or_key)
|
726
|
-
```
|
727
|
-
|
681
|
+
#### Get<a name="method-authtokens-get"></a>
|
728
682
|
|
683
|
+
Get a single auth token by token.
|
729
684
|
|
730
|
-
|
731
|
-
|
732
|
-
|
685
|
+
```ruby
|
686
|
+
ziggeo.authtokens().get(token)
|
687
|
+
```
|
733
688
|
|
734
|
-
|
735
|
-
ziggeo.metaProfileProcess().delete(meta_token_or_key, token_or_key)
|
736
|
-
```
|
737
|
-
|
689
|
+
#### Update<a name="method-authtokens-update"></a>
|
738
690
|
|
691
|
+
Update single auth token by token.
|
739
692
|
|
740
|
-
|
741
|
-
|
742
|
-
|
693
|
+
```ruby
|
694
|
+
ziggeo.authtokens().update(token_or_key, arguments = nil)
|
695
|
+
```
|
743
696
|
|
744
|
-
|
745
|
-
|
746
|
-
|
747
|
-
|
697
|
+
Arguments
|
698
|
+
- volatile: *Will this object automatically be deleted if it remains empty?*
|
699
|
+
- hidden: *If hidden, the token cannot be used directly.*
|
700
|
+
- expiration_date: *Expiration date for the auth token (Unix epoch time format)*
|
701
|
+
- usage_expiration_time: *Expiration time per session (seconds)*
|
702
|
+
- session_limit: *Maximal number of sessions*
|
703
|
+
- grants: *Permissions this tokens grants*
|
748
704
|
|
705
|
+
#### Delete<a name="method-authtokens-delete"></a>
|
749
706
|
|
750
|
-
|
751
|
-
|
752
|
-
Create a new audio transcription meta process
|
707
|
+
Delete a single auth token by token.
|
753
708
|
|
754
|
-
```ruby
|
755
|
-
ziggeo.
|
756
|
-
```
|
757
|
-
|
709
|
+
```ruby
|
710
|
+
ziggeo.authtokens().delete(token_or_key)
|
711
|
+
```
|
758
712
|
|
713
|
+
#### Create<a name="method-authtokens-create"></a>
|
759
714
|
|
760
|
-
|
761
|
-
|
762
|
-
Create a new nsfw filter meta process
|
715
|
+
Create a new auth token.
|
763
716
|
|
764
|
-
```ruby
|
765
|
-
ziggeo.
|
766
|
-
```
|
767
|
-
|
768
|
-
Arguments
|
769
|
-
- nsfw_action: *One of the following three: approve, reject, nothing.*
|
717
|
+
```ruby
|
718
|
+
ziggeo.authtokens().create(arguments = nil)
|
719
|
+
```
|
770
720
|
|
721
|
+
Arguments
|
722
|
+
- volatile: *Will this object automatically be deleted if it remains empty?*
|
723
|
+
- hidden: *If hidden, the token cannot be used directly.*
|
724
|
+
- expiration_date: *Expiration date for the auth token (Unix epoch time format)*
|
725
|
+
- usage_expiration_time: *Expiration time per session (seconds)*
|
726
|
+
- session_limit: *Maximal number of sessions*
|
727
|
+
- grants: *Permissions this tokens grants*
|
771
728
|
|
772
|
-
###
|
729
|
+
### Application<a name="method-application"></a>
|
773
730
|
|
774
|
-
The webhooks resource allows you to create or delete webhooks related to a given application.
|
775
|
-
|
776
731
|
|
777
|
-
|
778
|
-
|
779
|
-
Create a new webhook for the given url to catch the given events.
|
732
|
+
The application token resource allows you to manage your application.
|
780
733
|
|
781
|
-
|
782
|
-
ziggeo.webhooks().create(arguments = nil)
|
783
|
-
```
|
784
|
-
|
785
|
-
Arguments
|
786
|
-
- target_url: *The url that will catch the events*
|
787
|
-
- encoding: *Data encoding to be used by the webhook to send the events.*
|
788
|
-
- events: *Comma-separated list of the events the webhook will catch. They must be valid webhook type events.*
|
734
|
+
#### Get<a name="method-application-get"></a>
|
789
735
|
|
736
|
+
Read application.
|
790
737
|
|
791
|
-
|
792
|
-
|
793
|
-
|
738
|
+
```ruby
|
739
|
+
ziggeo.application().get()
|
740
|
+
```
|
794
741
|
|
795
|
-
|
796
|
-
ziggeo.webhooks().confirm(arguments = nil)
|
797
|
-
```
|
798
|
-
|
799
|
-
Arguments
|
800
|
-
- webhook_id: *Webhook ID that's returned in the creation call.*
|
801
|
-
- validation_code: *Validation code that is sent to the webhook when created.*
|
742
|
+
#### Update<a name="method-application-update"></a>
|
802
743
|
|
744
|
+
Update application.
|
803
745
|
|
804
|
-
|
805
|
-
|
806
|
-
|
746
|
+
```ruby
|
747
|
+
ziggeo.application().update(arguments = nil)
|
748
|
+
```
|
807
749
|
|
808
|
-
|
809
|
-
|
810
|
-
|
811
|
-
|
812
|
-
|
813
|
-
-
|
750
|
+
Arguments
|
751
|
+
- volatile: *Will this object automatically be deleted if it remains empty?*
|
752
|
+
- name: *Name of the application*
|
753
|
+
- auth_token_required_for_create: *Require auth token for creating videos*
|
754
|
+
- auth_token_required_for_update: *Require auth token for updating videos*
|
755
|
+
- auth_token_required_for_read: *Require auth token for reading videos*
|
756
|
+
- auth_token_required_for_destroy: *Require auth token for deleting videos*
|
757
|
+
- client_can_index_videos: *Client is allowed to perform the index operation*
|
758
|
+
- client_cannot_access_unaccepted_videos: *Client cannot view unaccepted videos*
|
759
|
+
- enable_video_subpages: *Enable hosted video pages*
|
814
760
|
|
761
|
+
#### Get Stats<a name="method-application-get-stats"></a>
|
815
762
|
|
816
|
-
|
763
|
+
Read application stats
|
817
764
|
|
818
|
-
|
819
|
-
|
765
|
+
```ruby
|
766
|
+
ziggeo.application().get_stats(arguments = nil)
|
767
|
+
```
|
820
768
|
|
821
|
-
|
822
|
-
|
823
|
-
Get analytics for the given params
|
769
|
+
Arguments
|
770
|
+
- period: *Optional. Can be 'year' or 'month'.*
|
824
771
|
|
825
|
-
|
826
|
-
|
827
|
-
|
828
|
-
|
829
|
-
|
830
|
-
|
831
|
-
|
832
|
-
|
833
|
-
|
772
|
+
### Effect Profiles<a name="method-effect-profiles"></a>
|
773
|
+
|
774
|
+
|
775
|
+
The effect profiles resource allows you to access and create effect profiles for your app. Each effect profile may contain one process or more.
|
776
|
+
|
777
|
+
#### Create<a name="method-effect-profiles-create"></a>
|
778
|
+
|
779
|
+
Create a new effect profile.
|
780
|
+
|
781
|
+
```ruby
|
782
|
+
ziggeo.effectProfiles().create(arguments = nil)
|
783
|
+
```
|
784
|
+
|
785
|
+
Arguments
|
786
|
+
- key: *Effect profile key.*
|
787
|
+
- title: *Effect profile title.*
|
788
|
+
- default_effect: *Boolean. If TRUE, sets an effect profile as default. If FALSE, removes the default status for the given effect*
|
789
|
+
|
790
|
+
#### Index<a name="method-effect-profiles-index"></a>
|
791
|
+
|
792
|
+
Get list of effect profiles.
|
793
|
+
|
794
|
+
```ruby
|
795
|
+
ziggeo.effectProfiles().index(arguments = nil)
|
796
|
+
```
|
797
|
+
|
798
|
+
Arguments
|
799
|
+
- limit: *Limit the number of returned effect profiles. Can be set up to 100.*
|
800
|
+
- skip: *Skip the first [n] entries.*
|
801
|
+
- reverse: *Reverse the order in which effect profiles are returned.*
|
802
|
+
|
803
|
+
#### Get<a name="method-effect-profiles-get"></a>
|
804
|
+
|
805
|
+
Get a single effect profile
|
806
|
+
|
807
|
+
```ruby
|
808
|
+
ziggeo.effectProfiles().get(token_or_key)
|
809
|
+
```
|
810
|
+
|
811
|
+
#### Delete<a name="method-effect-profiles-delete"></a>
|
812
|
+
|
813
|
+
Delete the effect profile
|
814
|
+
|
815
|
+
```ruby
|
816
|
+
ziggeo.effectProfiles().delete(token_or_key)
|
817
|
+
```
|
818
|
+
|
819
|
+
#### Update<a name="method-effect-profiles-update"></a>
|
820
|
+
|
821
|
+
Updates an effect profile.
|
822
|
+
|
823
|
+
```ruby
|
824
|
+
ziggeo.effectProfiles().update(token_or_key, arguments = nil)
|
825
|
+
```
|
826
|
+
|
827
|
+
Arguments
|
828
|
+
- default_effect: *Boolean. If TRUE, sets an effect profile as default. If FALSE, removes the default status for the given effect*
|
829
|
+
|
830
|
+
### Effect Profile Process<a name="method-effect-profile-process"></a>
|
831
|
+
|
832
|
+
|
833
|
+
The process resource allows you to directly access all process associated with a single effect profile.
|
834
|
+
|
835
|
+
#### Index<a name="method-effect-profile-process-index"></a>
|
836
|
+
|
837
|
+
Return all processes associated with a effect profile
|
838
|
+
|
839
|
+
```ruby
|
840
|
+
ziggeo.effectProfileProcess().index(effect_token_or_key, arguments = nil)
|
841
|
+
```
|
842
|
+
|
843
|
+
Arguments
|
844
|
+
- states: *Filter streams by state*
|
845
|
+
|
846
|
+
#### Get<a name="method-effect-profile-process-get"></a>
|
847
|
+
|
848
|
+
Get a single process
|
849
|
+
|
850
|
+
```ruby
|
851
|
+
ziggeo.effectProfileProcess().get(effect_token_or_key, token_or_key)
|
852
|
+
```
|
853
|
+
|
854
|
+
#### Delete<a name="method-effect-profile-process-delete"></a>
|
855
|
+
|
856
|
+
Delete the process
|
857
|
+
|
858
|
+
```ruby
|
859
|
+
ziggeo.effectProfileProcess().delete(effect_token_or_key, token_or_key)
|
860
|
+
```
|
861
|
+
|
862
|
+
#### Create Filter Process<a name="method-effect-profile-process-create-filter-process"></a>
|
863
|
+
|
864
|
+
Create a new filter effect process
|
865
|
+
|
866
|
+
```ruby
|
867
|
+
ziggeo.effectProfileProcess().create_filter_process(effect_token_or_key, arguments = nil)
|
868
|
+
```
|
869
|
+
|
870
|
+
Arguments
|
871
|
+
- effect: *Effect to be applied in the process*
|
872
|
+
|
873
|
+
#### Create Watermark Process<a name="method-effect-profile-process-create-watermark-process"></a>
|
874
|
+
|
875
|
+
Attaches an image to a new stream
|
876
|
+
|
877
|
+
```ruby
|
878
|
+
ziggeo.effectProfileProcess().create_watermark_process(effect_token_or_key, arguments = nil, file = nil)
|
879
|
+
```
|
880
|
+
|
881
|
+
Arguments
|
882
|
+
- file: *Image file to be attached*
|
883
|
+
- vertical_position: *Specify the vertical position of your watermark (a value between 0.0 and 1.0)*
|
884
|
+
- horizontal_position: *Specify the horizontal position of your watermark (a value between 0.0 and 1.0)*
|
885
|
+
- video_scale: *Specify the image scale of your watermark (a value between 0.0 and 1.0)*
|
886
|
+
|
887
|
+
#### Edit Watermark Process<a name="method-effect-profile-process-edit-watermark-process"></a>
|
888
|
+
|
889
|
+
Edits an existing watermark process.
|
890
|
+
|
891
|
+
```ruby
|
892
|
+
ziggeo.effectProfileProcess().edit_watermark_process(effect_token_or_key, token_or_key, arguments = nil, file = nil)
|
893
|
+
```
|
894
|
+
|
895
|
+
Arguments
|
896
|
+
- file: *Image file to be attached*
|
897
|
+
- vertical_position: *Specify the vertical position of your watermark (a value between 0.0 and 1.0)*
|
898
|
+
- horizontal_position: *Specify the horizontal position of your watermark (a value between 0.0 and 1.0)*
|
899
|
+
- video_scale: *Specify the image scale of your watermark (a value between 0.0 and 1.0)*
|
900
|
+
|
901
|
+
### Meta Profiles<a name="method-meta-profiles"></a>
|
902
|
+
|
903
|
+
|
904
|
+
The meta profiles resource allows you to access and create meta profiles for your app. Each meta profile may contain one process or more.
|
905
|
+
|
906
|
+
#### Create<a name="method-meta-profiles-create"></a>
|
907
|
+
|
908
|
+
Create a new meta profile.
|
909
|
+
|
910
|
+
```ruby
|
911
|
+
ziggeo.metaProfiles().create(arguments = nil)
|
912
|
+
```
|
913
|
+
|
914
|
+
Arguments
|
915
|
+
- key: *Meta Profile profile key.*
|
916
|
+
- title: *Meta Profile profile title.*
|
917
|
+
|
918
|
+
#### Index<a name="method-meta-profiles-index"></a>
|
919
|
+
|
920
|
+
Get list of meta profiles.
|
921
|
+
|
922
|
+
```ruby
|
923
|
+
ziggeo.metaProfiles().index(arguments = nil)
|
924
|
+
```
|
925
|
+
|
926
|
+
Arguments
|
927
|
+
- limit: *Limit the number of returned meta profiles. Can be set up to 100.*
|
928
|
+
- skip: *Skip the first [n] entries.*
|
929
|
+
- reverse: *Reverse the order in which meta profiles are returned.*
|
930
|
+
|
931
|
+
#### Get<a name="method-meta-profiles-get"></a>
|
932
|
+
|
933
|
+
Get a single meta profile
|
934
|
+
|
935
|
+
```ruby
|
936
|
+
ziggeo.metaProfiles().get(token_or_key)
|
937
|
+
```
|
938
|
+
|
939
|
+
#### Delete<a name="method-meta-profiles-delete"></a>
|
940
|
+
|
941
|
+
Delete the meta profile
|
942
|
+
|
943
|
+
```ruby
|
944
|
+
ziggeo.metaProfiles().delete(token_or_key)
|
945
|
+
```
|
946
|
+
|
947
|
+
### Meta Profile Process<a name="method-meta-profile-process"></a>
|
948
|
+
|
949
|
+
|
950
|
+
The process resource allows you to directly access all process associated with a single meta profile.
|
951
|
+
|
952
|
+
#### Index<a name="method-meta-profile-process-index"></a>
|
953
|
+
|
954
|
+
Return all processes associated with a meta profile
|
955
|
+
|
956
|
+
```ruby
|
957
|
+
ziggeo.metaProfileProcess().index(meta_token_or_key)
|
958
|
+
```
|
959
|
+
|
960
|
+
#### Get<a name="method-meta-profile-process-get"></a>
|
961
|
+
|
962
|
+
Get a single process
|
963
|
+
|
964
|
+
```ruby
|
965
|
+
ziggeo.metaProfileProcess().get(meta_token_or_key, token_or_key)
|
966
|
+
```
|
967
|
+
|
968
|
+
#### Delete<a name="method-meta-profile-process-delete"></a>
|
969
|
+
|
970
|
+
Delete the process
|
971
|
+
|
972
|
+
```ruby
|
973
|
+
ziggeo.metaProfileProcess().delete(meta_token_or_key, token_or_key)
|
974
|
+
```
|
975
|
+
|
976
|
+
#### Create Video Analysis Process<a name="method-meta-profile-process-create-video-analysis-process"></a>
|
977
|
+
|
978
|
+
Create a new video analysis meta process
|
979
|
+
|
980
|
+
```ruby
|
981
|
+
ziggeo.metaProfileProcess().create_video_analysis_process(meta_token_or_key)
|
982
|
+
```
|
983
|
+
|
984
|
+
#### Create Audio Transcription Process<a name="method-meta-profile-process-create-audio-transcription-process"></a>
|
985
|
+
|
986
|
+
Create a new audio transcription meta process
|
987
|
+
|
988
|
+
```ruby
|
989
|
+
ziggeo.metaProfileProcess().create_audio_transcription_process(meta_token_or_key)
|
990
|
+
```
|
991
|
+
|
992
|
+
#### Create Nsfw Process<a name="method-meta-profile-process-create-nsfw-process"></a>
|
993
|
+
|
994
|
+
Create a new nsfw filter meta process
|
995
|
+
|
996
|
+
```ruby
|
997
|
+
ziggeo.metaProfileProcess().create_nsfw_process(meta_token_or_key, arguments = nil)
|
998
|
+
```
|
999
|
+
|
1000
|
+
Arguments
|
1001
|
+
- nsfw_action: *One of the following three: approve, reject, nothing.*
|
1002
|
+
|
1003
|
+
#### Create Profanity Process<a name="method-meta-profile-process-create-profanity-process"></a>
|
1004
|
+
|
1005
|
+
Create a new profanity filter meta process
|
1006
|
+
|
1007
|
+
```ruby
|
1008
|
+
ziggeo.metaProfileProcess().create_profanity_process(meta_token_or_key, arguments = nil)
|
1009
|
+
```
|
1010
|
+
|
1011
|
+
Arguments
|
1012
|
+
- profanity_action: *One of the following three: approve, reject, nothing.*
|
1013
|
+
|
1014
|
+
### Webhooks<a name="method-webhooks"></a>
|
1015
|
+
|
1016
|
+
|
1017
|
+
The webhooks resource allows you to create or delete webhooks related to a given application.
|
1018
|
+
|
1019
|
+
#### Create<a name="method-webhooks-create"></a>
|
1020
|
+
|
1021
|
+
Create a new webhook for the given url to catch the given events.
|
1022
|
+
|
1023
|
+
```ruby
|
1024
|
+
ziggeo.webhooks().create(arguments = nil)
|
1025
|
+
```
|
1026
|
+
|
1027
|
+
Arguments
|
1028
|
+
- target_url: *The url that will catch the events*
|
1029
|
+
- encoding: *Data encoding to be used by the webhook to send the events.*
|
1030
|
+
- events: *Comma-separated list of the events the webhook will catch. They must be valid webhook type events.*
|
1031
|
+
|
1032
|
+
#### Confirm<a name="method-webhooks-confirm"></a>
|
1033
|
+
|
1034
|
+
Confirm a webhook using its ID and the corresponding validation code.
|
1035
|
+
|
1036
|
+
```ruby
|
1037
|
+
ziggeo.webhooks().confirm(arguments = nil)
|
1038
|
+
```
|
1039
|
+
|
1040
|
+
Arguments
|
1041
|
+
- webhook_id: *Webhook ID that's returned in the creation call.*
|
1042
|
+
- validation_code: *Validation code that is sent to the webhook when created.*
|
1043
|
+
|
1044
|
+
#### Delete<a name="method-webhooks-delete"></a>
|
1045
|
+
|
1046
|
+
Delete a webhook using its URL.
|
1047
|
+
|
1048
|
+
```ruby
|
1049
|
+
ziggeo.webhooks().delete(arguments = nil)
|
1050
|
+
```
|
1051
|
+
|
1052
|
+
Arguments
|
1053
|
+
- target_url: *The url that will catch the events*
|
1054
|
+
|
1055
|
+
### Analytics<a name="method-analytics"></a>
|
1056
|
+
|
1057
|
+
|
1058
|
+
The analytics resource allows you to access the analytics for the given application
|
1059
|
+
|
1060
|
+
#### Get<a name="method-analytics-get"></a>
|
1061
|
+
|
1062
|
+
Get analytics for the given params
|
1063
|
+
|
1064
|
+
```ruby
|
1065
|
+
ziggeo.analytics().get(arguments = nil)
|
1066
|
+
```
|
1067
|
+
|
1068
|
+
Arguments
|
1069
|
+
- from: *A UNIX timestamp in microseconds used as the start date of the query*
|
1070
|
+
- to: *A UNIX timestamp in microseconds used as the end date of the query*
|
1071
|
+
- date: *A UNIX timestamp in microseconds to retrieve data from a single date. If set, it overwrites the from and to params.*
|
1072
|
+
- 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*
|
834
1073
|
|
835
1074
|
|
836
1075
|
|
837
1076
|
|
838
1077
|
|
839
|
-
## License
|
1078
|
+
## License <a name="license"></a>
|
840
1079
|
|
841
|
-
Copyright (c) 2013-
|
1080
|
+
Copyright (c) 2013-2022 Ziggeo
|
842
1081
|
|
843
1082
|
Apache 2.0 License
|