クイックスタート

初めてSlidePackを利用する方向けに、HTTP APIでのレンダリングの手順をガイドします。

SlidePack APIを利用するにはAPIトークンが必要です。 まだお持ちでない方はダッシュボードに登録・ログインし、作成してください。

1. テンプレートとデータを準備する

SlidePackのへ入力として、以下の2つが入ったzipファイルを用意します。

  • template.pptx - テンプレートとなるパワーポイントファイル。置き換えたい部分にプレースホルダを書いておきます。

    プレースホルダー {title} を入れたテンプレートパワーポイント
  • data.json - テンプレートに流し込むデータ。上のテンプレートに合わせた例はこのようになります。

    {
      "slides": [
        {
          "template": 1,
          "title": "Hello, World!"
        }
      ]
    }
    

これらをzipファイルにまとめておきます。

レンダリング例 から一つダウンロードしてお試しいただくこともできます。

2. セッションを作成する

APIリクエストによりSessionを作成します。一つのSessionは一回のレンダリングに関するパラメータや結果の集まりです。

Session作成リクエスト

curl -X POST "https://slidepack.io/sessions" \
     -H 'Authorization: Bearer {API_TOKEN}'

POST /sessionsからのレスポンスの例

{
  "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": "***"
    }
  }
}

このレスポンス内容には、次のステップでファイルをアップロードするのに必要なデータが含まれています。

3. zipファイルをアップロードする

SlidePackのプライベートS3バケットに直接、入力zipファイルをPOSTします。

先程の POST /sessions からのレスポンス値を使って、次のようにPOSTリクエストを構築します。

  • 方式は multipart/form-data です。
  • POST URL は upload.action です。
  • upload.params の全ての値をフォーム値として入れます。
  • 末尾に file フィールドを追加し、アップロードしたいファイルを指定します。

ファイルアップロードリクエストの例

curl -X POST "https://slidepack-api.s3.ap-northeast-1.amazonaws.com/" \
     -F "acl=private" \
     -F "key=sessions/zip/{uuid}.zip" \
     -F "Content-Type=application/zip" \
     -F "X-Amz-Security-Token=***" \
     -F "X-Amz-Credential=***" \
     -F "X-Amz-Algorithm=AWS4-HMAC-SHA256" \
     -F "X-Amz-Date=***" \
     -F "Policy=***" \
     -F "X-Amz-Signature=***" \
     -F "file=@/path/to/your/data.zip"

アップロードが成功すると 204 No Content レスポンスが返ります。

4. レンダリングを行い、結果をダウンロードする

POST /render で実際のレンダリングをリクエストします。

レンダリングリクエストの例

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/..."
}

download_url にアクセスすることでレンダリングされたpptxファイルをダウンロードできます。

curl "https://slidepack-api.s3.ap-northeast-1.amazonaws.com/..." -o output.pptx

上記の例の入力でレンダリングした場合、このようになります。

出力例

次のステップ