latest version: 0.1.26
- Why Ziggeo's Node.js Server Side SDK?
- Prerequisites
- Client-Side Integration
- Server-Side Integration
- License
Ziggeo 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.
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.
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.
- Do you have a system that requires calls to be made which should not be seen on client side?
- Want to have an easier time handling the media as it comes to your server?
- Want something that is simple and easy to use?
- You need some powerful features high end video services provide?
If any of the above is "Yes" then you are in the right place as this SDK is for you!
You will want to either download the SDK zip file or to pull it in as git repository into your own project.
To clone it you would go into your project folder and then
node git clone https://github.com/Ziggeo/ZiggeoNodeSdk
To start using the Node.js 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.
npm install ziggeo
For the client-side integration, you need to add these assets to your html file:
<link rel="stylesheet" href="//assets-cdn.ziggeo.com/v2-stable/ziggeo.css" />
<script src="//assets-cdn.ziggeo.com/v2-stable/ziggeo.js"></script>
Then, you need to specify your api token:
<script>
var ziggeoApplication = new ZiggeoApi.V2.Application({
token: "APPLICATION_TOKEN",
webrtc_streaming_if_necessary: true,
webrtc_on_mobile: true
});
</script>
You can specify other global options, see here.
To fire up a recorder on your page, add:
<ziggeorecorder></ziggeorecorder>
To embed a player for an existing video, add:
<ziggeoplayer ziggeo-video='video-token'></ziggeoplayer>
For the full documentation, please visit ziggeo.com.
You can integrate the Server SDK as follows:
Ziggeo = require('ziggeo');
var ZiggeoSdk = new Ziggeo('*token*', '*private_key*', '*encryption_key*');
Config is optional and if not specified (recommended), the Config file will be used instead.
Currently available methods are branched off within different categories:
- Videos
- Streams
- Authtokens
- Application
- Effect Profiles
- Effect Profile Process
- Meta Profiles
- Meta Profile Process
- Webhooks
- Analytics
Each of this sections has their own actions and they are explained bellow
The videos resource allows you to access all single videos. Each video may contain more than one stream.
Query an array of videos (will return at most 50 videos by default). Newest videos come first.
ZiggeoSdk.Videos.index(arguments, [callbacks])
Arguments
- limit: Limit the number of returned videos. Can be set up to 100.
- skip: Skip the first [n] entries.
- reverse: Reverse the order in which videos are returned.
- states: Filter videos by state
- tags: Filter the search result to certain tags, encoded as a comma-separated string
Get the video count for the application.
ZiggeoSdk.Videos.count(arguments, [callbacks])
Arguments
- states: Filter videos by state
- tags: Filter the search result to certain tags, encoded as a comma-separated string
Get a single video by token or key.
ZiggeoSdk.Videos.get(token_or_key, [callbacks])
Get multiple videos by tokens or keys.
ZiggeoSdk.Videos.get_bulk(arguments, [callbacks])
Arguments
- tokens_or_keys: Comma-separated list with the desired videos tokens or keys (Limit: 100 tokens or keys).
Get stats for multiple videos by tokens or keys.
ZiggeoSdk.Videos.stats_bulk(arguments, [callbacks])
Arguments
- tokens_or_keys: Comma-separated list with the desired videos tokens or keys (Limit: 100 tokens or keys).
- 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.
Download the video data file
ZiggeoSdk.Videos.download_video(token_or_key, [callbacks])
Download the image data file
ZiggeoSdk.Videos.download_image(token_or_key, [callbacks])
Get the video's stats
ZiggeoSdk.Videos.get_stats(token_or_key, [callbacks])
Push a video to a provided push service.
ZiggeoSdk.Videos.push_to_service(token_or_key, arguments, [callbacks])
Arguments
- pushservicetoken: Push Services's token (from the Push Services configured for the app)
Apply an effect profile to a video.
ZiggeoSdk.Videos.apply_effect(token_or_key, arguments, [callbacks])
Arguments
- effectprofiletoken: Effect Profile token (from the Effect Profiles configured for the app)
Apply a meta profile to a video.
ZiggeoSdk.Videos.apply_meta(token_or_key, arguments, [callbacks])
Arguments
- metaprofiletoken: Meta Profile token (from the Meta Profiles configured for the app)
Update single video by token or key.
ZiggeoSdk.Videos.update(token_or_key, arguments, [callbacks])
Arguments
- min_duration: Minimal duration of video
- max_duration: Maximal duration of video
- tags: Video Tags
- key: Unique (optional) name of video
- volatile: Automatically removed this video if it remains empty
- expiration_days: After how many days will this video be deleted
- expire_on: On which date will this video be deleted. String in ISO 8601 format: YYYY-MM-DD
Update multiple videos by token or key.
ZiggeoSdk.Videos.update_bulk(arguments, [callbacks])
Arguments
- tokens_or_keys: Comma-separated list with the desired videos tokens or keys (Limit: 100 tokens or keys).
- min_duration: Minimal duration of video
- max_duration: Maximal duration of video
- tags: Video Tags
- volatile: Automatically removed this video if it remains empty
- expiration_days: After how many days will this video be deleted
- expire_on: On which date will this video be deleted. String in ISO 8601 format: YYYY-MM-DD
Delete a single video by token or key.
ZiggeoSdk.Videos.destroy(token_or_key, [callbacks])
Create a new video.
ZiggeoSdk.Videos.create(arguments, [callbacks])
Arguments
- file: Video file to be uploaded
- min_duration: Minimal duration of video
- max_duration: Maximal duration of video
- tags: Video Tags
- key: Unique (optional) name of video
- volatile: Automatically removed this video if it remains empty
- effect_profile: Set the effect profile that you want to have applied to your video.
- meta_profile: Set the meta profile that you want to have applied to your video once created.
- video_profile: Set the video profile that you want to have applied to your video as you create it.
Get analytics for a specific videos with the given params
ZiggeoSdk.Videos.analytics(token_or_key, arguments, [callbacks])
Arguments
- from: A UNIX timestamp in microseconds used as the start date of the query
- to: A UNIX timestamp in microseconds used as the end date of the query
- date: A UNIX timestamp in microseconds to retrieve data from a single date. If set, it overwrites the from and to params.
- 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
The streams resource allows you to directly access all streams associated with a single video.
Return all streams associated with a video
ZiggeoSdk.Streams.index(video_token_or_key, arguments, [callbacks])
Arguments
- states: Filter streams by state
Get a single stream
ZiggeoSdk.Streams.get(video_token_or_key, token_or_key, [callbacks])
Download the video data associated with the stream
ZiggeoSdk.Streams.download_video(video_token_or_key, token_or_key, [callbacks])
Download the image data associated with the stream
ZiggeoSdk.Streams.download_image(video_token_or_key, token_or_key, [callbacks])
Push a stream to a provided push service.
ZiggeoSdk.Streams.push_to_service(video_token_or_key, token_or_key, arguments, [callbacks])
Arguments
- pushservicetoken: Push Services's token (from the Push Services configured for the app)
Delete the stream
ZiggeoSdk.Streams.destroy(video_token_or_key, token_or_key, [callbacks])
Create a new stream
ZiggeoSdk.Streams.create(video_token_or_key, arguments, [callbacks])
Arguments
- file: Video file to be uploaded
Attaches an image to a new stream
ZiggeoSdk.Streams.attach_image(video_token_or_key, token_or_key, arguments, [callbacks])
Arguments
- file: Image file to be attached
Attaches a video to a new stream
ZiggeoSdk.Streams.attach_video(video_token_or_key, token_or_key, arguments, [callbacks])
Arguments
- file: Video file to be attached
Attaches a subtitle to the stream.
ZiggeoSdk.Streams.attach_subtitle(video_token_or_key, token_or_key, arguments, [callbacks])
Arguments
- lang: Subtitle language
- label: Subtitle reference
- data: Actual subtitle
Closes and submits the stream
ZiggeoSdk.Streams.bind(video_token_or_key, token_or_key, arguments, [callbacks])
Arguments
The auth token resource allows you to manage authorization settings for video objects.
Get a single auth token by token.
ZiggeoSdk.Authtokens.get(token, [callbacks])
Update single auth token by token.
ZiggeoSdk.Authtokens.update(token_or_key, arguments, [callbacks])
Arguments
- volatile: Will this object automatically be deleted if it remains empty?
- hidden: If hidden, the token cannot be used directly.
- expiration_date: Expiration date for the auth token (Unix epoch time format)
- usage_expiration_time: Expiration time per session (seconds)
- session_limit: Maximal number of sessions
- grants: Permissions this tokens grants
Delete a single auth token by token.
ZiggeoSdk.Authtokens.destroy(token_or_key, [callbacks])
Create a new auth token.
ZiggeoSdk.Authtokens.create(arguments, [callbacks])
Arguments
- volatile: Will this object automatically be deleted if it remains empty?
- hidden: If hidden, the token cannot be used directly.
- expiration_date: Expiration date for the auth token (Unix epoch time format)
- usage_expiration_time: Expiration time per session (seconds)
- session_limit: Maximal number of sessions
- grants: Permissions this tokens grants
The application token resource allows you to manage your application.
Read application.
ZiggeoSdk.Application.get([callbacks])
Update application.
ZiggeoSdk.Application.update(arguments, [callbacks])
Arguments
- volatile: Will this object automatically be deleted if it remains empty?
- name: Name of the application
- auth_token_required_for_create: Require auth token for creating videos
- auth_token_required_for_update: Require auth token for updating videos
- auth_token_required_for_read: Require auth token for reading videos
- auth_token_required_for_destroy: Require auth token for deleting videos
- client_can_index_videos: Client is allowed to perform the index operation
- client_cannot_access_unaccepted_videos: Client cannot view unaccepted videos
- enable_video_subpages: Enable hosted video pages
Read application stats
ZiggeoSdk.Application.get_stats(arguments, [callbacks])
Arguments
- period: Optional. Can be 'year' or 'month'.
The effect profiles resource allows you to access and create effect profiles for your app. Each effect profile may contain one process or more.
Create a new effect profile.
ZiggeoSdk.EffectProfiles.create(arguments, [callbacks])
Arguments
- key: Effect profile key.
- title: Effect profile title.
- default_effect: Boolean. If TRUE, sets an effect profile as default. If FALSE, removes the default status for the given effect
Get list of effect profiles.
ZiggeoSdk.EffectProfiles.index(arguments, [callbacks])
Arguments
- limit: Limit the number of returned effect profiles. Can be set up to 100.
- skip: Skip the first [n] entries.
- reverse: Reverse the order in which effect profiles are returned.
Get a single effect profile
ZiggeoSdk.EffectProfiles.get(token_or_key, [callbacks])
Delete the effect profile
ZiggeoSdk.EffectProfiles.destroy(token_or_key, [callbacks])
Updates an effect profile.
ZiggeoSdk.EffectProfiles.update(token_or_key, arguments, [callbacks])
Arguments
- default_effect: Boolean. If TRUE, sets an effect profile as default. If FALSE, removes the default status for the given effect
The process resource allows you to directly access all process associated with a single effect profile.
Return all processes associated with a effect profile
ZiggeoSdk.EffectProfileProcess.index(effect_token_or_key, arguments, [callbacks])
Arguments
- states: Filter streams by state
Get a single process
ZiggeoSdk.EffectProfileProcess.get(effect_token_or_key, token_or_key, [callbacks])
Delete the process
ZiggeoSdk.EffectProfileProcess.destroy(effect_token_or_key, token_or_key, [callbacks])
Create a new filter effect process
ZiggeoSdk.EffectProfileProcess.create_filter_process(effect_token_or_key, arguments, [callbacks])
Arguments
- effect: Effect to be applied in the process
Attaches an image to a new stream
ZiggeoSdk.EffectProfileProcess.create_watermark_process(effect_token_or_key, arguments, [callbacks])
Arguments
- file: Image file to be attached
- vertical_position: Specify the vertical position of your watermark (a value between 0.0 and 1.0)
- horizontal_position: Specify the horizontal position of your watermark (a value between 0.0 and 1.0)
- video_scale: Specify the image scale of your watermark (a value between 0.0 and 1.0)
Edits an existing watermark process.
ZiggeoSdk.EffectProfileProcess.edit_watermark_process(effect_token_or_key, token_or_key, arguments, [callbacks])
Arguments
- file: Image file to be attached
- vertical_position: Specify the vertical position of your watermark (a value between 0.0 and 1.0)
- horizontal_position: Specify the horizontal position of your watermark (a value between 0.0 and 1.0)
- video_scale: Specify the image scale of your watermark (a value between 0.0 and 1.0)
The meta profiles resource allows you to access and create meta profiles for your app. Each meta profile may contain one process or more.
Create a new meta profile.
ZiggeoSdk.MetaProfiles.create(arguments, [callbacks])
Arguments
- key: Meta Profile profile key.
- title: Meta Profile profile title.
Get list of meta profiles.
ZiggeoSdk.MetaProfiles.index(arguments, [callbacks])
Arguments
- limit: Limit the number of returned meta profiles. Can be set up to 100.
- skip: Skip the first [n] entries.
- reverse: Reverse the order in which meta profiles are returned.
Get a single meta profile
ZiggeoSdk.MetaProfiles.get(token_or_key, [callbacks])
Delete the meta profile
ZiggeoSdk.MetaProfiles.destroy(token_or_key, [callbacks])
The process resource allows you to directly access all process associated with a single meta profile.
Return all processes associated with a meta profile
ZiggeoSdk.MetaProfileProcess.index(meta_token_or_key, [callbacks])
Get a single process
ZiggeoSdk.MetaProfileProcess.get(meta_token_or_key, token_or_key, [callbacks])
Delete the process
ZiggeoSdk.MetaProfileProcess.destroy(meta_token_or_key, token_or_key, [callbacks])
Create a new video analysis meta process
ZiggeoSdk.MetaProfileProcess.create_video_analysis_process(meta_token_or_key, [callbacks])
Create a new audio transcription meta process
ZiggeoSdk.MetaProfileProcess.create_audio_transcription_process(meta_token_or_key, [callbacks])
Create a new nsfw filter meta process
ZiggeoSdk.MetaProfileProcess.create_nsfw_process(meta_token_or_key, arguments, [callbacks])
Arguments
- nsfw_action: One of the following three: approve, reject, nothing.
Create a new profanity filter meta process
ZiggeoSdk.MetaProfileProcess.create_profanity_process(meta_token_or_key, arguments, [callbacks])
Arguments
- profanity_action: One of the following three: approve, reject, nothing.
The webhooks resource allows you to create or delete webhooks related to a given application.
Create a new webhook for the given url to catch the given events.
ZiggeoSdk.Webhooks.create(arguments, [callbacks])
Arguments
- target_url: The url that will catch the events
- encoding: Data encoding to be used by the webhook to send the events.
- events: Comma-separated list of the events the webhook will catch. They must be valid webhook type events.
Confirm a webhook using its ID and the corresponding validation code.
ZiggeoSdk.Webhooks.confirm(arguments, [callbacks])
Arguments
- webhook_id: Webhook ID that's returned in the creation call.
- validation_code: Validation code that is sent to the webhook when created.
Delete a webhook using its URL.
ZiggeoSdk.Webhooks.destroy(arguments, [callbacks])
Arguments
- target_url: The url that will catch the events
The analytics resource allows you to access the analytics for the given application
Get analytics for the given params
ZiggeoSdk.Analytics.get(arguments, [callbacks])
Arguments
- from: A UNIX timestamp in microseconds used as the start date of the query
- to: A UNIX timestamp in microseconds used as the end date of the query
- date: A UNIX timestamp in microseconds to retrieve data from a single date. If set, it overwrites the from and to params.
- 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
Copyright (c) 2013-2021 Ziggeo
Apache 2.0 License