Downloads API は特定のアカウントのユーザーの作成したダウンロードファイルのリストを返します:
URL: https://orbitvu.co/api/v1/downloads [.json|.xml]
メソッド: GET
{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"created_at": "2018-08-08T14:54:57",
"file_name": "kNYSKJPWkwqmyx66Dug3PU.zip",
"complete": true,
"viewer": "ORBITVU VIEWER My360",
"presentations": [
"xyzxyzxyzxyzxyzXYZ1233"
],
"url": "https://orbitvu.co/api/v1/downloads/1",
"download_url": "https://orbitvu.co/api/v1/downloads/1/download",
"user_email": "[email protected]",
"user_url": "https://orbitvu.co/api/v1/account/users/1"
},
{
"created_at": "2018-08-08T11:44:30",
"file_name": "jqYpnFNsjKuok22XGrFx4G.zip",
"complete": true,
"viewer": "ORBITVU VIEWER Free360",
"presentations": [
"xyzxyzxyzxyzxyzXYZ1234",
"xyzxyzxyzxyzxyzXYZ1235",
"xyzxyzxyzxyzxyzXYZ1236",
"xyzxyzxyzxyzxyzXYZ1237"
],
"url": "https://orbitvu.co/api/v1/downloads/2",
"download_url": "https://orbitvu.co/api/v1/downloads/2/download",
"user_email": "[email protected]",
"user_url": "https://orbitvu.co/api/v1/account/users/2"
}]
}
Click to copy
検索(完全一致)
完了ステータスあるいはプレゼンテーションのUIDで検索 :complete, uid
# match downloads that are completed
https://orbitvu.co/api/v1/downloads.json?complete=true
# match downloads that are not yet completed
https://orbitvu.co/api/v1/downloads.json?complete=false
# match downloads containing presentation with uid xyzxyzxyzxyzxyzXYZ1235
https://orbitvu.co/api/v1/downloads.json?uid=xyzxyzxyzxyzxyzXYZ1235
Click to copy
並び替え
作成日時、完了ステータスによる並び替え:created_at, complete
# ascending
https://orbitvu.co/api/v1/downloads/?ordering=created_at
https://orbitvu.co/api/v1/downloads/?ordering=complete
# descending
https://orbitvu.co/api/v1/downoads/?ordering=-created_at
https://orbitvu.co/api/v1/downloads/?ordering=-complete
Click to copy
ダウンロードの新規作成
新しいダウンロードオブジェクトの初期化処理を行います。ダウンロードオブジェクトはプレゼンテーションファイル(複数)、Orbitvu Viewer、そしてHTMLファイルで構成されております。
URL: https://orbitvu.co/api/v1/downloads [.json|.xml]
メソッド:POST
パラメーター:
- viewer_license_id - 必須:プレゼンテーション(複数)と共にダウンロードされるOrbitvu Viewerのid(viewers API エンドポイントから取得可能)
- presentation_ids - 必須: ダウンロードされるプレゼンテーションのid(複数)
- format_flat - 1 もしくは 0:アーカイブ方式
- extra_emails - ダウンロードリンクを受け取るメールアドレスのリスト(カンマ区切り)
返される値:
id - ダウンロードid
message - メッセージ内容
status - OK | ERROR
サンプルコード(Python):
import requests
requests.post(
'https://orbitvu.co/api/v1/downloads.json',
data={'viewer_license_id': 1, 'presentation_ids': [1, 2]},
headers={'Authorization': 'token xxxxxxxxxxxxxxxxxxxx'}
)
Click to copy
サンプルコード(PHP):
<?php
define("API_KEY", "YOUR API KEY");
function callApi($request, $params = [], $method = 'get', $data = "") {
$request = $request.".json"; //set the json mode always
/* Set the access token */
$header = array();
$header[] = "Authorization: Token ".API_KEY;
if (is_array($params) && $params) {
$request .= "?".http_build_query($params);
}
$c = curl_init();
curl_setopt($c, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($c, CURLOPT_URL, $request);
curl_setopt($c, CURLOPT_HTTPHEADER, $header);
curl_setopt($c, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($c, CURLOPT_TIMEOUT, 20);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
if ('post' == strtolower($method)) {
curl_setopt($c, CURLOPT_POST, strlen($data));
curl_setopt($c, CURLOPT_POSTFIELDS, $data);
}
$response = curl_exec($c);
return json_decode($response, true);
}
/******************************/
/* SAMPLE REQUESTS TO THE API */
/******************************/
// GET PRESENTATIONS LIST AND LIMIT RESULT TO THE 5 AND SORT THEM BY SKU ASCENDING
$presentations = callApi("https://orbitvu.co/api/v1/presentations", ['page_size' => 5, 'ordering' => 'sku']);
// GET VIEWER LICENSES
$viewerLicenses = callApi("https://orbitvu.co/api/v1/account/viewers");
if ($viewerLicenses && $presentations['results']) {
// choose first presentation to download
$prToDownload = $presentations['results'][1];
// choose another presentation to download
$prToDownload2 = $presentations['results'][4];
// choose some viewer license
$vLicense = $viewerLicenses[0];
// set request data
$data = "viewer_license_id=".$vLicense['id']."&presentation_ids=".$prToDownload['id']."&presentation_ids=".$prToDownload2['id'];
// generate downloads
$download = callApi("https://orbitvu.co/api/v1/downloads", [], 'post', $data);
}
Click to copy
ダウンロードの詳細
特定のダウンロードに関する詳細を返します
URL: https://orbitvu.co/api/v1/downloads/<id>/ [.json|.xml]
メソッド:GET
結果の例:
{
"created_at": "2018-08-08T11:44:30",
"file_name": "jqYpnFNsjKuok22XGrFx4G.zip",
"complete": true,
"viewer": "ORBITVU VIEWER Free360",
"presentations": [
"xyzxyzxyzxyzxyzXYZ1234",
"xyzxyzxyzxyzxyzXYZ1235",
"xyzxyzxyzxyzxyzXYZ1236",
"xyzxyzxyzxyzxyzXYZ1237"
],
"url": "https://orbitvu.co/api/v1/downloads/2",
"download_url": "https://orbitvu.co/api/v1/downloads/2/download",
"user_email": "[email protected]",
"user_url": "https://orbitvu.co/api/v1/account/users/2"
}
Click to copy
ダウンロードの削除
idによって指定された特定のダウンロードオブジェクトを削除します
URL: https://orbitvu.co/api/v1/downloads/<id>/ [.json|.xml]
メソッド:DELETE
返却コード:204 (no content)
サンプルコード(Python):
import requests
requests.delete('https://orbitvu.co/api/v1/downloads/1/.json', headers={'Authorization': 'token xxxxxxxxxxxxxxxxxxxxxx'})
Click to copy