APIエンドポイントのレファレンス
SlidePackのHTTP APIエンドポイントのレファレンスです。
認証
SlidePack HTTP APIはどのエンドポイントも認証が必要です。
リクエストヘッダにAPIトークンを含むことで認証します。
認証付きリクエストの例
curl "https://slidepack.io/sessions" \
-H "Authorization: Bearer {API_TOKEN}"
APIトークンは ダッシュボード で作成してください。
セッションを作成する
セッションを作成し、ファイルアップロードに必要なAWS S3 Pre-Signed POSTパラメータを返します。
セッションを新規作成すると、レンダリングを実行していない古いセッションは削除されます。
すべてのセッションは、レンダリングを実行したものも含め、24時間で有効期限が切れます。
レスポンス
- 名前
session
- 型
- object
- 必須か
- いいえ
- 説明
- 作成されたSessionオブジェクト
- 名前
upload
- 型
- object
- 必須か
- いいえ
- 説明
- 入力zipファイルアップロードに利用するパラメータ
リクエスト
curl -X POST "https://slidepack.io/sessions" \
-H 'Authorization: Bearer {API_TOKEN}'
レスポンス
{
"session": {
"uuid": "f0155f9f-d3f3-4fa9-9f8d-70f8fd2f9c36",
"created_at": "2020-08-13T13:14:32.000000Z",
"rendered_at": null,
"render_succeeded": null,
"render_slide_count": null,
"render_message": null
},
"upload": {
"action": "https://slidepack-api.s3.ap-northeast-1.amazonaws.com",
"method": "POST",
"enctype": "multipart/form-data",
"params": {
"acl": "private",
"key": "sessions/zip/f0155f9f-d3f3-4fa9-9f8d-70f8fd2f9c36.zip",
"Content-Type": "application/zip",
"X-Amz-Security-Token": "***",
"X-Amz-Credential": "***",
"X-Amz-Algorithm": "AWS4-HMAC-SHA256",
"X-Amz-Date": "20200813T131432Z",
"Policy": "***",
"X-Amz-Signature": "***"
}
}
}
セッションを一覧する
リクエスト
curl "https://slidepack.io/sessions" \
-H 'Authorization: Bearer {API_TOKEN}'
レスポンス
{
"sessions": [
{
"uuid": "805bcdc8-4782-4673-9d69-47f7ed0696c8",
"created_at": "2020-08-13T15:10:15.000000Z",
"rendered_at": "2020-08-13T15:10:20.000000Z",
"render_succeeded": true,
},
{
"uuid": "f0155f9f-d3f3-4fa9-9f8d-70f8fd2f9c36",
"created_at": "2020-08-13T13:14:32.000000Z",
"rendered_at": null,
"render_succeeded": null,
}
]
}
セッションを取得する
一つのセッションの情報を取得します。
レスポンス
- 名前
session
- 型
- object
- 必須か
- いいえ
- 説明
- Sessionオブジェクト
- 名前
upload
- 型
- object
- 必須か
- いいえ
- 説明
- 入力zipファイルアップロードに利用するパラメータ
リクエスト
curl "https://slidepack.io/sessions/{uuid}" \
-H 'Authorization: Bearer {API_TOKEN}'
レスポンス
{
"session": {
"uuid": "f0155f9f-d3f3-4fa9-9f8d-70f8fd2f9c36",
"created_at": "2020-08-13T13:14:32.000000Z",
"rendered_at": null,
"render_succeeded": null,
"render_slide_count": null,
"render_message": null
},
"upload": {
"action": "https://slidepack-api.s3.ap-northeast-1.amazonaws.com",
"method": "POST",
"enctype": "multipart/form-data",
"params": {
"acl": "private",
"key": "sessions/zip/f0155f9f-d3f3-4fa9-9f8d-70f8fd2f9c36.zip",
"Content-Type": "application/zip",
"X-Amz-Security-Token": "***",
"X-Amz-Credential": "***",
"X-Amz-Algorithm": "AWS4-HMAC-SHA256",
"X-Amz-Date": "20200813T131432Z",
"Policy": "***",
"X-Amz-Signature": "***"
}
}
}
ファイルをアップロードする
セッションの入力zipファイルをアップロードします。 Pre-signed parametersを使って、Amazon S3の専用プライベートバケットに直接アップロードを行います。
入力zipファイルの最小構成は次のとおりです。
template.pptx
- テンプレートとなるパワーポイントファイルdata.json
- テンプレートに流し込むデータ
その他、画像や動画ファイルを同梱できます。zipファイル名は何でも構いません。
次のように multipart/form-data
リクエストを構築します。
- URLはPOST /sessionsで得られた
upload.action
- フィールド名および値にはPOST /sessions で得られた
upload.params
の全てのキーと値を含む file
フィールドを末尾に追加し、アップロードしたいファイルを示す
フォームパラメータの有効期限は1時間です。 有効期限が切れた場合、GET /sessions/{uuid}で新しいパラメータを発行できます。
レスポンス
204 No Content
リクエスト
curl -X POST "{URL}" \
-F "{KEY}={VALUE}" \
-F "{KEY}={VALUE}" \
...
-F "file=@{ZIP_FILE_PATH}"
レスポンス
レンダリングを実行する
セッションをレンダリングしてpptxファイルを生成し、ダウンロード用のURLを返します。
{uuid}
はセッションUUIDで置き換えてください。
予め入力zipファイルをアップロードしておく必要があります。
レスポンス
- 名前
session
- 型
- object
- 必須か
- いいえ
- 説明
- Sessionオブジェクト
- 名前
download_url
- 型
- string
- 必須か
- いいえ
- 説明
- レンダリング済みpptxファイルのダウンロードURL
ダウンロードURLの有効期限は5分です。有効期限が切れた場合、POST /sessions/{uuid}/download_url で新しいURLを発行できます。
リクエスト
curl -X POST "https://slidepack.io/sessions/{uuid}/render" \
-H 'Authorization: Bearer {API_TOKEN}'
レスポンス
{
"session": {
"uuid": "f0155f9f-d3f3-4fa9-9f8d-70f8fd2f9c36",
"created_at": "2020-08-13T13:14:32.000000Z",
"rendered_at": "2020-08-13T13:16:18.000000Z",
"render_succeeded": true,
"render_slide_count": 5,
"render_message": null
},
"download_url": "https://slidepack-api.s3.ap-northeast-1.amazonaws.com/..."
}
ダウンロードURLを再発行する
レンダリング済みpptxファイルのダウンロードURLを再発行します。
{uuid}
はセッションUUIDで置き換えてください。
予めレンダリングを実行しておく必要があります。
レスポンス
- 名前
session
- 型
- object
- 必須か
- いいえ
- 説明
- Sessionオブジェクト
- 名前
download_url
- 型
- string
- 必須か
- いいえ
- 説明
- レンダリング済みpptxファイルのダウンロードURL
ダウンロードURLの有効期限は5分です。有効期限が切れた場合、このエンドポイントで再び新しいURLを発行できます。
リクエスト
curl -X POST "https://slidepack.io/sessions/{uuid}/render" \
-H 'Authorization: Bearer {API_TOKEN}'
レスポンス
{
"session": {
"uuid": "f0155f9f-d3f3-4fa9-9f8d-70f8fd2f9c36",
"created_at": "2020-08-13T13:14:32.000000Z",
"rendered_at": "2020-08-13T13:16:18.000000Z",
"render_succeeded": true,
"render_slide_count": 5,
"render_message": null
},
"download_url": "https://slidepack-api.s3.ap-northeast-1.amazonaws.com/..."
}
Sessionオブジェクト
- 名前
uuid
- 型
- string
- 必須か
- いいえ
- 説明
- セッションのユニークID
- 名前
created_at
- 型
- string
- 必須か
- いいえ
- 説明
- 作成日時
- 名前
rendered_at
- 型
- string or null
- 必須か
- いいえ
- 説明
- レンダリング日時。
未レンダリングの場合はnull
- 名前
render_succeeded
- 型
- boolean or null
- 必須か
- いいえ
- 説明
- レンダリングが成功した場合は
true
、失敗した場合はfalse
。
未レンダリングの場合はnull
- 名前
render_slide_count
- 型
- integer or null
- 必須か
- いいえ
- 説明
- レンダリング成功時の実績スライド枚数。
未レンダリングの場合はnull
- 名前
render_message
- 型
- string or null
- 必須か
- いいえ
- 説明
- レンダリング失敗時のエラーメッセージ。
未レンダリングの場合、およびレンダリングが成功した場合はnull
Sessionオブジェクト
{
"uuid": "f0155f9f-d3f3-4fa9-9f8d-70f8fd2f9c36",
"created_at": "2020-08-13T13:14:32.000000Z",
"rendered_at": "2020-08-13T14:16:20.000000Z",
"render_succeeded": true,
"render_slide_count": 5,
"render_message": null
}