Concept
The purpose of the StreamingVideoProvider API is to provide web video publishers with a clear and reliable server to server communication interface through which their applications are able to publish video online. This interface provides automated means for nearly all functionality there is in the SVP panel.
From SVP perspective an API publisher is any SVP user that has a valid API KEY/API CODE pair associated with their account. Each publisher may implement any part of this API interface in their own application/website depending on their needs.
The API is implemented as a set of web services and notification callbacks that receive a standard HTTP request(GET/POST) and return structured response in the form of XML response.
The API services allow for the following:
- Uploading new video files to the platform – video uploads to the platform are realised through an asynchronous FTP/HTTP pull operation through a source predefined by the publisher.
- Listing of publishers videos with filtering
- Deleting a video
- Receiving(changing) properties of a video (title,aspect ratio,enable/disable,video options)
- Receiving video statistics – same as video statistics in site in structured XML form (detailed & daily builds)
- Listing upload sources
- Listing users (Only for resellers)
- Listing playlists
- Listing player templates
- Generating embed codes for video player publishing (option for using pre-configured templates)
- Receiving publisher's bandwidth amount
- Listing(receiving) video images
- Start/stop live broadcast
- Enable cloud recording
- Creating and managing password packages
- Creating and managing Pay Per View tickets
SVP provides a PHP library to facilitate integration. The library implements proper call convention and can be used as a solid starting point for application integration.
NOTE: This API is intended for a diverse set of requirements. For performance reasons we recommend any heavy load applications/sites to cache all of the needed data with their own service. Then update the local copy of the data when change notifications are received.
NOTE: All parameters that are required by the API services are marked with asterisk (*).
Entry point
API can be accessed from http://www.streamingvideoprovider.com/?l=api
Any other parameters can be passed through HTTP GET/POST requests. Service name is expected as “a” parameter:
Example of GET Request: http://www.streamingvideoprovider.com/?l=api&a=SERVICE_NAME_HERE
Authentication
All errors are returned in the form:
<response>
<result>ERROR</result>
<code>xxxx</code>
<message>Error message here</message>
</response>
All service calls through this API require authentication. Authentication is achieved through API Key / API Code pair provided by the SVP panel at Settings > Account Details.
The API key/API code pair is used with the svp_auth_get_token service to obtain an authentication token.
Notifications
Server to server notifications are available as part of this API. These notifications are calls from the SVP platform to publisher's defined callback address(URL) that allow publishers to react on changes in your associated data. For further information about notification messages please look at appendix 2 in this document.
Video services list
svp_auth_get_token
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_auth_get_token&api_key=apc-uFxXxXuztMMKsz&api_code=apc-0gMswstqrGnp'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_auth_get_token&api_key=apc-uFxXxXuztMMKsz&api_code=apc-0gMswstqrGnp")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_auth_get_token&api_key=apc-uFxXxXuztMMKsz&api_code=apc-0gMswstqrGnp",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_auth_get_token&api_key=apc-uFxXxXuztMMKsz&api_code=apc-0gMswstqrGnp")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_auth_get_token&api_key=apc-uFxXxXuztMMKsz&api_code=apc-0gMswstqrGnp")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_auth_get_token&api_key=apc-uFxXxXuztMMKsz&api_code=apc-0gMswstqrGnp");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<auth_token>399d326f4e87769afbbb91567cdfc664</auth_token>
</response>
Description:
Retrieves an authentication token for further use with all other API service calls.
Notes:
The authentication token has a meaning similar to session ID. The lifetime of the authentication token is 48h. If svp_auth_get_token
service is been accessed with valid token within this time, the validation period will be renewed.
parameter | description |
---|---|
api_key * | Your publisher API Key. It can be obtained from Account Settings. |
api_code * | Your publisher API Code. It can be obtained from Account Settings. |
svp_upload_video
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_upload_video&token=56fbd05ff64e9fa2da78cb7acf97df13&upload_location_ref=1732&file_name=01.mp4'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_upload_video&token=56fbd05ff64e9fa2da78cb7acf97df13&upload_location_ref=1732&file_name=01.mp4")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_upload_video&token=56fbd05ff64e9fa2da78cb7acf97df13&upload_location_ref=1732&file_name=01.mp4",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_upload_video&token=56fbd05ff64e9fa2da78cb7acf97df13&upload_location_ref=1732&file_name=01.mp4")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_upload_video&token=56fbd05ff64e9fa2da78cb7acf97df13&upload_location_ref=1732&file_name=01.mp4")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_upload_video&token=56fbd05ff64e9fa2da78cb7acf97df13&upload_location_ref=1732&file_name=01.mp4");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<ref_no>1933116</ref_no>
<video_key>2nee7s5ds7c4</video_key>
</response>
Description:
Allows uploading of a video file from one of the predefined locations under your account.
Notes:
This is a synchronous service call that books an asynchronous upload and returns immediately! Actual file pull will start asynchronously from a separate server and may take some time. Do not delete the video file immediately, wait for a notification or do so with a clean up scheduled job on your server, in an hour for example!
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
upload_location_ref * | The reference ID of the upload location from which the files would be pulled into the streaming CDN. Take a look at svp_list_upload_sources service for information how to get reference IDs dynamically. |
file_name * | Video resource file name without path. Example: myvideo.mp4 |
whitelabel | WhiteLabel SVP video destination. Available values: yes & no (default). If value is yes you can re-brand this kind of player and insert your own logo or text (watermark). NOTE: If video file is registered under channel playlist and whitelabel parameter is not present, video destination will be established from default branding option in the channel. |
video_title | Title to be associated with this video in the video list. |
tags | Tags to be added, can be used for easier integration with publisher's internal system. Multiple tags can be added and splitted with comma (','). |
tag_number | Legacy parameter - it will be disabled on 01/01/2020. See tags parameter. Integer user data. May be used at publisher's discretion. For example category or internal user ID. The data sent through this service is visible only in API service and is not shown in the management panel. |
tag_string | Legacy parameter - it will be disabled on 01/01/2020. See tags parameter. String(100) user data. May be used at publisher's discretion. For example tagging information. The data sent through this service is visible only in API service and is not shown in the management panel. |
channel_ref | Playlist under which the video is to be associated with. Take a look at svp_list_channels service for information how to get reference IDs dynamically. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
svp_list_videos
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_list_videos&token=56fbd05ff64e9fa2da78cb7acf97df13'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_list_videos&token=56fbd05ff64e9fa2da78cb7acf97df13")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_list_videos&token=56fbd05ff64e9fa2da78cb7acf97df13",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_list_videos&token=56fbd05ff64e9fa2da78cb7acf97df13")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_list_videos&token=56fbd05ff64e9fa2da78cb7acf97df13")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_list_videos&token=56fbd05ff64e9fa2da78cb7acf97df13");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<count>3</count>
<timestamp>1527598247</timestamp>
<video_list>
<video>
<ref_no>1858026</ref_no>
<clip_key>65rwzs7ebp4w</clip_key>
<title>Recording #1858006 (Jan 17, 2018 14:35:01)</title>
<tags>
<tag>cx445x</tag>
<tag>09112</tag>
<tag>summerevent</tag>
</tags>
<tag_number></tag_number>
<tag_string></tag_string>
<video_source>ondemand</video_source>
<stream_name></stream_name>
<channel_ref>132171</channel_ref>
<duration>103</duration>
<date_created>1516192645</date_created>
<date_modified>1527084039</date_modified>
<file_size>14621515</file_size>
</video>
<video>
<ref_no>1858027</ref_no>
<clip_key>68bahlllhm4o</clip_key>
<title>Streets of New York</title>
<tags></tags>
<tag_number></tag_number>
<tag_string></tag_string>
<video_source>ondemand</video_source>
<stream_name></stream_name>
<channel_ref>132171</channel_ref>
<duration>38</duration>
<date_created>1516192645</date_created>
<date_modified>1527084039</date_modified>
<file_size>32659255</file_size>
</video>
<video>
<ref_no>1858028</ref_no>
<clip_key>cvgubxtvgjcw</clip_key>
<title>Live from Disney studios</title>
<tags>
<tag>disney</tag>
</tags>
<tag_number></tag_number>
<tag_string></tag_string>
<video_source>live</video_source>
<stream_name>eb6848mvlo0ssogsck00</stream_name>
<channel_ref>0</channel_ref>
<duration>0</duration>
<date_created>1516192667</date_created>
<date_modified>1527057926</date_modified>
<file_size>0</file_size>
</video>
</video_list>
</response>
Description:
Returns a list of videos based on the search/filtering criteria passed with the parameters.
Notes:
Stream name parameter in video list is present only when video source is live video feed. Information about file size is displayed in bytes.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
tag_number | Integer user data filtering. You can filter the results based on the tag_number associated with the video. The comparison is for exactness. The tag_number can be set by svp_upload_video and svp_set_video_property services. |
tag_string | String user data filtering. You can filter the results based on the tag_string associated with the video. The comparison is for inclusion(Like '%val%'). The tag_string can be set by svp_upload_video and svp_set_video_property services. |
tags | Filter the results by tags which can be set in svp_upload_video, svp_broadcast_feed, svp_create_rtsp and svp_set_video_property services. |
title_search | Filter based on video titles. Useful for searching. The comparison is for inclusion (Like '%val%'). The title of the video can be set by svp_upload_video and svp_set_video_property services. |
start_ref_no end_ref_no | Filter returned videos by reference IDs start and end range. |
from_date_created to_date_ created | Filter returned videos by date_created from and to range. |
from_date_modified to_date_modified | Filter returned videos by date_modified from and to range. |
start limit | Filter returned videos by result set row numbers start and end range. Same as MySQL “Limit start,limit”. |
order_by | Order video list based on the following fields: ref_no: Video reference code; title: Video title; date_created: Video creation date; date_modified: Video modifying date; channel_ref: Video playlist reference code; tag_number: Video integer tag data; tag_string: Video string tag data. By default ref_no order by field is applied. |
order | Filter results in ascending or descending order based on order_by field. Available values: asc: Ascending order; desc: Descending order. By default asc order is applied. |
video_source | Each video is linked to a specific video source - on-demand video file or live video feed. You can filter the results based on the video source. Available values: ondemand & live. |
count_only | Returns only total count of videos based on search/filtering criteria. NOTE: Video list is not present in response. |
channel_ref | Playlist reference ID. Useful if you need to get only videos in a associated Playlist playlist. Take a look at svp_list_channels service form information how to get reference IDs dynamically. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
svp_delete_video
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_delete_video&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858027'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_delete_video&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858027")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_delete_video&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858027",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_delete_video&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858027")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_delete_video&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858027")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_delete_video&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858027");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
</response>
Description:
Deletes the specified video from the system.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
video_ref * | Video reference ID. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
svp_get_video_properties
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_get_video_properties&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858026'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_get_video_properties&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858026")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_get_video_properties&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858026",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_get_video_properties&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858026")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_get_video_properties&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858026")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_get_video_properties&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858026");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<video_properties>
<property>
<id>1</id>
<name>Title</name>
<value>Live stream from Dallas</value>
</property>
<property>
<id>2</id>
<name>Enabled</name>
<value>1</value>
</property>
<property>
<id>3</id>
<name>Tag Number</name>
<value>544</value>
</property>
<property>
<id>4</id>
<name>Tag String</name>
<value>old-system-tag</value>
</property>
<property>
<id>5</id>
<name>Aspect Ratio</name>
<value>keep aspect ratio</value>
</property>
<property>
<id>6</id>
<name>Channel Name</name>
<value>Default Playlist</value>
</property>
<property>
<id>7</id>
<name>Channel Ref</name>
<value>132168</value>
</property>
<property>
<id>8</id>
<name>WhiteLabel</name>
<value>no</value>
</property>
<property>
<id>9</id>
<name>Allowed Domains</name>
<value></value>
</property>
<property>
<id>10</id>
<name>Short Description</name>
<value></value>
</property>
<property>
<id>11</id>
<name>Full Description</name>
<value></value>
</property>
<property>
<id>12</id>
<name>Recording title</name>
<value></value>
</property>
<property>
<id>13</id>
<name>Recording duration</name>
<value>0</value>
</property>
<property>
<id>14</id>
<name>Tags</name>
<value>
<tag>broadcast</tag>
<tag>show2019</tag>
<tag>prePaid</tag>
</value>
</property>
</video_properties>
</response>
Description:
Returns a list of all editable properties of the given video.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
video_ref * | Video reference ID. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
svp_set_video_property
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_property&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858026&property_id=11&new_value=High%20Quality'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_property&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858026&property_id=11&new_value=High%20Quality")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_property&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858026&property_id=11&new_value=High%20Quality",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_property&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858026&property_id=11&new_value=High%20Quality")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_set_video_property&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858026&property_id=11&new_value=High%20Quality")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_property&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858026&property_id=11&new_value=High%20Quality");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
</response>
Description:
Modifies a property value.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
video_ref * | Video reference ID. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
property_id * | Property ID received from svp_get_video_properties. For further information about editable video properties please see Appendix 4 in this document. |
new_value * | New Value for the property. |
svp_set_video_availability
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_availability&token=9a504aa5ae821503f5d6cc3d15549570&video_ref=1858028&mode=specific&start_date=1635163200'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_availability&token=9a504aa5ae821503f5d6cc3d15549570&video_ref=1858028&mode=specific&start_date=1635163200")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_availability&token=9a504aa5ae821503f5d6cc3d15549570&video_ref=1858028&mode=specific&start_date=1635163200",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_availability&token=9a504aa5ae821503f5d6cc3d15549570&video_ref=1858028&mode=specific&start_date=1635163200")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_set_video_availability&token=9a504aa5ae821503f5d6cc3d15549570&video_ref=1858028&mode=specific&start_date=1635163200")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_availability&token=9a504aa5ae821503f5d6cc3d15549570&video_ref=1858028&mode=specific&start_date=1635163200");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
</response>
Description:
This service will all PPV tickets associated with publisher's account.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
video_ref | Video reference ID, mandatory if clip_key is not used. See svp_list_videos service. |
clip_key | Video key, mandatory if video_ref is not used. See svp_list_videos service. |
mode * | Set the avaialibility mode. Accepts online, specific, and offline parameters. |
start_date | Epoch timestamp of start date. Mandatory only if specific mode is set. |
end_date | Epoch timestamp of end date. Can be used only if specific mode is set and you need to set a date when video has to become offline. |
svp_get_video_stats_detail
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_get_video_stats_detail&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1900925&start_time=1524403595&end_time=1524921995'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_get_video_stats_detail&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1900925&start_time=1524403595&end_time=1524921995")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_get_video_stats_detail&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1900925&start_time=1524403595&end_time=1524921995",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_get_video_stats_detail&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1900925&start_time=1524403595&end_time=1524921995")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_get_video_stats_detail&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1900925&start_time=1524403595&end_time=1524921995")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_get_video_stats_detail&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1900925&start_time=1524403595&end_time=1524921995");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<count>1</count>
<stats>
<stat>
<time>1524466812</time>
<ip>127.0.0.1</ip>
<country>BG</country>
<bandwidth>408021893</bandwidth>
</stat>
</stats>
</response>
Description:
Returns a list of video viewer statistics. The data includes all individual views.
Notes:
Detail statistics are available for 3 months. For older data only daily statistics are available.
The data amount can be quite large thus number of nodes returned is limited to 100,000! Make a second call with a
start_row parameter set in order to retrieve further data.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
video_ref * | Video reference ID. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
start_time * | Start date/time for the requested statistics. Unix timestamp (integer) format. NOTE: Only 3 months ago is supported for the start time. |
end_time * | End date/time for the requested statistics. Unix timestamp (integer) format. |
start_row | Starting row for the result set. i.e. how many rows are skipped from the start. |
limit | Maximum number of rows to return. Can be at most 100,000. If a higher value is set it is assumed 100,000. |
svp_get_video_stats_daily
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_get_video_stats_daily&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1900925&start_date=1521638795&end_date=1524921995'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_get_video_stats_daily&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1900925&start_date=1521638795&end_date=1524921995")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_get_video_stats_daily&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1900925&start_date=1521638795&end_date=1524921995",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_get_video_stats_daily&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1900925&start_date=1521638795&end_date=1524921995")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_get_video_stats_daily&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1900925&start_date=1521638795&end_date=1524921995")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_get_video_stats_daily&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1900925&start_date=1521638795&end_date=1524921995");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<count>4</count>
<stats_daily>
<stat_day>
<date>1522969200</date>
<views>2</views>
<bandwidth>204019536</bandwidth>
</stat_day>
<stat_day>
<date>1523746800</date>
<views>2</views>
<bandwidth>204019536</bandwidth>
</stat_day>
<stat_day>
<date>1523833200</date>
<views>6</views>
<bandwidth>894426939</bandwidth>
</stat_day>
<stat_day>
<date>1524438000</date>
<views>35</views>
<bandwidth>2064376030</bandwidth>
</stat_day>
</stats_daily>
</response>
Description:
Returns a list of video viewer statistics. The data is aggregated per day.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
video_ref * | Video reference ID. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
start_date * | Start date for the requested statistics. Unix timestamp (integer) format. NOTE: If there is no records between given start date and date of first video statistics, start date will be made equal to first date. |
end_date * | End date for the requested statistics. Unix timestamp (integer) format. NOTE: If there is no records between given end date and date of last video statistics, start date will be made equal to last date. |
svp_list_upload_sources
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_list_upload_sources&token=56fbd05ff64e9fa2da78cb7acf97df13&source_type=ftp'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_list_upload_sources&token=56fbd05ff64e9fa2da78cb7acf97df13&source_type=ftp")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_list_upload_sources&token=56fbd05ff64e9fa2da78cb7acf97df13&source_type=ftp",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_list_upload_sources&token=56fbd05ff64e9fa2da78cb7acf97df13&source_type=ftp")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_list_upload_sources&token=56fbd05ff64e9fa2da78cb7acf97df13&source_type=ftp")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_list_upload_sources&token=56fbd05ff64e9fa2da78cb7acf97df13&source_type=ftp");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<count>2</count>
<filters>
<source_type>ftp</source_type>
</filters>
<upload_source_list>
<upload_source>
<ref_no>1732</ref_no>
<name>Chocolateeee</name>
<source_type>ftp</source_type>
</upload_source>
<upload_source>
<ref_no>1772</ref_no>
<name>jonas</name>
<source_type>ftp</source_type>
</upload_source>
</upload_source_list>
</response>
Description:
Lists publisher's upload sources. The upload locations are servers owned by the publisher where the video files have been uploaded through any means. These locations are configured in the SVP panel. To get to the upload sources screen follow these menus: Account > Integration > Upload Sources.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
source_type | You can filter the results based on the upload source type. Available values: ftp & http. |
svp_list_users
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_list_users&token=56fbd05ff64e9fa2da78cb7acf97df13'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_list_users&token=56fbd05ff64e9fa2da78cb7acf97df13")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_list_users&token=56fbd05ff64e9fa2da78cb7acf97df13",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_list_users&token=56fbd05ff64e9fa2da78cb7acf97df13")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_list_users&token=56fbd05ff64e9fa2da78cb7acf97df13")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_list_users&token=56fbd05ff64e9fa2da78cb7acf97df13");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<count>xx</count>
<user_list>
<user>
<ref_no>1</ref_no>
<user_name>Test User Name</user_name>
<login_name>Test Login Name</login_name>
</user>
...
</user_list>
</response>
Description:
This service is intended for resellers. It allows to get a list of SVP users that are registered under the reseller. The user
reference Ids can then be used to upload or list videos associated with the given user.
Notes:
Users are shown in the SVP panel at Reseller > View Clients.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
login_name | Login name data filtering. You can filter the results based on the login_name associated with the user. The comparison is for inclusion(Like '%val%'). |
user_name | User name data filtering. You can filter the results based on the user_name associated with the user. The comparison is for inclusion(Like '%val%'). |
svp_list_channels
Description:
Returns a list of playlists associated with publisher's account.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
channel_type | Filter channel playlists by type. Available values: tv & ppv. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
svp_list_player_templates
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_list_player_templates&token=56fbd05ff64e9fa2da78cb7acf97df13'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_list_player_templates&token=56fbd05ff64e9fa2da78cb7acf97df13")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_list_player_templates&token=56fbd05ff64e9fa2da78cb7acf97df13",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_list_player_templates&token=56fbd05ff64e9fa2da78cb7acf97df13")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_list_player_templates&token=56fbd05ff64e9fa2da78cb7acf97df13")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_list_player_templates&token=56fbd05ff64e9fa2da78cb7acf97df13");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<count>11</count>
<embed_code_list>
<embed_code>
<ref_no>18628</ref_no>
<title>xcv</title>
<player_type>popup</player_type>
</embed_code>
<embed_code>
<ref_no>18904</ref_no>
<title>123</title>
<player_type>js_embed</player_type>
</embed_code>
</embed_code_list>
</response>
Description:
Returns a list of player embed code templates that the publisher has saved for further use.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
svp_get_player_code
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_get_player_code&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858026&template_ref=18628'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_get_player_code&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858026&template_ref=18628")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_get_player_code&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858026&template_ref=18628",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_get_player_code&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858026&template_ref=18628")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/l=api&a=svp_get_player_code&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858026&template_ref=18628")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_get_player_code&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858026&template_ref=18628");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<embed_code_html>PCEtLXBsYXllciBsaW5rLS0+CjxhIGhyZWY9Ii8vcGxheS5zdHJlYW1pbmd2aWRlb3Byb3ZpZGVyLmNvbS9wb3BwbGF5ZXIucGhwIiBpZD0ic3ZwXzE1Mjc2ODY5NjI1NSIgb25tb3VzZW92ZXI9InRoaXMub25jbGljaz1mdW5jdGlvbiAoKXt3aW5kb3cub3BlbihzdnBDaGFuZ2VBbXAoJy8vcGxheS5zdHJlYW1pbmd2aWRlb3Byb3ZpZGVyLmNvbS9wb3BwbGF5ZXIucGhwP2l0PTY1cnd6czdlYnA0dyZ3PTEwMCUmaD01OTQmcD0wJnRpdGxlPVJlY29yZGluZyslMjMxODU4MDA2KyUyOEphbisxNyUyQysyMDE4KzE0JTNBMzUlM0EwMSUyOSZza2luPTMmcmVwZWF0PSZzdHJldGNoPTEmYnJhbmROVz0xJnN0YXJ0X3ZvbHVtZT0xMDAmc2tpbkFscGhhPTEwJmNvbG9yQmFzZT0lMjMyMDIwMjAmY29sb3JJY29uPSUyM0ZGRkZGRiZjb2xvckhpZ2hsaWdodD0lMjNmY2FkMzcmZGlyZWN0PWZhbHNlJnZpZXdlcnNfbGltaXQ9MCZjY19wb3NpdGlvbj1ib3R0b20mY2NfcG9zaXRpb25PZmZzZXQ9NzAmY2NfbXVsdGlwbGllcj0wLjAzJmNjX3RleHRDb2xvcj0lMjNmZmZmZmYmY2NfdGV4dE91dGxpbmVDb2xvcj0lMjMwMDAwMDAmY2NfYmtnQ29sb3I9JTIzZmZmZmZmJmNjX2JrZ0FscGhhPTAuNycpLCdzdnBQb3BQbGF5ZXInLCdkZXBlbmRlbnQ9MSx0b29sYmFyPTAsbG9jYXRpb249MCxkaXJlY3Rvcmllcz0wLHN0YXR1cz0wLG1lbnViYXI9MCxzY3JvbGxiYXJzPTAnKTtyZXR1cm4gZmFsc2U7fTt0aGlzLmhyZWY9JyMnOyIgdGl0bGU9IiI+PC9hPgo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0Ij4KPCEtLQpmdW5jdGlvbiBzdnBDaGFuZ2VBbXAoc3RyKXt2YXIgcz1zdHIuc3BsaXQoJ2FtcDsnKTtyZXR1cm4gcy5qb2luKCcnKTt9CmZ1bmN0aW9uIHN2cEdldE9iamVjdChpZCl7dmFyIG89bnVsbDt2YXIgZD1kb2N1bWVudDtpZihkLmdldEVsZW1lbnRCeUlkKXtvPWQuZ2V0RWxlbWVudEJ5SWQoaWQpO31lbHNlIGlmKHRoaXMuX2QubGF5ZXJzKXtvPWQubGF5ZXJzW2lkXTt9ZWxzZSBpZihkLmFsbCl7bz1kLmFsbFtpZF07fSByZXR1cm4gbzt9CnZhciBvYmplY3Q9c3ZwR2V0T2JqZWN0KCJzdnBfMTUyNzY4Njk2MjU1Iik7CmlmKHR5cGVvZiBvYmplY3Qub25tb3VzZW92ZXI9PSJ1bmRlZmluZWQiKXtvYmplY3Qub25jbGljaz1mdW5jdGlvbigpe3dpbmRvdy5vcGVuKHN2cENoYW5nZUFtcCgnLy9wbGF5LnN0cmVhbWluZ3ZpZGVvcHJvdmlkZXIuY29tL3BvcHBsYXllci5waHA/aXQ9NjVyd3pzN2VicDR3Jnc9MTAwJSZoPTU5NCZwPTAmdGl0bGU9UmVjb3JkaW5nKyUyMzE4NTgwMDYrJTI4SmFuKzE3JTJDKzIwMTgrMTQlM0EzNSUzQTAxJTI5JnNraW49MyZyZXBlYXQ9JnN0cmV0Y2g9MSZicmFuZE5XPTEmc3RhcnRfdm9sdW1lPTEwMCZza2luQWxwaGE9MTAmY29sb3JCYXNlPSUyMzIwMjAyMCZjb2xvckljb249JTIzRkZGRkZGJmNvbG9ySGlnaGxpZ2h0PSUyM2ZjYWQzNyZ2aWV3ZXJzX2xpbWl0PTAmY2NfcG9zaXRpb249Ym90dG9tJmNjX3Bvc2l0aW9uT2Zmc2V0PTcwJmNjX211bHRpcGxpZXI9MC4wMyZjY190ZXh0Q29sb3I9JTIzZmZmZmZmJmNjX3RleHRPdXRsaW5lQ29sb3I9JTIzMDAwMDAwJmNjX2JrZ0NvbG9yPSUyM2ZmZmZmZiZjY19ia2dBbHBoYT0wLjcnKSwnc3ZwUG9wUGxheWVyJywnZGVwZW5kZW50PTEsdG9vbGJhcj0wLGxvY2F0aW9uPTAsZGlyZWN0b3JpZXM9MCxzdGF0dXM9MCxtZW51YmFyPTAsc2Nyb2xsYmFycz0wJyk7cmV0dXJuIGZhbHNlO307b2JqZWN0LmhyZWY9JyMnO30KLy8tLT4KPC9zY3JpcHQ+
</embed_code_html>
</response>
Description:
Returns a embed code for publishing. This service can be used for automated code generation in publisher's own website/application.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
video_key | Video key. See svp_list_videos service. |
video_ref * | Video reference ID. See svp_list_videos service. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
param_overrides | Name-Value-Pair list of override template parameters. The NVP data must be URL encoded (each value of NVP string must be URL encoded too). See appendix 3 for more information. |
embed_type * | The type of code to be generated. Available values: js_embed, popup, popin, player_link, object & transparent. |
template_ref * | Reference code of embed code template that you have saved from SVP platform. NOTE: If you pass a valid template reference code the embed_type* parameter is not necessary (It will be replaced with embed type associated with given template reference code) |
You need to pass either embed_type or a valid template reference ID! You may pass a video_key or video_ref to get embed code ready for.
Returned data:
HTML code for embedding or error code if error occurs. The code is returned as base64 encoded string value in order to
preserve formatting.
svp_get_bandwidth_amount
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_get_bandwidth_amount&token=56fbd05ff64e9fa2da78cb7acf97df13'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_get_bandwidth_amount&token=56fbd05ff64e9fa2da78cb7acf97df13")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_get_bandwidth_amount&token=56fbd05ff64e9fa2da78cb7acf97df13",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_get_bandwidth_amount&token=56fbd05ff64e9fa2da78cb7acf97df13")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_get_bandwidth_amount&token=56fbd05ff64e9fa2da78cb7acf97df13")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_get_bandwidth_amount&token=56fbd05ff64e9fa2da78cb7acf97df13");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<bandwidth_account>
<account_status>Active</account_status>
<total_bandwidth>9872859859363</total_bandwidth>
<monthly_bandwidth>9872859859363</monthly_bandwidth>
<renewal_bandwidth>0</renewal_bandwidth>
<renewal_date>0</renewal_date>
<additional_bandwidth>0</additional_bandwidth>
</bandwidth_account>
</response>
Description:
Returns the bandwidth amount associated with user account. May be used for custom tracking or notifications.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
user_ref | SVP User reference ID filter. _Only applicable for resellers!!! |
svp_list_video_images
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_list_video_images&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858522'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_list_video_images&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858522")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_list_video_images&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858522",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_list_video_images&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858522")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_list_video_images&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858522")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_list_video_images&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858522");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<count>xx</count>
<image_list>
<image>
<number>1...4</number>
<name>xxx</name>
<image_url>xxx.jpg</image_url>
<thumb_url>yyy.jpg</thumb_url>
<extension>jpg,gif,png...</extension>
<primary>yes/no</primary>
</image>
</image_list>
</response>
Description:
Returns a list of images associated with publisher's videos.
Notes:
The lifetime of the image name is currently 48h. You can obtain video image content within this time (See service svp_get_video_image).
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
video_ref * | Video reference ID. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
Returned data: List of video images or error code if error occurs. Parameter name is autogenerated and it is intended for using with service svp_get_video_image. Parameters image_url and thumb_url could be used for retrieving direct URL to video image and thumbnail. Parameter extension is image file extension (jpg, gif, png, etc.) – you can use it for properly saving of image files on your local environment. Parameter primary shows if image in list is marked as startup video image (available values – yes/no).
svp_get_video_image
Description:
Displays video image associated with some of publisher's videos.
Notes:
You have to store video image content in your local environment. The lifetime of generated image names is currently 48h (See service svp_list_video_images), so after that time this service won't be able to display the image.
svp_get_primary_video_image
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_get_primary_video_image&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858522'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_get_primary_video_image&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858522")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_get_primary_video_image&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858522",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_get_primary_video_image&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858522")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_get_primary_video_image&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858522")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_get_primary_video_image&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858522");
xhr.send(data);
The above command returns video image content or error code if error occurs
Description:
Displays video image associated with some of publisher's videos.
Notes:
You have to store video image content in your local environment.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
video_ref * | Video reference ID. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
type | Type of displayed image. With this parameter you can obtain thumb or large video image. If this parameter is not passed, the service displays large video image. Available values: thumb, large |
svp_set_video_image
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_image&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858522&number=1&url=https%3A%2F%2Fstatic.streamingvideoprovider.com%2Fassets_dist%2Fimg%2Fppv%2Fno-commision.png&type=store'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_image&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858522&number=1&url=https%3A%2F%2Fstatic.streamingvideoprovider.com%2Fassets_dist%2Fimg%2Fppv%2Fno-commision.png&type=store")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_image&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858522&number=1&url=https%3A%2F%2Fstatic.streamingvideoprovider.com%2Fassets_dist%2Fimg%2Fppv%2Fno-commision.png&type=store",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_image&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858522&number=1&url=https%3A%2F%2Fstatic.streamingvideoprovider.com%2Fassets_dist%2Fimg%2Fppv%2Fno-commision.png&type=store")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_set_video_image&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858522&number=1&url=https%3A%2F%2Fstatic.streamingvideoprovider.com%2Fassets_dist%2Fimg%2Fppv%2Fno-commision.png&type=store")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_image&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858522&number=1&url=https%3A%2F%2Fstatic.streamingvideoprovider.com%2Fassets_dist%2Fimg%2Fppv%2Fno-commision.png&type=store");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
</response>
Description:
Set video image associated with some of publisher's videos.
Notes:
If video image already exists it will be replaced with new image.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
video_ref * | Video reference ID. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
number * | Image number (must be between 1 and 4). See svp_list_video_images service. |
url * | URL of image file. URL string must be URL encoded and maximum 255 chars long. |
type * | Type of setting video image. Image can be established directly by image URL or can be stored on SVP system. Available values: direct, store NOTE: When type is store, actual file pull will start asynchronously from a separate server and may take some time. Do not delete the image file immediately, wait for a notification or do so with a clean up scheduled job on your server, in an hour for example! When type is direct, image thumbnails in Panel video list will be created asynchronously and stored on SVP server. If you change content of image URL, you have to call this service again in order to generate new image thumbnails. Notifications are sending as notice event type. See APPENDIX 2 – Section 6. |
svp_set_primary_video_image
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_set_primary_video_image&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858522&number=1'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_set_primary_video_image&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858522&number=1")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_set_primary_video_image&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858522&number=1",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_set_primary_video_image&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858522&number=1")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_set_primary_video_image&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858522&number=1")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_set_primary_video_image&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1858522&number=1");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
</response>
Description:
Marks video image as startup image associated with some of publisher's videos.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
video_ref * | Video reference ID. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
number * | Image number (must be between 1 and 4). See svp_list_video_images service. |
svp_cancel_user
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_cancel_user&token=56fbd05ff64e9fa2da78cb7acf97df13&user_ref=23567'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_cancel_user&token=56fbd05ff64e9fa2da78cb7acf97df13&user_ref=23567")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_cancel_user&token=56fbd05ff64e9fa2da78cb7acf97df13&user_ref=23567",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_cancel_user&token=56fbd05ff64e9fa2da78cb7acf97df13&user_ref=23567")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_cancel_user&token=56fbd05ff64e9fa2da78cb7acf97df13&user_ref=23567")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_cancel_user&token=56fbd05ff64e9fa2da78cb7acf97df13&user_ref=23567");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
</response>
Description:
It can be used to delete any of reseller's users.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
svp_start_broadcast
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_start_broadcast&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1918585'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_start_broadcast&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1918585")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_start_broadcast&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1918585",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_start_broadcast&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1918585")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_start_broadcast&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1918585")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_start_broadcast&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1918585");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
</response>
Description:
This service can be used to start broadcasting of live videos.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
video_ref * | Video reference ID. |
svp_stop_broadcast
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_stop_broadcast&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1918585'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_stop_broadcast&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1918585")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_stop_broadcast&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1918585",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_stop_broadcast&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1918585")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_stop_broadcast&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1918585")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_stop_broadcast&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1918585");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
</response>
Description:
This service can be used to stop broadcasting of live videos.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
video_ref * | Video reference ID. |
svp_start_live_encoder
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_start_live_encoder&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1918585&encoder_ref=1356487'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_start_live_encoder&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1918585&encoder_ref=1356487")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_start_live_encoder&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1918585&encoder_ref=1356487",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_start_live_encoder&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1918585&encoder_ref=1356487")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_start_live_encoder&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1918585&encoder_ref=1356487")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_start_live_encoder&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1918585&encoder_ref=1356487");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
</response>
Description:
This service can be used to start EzeCaster Pro encoder box.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
video_ref * | Video reference ID. |
encoder_ref * | Live encoder reference ID. See svp_list_live_encoders service. |
svp_stop_live_encoder
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_stop_live_encoder&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1918585&encoder_ref=1356487'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_stop_live_encoder&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1918585&encoder_ref=1356487")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_stop_live_encoder&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1918585&encoder_ref=1356487",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_stop_live_encoder&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1918585&encoder_ref=1356487")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_stop_live_encoder&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1918585&encoder_ref=1356487")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_stop_live_encoder&token=56fbd05ff64e9fa2da78cb7acf97df13&video_ref=1918585&encoder_ref=1356487");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
</response>
Description:
This service can be used to stop EzeCaster Pro encoder box.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
encoder_ref * | Live encoder reference ID. See svp_list_live_encoders service. |
svp_list_live_encoders
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_list_live_encoders&token=56fbd05ff64e9fa2da78cb7acf97df13'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_list_live_encoders&token=56fbd05ff64e9fa2da78cb7acf97df13")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_list_live_encoders&token=56fbd05ff64e9fa2da78cb7acf97df13",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_list_live_encoders&token=56fbd05ff64e9fa2da78cb7acf97df13")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_list_live_encoders&token=56fbd05ff64e9fa2da78cb7acf97df13")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_list_live_encoders&token=56fbd05ff64e9fa2da78cb7acf97df13");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<count>xx</count>
<live_encoder_list>
<live_encoder>
<ref_no>1</ref_no>
<name>My Live Encoder #1</name>
<status>started/stopped</status>
</live_encoder>
</live_encoder_list>
</response>
Description:
Returns a list of EzeCaster Pro encoders associated with publisher's account.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
svp_broadcast_feed
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_broadcast_feed&token=fe94be1ccc4a56ceb034b004e6b2adc3&video_title=API%20Generated%20Live'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_broadcast_feed&token=fe94be1ccc4a56ceb034b004e6b2adc3&video_title=API%20Generated%20Live")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_broadcast_feed&token=fe94be1ccc4a56ceb034b004e6b2adc3&video_title=API%20Generated%20Live",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_broadcast_feed&token=fe94be1ccc4a56ceb034b004e6b2adc3&video_title=API%20Generated%20Live")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_broadcast_feed&token=fe94be1ccc4a56ceb034b004e6b2adc3&video_title=API%20Generated%20Live")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_broadcast_feed&token=fe94be1ccc4a56ceb034b004e6b2adc3&video_title=API%20Generated%20Live");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<ref_no>1933720</ref_no>
<video_key>98xe72bkkm4g</video_key>
</response>
Description:
This service will create new Live Broadcast.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
whitelabel | WhiteLabel SVP video destination. Available values: yes & no (default). If value is yes you can re-brand this kind of player and insert your own logo or text (watermark). NOTE: If live video is registered under channel playlist and whitelabel parameter is not present, video destination will be established from default branding option in the channel. |
video_title | Title to be associated with this live video in the video list. |
tags | Tags to be added, can be used for easier integration with publisher's internal system. Multiple tags can be added and splitted with comma (','). |
tag_number | Legacy parameter - it will be disabled on 01/01/2020. See tags parameter. Integer user data. May be used at publisher's discretion. For example category or internal user ID. |
tag_string | Legacy parameter - it will be disabled on 01/01/2020. See tags parameter. String(100) user data. May be used at publisher's discretion. For example tagging information. |
channel_ref | Playlist under which the live video is to be associated with. Useful if you need to publish videos in a Playlist automatically. Take a look at svp_list_channels service for information how to get reference IDs dynamically. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
svp_start_recording
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_start_recording&token=fe94be1ccc4a56ceb034b004e6b2adc3&video_ref=1918585'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_start_recording&token=fe94be1ccc4a56ceb034b004e6b2adc3&video_ref=1918585")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_start_recording&token=fe94be1ccc4a56ceb034b004e6b2adc3&video_ref=1918585",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_start_recording&token=fe94be1ccc4a56ceb034b004e6b2adc3&video_ref=1918585")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_start_recording&token=fe94be1ccc4a56ceb034b004e6b2adc3&video_ref=1918585")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_start_recording&token=fe94be1ccc4a56ceb034b004e6b2adc3&video_ref=1918585");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
</response>
Description:
This service can be used to start recording of live videos.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
video_ref * | Video reference ID. |
svp_stop_recording
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_stop_recording&token=fe94be1ccc4a56ceb034b004e6b2adc3&video_ref=1918585'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_stop_recording&token=fe94be1ccc4a56ceb034b004e6b2adc3&video_ref=1918585")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_stop_recording&token=fe94be1ccc4a56ceb034b004e6b2adc3&video_ref=1918585",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_stop_recording&token=fe94be1ccc4a56ceb034b004e6b2adc3&video_ref=1918585")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_stop_recording&token=fe94be1ccc4a56ceb034b004e6b2adc3&video_ref=1918585")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_stop_recording&token=fe94be1ccc4a56ceb034b004e6b2adc3&video_ref=1918585");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
</response>
Description:
This service can be used to stop recording of live videos.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
video_ref * | Video reference ID. |
svp_list_video_playlists
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_list_video_playlists&token=fe94be1ccc4a56ceb034b004e6b2adc3'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_list_video_playlists&token=fe94be1ccc4a56ceb034b004e6b2adc3")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_list_video_playlists&token=fe94be1ccc4a56ceb034b004e6b2adc3",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_list_video_playlists&token=fe94be1ccc4a56ceb034b004e6b2adc3")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_list_video_playlists&token=fe94be1ccc4a56ceb034b004e6b2adc3")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_list_video_playlists&token=fe94be1ccc4a56ceb034b004e6b2adc3");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<count>14</count>
<video_playlists>
<video_playlist>
<ref_no>132171</ref_no>
<title>New web playlist</title>
</video_playlist>
<video_playlist>
<ref_no>134920</ref_no>
<title>PPV Playlist</title>
</video_playlist>
<video_playlist>
<ref_no>135406</ref_no>
<title>23</title>
</video_playlist>
<video_playlist>
<ref_no>136904</ref_no>
<title>new playlist</title>
</video_playlist>
<video_playlist>
<ref_no>136925</ref_no>
<title>johan</title>
</video_playlist>
<video_playlist>
<ref_no>137124</ref_no>
<title>1</title>
</video_playlist>
<video_playlist>
<ref_no>137552</ref_no>
<title>Monday</title>
</video_playlist>
<video_playlist>
<ref_no>137553</ref_no>
<title>Tuesday</title>
</video_playlist>
<video_playlist>
<ref_no>137554</ref_no>
<title>Players</title>
</video_playlist>
<video_playlist>
<ref_no>137556</ref_no>
<title>Players playlist</title>
</video_playlist>
<video_playlist>
<ref_no>137784</ref_no>
<title>Good examples</title>
</video_playlist>
<video_playlist>
<ref_no>137931</ref_no>
<title>WebTV BG Movies</title>
</video_playlist>
<video_playlist>
<ref_no>138151</ref_no>
<title>1</title>
</video_playlist>
<video_playlist>
<ref_no>138152</ref_no>
<title>Webinaari: Matkustavien ja tuontikoirien eläinlääkintä</title>
</video_playlist>
</video_playlists>
</response>
Description:
Returns a list of video playlists associated with publisher's account.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
svp_list_custom_fields
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_list_custom_fields&token=fe94be1ccc4a56ceb034b004e6b2adc3'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_list_custom_fields&token=fe94be1ccc4a56ceb034b004e6b2adc3")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_list_custom_fields&token=fe94be1ccc4a56ceb034b004e6b2adc3",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_list_custom_fields&token=fe94be1ccc4a56ceb034b004e6b2adc3")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_list_custom_fields&token=fe94be1ccc4a56ceb034b004e6b2adc3")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_list_custom_fields&token=fe94be1ccc4a56ceb034b004e6b2adc3");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<count>3</count>
<custom_fields>
<custom_field>
<ref_no>528</ref_no>
<name>Video Title</name>
<description></description>
</custom_field>
<custom_field>
<ref_no>529</ref_no>
<name>Short Description</name>
<description></description>
</custom_field>
<custom_field>
<ref_no>544</ref_no>
<name>Video Title</name>
<description></description>
</custom_field>
</custom_fields>
</response>
Description:
Returns a list of custom fields associated with publisher's account.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
svp_list_video_custom_fields
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_list_video_custom_fields&token=fe94be1ccc4a56ceb034b004e6b2adc3&video_ref=1918585'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_list_video_custom_fields&token=fe94be1ccc4a56ceb034b004e6b2adc3&video_ref=1918585")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_list_video_custom_fields&token=fe94be1ccc4a56ceb034b004e6b2adc3&video_ref=1918585",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_list_video_custom_fields&token=fe94be1ccc4a56ceb034b004e6b2adc3&video_ref=1918585")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_list_video_custom_fields&token=fe94be1ccc4a56ceb034b004e6b2adc3&video_ref=1918585")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_list_video_custom_fields&token=fe94be1ccc4a56ceb034b004e6b2adc3&video_ref=1918585");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<count>7</count>
<custom_fields>
<field>
<ref_no>519</ref_no>
<name>Title</name>
<value></value>
</field>
<field>
<ref_no>520</ref_no>
<name>Tag</name>
<value></value>
</field>
<field>
<ref_no>521</ref_no>
<name>Short Description</name>
<value></value>
</field>
<field>
<ref_no>522</ref_no>
<name>Long Description</name>
<value></value>
</field>
</custom_fields>
</response>
Description:
Returns a list of custom fields associated with some of publisher's videos.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
video_ref * | Video reference ID. See svp_list_videos service. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
svp_set_video_custom_field_value
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_custom_field_value&token=fe94be1ccc4a56ceb034b004e6b2adc3&video_ref=1918585&field_ref=521&value=New%20description'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_custom_field_value&token=fe94be1ccc4a56ceb034b004e6b2adc3&video_ref=1918585&field_ref=521&value=New%20description")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_custom_field_value&token=fe94be1ccc4a56ceb034b004e6b2adc3&video_ref=1918585&field_ref=521&value=New%20description",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_custom_field_value&token=fe94be1ccc4a56ceb034b004e6b2adc3&video_ref=1918585&field_ref=521&value=New%20description")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_set_video_custom_field_value&token=fe94be1ccc4a56ceb034b004e6b2adc3&video_ref=1918585&field_ref=521&value=New%20description")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_custom_field_value&token=fe94be1ccc4a56ceb034b004e6b2adc3&video_ref=1918585&field_ref=521&value=New%20description");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
</response>
Description:
This service can be used to set custom field value with some of publisher's videos.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
video_ref * | Video reference ID. See svp_list_videos service. |
field_ref * | Custom field reference ID. See svp_list_custom_fields service. |
value * | Video custom field value. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
svp_set_free_video_mode
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_set_free_video_mode&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_set_free_video_mode&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_set_free_video_mode&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_set_free_video_mode&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_set_free_video_mode&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_set_free_video_mode&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
</response>
Description:
This service can be used to set free to watch mode with some of publisher's videos.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
video_ref * | Video reference ID. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
svp_assign_video_tickets
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_assign_video_tickets&token=5a8949f59aa7c25e065c8f7f4134f85e&video_ref=1797794&layout=default&tickets=single&protection_type=payment&ticket_title=1&ticket_price=15'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_assign_video_tickets&token=5a8949f59aa7c25e065c8f7f4134f85e&video_ref=1797794&layout=default&tickets=single&protection_type=payment&ticket_title=1&ticket_price=15")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_assign_video_tickets&token=5a8949f59aa7c25e065c8f7f4134f85e&video_ref=1797794&layout=default&tickets=single&protection_type=payment&ticket_title=1&ticket_price=15",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_assign_video_tickets&token=5a8949f59aa7c25e065c8f7f4134f85e&video_ref=1797794&layout=default&tickets=single&protection_type=payment&ticket_title=1&ticket_price=15")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_assign_video_tickets&token=5a8949f59aa7c25e065c8f7f4134f85e&video_ref=1797794&layout=default&tickets=single&protection_type=payment&ticket_title=1&ticket_price=15")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_assign_video_tickets&token=5a8949f59aa7c25e065c8f7f4134f85e&video_ref=1797794&layout=default&tickets=single&protection_type=payment&ticket_title=1&ticket_price=15");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
</response>
Description:
This service can be used to assign Pay Per View tickets with some of publisher's videos. Some of parameters are marked for using only when single ticket is assigned. If expiry_days, expiry_months and expiry_years are empty or zero, expiry period of single ticket will be established to UNLIMITED.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
video_ref * | Video reference ID. |
layout * | Layout to be assigned with given video. Available values: default, advanced. |
tickets | List of tickets to be assigned with given video. It should be divided by commas. Available values: global, playlist, single. This parameter is mandatory for default layout. |
package_ref | Advanced package reference ID. See svp_list_advanced_packages service. This parameter is mandatory for advanced layout. |
protection_type | Ticket protection type. Available values: payment, password. This parameter is mandatory for advanced layout and single ticket. |
ticket_title | Prepaid single ticket title. NOTE: Available only when single ticket is assigned with given video. |
ticket_description | Ticket sales description. It describes what is the single ticket purpose. NOTE: Available only when single ticket is assigned with given video. |
ticket_price | Ticket price field. It determines the prepaid single ticket price. This parameter is mandatory and should be greater than zero. NOTE: Available only when single ticket is assigned with given video. |
expiry_days | This parameter allows to set up expiry period in days for single ticket. NOTE: Available only when single ticket is assigned with given video. |
expiry_months | This parameter allows to set up expiry period in months for single ticket. NOTE: Available only when single ticket is assigned with given video. |
expiry_years | This parameter allows to set up expiry period in years for single ticket. NOTE: Available only when single ticket is assigned with given video. |
total_allowed_views | This parameter limits the maximum number of times the viewer can use this ticket to play given video. If this parameter is empty or zero, UNLIMITED allowed views will be established. This means that viewer can use single ticket unlimited number of times to play given video unless it is further limited by. NOTE: Available only when single ticket is assigned with given video. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
svp_list_advanced_packages
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_list_advanced_packages&token=5a8949f59aa7c25e065c8f7f4134f85e'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_list_advanced_packages&token=5a8949f59aa7c25e065c8f7f4134f85e")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_list_advanced_packages&token=5a8949f59aa7c25e065c8f7f4134f85e",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_list_advanced_packages&token=5a8949f59aa7c25e065c8f7f4134f85e")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_list_advanced_packages&token=5a8949f59aa7c25e065c8f7f4134f85e")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_list_advanced_packages&token=5a8949f59aa7c25e065c8f7f4134f85e");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<count>3</count>
<advanced_packages>
<advanced_package>
<ref_no>4021</ref_no>
<name>Password protected First</name>
</advanced_package>
<advanced_package>
<ref_no>4295</ref_no>
<name>Testing December 2017</name>
</advanced_package>
<advanced_package>
<ref_no>4383</ref_no>
<name>123</name>
</advanced_package>
</advanced_packages>
</response>
Description:
Returns a list of advanced packages associated with publisher's account.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
svp_set_video_protection_mode
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_protection_mode&token=5a8949f59aa7c25e065c8f7f4134f85e&video_ref=1797794&protection_wall=timed&seconds=30'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_protection_mode&token=5a8949f59aa7c25e065c8f7f4134f85e&video_ref=1797794&protection_wall=timed&seconds=30")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_protection_mode&token=5a8949f59aa7c25e065c8f7f4134f85e&video_ref=1797794&protection_wall=timed&seconds=30",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_protection_mode&token=5a8949f59aa7c25e065c8f7f4134f85e&video_ref=1797794&protection_wall=timed&seconds=30")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_set_video_protection_mode&token=5a8949f59aa7c25e065c8f7f4134f85e&video_ref=1797794&protection_wall=timed&seconds=30")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_protection_mode&token=5a8949f59aa7c25e065c8f7f4134f85e&video_ref=1797794&protection_wall=timed&seconds=30");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
</response>
Description:
This service can be used to set protection wall to viewer with some of publisher's videos.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
video_ref * | Video reference ID. |
protection_wall * | Protection wall to be assigned with given video. Available values: immediately, timed. |
seconds | In case of timed protection wall, ticket overlay pops up after the set number of seconds. NOTE: Available only when timed protection wall is assigned with given video. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
svp_generate_ticket_passwords
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_generate_ticket_passwords&token=5a8949f59aa7c25e065c8f7f4134f85e&video_ref=1797794&ticket=single&count_passwords=4&layout=default'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_generate_ticket_passwords&token=5a8949f59aa7c25e065c8f7f4134f85e&video_ref=1797794&ticket=single&count_passwords=4&layout=default")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_generate_ticket_passwords&token=5a8949f59aa7c25e065c8f7f4134f85e&video_ref=1797794&ticket=single&count_passwords=4&layout=default",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_generate_ticket_passwords&token=5a8949f59aa7c25e065c8f7f4134f85e&video_ref=1797794&ticket=single&count_passwords=4&layout=default")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_generate_ticket_passwords&token=5a8949f59aa7c25e065c8f7f4134f85e&video_ref=1797794&ticket=single&count_passwords=4&layout=default")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_generate_ticket_passwords&token=5a8949f59aa7c25e065c8f7f4134f85e&video_ref=1797794&ticket=single&count_passwords=4&layout=default");
xhr.send(data);
The above command returns XML structured like this:
<response>
<result>OK</result>
<passwords>
<password>5A5JCJB638</password>
<password>D91884G2A4</password>
<password>646FB965D3</password>
<password>55AG9DJ5JC</password>
</passwords>
</response>
Description:
This service can be used to generate passwords with some of publisher's videos. Some of parameters are marked for using only when single ticket is assigned. If expiry_days, expiry_months and expiry_years are empty or zero, expiry period of single ticket will be established to UNLIMITED.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
ticket * | Available values: global, playlist, single. |
layout * | Layout to be assigned with given video. Available values: default, advanced. |
video_ref | Video reference ID. See svp_list_videos service. NOTE: Available only when ticket parameter is single. |
channel_ref | Video playlist reference ID. Take a look at svp_list_channels service for information how to get reference IDs dynamically. NOTE: Available only when ticket parameter is playlist. |
package_ref | Advanced package reference ID. See svp_list_advanced_packages service. This parameter is mandatory for advanced layout. |
expiry_days | This parameter allows to set up expiry period in days for single ticket. NOTE: Available only when single ticket is assigned with given video. |
expiry_months | This parameter allows to set up expiry period in months for single ticket. NOTE: Available only when single ticket is assigned with given video. |
expiry_years | This parameter allows to set up expiry period in years for single ticket. NOTE: Available only when single ticket is assigned with given video. |
total_allowed_views | This parameter limits the maximum number of times the viewer can use this ticket to play given video. If this parameter is empty or zero, UNLIMITED allowed views will be established. This means that viewer can use single ticket unlimited number of times to play given video unless it is further limited by. NOTE: Available only when single ticket is assigned with given video. |
total_allowed_views_per_video | This parameter limits the maximum number of times the viewer can use password to play any of publisher's videos. If this parameter is empty or zero, UNLIMITED allowed views per video will be established. This means that viewer can use password unlimited number of times to play any of publisher's videos unless they are further limited by. NOTE: Available only when ticket parameter is playlist or global. |
count_passwords | Number of passwords to be generated. NOTE: Maximum number of passwords generated per request is 50. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
svp_confirm_ppv_order
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_confirm_ppv_order&token=5a8949f59aa7c25e065c8f7f4134f85e&order_key=5464897'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_confirm_ppv_order&token=5a8949f59aa7c25e065c8f7f4134f85e&order_key=5464897")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_confirm_ppv_order&token=5a8949f59aa7c25e065c8f7f4134f85e&order_key=5464897",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_confirm_ppv_order&token=5a8949f59aa7c25e065c8f7f4134f85e&order_key=5464897")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_confirm_ppv_order&token=5a8949f59aa7c25e065c8f7f4134f85e&order_key=5464897")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_confirm_ppv_order&token=5a8949f59aa7c25e065c8f7f4134f85e&order_key=5464897");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
</response>
Description:
This service can be used to confirm PPV order in case of using custom payment solution.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
order_key * | PPV order key. It's available through POST parameter after redirection to custom payment processor URL. |
email * | Viewer's email address. |
transaction_id * | ID of transaction in custom payment processor. |
first_name | Viewer's first name. |
last_name | Viewer's last name. |
svp_get_rtmp_url
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_get_rtmp_url&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1933720'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_get_rtmp_url&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1933720")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_get_rtmp_url&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1933720",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_get_rtmp_url&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1933720")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_get_rtmp_url&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1933720")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_get_rtmp_url&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1933720");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<rtmp_url>cnRtcDovL2xpdmVjYXN0LndlYnZpZGVvY29yZS5uZXQ6MTE5MzUvbGl2ZS8xOXJtcGU2NGg4ZzAwODg0ZzQ4OA==</rtmp_url>
</response>
Description:
This service can be used to get RTMP uplink URL with some of publisher's live videos.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
video_ref * | Video reference ID. See svp_list_videos service. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
svp_broadcast_attach_resource
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_broadcast_attach_resource&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1933720&type=rtsp&rtsp_ref=26545'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_broadcast_attach_resource&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1933720&type=rtsp&rtsp_ref=26545")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_broadcast_attach_resource&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1933720&type=rtsp&rtsp_ref=26545",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_broadcast_attach_resource&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1933720&type=rtsp&rtsp_ref=26545")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_broadcast_attach_resource&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1933720&type=rtsp&rtsp_ref=26545")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_broadcast_attach_resource&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1933720&type=rtsp&rtsp_ref=26545");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
</response>
Description:
This service can be used to attach resources to a clip broadcast.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
video_ref * | Video reference ID. See svp_list_videos service. |
type * | Type of the resource. Available values: rtsp , live. NOTE: Using live option will remove all attached resources. |
rtsp_ref | RTSP camera reference ID. Only available for rtsp type!!! See svp_list_rtsp service. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
svp_create_rtsp
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_create_rtsp&token=b9e3053c600cecc84c4db0ac9e6ee9ab&rtsp_name=QuickCam2000&rtsp_url=rtsp%3A%2F%2F123%3A456%4080.125.33.16&new_broadcast=yes&whitelabel=yes&video_title=New%20June%202018&channel_ref=137784'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_create_rtsp&token=b9e3053c600cecc84c4db0ac9e6ee9ab&rtsp_name=QuickCam2000&rtsp_url=rtsp%3A%2F%2F123%3A456%4080.125.33.16&new_broadcast=yes&whitelabel=yes&video_title=New%20June%202018&channel_ref=137784")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_create_rtsp&token=b9e3053c600cecc84c4db0ac9e6ee9ab&rtsp_name=QuickCam2000&rtsp_url=rtsp%3A%2F%2F123%3A456%4080.125.33.16&new_broadcast=yes&whitelabel=yes&video_title=New%20June%202018&channel_ref=137784",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_create_rtsp&token=b9e3053c600cecc84c4db0ac9e6ee9ab&rtsp_name=QuickCam2000&rtsp_url=rtsp%3A%2F%2F123%3A456%4080.125.33.16&new_broadcast=yes&whitelabel=yes&video_title=New%20June%202018&channel_ref=137784")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_create_rtsp&token=b9e3053c600cecc84c4db0ac9e6ee9ab&rtsp_name=QuickCam2000&rtsp_url=rtsp%3A%2F%2F123%3A456%4080.125.33.16&new_broadcast=yes&whitelabel=yes&video_title=New%20June%202018&channel_ref=137784")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_create_rtsp&token=b9e3053c600cecc84c4db0ac9e6ee9ab&rtsp_name=QuickCam2000&rtsp_url=rtsp%3A%2F%2F123%3A456%4080.125.33.16&new_broadcast=yes&whitelabel=yes&video_title=New%20June%202018&channel_ref=137784");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<ref_no>26838</ref_no>
<clip>
<ref_no>1949708</ref_no>
<video_key>7djm5qfnu1gc</video_key>
</clip>
</response>
Description:
This service can be used to set up RTSP camera.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
rtsp_name * | Title to be associated with the camera. |
rtsp_url * | Valid RTSP URL / SDP content to be associated with the camera. NOTE: For SDP content see sdp parameter. |
new_broadcast | If this parameter is present new broadcast will be created and the camera will be attached to it. Available values: yes. |
whitelabel | WhiteLabel SVP video destination. Available values: yes & no (default). If value is yes you can re-brand this kind of player and insert your own logo or text (watermark). NOTE: If live video is registered under channel playlist and whitelabel parameter is not present, video destination will be established from default branding option in the channel. Only available when new_broadcast is set to: yes!!! Warning: Parameter is applicable only for users who are using the old panel. |
video_title | Title to be associated with this live video in the video list. Only available when new_broadcast is set to: yes!!! |
tags | Tags to be added, can be used for easier integration with publisher's internal system. Multiple tags can be added and splitted with comma (','). Only available when new_broadcast is set to: yes!!! |
tag_number | Legacy parameter - it will be disabled on 01/01/2020. See tags parameter. Integer user data. May be used at publisher's discretion. For example category or internal user ID. Only available when new_broadcast is set to: yes!!! |
tag_string | Legacy parameter - it will be disabled on 01/01/2020. See tags parameter. String(100) user data. May be used at publisher's discretion. For example tagging information. Only available when new_broadcast is set to: yes!!! |
channel_ref | Playlist under which the live video is to be associated with. Useful if you need to publish videos in a Playlist automatically. Take a look at svp_list_channels service for information how to get reference IDs dynamically. Only available when new_broadcast is set to: yes!!! |
sdp | If this parameter is present and it's value is 1 then the camera will be treated as RTP and rtsp_url parameter should contain SDP file content. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
svp_edit_rtsp
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_edit_rtsp&token=b9e3053c600cecc84c4db0ac9e6ee9ab&rtsp_name=NewCam3000&rtsp_ref=26838'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_edit_rtsp&token=b9e3053c600cecc84c4db0ac9e6ee9ab&rtsp_name=NewCam3000&rtsp_ref=26838")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_edit_rtsp&token=b9e3053c600cecc84c4db0ac9e6ee9ab&rtsp_name=NewCam3000&rtsp_ref=26838",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_edit_rtsp&token=b9e3053c600cecc84c4db0ac9e6ee9ab&rtsp_name=NewCam3000&rtsp_ref=26838")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_edit_rtsp&token=b9e3053c600cecc84c4db0ac9e6ee9ab&rtsp_name=NewCam3000&rtsp_ref=26838")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_edit_rtsp&token=b9e3053c600cecc84c4db0ac9e6ee9ab&rtsp_name=NewCam3000&rtsp_ref=26838");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
</response>
Description:
This service can be used to edit RTSP camera parameters.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
rtsp_ref * | RTSP camera reference ID. |
rtsp_name | Title to be associated with the camera. |
rtsp_url * | Valid RTSP URL / SDP content to be associated with the camera. NOTE: For SDP content see sdp parameter. |
sdp | If this parameter is present and it's value is 1 then the camera will be treated as RTP and rtsp_url parameter should contain SDP file content. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
svp_remove_rtsp
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_remove_rtsp&token=b9e3053c600cecc84c4db0ac9e6ee9ab&rtsp_ref=26839'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_remove_rtsp&token=b9e3053c600cecc84c4db0ac9e6ee9ab&rtsp_ref=26839")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_remove_rtsp&token=b9e3053c600cecc84c4db0ac9e6ee9ab&rtsp_ref=26839",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_remove_rtsp&token=b9e3053c600cecc84c4db0ac9e6ee9ab&rtsp_ref=26839")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_remove_rtsp&token=b9e3053c600cecc84c4db0ac9e6ee9ab&rtsp_ref=26839")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_remove_rtsp&token=b9e3053c600cecc84c4db0ac9e6ee9ab&rtsp_ref=26839");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<ref_no>26838</ref_no>
<clip>
<ref_no>1949708</ref_no>
<video_key>7djm5qfnu1gc</video_key>
</clip>
</response>
Description:
This service can be used to remove RTSP camera.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
rtsp_ref * | RTSP camera reference ID. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
svp_list_rtsp
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_list_rtsp&token=b9e3053c600cecc84c4db0ac9e6ee9ab'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_list_rtsp&token=b9e3053c600cecc84c4db0ac9e6ee9ab")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_list_rtsp&token=b9e3053c600cecc84c4db0ac9e6ee9ab",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_list_rtsp&token=b9e3053c600cecc84c4db0ac9e6ee9ab")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_list_rtsp&token=b9e3053c600cecc84c4db0ac9e6ee9ab")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_list_rtsp&token=b9e3053c600cecc84c4db0ac9e6ee9ab");
xhr.send(data);
The above command returns XML structured like this:
<response>
<result>OK</result>
<count>1</count>
<timestamp>1528180056</timestamp>
<rtsp_list>
<rtsp>
<ref_no>26838</ref_no>
<name>NewCam3000</name>
<url>rtsp://123:456@80.125.33.16</url>
<status>0</status>
<message></message>
</rtsp>
</rtsp_list>
</response>
Description:
This service can be used to list RTSP cameras.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
count_only | Returns only total count of RTSP cameras. NOTE: RTSP camera list is not present in response. |
user_ref | SVP User reference ID filter. _Only applicable for resellers!!! |
svp_list_recordings
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_list_recordings&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_list_recordings&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_list_recordings&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_list_recordings&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_list_recordings&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_list_recordings&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<count>1</count>
<timestamp>1528182080</timestamp>
<video_list>
<video>
<ref_no>1920361</ref_no>
<clip_key>24uc46gxl6kk</clip_key>
<title>Recording #2jobxl8lblq8 (Apr 27, 2018 15:28:01)</title>
<tag_number></tag_number>
<tag_string></tag_string>
<video_source>ondemand</video_source>
<stream_name></stream_name>
<channel_ref>137552</channel_ref>
<duration>10817</duration>
<date_created>1525241716</date_created>
<date_modified>1527955108</date_modified>
</video>
</video_list>
</response>
Description:
Returns a list of recorded videos related to a Live Broadcast.
Notes:
Will show results only for a live video ref
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
video_ref * | Video reference ID. See svp_list_videos service. NOTE: Will accept only live feed video references! |
count_only | Returns only total count of recorded videos. NOTE: All recorded video list is not present in the response. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
svp_recording_status
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_recording_status&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_recording_status&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_recording_status&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_recording_status&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_recording_status&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_recording_status&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<recordings>
<recording>
<file_name>2017895_efw4zs9t1lw0kog0w08s.flv</file_name>
<file_size>3226315</file_size>
<date>1544697480</date>
</recording>
</recordings>
</response>
Description:
Returns a list of files that are currently being recorded with their current size (in bytes) and start date (UNIX timestamp integer).
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
video_ref * | Video reference ID. See svp_list_videos service. |
clip_key | Video Clip ID if video_ref is not used. |
svp_set_clip_delivery
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_set_clip_delivery&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585&delivery_method=rtmp&cookie_protection=yes'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_set_clip_delivery&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585&delivery_method=rtmp&cookie_protection=yes")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_set_clip_delivery&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585&delivery_method=rtmp&cookie_protection=yes",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_set_clip_delivery&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585&delivery_method=rtmp&cookie_protection=yes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_set_clip_delivery&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585&delivery_method=rtmp&cookie_protection=yes")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_set_clip_delivery&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585&delivery_method=rtmp&cookie_protection=yes");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
</response>
Description:
Sets delivery method for a specific video.
Notes: Will show results only for a live video ref
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
video_ref * | Video reference ID. See svp_list_videos service. |
delivery_method * | Valid delivery method name. Check Appendix 6: Delivery methods! |
cookie_protection | Hotlinking protection using cookie! Available values: yes , no. Only available when using HLS or Secured HLS!!! |
ip_protection | Hotlinking protection using IP! Available values: yes , no. Only available when using HLS or Secured HLS!!! |
svp_get_hls_url
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_get_hls_url&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_get_hls_url&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_get_hls_url&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_get_hls_url&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_get_hls_url&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_get_hls_url&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<video_url>http://player.webvideocore.net/CL1olYogIrDWvwqiIKK7eCxp03sPStqG9DuEjAr2ZjZQtvS3d4y9r0cvRhvS17SGN/a_2jobxl8lblq8.m3u8</video_url>
</response>
Description:
Returns the playback hls url of a specific video or live broadcast. You can get and use the playback video url within your own mobile application, Roku or other Top-Set Boxes and TV Apps.
Notes:
Will show results only for a live video ref
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
video_ref * | Video reference ID. See svp_list_videos service. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
viewer_ip | Viewer IP used for IP Hotlinking protection. Should be used if this service is not directly called from the viewer. By default the caller IP is used. |
svp_get_video_stats
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_get_video_stats&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_get_video_stats&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_get_video_stats&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_get_video_stats&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_get_video_stats&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_get_video_stats&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1918585");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<stats>
<played>9</played>
<shown>200</shown>
</stats>
</response>
Description: Returns a played/shown statistics for specific video.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
video_ref * | Video reference ID. See svp_list_videos service. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
svp_get_rtp_destination_server
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_get_rtp_destination_server&token=b9e3053c600cecc84c4db0ac9e6ee9ab&rtsp_ref=26545'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_get_rtp_destination_server&token=b9e3053c600cecc84c4db0ac9e6ee9ab&rtsp_ref=26545")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_get_rtp_destination_server&token=b9e3053c600cecc84c4db0ac9e6ee9ab&rtsp_ref=26545",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_get_rtp_destination_server&token=b9e3053c600cecc84c4db0ac9e6ee9ab&rtsp_ref=26545")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_get_rtp_destination_server&token=b9e3053c600cecc84c4db0ac9e6ee9ab&rtsp_ref=26545")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_get_rtp_destination_server&token=b9e3053c600cecc84c4db0ac9e6ee9ab&rtsp_ref=26545");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<destination_ip>xxx.xxx.xxx.xxx</destination_ip>
<video_port>46558</video_port>
<audio_port>46560</audio_port>
<sdp_content><![CDATA[rtsp://admin:xxx@xxx.xxx.xxx.xxx:554]]></sdp_content>
</response>
Description:
Returns a RTP publishing data for specific RTP camera.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
rtsp_ref * | RTP camera reference ID. |
country_code | Two letter ISO 3166 country code which points the location of camera. NOTE: Example country codes list could be found here. |
user_ref | SVP User reference ID filter. Only applicable for resellers!!! |
svp_create_password_package
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_create_password_package&token=b9e3053c600cecc84c4db0ac9e6ee9ab&package_name=New%20Package&group_0_name=New%20Group&group_0_password_type=random&group_0_count_passwords=1'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_create_password_package&token=b9e3053c600cecc84c4db0ac9e6ee9ab&package_name=New%20Package&group_0_name=New%20Group&group_0_password_type=random&group_0_count_passwords=1")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_create_password_package&token=b9e3053c600cecc84c4db0ac9e6ee9ab&package_name=New%20Package&group_0_name=New%20Group&group_0_password_type=random&group_0_count_passwords=1",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_create_password_package&token=b9e3053c600cecc84c4db0ac9e6ee9ab&package_name=New%20Package&group_0_name=New%20Group&group_0_password_type=random&group_0_count_passwords=1")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_create_password_package&token=b9e3053c600cecc84c4db0ac9e6ee9ab&package_name=New%20Package&group_0_name=New%20Group&group_0_password_type=random&group_0_count_passwords=1")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_create_password_package&token=b9e3053c600cecc84c4db0ac9e6ee9ab&package_name=New%20Package&group_0_name=New%20Group&group_0_password_type=random&group_0_count_passwords=1");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<ref_no>4277</ref_no>
<groups>
<group>
<order_no>0</order_no>
<count>1</count>
<ref_no>7244</ref_no>
</group>
</groups>
</response>
Description:
This service will create new password package.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
package_name * | The name of the newly created package. |
group_n_name * | The name of group password. You can specify up to 10 groups, where n is a digit between 0 and 9, inclusive. |
group_n_password_type * | Type of passwords to be added to current group. Available values: random, custom. |
seconds | Seconds of delay before showing paywall. Empty or missing value is equal to immediately. |
group_n_expiry_date | This parameter allows to set up expiry date (dd-mm-YYYY) for generated passwords. If this parameter is empty expiry period of generated passwords will be established to UNLIMITED. Max allowed date is 07 Feb 2106. |
group_n_total_allowed_views | This parameter limits the maximum number of times the viewer can use password to play given video. If this parameter is empty or zero, UNLIMITED allowed views will be established. This means that viewer can use password unlimited number of times to play given video unless it is further limited by. |
group_n_total_allowed_views_per_video | This parameter limits the maximum number of times the viewer can use password to play any of publisher's videos. If this parameter is empty or zero, UNLIMITED allowed views per video will be established. This means that viewer can use password unlimited number of times to play any of publisher's videos unless they are further limited by. |
group_n_tags | Comma separated list of tags. Each tag must be URL encoded. |
group_n_count_passwords | Number of passwords to be generated, limited to maximum of 50. This parameter is mandatory for random password_type. |
group_n_custom_passwords | Comma separated list of custom passwords. Each password must be URL encoded. This parameter is mandatory for custom password_type. |
svp_add_password_group
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_add_password_group&token=b9e3053c600cecc84c4db0ac9e6ee9ab&package_ref=4277&group_0_name=Another%20Group&group_0_password_type=random&group_0_count_passwords=1'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_add_password_group&token=b9e3053c600cecc84c4db0ac9e6ee9ab&package_ref=4277&group_0_name=Another%20Group&group_0_password_type=random&group_0_count_passwords=1")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_add_password_group&token=b9e3053c600cecc84c4db0ac9e6ee9ab&package_ref=4277&group_0_name=Another%20Group&group_0_password_type=random&group_0_count_passwords=1",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_add_password_group&token=b9e3053c600cecc84c4db0ac9e6ee9ab&package_ref=4277&group_0_name=Another%20Group&group_0_password_type=random&group_0_count_passwords=1")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_add_password_group&token=b9e3053c600cecc84c4db0ac9e6ee9ab&package_ref=4277&group_0_name=Another%20Group&group_0_password_type=random&group_0_count_passwords=1")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_add_password_group&token=b9e3053c600cecc84c4db0ac9e6ee9ab&package_ref=4277&group_0_name=Another%20Group&group_0_password_type=random&group_0_count_passwords=1");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<groups>
<group>
<order_no>0</order_no>
<count>1</count>
<ref_no>7245</ref_no>
</group>
</groups>
</response>
Description:
This service will create new password group inside password package.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
package_ref * | Password package reference ID. See svp_list_password_packages service. |
group_n_name * | The name of group password. You can specify up to 10 groups, where n is a digit between 0 and 9, inclusive. |
group_n_password_type * | Type of passwords to be added to current group. Available values: random, custom. |
seconds | Seconds of delay before showing paywall. Empty or missing value is equal to immediately. |
group_n_expiry_date | This parameter allows to set up expiry date (dd-mm-YYYY) for generated passwords. If this parameter is empty expiry period of generated passwords will be established to UNLIMITED. Max allowed date is 07 Feb 2106. |
group_n_total_allowed_views | This parameter limits the maximum number of times the viewer can use password to play given video. If this parameter is empty or zero, UNLIMITED allowed views will be established. This means that viewer can use password unlimited number of times to play given video unless it is further limited by. |
group_n_total_allowed_views_per_video | This parameter limits the maximum number of times the viewer can use password to play any of publisher's videos. If this parameter is empty or zero, UNLIMITED allowed views per video will be established. This means that viewer can use password unlimited number of times to play any of publisher's videos unless they are further limited by. |
group_n_tags | Comma separated list of tags. Each tag must be URL encoded. |
group_n_count_passwords | Number of passwords to be generated, limited to maximum of 50. This parameter is mandatory for random password_type. |
group_n_custom_passwords | Comma separated list of custom passwords. Each password must be URL encoded. This parameter is mandatory for custom password_type. |
svp_add_group_passwords
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_add_group_passwords&token=b9e3053c600cecc84c4db0ac9e6ee9ab&group_ref=7245&password_type=random&count_passwords=1&expiry_date=03-06-2020'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_add_group_passwords&token=b9e3053c600cecc84c4db0ac9e6ee9ab&group_ref=7245&password_type=random&count_passwords=1&expiry_date=03-06-2020")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_add_group_passwords&token=b9e3053c600cecc84c4db0ac9e6ee9ab&group_ref=7245&password_type=random&count_passwords=1&expiry_date=03-06-2020",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_add_group_passwords&token=b9e3053c600cecc84c4db0ac9e6ee9ab&group_ref=7245&password_type=random&count_passwords=1&expiry_date=03-06-2020")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_add_group_passwords&token=b9e3053c600cecc84c4db0ac9e6ee9ab&group_ref=7245&password_type=random&count_passwords=1&expiry_date=03-06-2020")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_add_group_passwords&token=b9e3053c600cecc84c4db0ac9e6ee9ab&group_ref=7245&password_type=random&count_passwords=1&expiry_date=03-06-2020");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<count>1</count>
<passwords>
<password>52BJB7J35C</password>
</passwords>
</response>
Description:
This service will add passwords inside password group.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
group_ref * | The ID of password group. See svp_list_password_packages service. |
password_type * | Type of passwords to be added to current group. Available values: random, custom. |
expiry_date | This parameter allows to set up expiry date (dd-mm-YYYY) for generated passwords. If this parameter is empty expiry period of generated passwords will be established to UNLIMITED. Max allowed date is 07 Feb 2106. |
total_allowed_views | This parameter limits the maximum number of times the viewer can use password to play given video. If this parameter is empty or zero, UNLIMITED allowed views will be established. This means that viewer can use password unlimited number of times to play given video unless it is further limited by. |
total_allowed_views_per_video | This parameter limits the maximum number of times the viewer can use password to play any of publisher's videos. If this parameter is empty or zero, UNLIMITED allowed views per video will be established. This means that viewer can use password unlimited number of times to play any of publisher's videos unless they are further limited by. |
tags | Comma separated list of tags. Each tag must be URL encoded. |
count_passwords | Number of passwords to be generated, limited to maximum of 50. This parameter is mandatory for random password_type. |
custom_passwords | Comma separated list of custom passwords. Each password must be URL encoded. This parameter is mandatory for custom password_type. |
svp_disable_or_enable_password
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_disable_or_enable_password&token=02cc69c2043db70ecc6117cb9dc7d1f8&password=6I6IEJAAFA&action=enable'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_disable_or_enable_password&token=02cc69c2043db70ecc6117cb9dc7d1f8&password=6I6IEJAAFA&action=enable")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_disable_or_enable_password&token=02cc69c2043db70ecc6117cb9dc7d1f8&password=6I6IEJAAFA&action=enable",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_disable_or_enable_password&token=02cc69c2043db70ecc6117cb9dc7d1f8&password=6I6IEJAAFA&action=enable")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_disable_or_enable_password&token=02cc69c2043db70ecc6117cb9dc7d1f8&password=6I6IEJAAFA&action=enable")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_disable_or_enable_password&token=02cc69c2043db70ecc6117cb9dc7d1f8&password=6I6IEJAAFA&action=enable");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
</response>
Description:
This service will enable or disable password associated with publisher's account.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
password * | The value of the password to be updated. |
action * | Action to be taken. Available values: enable, disable. |
svp_list_password_packages
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_list_password_packages&token=7818bbc973e7179a5a193571acb45967'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_list_password_packages&token=7818bbc973e7179a5a193571acb45967")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_list_password_packages&token=7818bbc973e7179a5a193571acb45967",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_list_password_packages&token=7818bbc973e7179a5a193571acb45967")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_list_password_packages&token=7818bbc973e7179a5a193571acb45967")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_list_password_packages&token=7818bbc973e7179a5a193571acb45967");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<count>22</count>
<password_packages>
<free_password_package>
<ref_no>1</ref_no>
<name>Access without password</name>
</free_password_package>
<password_package>
<ref_no>4277</ref_no>
<name>New Package</name>
<groups>
<group>
<ref_no>7244</ref_no>
<name>New Group</name>
</group>
<group>
<ref_no>7245</ref_no>
<name>Another Group</name>
</group>
</groups>
</password_package>
</password_packages>
</response>
Description:
Returns a list of password packages associated with publisher's account.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
svp_set_video_password_package
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_password_package&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1935765&package_ref=4277'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_password_package&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1935765&package_ref=4277")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_password_package&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1935765&package_ref=4277",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_password_package&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1935765&package_ref=4277")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_set_video_password_package&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1935765&package_ref=4277")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_password_package&token=b9e3053c600cecc84c4db0ac9e6ee9ab&video_ref=1935765&package_ref=4277");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
</response>
Description:
This service can be used to assign Password package with some of publisher's videos.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
video_ref * | Video reference ID if clip_key is not used. See svp_list_videos service. |
clip_key * | Video Clip ID if video_ref is not used. |
package_ref * | Password package reference ID . See svp_list_password_packages service. |
svp_set_playlist_password_package
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_set_playlist_password_package&token=b9e3053c600cecc84c4db0ac9e6ee9ab&channel_ref=132171&package_ref=4277'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_set_playlist_password_package&token=b9e3053c600cecc84c4db0ac9e6ee9ab&channel_ref=132171&package_ref=4277")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_set_playlist_password_package&token=b9e3053c600cecc84c4db0ac9e6ee9ab&channel_ref=132171&package_ref=4277",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_set_playlist_password_package&token=b9e3053c600cecc84c4db0ac9e6ee9ab&channel_ref=132171&package_ref=4277")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_set_playlist_password_package&token=b9e3053c600cecc84c4db0ac9e6ee9ab&channel_ref=132171&package_ref=4277")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_set_playlist_password_package&token=b9e3053c600cecc84c4db0ac9e6ee9ab&channel_ref=132171&package_ref=4277");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
</response>
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
channel_ref * | Video playlist reference ID. See svp_list_channels service. |
package_ref * | Password package reference ID . See svp_list_password_packages service. |
force_update | Set to 1 to enable. Forces package to be applied on clips that currently don't inherit playlist password settings. |
svp_create_ppv_package
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_create_ppv_package&token=7818bbc973e7179a5a193571acb45967&package_name=NewOne&ticket_0_title=New%20Ticket&ticket_0_currency=USD&ticket_0_price=20&ticket_0_description=More%20details'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_create_ppv_package&token=7818bbc973e7179a5a193571acb45967&package_name=NewOne&ticket_0_title=New%20Ticket&ticket_0_currency=USD&ticket_0_price=20&ticket_0_description=More%20details")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_create_ppv_package&token=7818bbc973e7179a5a193571acb45967&package_name=NewOne&ticket_0_title=New%20Ticket&ticket_0_currency=USD&ticket_0_price=20&ticket_0_description=More%20details",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_create_ppv_package&token=7818bbc973e7179a5a193571acb45967&package_name=NewOne&ticket_0_title=New%20Ticket&ticket_0_currency=USD&ticket_0_price=20&ticket_0_description=More%20details")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_create_ppv_package&token=7818bbc973e7179a5a193571acb45967&package_name=NewOne&ticket_0_title=New%20Ticket&ticket_0_currency=USD&ticket_0_price=20&ticket_0_description=More%20details")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_create_ppv_package&token=7818bbc973e7179a5a193571acb45967&package_name=NewOne&ticket_0_title=New%20Ticket&ticket_0_currency=USD&ticket_0_price=20&ticket_0_description=More%20details");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<ref_no>12735</ref_no>
<tickets>
<ticket>
<order_no>1520387</order_no>
</ticket>
</tickets>
</response>
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
package_name * | The name of the newly created package. |
seconds | Seconds of delay before showing paywall. Empty or missing value is equal to immediately. |
ticket_n_title * | Prepaid ticket title. You can specify up to 10 tickets, where n is a digit between 0 and 9, inclusive |
ticket_n_description | Ticket sales description. It describes what the ticket is used for. |
ticket_n_currency * | The currency of ticket in ISO 4217 standard. Check Appendix 7: Supported currencies list |
ticket_n_price * | Ticket price in provided ticket_currency. It determines the prepaid ticket price. This parameter should be greater than zero. |
ticket_n_expiry_days | This parameter allows to set up expiry period in days for the ticket. |
ticket_n_expiry_months | This parameter allows to set up expiry period in months for the ticket. |
ticket_n_expiry_years | This parameter allows to set up expiry period in years for the ticket. |
ticket_n_total_allowed_views | This parameter limits the maximum number of times the viewer can use ticket to play any of publisher's videos. If this parameter is empty or zero, UNLIMITED allowed views per video will be established. This means that viewer can use ticket unlimited number of times to play any of publisher's videos unless they are further limited by. |
ticket_n_total_allowed_views_per_video | This parameter limits the maximum number of times the viewer can use ticket to play given video. If this parameter is empty or zero, UNLIMITED allowed views will be established. This means that viewer can use ticket unlimited number of times to play given video unless it is further limited by. |
ticket_n_payment_type | Type of payment. Available values: single (One time payment), monthly (Monthly recurring subscription), yearly (Yearly recurring subscription) |
ticket_n_single_video | Mark if ticket will open only the video from which it was purchased. Available values: yes & no (default). |
ticket_n_color | Type of ticket color. Available values: teal, red, blue, green |
svp_disable_or_enable_ppv_password
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_disable_or_enable_ppv_password&token=02cc69c2043db70ecc6117cb9dc7d1f8&password=6I6IEJAAFA&action=enable'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_disable_or_enable_ppv_password&token=02cc69c2043db70ecc6117cb9dc7d1f8&password=6I6IEJAAFA&action=enable")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_disable_or_enable_ppv_password&token=02cc69c2043db70ecc6117cb9dc7d1f8&password=6I6IEJAAFA&action=enable",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_disable_or_enable_ppv_password&token=02cc69c2043db70ecc6117cb9dc7d1f8&password=6I6IEJAAFA&action=enable")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_disable_or_enable_ppv_password&token=02cc69c2043db70ecc6117cb9dc7d1f8&password=6I6IEJAAFA&action=enable")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_disable_or_enable_ppv_password&token=02cc69c2043db70ecc6117cb9dc7d1f8&password=6I6IEJAAFA&action=enable");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
</response>
Description:
This service will enable or disable PPV password associated with publisher's account.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
password * | The value of the password to be updated. |
action * | Action to be taken. Available values: enable, disable. |
svp_list_ppv_tickets
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_list_ppv_tickets&token=7818bbc973e7179a5a193571acb45967'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_list_ppv_tickets&token=7818bbc973e7179a5a193571acb45967")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_list_ppv_tickets&token=7818bbc973e7179a5a193571acb45967",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_list_ppv_tickets&token=7818bbc973e7179a5a193571acb45967")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_list_ppv_tickets&token=7818bbc973e7179a5a193571acb45967")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_list_ppv_tickets&token=7818bbc973e7179a5a193571acb45967");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<count>4</count>
<ppv_tickets>
<ppv_ticket>
<ref_no>1442662</ref_no>
<name>Monetize</name>
<price>23</price>
<currency>GBP</currency>
</ppv_ticket>
<ppv_ticket>
<ref_no>1442927</ref_no>
<name>2FA</name>
<price>233</price>
<currency>GBP</currency>
</ppv_ticket>
<ppv_ticket>
<ref_no>1442931</ref_no>
<name>PPV Ticket Title</name>
<price>1</price>
<currency>GBP</currency>
</ppv_ticket>
<ppv_ticket>
<ref_no>1494759</ref_no>
<name>PPV Ticket Title</name>
<price>15</price>
<currency>GBP</currency>
</ppv_ticket>
</ppv_tickets>
</response>
Description:
This service will list all PPV tickets associated with publisher's account.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
svp_get_ppv_ticket_details
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_get_ppv_ticket_details&token=7818bbc973e7179a5a193571acb45967&ticket_ref=1442662'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_get_ppv_ticket_details&token=7818bbc973e7179a5a193571acb45967&ticket_ref=1442662")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_get_ppv_ticket_details&token=7818bbc973e7179a5a193571acb45967&ticket_ref=1442662",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_get_ppv_ticket_details&token=7818bbc973e7179a5a193571acb45967&ticket_ref=1442662")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_get_ppv_ticket_details&token=7818bbc973e7179a5a193571acb45967&ticket_ref=1442662")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_get_ppv_ticket_details&token=7818bbc973e7179a5a193571acb45967&ticket_ref=1442662");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<ticket>
<id>1442662</id>
<name>Monetize</name>
<price>23</price>
<currency>GBP</currency>
<payment_type>One off</payment_type>
<description></description>
<two_factor_mode>Swap with email confirmation</two_factor_mode>
<ticket_type>Sell</ticket_type>
<allowed_devices>1</allowed_devices>
</ticket>
</response>
Description:
Prints details about a specific PPV ticket.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
ticket_ref * | Ref code of the ticket which can be obtained from svp_list_ppv_tickets or svp_list_ppv_packages |
svp_set_ppv_ticket_security
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_set_ppv_ticket_security&token=7818bbc973e7179a5a193571acb45967&ticket_ref=1442662&two_factor_mode=swap_with_code&allowed_devices=3'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_set_ppv_ticket_security&token=7818bbc973e7179a5a193571acb45967&ticket_ref=1442662&two_factor_mode=swap_with_code&allowed_devices=3")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_set_ppv_ticket_security&token=7818bbc973e7179a5a193571acb45967&ticket_ref=1442662&two_factor_mode=swap_with_code&allowed_devices=3",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_set_ppv_ticket_security&token=7818bbc973e7179a5a193571acb45967&ticket_ref=1442662&two_factor_mode=swap_with_code&allowed_devices=3")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_set_ppv_ticket_security&token=7818bbc973e7179a5a193571acb45967&ticket_ref=1442662&two_factor_mode=swap_with_code&allowed_devices=3")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_set_ppv_ticket_security&token=7818bbc973e7179a5a193571acb45967&ticket_ref=1442662&two_factor_mode=swap_with_code&allowed_devices=3");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
</response>
Description:
Updates security settings for PPV ticket
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
ticket_ref * | Ref code of the ticket which can be obtained from svp_list_ppv_tickets or svp_list_ppv_packages |
two_factor_mode * | Accepts disabled, swap_automatically, swap_with_code, dont_allow_more |
allowed_devices * | Limit the number of allowed devices enabled per ticket. Applicable for swap_automatically, swap_with_code, dont_allow_more modes. |
svp_add_ticket
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_add_ticket&token=7818bbc973e7179a5a193571acb45967&package_ref=12735&ticket_0_title=Fresh%20Ticket&ticket_0_currency=USD&ticket_0_price=1'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_add_ticket&token=7818bbc973e7179a5a193571acb45967&package_ref=12735&ticket_0_title=Fresh%20Ticket&ticket_0_currency=USD&ticket_0_price=1")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_add_ticket&token=7818bbc973e7179a5a193571acb45967&package_ref=12735&ticket_0_title=Fresh%20Ticket&ticket_0_currency=USD&ticket_0_price=1",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_add_ticket&token=7818bbc973e7179a5a193571acb45967&package_ref=12735&ticket_0_title=Fresh%20Ticket&ticket_0_currency=USD&ticket_0_price=1")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_add_ticket&token=7818bbc973e7179a5a193571acb45967&package_ref=12735&ticket_0_title=Fresh%20Ticket&ticket_0_currency=USD&ticket_0_price=1)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_add_ticket&token=7818bbc973e7179a5a193571acb45967&package_ref=12735&ticket_0_title=Fresh%20Ticket&ticket_0_currency=USD&ticket_0_price=1");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<tickets>
<ticket>
<order_no>1520390</order_no>
</ticket>
</tickets>
</response>
Description:
This service will create new PPV ticket(s) inside PPV package.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
package_ref * | PPV package reference ID . See svp_list_ppv_packages service. |
ticket_n_title * | Prepaid ticket title. You can specify up to 10 tickets, where n is a digit between 0 and 9, inclusive |
ticket_n_description | Ticket sales description. It describes what the ticket is used for. |
ticket_n_currency * | The currency of ticket in ISO 4217 standard. Check Appendix 7: Supported currencies list |
ticket_n_price * | Ticket price in provided ticket_currency. It determines the prepaid ticket price. This parameter should be greater than zero. |
ticket_n_expiry_days | This parameter allows to set up expiry period in days for the ticket. |
ticket_n_expiry_months | This parameter allows to set up expiry period in months for the ticket. |
ticket_n_expiry_years | This parameter allows to set up expiry period in years for the ticket. |
ticket_n_total_allowed_views | This parameter limits the maximum number of times the viewer can use ticket to play any of publisher's videos. If this parameter is empty or zero, UNLIMITED allowed views per video will be established. This means that viewer can use ticket unlimited number of times to play any of publisher's videos unless they are further limited by. |
ticket_n_total_allowed_views_per_video | This parameter limits the maximum number of times the viewer can use ticket to play given video. If this parameter is empty or zero, UNLIMITED allowed views will be established. This means that viewer can use ticket unlimited number of times to play given video unless it is further limited by. |
ticket_n_payment_type | Type of payment. Available values: single (One time payment), monthly (Monthly recurring subscription), yearly (Yearly recurring subscription) |
ticket_n_single_video | Mark if ticket will open only the video from which it was purchased. Available values: yes & no (default). |
ticket_n_color | Type of ticket color. Available values: teal, red, blue, green |
svp_list_ppv_packages
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_list_ppv_packages&token=7818bbc973e7179a5a193571acb45967'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_list_ppv_packages&token=7818bbc973e7179a5a193571acb45967")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_list_ppv_packages&token=7818bbc973e7179a5a193571acb45967",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_list_ppv_packages&token=7818bbc973e7179a5a193571acb45967")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_list_ppv_packages&token=7818bbc973e7179a5a193571acb45967")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_list_ppv_packages&token=7818bbc973e7179a5a193571acb45967");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<count>111</count>
<ppv_packages>
<free_ppv_package>
<ref_no>4391</ref_no>
<name>Free to Watch</name>
</free_ppv_package>
<ppv_package>
<ref_no>12343</ref_no>
<name>Tickets for live event</name>
<tickets>
<ticket>
<ref_no>1506230</ref_no>
<name>PPV Ticket Title</name>
</ticket>
</tickets>
</ppv_package>
<ppv_package>
<ref_no>12735</ref_no>
<name>NewOne</name>
<tickets>
<ticket>
<ref_no>1520387</ref_no>
<name>New Ticket</name>
</ticket>
<ticket>
<ref_no>1520390</ref_no>
<name>Fresh Ticket</name>
</ticket>
</tickets>
</ppv_package>
</ppv_packages>
</response>
Description: Returns a list of PPV packages associated with publisher's account.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
svp_set_video_ppv_package
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_ppv_package&token=7818bbc973e7179a5a193571acb45967&video_ref=1858522&package_ref=12735'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_ppv_package&token=7818bbc973e7179a5a193571acb45967&video_ref=1858522&package_ref=12735")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_ppv_package&token=7818bbc973e7179a5a193571acb45967&video_ref=1858522&package_ref=12735",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_ppv_package&token=7818bbc973e7179a5a193571acb45967&video_ref=1858522&package_ref=12735")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_set_video_ppv_package&token=7818bbc973e7179a5a193571acb45967&video_ref=1858522&package_ref=12735")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_ppv_package&token=7818bbc973e7179a5a193571acb45967&video_ref=1858522&package_ref=12735");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
</response>
Description: This service can be used to assign PPV package with some of publisher's videos.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
video_ref * | Video reference ID if clip_key is not used. See svp_list_videos service. |
clip_key * | Video item key if video_ref is not used. |
package_ref * | PPV package reference ID. See svp_list_ppv_packages service. |
svp_set_playlist_ppv_package
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_set_playlist_ppv_package&token=7818bbc973e7179a5a193571acb45967&channel_ref=132171&package_ref=12735'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_set_playlist_ppv_package&token=7818bbc973e7179a5a193571acb45967&channel_ref=132171&package_ref=12735")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_set_playlist_ppv_package&token=7818bbc973e7179a5a193571acb45967&channel_ref=132171&package_ref=12735",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_set_playlist_ppv_package&token=7818bbc973e7179a5a193571acb45967&channel_ref=132171&package_ref=12735")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_set_playlist_ppv_package&token=7818bbc973e7179a5a193571acb45967&channel_ref=132171&package_ref=12735")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_set_playlist_ppv_package&token=7818bbc973e7179a5a193571acb45967&channel_ref=132171&package_ref=12735");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
</response>
Description: This service can be used to assign PPV package with some of publisher's playlist.
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
channel_ref * | Video playlist reference ID. See svp_list_channels service |
package_ref * | PPV package reference ID. See svp_list_ppv_packages service. |
force_update | Set to 1 to enable. Forces package to be applied on clips that currently don't inherit playlist PPV settings. |
svp_list_metadata_forms
Description:
Returns a list of metadata forms and their custom fields associated with publisher's account.
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_list_metadata_forms&token=9fdc5f55adf48ce84033905a42fbd3bf'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_list_metadata_forms&token=9fdc5f55adf48ce84033905a42fbd3bf")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_list_metadata_forms&token=9fdc5f55adf48ce84033905a42fbd3bf",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_list_metadata_forms&token=9fdc5f55adf48ce84033905a42fbd3bf")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_list_metadata_forms&token=9fdc5f55adf48ce84033905a42fbd3bf")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_list_metadata_forms&token=9fdc5f55adf48ce84033905a42fbd3bf");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<count>xxx</count>
<metadata_forms>
<form>
<ref_no>1</ref_no>
<name>My Metadata Form</name>
<custom_fields>
<field>
<field_id>xxx</field_id>
<field_title>Custom Field title 1</field_title>
</field>
...
</custom_fields>
</form>
...
</metadata_forms>
</response>
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
svp_create_metadata_form
Description:
Creates a metadata form in publisher's account.
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_create_metadata_form&token=9fdc5f55adf48ce84033905a42fbd3bf&form_name=NewForm&field_ref=544%2C529'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_create_metadata_form&token=9fdc5f55adf48ce84033905a42fbd3bf&form_name=NewForm&field_ref=544%2C529")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_create_metadata_form&token=9fdc5f55adf48ce84033905a42fbd3bf&form_name=NewForm&field_ref=544%2C529",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_create_metadata_form&token=9fdc5f55adf48ce84033905a42fbd3bf&form_name=NewForm&field_ref=544%2C529")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_create_metadata_form&token=9fdc5f55adf48ce84033905a42fbd3bf&form_name=NewForm&field_ref=544%2C529")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_create_metadata_form&token=9fdc5f55adf48ce84033905a42fbd3bf&form_name=NewForm&field_ref=544%2C529");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
<ref_no>xxxxxx</ref_no>
</response>
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
form_name * | The name of the newly created metadata form. |
field_ref * | Custom fields reference IDs which will be used in the form, separated with ",". See svp_list_custom_fields service. |
svp_modify_metadata_form
Description:
Adds or removes custom fields from metadata forms associated with publisher's account.
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_modify_metadata_form&token=9fdc5f55adf48ce84033905a42fbd3bf&form_id=223&field_ref=529&action=remove'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_modify_metadata_form&token=9fdc5f55adf48ce84033905a42fbd3bf&form_id=223&field_ref=529&action=remove")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_modify_metadata_form&token=9fdc5f55adf48ce84033905a42fbd3bf&form_id=223&field_ref=529&action=remove",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_modify_metadata_form&token=9fdc5f55adf48ce84033905a42fbd3bf&form_id=223&field_ref=529&action=remove")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_modify_metadata_form&token=9fdc5f55adf48ce84033905a42fbd3bf&form_id=223&field_ref=529&action=remove")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_modify_metadata_form&token=9fdc5f55adf48ce84033905a42fbd3bf&form_id=223&field_ref=529&action=remove");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
</response>
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
form_id * | Metadata form reference ID. See svp_list_metadata_forms service. |
field_ref * | Custom field reference ID. See svp_list_custom_fields service. |
action * | Action for the selected custom field - add or remove. |
svp_set_video_metadata_form
Description:
Sets a video with metadata form package associated with publisher's account.
curl --request GET \
--url 'https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_metadata_form&token=9fdc5f55adf48ce84033905a42fbd3bf&form_id=223&video_ref=156795'
HttpResponse<String> response = Unirest.get("https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_metadata_form&token=9fdc5f55adf48ce84033905a42fbd3bf&form_id=223&video_ref=156795")
.asString();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_metadata_form&token=9fdc5f55adf48ce84033905a42fbd3bf&form_id=223&video_ref=156795",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'
url = URI("https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_metadata_form&token=9fdc5f55adf48ce84033905a42fbd3bf&form_id=223&video_ref=156795")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("www.streamingvideoprovider.com")
conn.request("GET", "/?l=api&a=svp_set_video_metadata_form&token=9fdc5f55adf48ce84033905a42fbd3bf&form_id=223&video_ref=156795")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://www.streamingvideoprovider.com/?l=api&a=svp_set_video_metadata_form&token=9fdc5f55adf48ce84033905a42fbd3bf&form_id=223&video_ref=156795");
xhr.send(data);
The above command returns XML structured like this:
<?xml version="1.0" encoding="UTF-8" ?>
<response>
<result>OK</result>
</response>
parameter | description |
---|---|
token * | Valid API authentication token. See svp_auth_get_token service. |
form_id * | Metadata form reference ID. See svp_list_metadata_forms service. |
video_ref * | Video reference ID. |
Additional Information
APPENDIX 1: API Error Messages
Actual list of error codes and the associated error messages.
Error Code | Meaning |
---|---|
1000 | Input/output error! |
1001 | Failed to create API Authorization token! |
1002 | Failed to delete video! |
1003 | Failed to set video property! |
1004 | Not available RTP server! |
1005 | Unavailable API access! |
2000 | Invalid input parameters! |
2001 | Invalid/Missing API key in parameters list! |
2002 | Invalid/Missing API code in parameters list! |
2003 | Invalid API key / API code pair! |
2004 | Invalid API authorization token! |
2005 | Token validation period has been expired! |
2006 | Invalid/Missing API authorization token in parameters list! |
2007 | Invalid/Missing clip reference code in parameters list! |
2008 | Invalid video reference code! |
2009 | Invalid start time in video statistics service! |
2010 | Invalid end time in video statistics service! |
2011 | Invalid channel reference code! |
2012 | Invalid upload location reference code! |
2013 | Invalid/Empty file name! |
2015 | Invalid/Missing new value in parameters list! |
2016 | Invalid aspect ratio value! |
2017 | Invalid user reference ID! |
2018 | Invalid template reference code! |
2019 | Invalid/Missing embed type! |
2020 | Invalid video key! |
2021 | No available video storage! |
2022 | Invalid video file extension! (NOTE: Available video file extensions: avi, mpg, mpeg, flv, vob, mpeg2, divx, mp4, mov, wmv, m4v). |
2023 | Invalid/Missing image file name! |
2024 | Unable to find video image resource! |
2025 | Invalid/Missing video image number! |
2026 | Invalid/Missing video image URL! |
2027 | Invalid/Missing video image type! |
2028 | Invalid video type! |
2029 | Invalid live video file! |
2030 | Broadcast is started already! |
2031 | Broadcast is stopped already! |
2032 | Invalid/Missing live encoder reference code in parameters list! |
2033 | Not available live streaming access! |
2034 | Recording is started already! |
2035 | Recording is stopped already! |
2036 | Recording service temporary unavailable! |
2037 | Invalid/Missing video custom field reference ID! |
2038 | Invalid custom field value! |
2039 | Invalid/Missing layout parameter. |
2040 | Invalid/Missing tickets parameter for default layout. |
2041 | Invalid/Missing advance package reference code. |
2042 | Invalid/Missing protection type parameter. |
2043 | Invalid/Missing ticket price parameter. |
2044 | Invalid/Missing ticket parameter. |
2045 | Invalid/Missing protection wall parameter. |
2046 | Invalid/Missing seconds parameter. |
2047 | Invalid/Missing PPV order key parameter. |
2048 | Invalid/Missing RTSP camera name! |
2049 | Invalid/Missing RTSP camera URL! |
2050 | Invalid/Missing RTSP camera reference ID! |
2051 | Unable to find RTSP camera resource! |
2052 | Invalid/Missing resource type! |
2053 | Failed to delete RTSP camera! |
2054 | RTSP camera already exists! |
2055 | Invalid/Missing delivery method ID! |
2056 | Invalid/Missing encryption method parameter! |
2057 | API service is unavailable to you at the moment because you do not have a valid API Publisher license. |
2058 | Service unavailable. Live Streaming is missing in your current service plan. |
2059 | Invalid/Missing package_name! |
2060 | Invalid/Missing group_name! |
2061 | Invalid/Missing password_type! |
2062 | Invalid/Missing custom_passwords! |
2063 | Invalid/Missing count_passwords, range[1,50]! |
2064 | Error on creating package, please try again. |
2065 | Max custom password length is 60 characters. |
2066 | Invalid/Missing expiry_date, use format d-m-Y! |
2067 | Invalid/Missing package_ref! |
2068 | Invalid/Missing group_ref or group package |
2069 | Please use one of the following param: video_ref or clip_key! |
2070 | Invalid clip_key/video_ref! |
2071 | Invalid/Missing channel_ref! |
APPENDIX 2: API Callback Notifications
NOTE: In order to receive notifications you must configure your callback URL in the SVP panel at Account > Integration > API Access.
All notifications initiated by the SVP publisher API are implemented as asynchronous calls. They are initiated with a slight delay from the actual operations performed. The delay would usually be under 10 seconds.
The API notifications are implemented as HTTP GET calls to an user specified URL address. Parameters are passed with the call depending on the notification event type.
video_transcode
Description:
This notification is sent when there is a status update related to the video transcode system.
Notes: You will receive this notification if any video associated with your account or API key(for resellers) has had a change in encoding status. This notification can be used for automated publishing of videos whenever they become available in the system.
parameter | description |
---|---|
operation_name * | =video_transcode |
result * | OK/ERROR |
clip_ref * | The clip reference ID. |
clip_key * | The clip key. |
err_msg | Error message if result is ERROR. |
delete_video
Description:
This notification is sent when a video associated with your account or API key(for resellers) has been deleted through the
API or the SVP/Reseller panel.
Notes:
This is an AFTER DELETE type of notification! Any API calls related to the related video reference ID will fail! This
notification can be used to update any cached video lists.
parameter | description |
---|---|
operation_name * | =delete_video |
result * | OK/ERROR |
clip_ref * | The clip reference ID. |
clip_key * | The clip key. |
err_msg | Error message if result is ERROR. |
edit_video
Description:
This notification is sent when some of the properties of the video have been changed.
Notes:
This notification can be used to update any cached video lists.
parameter | description |
---|---|
operation_name * | =edit_video |
result * | OK/ERROR |
clip_ref * | The clip reference ID. |
clip_key * | The clip key. |
err_msg | Error message if result is ERROR. |
registered_user
Description:
This notification is sent when some new user has been registered.
parameter | description |
---|---|
operation_name * | =registered_user |
result * | OK/ERROR |
ref_no * | The user reference ID. |
user_name * | The user name. |
login_name * | The user login name. |
upload_video
Description:
This notification is sent when procedure of uploading files has been successfully finished or failed.
Notes:
This notification can be used to delete the uploaded file from your server or some corrections if uploading is failed.
parameter | description |
---|---|
operation_name * | =upload_video |
result * | OK/ERROR |
clip_ref * | The clip reference ID. |
clip_key * | The clip key. |
err_msg | Error message if result is ERROR. |
notice
Description:
This notification is sent with various operations in system. It can be used like debugging information.
parameter | description |
---|---|
operation_name * | =notice |
subject * | Subject of notice. See table below for more information. |
type * | SUCCESS/ERROR/WARNING |
ref_no * | Reference ID associated with subject of notice. |
recorded_from_stream | This parameter is available only with video.publish notice type. It indicates the source stream name of recorded video. |
message | Message depending on subject of notice. |
Notice subjects:
parameter | description |
---|---|
user_account.locked | Notifications about locking of user account. Only applicable for resellers!!! |
user_account.restored | Notifications about restoring of user account. Only applicable for resellers!!! |
video.publish | This notification is sent when video is ready for publishing. |
video_image.create_thumbs | Notifications about result of creating video thumbs in direct type of setting video images. See svp_set_video_image service for more information. |
video_image.upload_image | Notifications about result of uploading video images in store type of setting video images. See svp_set_video_image service for more information. NOTE: There is no separate notification for creating video thumbs. |
APPENDIX 3: Embed code generator parameter override
When you pass parameter overrides to the svp_get_player_code service these override parameters replace the ones saved in the template used thus allowing certain customizations to the code used in the publisher's application.
parameter | description |
---|---|
player_skin | Available values: thin_controls (default), thin_controls_old. Player skin to be used with this player. Further skins will become available when such are added to the system. |
player_color1 | First color of player skin coloring. Default color is #c8c8c8. NOTE: The value should be hexadecimal representation of color. Example: #FF00FF |
player_color2 | Second color of player skin coloring. Default color is #a6a6a6. NOTE: The value should be hexadecimal representation of color. |
width | Player width in pixels. Default width is 640px. |
height | Player height in pixels. Default height is 480px. |
video_width | Video width in pixels. NOTE: Player width is calculated automatically based on selected player skin.(Calculated player width overrides width parameter if it passed). |
video_height | Video height in pixels. NOTE: Player height is calculated automatically based on selected player skin. (Calculated player height overrides height parameter if it passed). |
stretch_video | Available values: yes & no (default). If the value is yes the video will be stretched to fit the player area. This option will override the original aspect ratio of the video. |
ratio | Available values: 16:9 & 4:3. If this parameter is passed player dimension is calculated proportionally by video_width or video_height parameter (only one of these parameters have to be passed). |
brand_link | Available values: new_window(default), same_window. Select the open mode for the branding link (if any) in this player. |
player_transparency | Available values: yes & no (default). Some player skins use effects and alpha channels to blend with the background. This option allows to control that behaviour. This mode can be used to create transparent video players. |
pause_on_start | Available values: yes (default) & no. If value is yes the visitor must click the play button to start video playback. NOTE: This is available only if value of parameter hide_controls is not set to yes. |
show_image | Available values: yes (default) & no. If value is yes the selected image in clip properties is shown as a startup screen. NOTE: This is available only if value of parameter pause_on_start is not set to no. |
start_volume | Available values: Number between 0 and 100 (Default volume is 50%). video_prebuffer Available values: yes & no (default). If value is yes the video will start prebuffering immediately. Note that this setting will impose a load on visitor's connection even if the visitor has not decided to watch the video! Also you will be charged for video delivery as the video is delivered even without being watched! NOTE: This is available only if value of parameter pause_on_start is not set to no. |
video_loop | Available values: yes & no (default). If value is yes the video will start from the begining when finished. |
hide_controls | Available values: yes & no (default). If value is yes only the video is shown without controls. Only auto-play setting applies! |
auto_hide_controls | Available values: yes & no (default). If value is yes player controls are automatically hidden if no action(mouse movement/click) is taken for a short amount of time in the player. The controls reappear if mouse is pointed at the player. NOTE: This is available only if value of parameter hide_controls is not set to yes. |
player_align | Available values: none (default), top_left, top_center, top_right, middle_left, middle_center, middle_right, bottom_left, bottom_center, bottom_right. Align of the player in the screen. |
offset_x | Player offset (in pixels) in x coordinate (Default offset X is 0). NOTE: This parameter is available only if player_align is different than none |
offset_y | Player offset (in pixels) in y coordinate (Default offset Y is 0). NOTE: This parameter is available only if player_align is different than none |
allow_fullscreen | Available values: yes (default) & no. If value is yes the [full] button on the player will be available and the viewer can switch to a bigger or fullscreeen player. NOTE: This is available only if value of parameter hide_controls is not set to yes. |
fullscreen_mode | Available values: big_screen, full_window & flash_native. big_screen fullscreen mode is a larger player shown in the middle of the browser window over your webpage. full_window is when the player fills the entire browser window. flash_native uses native flash plugin capability and fills the entire screen. This mode will only work when Flash9 is installed on the client computer. NOTE: Larger player dimensions may result in poor playback performance on low end computers and will make obvious video quality problems at close sighting range. This is available only if value of parameter allow_fulscreen is not set to no. flash_native is not available for popin embed mode. |
background_color | Player background color. Default background color is #FFFFFF NOTE: The value should be hexadecimal representation of color. Example: #FF00FF. This parameter is available only if fullscreen_mode is set to big_screen. |
background_transparency | Available values: Number between 0 and 100 (Default 0). This is the transparency of the layer which is put above your page and behind the player in big_screen fullscreen mode. NOTE: This parameter is available only if fullscreen_mode is set to big_screen. |
link_type | Available values: text_link (default) & image_link. Choose how the link on your site pointing to the popup player will look like. |
link_title | This text will appear as a textual link or set as title for an image link depending on the link_type setting above. |
image_address | For an image link fill in the address of the image you would like to use for the link. close_button Available values: yes & no (default). Close button of player in the top right corner. |
is_responsive | Generate responsive player with HTML5 video fallback. The player will keep its proportions (etc. 16:9) even after resizing. |
Descrption | |
---|---|
skinAlpha | Player skin opacity in percents. |
colorBase | Player base color. |
colorIcon | Player controls icon color. |
APPENDIX 4: Video editable properties list
property ID | name | description |
---|---|---|
1 | Title | Video title which will help you to differentiate this video from the others |
2 | Enabled | Video status. Available values: 2 - video is being encoded. 1 - video is active and can be watched. 0 - video is disabled - the player still will be visible in your website, but will not play the movie. |
3 | Tag Number | Video Tag Number is number (Integer) which will help you to differentiate this video from the others |
4 | Tag String | Video Tag String is string (max 100 characters) which will help you to differentiate this video from the others |
5 | Aspect Ratio | Use this property to correct the way of how the image is displayed in the video player. If there are black stripes around the player, simply try each option and save the changes until you find the best result. |
6 | Channel Name | Channel Playlist name – this property is available only if video is part of TV or PPV playlist |
7 | Channel Ref | Channel Reference Code - this property is available only if video is part of TV or PPV playlist |
8 | Whitelabel | Whitelabel branding status of video. Available values: yes - whitelabel (rebrandable) video - ideal for web designers / developers / resellers. You can rebrand this kind of players and insert your own logo or text (watermark). The embed code is also whitelabeled, so you can use them for reselling purposes. no – standard video - there is a watermark "powered by our company". Branding cannot be removed/modify by the user. Use whitelabel or TV/PPV channel publishing solutions if you wish to insert your brand. |
9 | Allowed Domains | Our policy is to keep your content private. It is not essential to apply domain name restriction unless you have some concerns that your online viewers can copy the embed code you have used to publish the video in the first place and use that code for other websites. In that case if you set up domain name restrictions, the embed code will not be valid for other websites. Add the allowed domains separated by comma(","). DO NOT enter www. or http:// Leave empty to allow all domains. Subdomains and directories if used will further limit the access. EXAMPLE: domain1.com , mydomain2.com , mydomain3.com NOTE: This property is available only for single videos. |
10 | Short Description | Video short description. |
11 | Full Description | Video full description. |
12 | Recording title | Video title of each recording created for specific live stream. Default format is: Recording %ref_code% (%date_created%) The following variables could be used: 1. %date_created% Creation date of recording in the following format: M d, Y H:i:s 2. %date_started% Started date of recording in the following format: M d, Y H:i:s 3. %ref_code% The reference code of live stream 4. %parent_title% The title of live stream NOTE: This property is available only for live videos. |
13 | Recording duration | Max duration (in seconds) for each recording created for specific live stream. Default value is: 10800 (3 hours). Min duration is 60 seconds (1 minute). NOTE: This property is available only for live videos. |
14 | Tags | Video tags which will help you to differentiate this video from the others. Multiple tags can be added and splitted with comma (','). Empty string will delete all tags from selected clip. |
APPENDIX 5: RTSP camera status list
status ID | message | description |
---|---|---|
201 | Started... | Indicates that the camera stream is started. |
205 | Ended... | Indicates that the camera stream has ended. |
403 | Stream is not RTSP or RTMP! | Not a valid RTSP or RTMP stream. |
408 | Connection error | Couldn't connect to the camera. |
415 | Video codec is notH264, please change camera parameters! | Video codec is not valid. |
APPENDIX 6: Delivery methods list
VOD:
name | description |
---|---|
progressive | Progressive download. |
hls | HTTP Live Streaming. |
encrypted_hls | Enrypted HTTP Live Streaming. |
LIVE:
name | description |
---|---|
rtmp | Secured over RTMP. |
hls | HTTP Live Streaming. |
encrypted_hls | Enrypted HTTP Live Streaming. |
auto | Using auto delivery method: Will use HLS if possible , if not will downgrade to RTMP for live and PROGRESSIVE for vod! |
APPENDIX 7: Supported currencies list
code | description |
---|---|
GBP | Pounds Sterling (GBP) |
USD | U.S. Dollars (USD) |
EUR | Euros (EUR) |
AUD | Australian Dollars (AUD) |
CAD | Canadian Dollars (CAD) |
JPY | Yen (JPY) |
NZD | New Zealand Dollar (NZD) |
CHF | Swiss Franc (CHF) |
HKD | Hong Kong Dollar (HKD) |
SGD | Singapore Dollar (SGD) |
SEK | Swedish Krona (SEK) |
DKK | Danish Krone (DKK) |
PLN | Polish Zloty (PLN) |
NOK | Norwegian Krone (NOK) |
HUF | Hungarian Forint (HUF) |
CZK | Czech Koruna (CZK) |
ILS | Israeli New Shekel (ILS) |
MXN | Mexican Peso (MXN) |
BRL | Brazilian Real (BRL) |
MYR | Malaysian Ringgits (MYR) |
PHP | Philippine Pesos (PHP) |
THB | Thai Baht (THB) |
BGN | Bulgarian lev (BGN) |
EEK | Estonian kroon (EEK) |
LTL | Lithuanian litas (LTL) |
LVL | Latvian lats (LVL) |
RON | New Romanian leu (RON) |
HRK | Croatian kuna (HRK) |
RUB | Russian rouble (RUB) |
TRY | Turkish lira (TRY) |
CNY | Chinese yuan renminbi (CNY) |
IDR | Indonesian rupiah (IDR) |
INR | Indian rupee (INR) |
KRW | South Korean won (KRW) |
ZAR | South African rand (ZAR) |
ISK | Icelandic krona (ISK) |
NGN | Nigerian Naira (NGN) |
KES | Kenya Shillings (KES) |