API

OneScrip の API を使うと、自社のシステムやスクリプトから投稿(アイテム)を追加できます。画像や動画を付けた投稿にも対応しています。

APIキーを発行する

  1. OneScrip のダッシュボードで、サイドバーの「APIキー」を開く
  2. 「新しいキーを作成」をクリック
  3. わかりやすいラベルを入力し、権限で「アイテム(投稿・画像・動画)の追加」にチェックを入れる
  4. 「作成」をクリックし、表示されたシークレットをコピーする

シークレットは作成直後に一度だけ表示されます。OneScrip にも保存されないため、あとから確認することはできません。紛失した場合はキーを削除して、新しく発行してください。

  • APIキーを発行・削除できるのは、プロジェクトのオーナーと管理者です
  • 発行できるキーの数はプランによって異なります
  • キーは発行したプロジェクトのデータにだけアクセスできます

基本

項目内容
ベースURLhttps://api.onescrip.com/v1
認証Authorization: Bearer <APIキー> または X-API-Key: <APIキー> ヘッダー
レート制限APIキーごとに 60 リクエスト/分
レスポンス形式JSON

APIキーはパスワードと同じように扱ってください。サーバーやスクリプトなど、安全な場所からのみ利用してください。ブラウザ上の JavaScript からの呼び出し(CORS)には対応していません。

コンテンツ一覧を取得する

GET /contents

プロジェクトのコンテンツ一覧を返します。投稿を追加するときに指定する id を確認するのに使います。

curl https://api.onescrip.com/v1/contents \
  -H "Authorization: Bearer $ONESCRIP_API_KEY"
{
  "contents": [
    {
      "id": "6f1c2a4e-....",
      "name": "公式アカウントの投稿",
      "description": null,
      "type": "social",
      "folderId": null
    }
  ]
}

投稿を追加できるのは type が social のコンテンツだけです。

投稿を追加する

POST /contents/{contentId}/items

テキストだけの投稿は JSON で、画像や動画のファイルを付ける場合は multipart/form-data で送ります。

パラメーター型説明
value文字列(必須)投稿本文。1000 文字以内
key文字列任意の識別用キー
imagesファイル画像ファイル。JPEG / PNG / WebP / GIF、1 枚 5MB まで
imageUrls文字列の配列画像の URL。OneScrip が画像を取得して保存します
videoファイル動画ファイル。MP4 / WebM / MOV / AVI、50MB まで
videoUploadId文字列大きな動画をアップロードしたときの ID(後述)
videoThumbnailファイル動画のサムネイル画像。省略すると動画から自動で作成します
  • 画像は images と imageUrls を合わせて 4 枚まで、動画は 1 本まで付けられます
  • 1 つの投稿に画像と動画を両方付けることはできません
  • 画像は WebP に変換して保存されます

成功すると 201 で作成した投稿の ID が返ります。

{ "id": "0b8d5c1f-...." }

テキストだけの投稿

curl -X POST https://api.onescrip.com/v1/contents/$CONTENT_ID/items \
  -H "Authorization: Bearer $ONESCRIP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"value": "新商品のお知らせです"}'

画像付きの投稿

curl -X POST https://api.onescrip.com/v1/contents/$CONTENT_ID/items \
  -H "Authorization: Bearer $ONESCRIP_API_KEY" \
  -F "value=新商品のお知らせです" \
  -F "images=@./photo1.jpg" \
  -F "images=@./photo2.png"

画像 URL を指定する場合は JSON で送れます。

curl -X POST https://api.onescrip.com/v1/contents/$CONTENT_ID/items \
  -H "Authorization: Bearer $ONESCRIP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"value": "新商品のお知らせです", "imageUrls": ["https://example.com/photo.jpg"]}'

動画付きの投稿

30MB 程度までの動画は、そのまま添付して送れます。

curl -X POST https://api.onescrip.com/v1/contents/$CONTENT_ID/items \
  -H "Authorization: Bearer $ONESCRIP_API_KEY" \
  -F "value=動画付きの投稿です" \
  -F "video=@./movie.mp4"

大きな動画をアップロードする

1 リクエストで送れるサイズには上限(約 32MB)があります。それより大きい動画(最大 50MB)は、次の 3 ステップで送ってください。

1. アップロード先の URL を発行する

POST /contents/{contentId}/video-uploads
curl -X POST https://api.onescrip.com/v1/contents/$CONTENT_ID/video-uploads \
  -H "Authorization: Bearer $ONESCRIP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"contentType": "video/mp4", "size": 41943040}'

contentType には video/mp4、video/webm、video/quicktime、video/x-msvideo のいずれかを、size にはファイルのバイト数を指定します。

{
  "uploadId": "3e7a9b20-....",
  "uploadUrl": "https://storage.googleapis.com/....",
  "method": "PUT",
  "headers": {
    "Content-Type": "video/mp4",
    "Cache-Control": "private, max-age=0",
    "x-goog-if-generation-match": "0"
  }
}

2. 動画ファイルをアップロードする

uploadUrl に、返ってきた headers をすべて付けて、ファイルを PUT します。ヘッダーを省略するとアップロードに失敗します。

curl -X PUT "$UPLOAD_URL" \
  -H "Content-Type: video/mp4" \
  -H "Cache-Control: private, max-age=0" \
  -H "x-goog-if-generation-match: 0" \
  --data-binary @./movie.mp4

3. 投稿を追加する

videoUploadId に手順 1 の uploadId を指定します。

curl -X POST https://api.onescrip.com/v1/contents/$CONTENT_ID/items \
  -H "Authorization: Bearer $ONESCRIP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"value": "動画付きの投稿です", "videoUploadId": "3e7a9b20-...."}'

アップロード用の URL は発行から 15 分で無効になります。

エラー

エラーのときは、次の形式でメッセージが返ります。

{ "error": "Invalid API key" }
ステータス意味主な原因
400入力が正しくない本文が空、ファイル形式やサイズが対象外、画像と動画を両方指定した
401認証に失敗したAPIキーがない、または削除済み・誤っている
403実行できないキーに権限がない、プランの投稿数やストレージの上限に達した
404見つからないコンテンツの ID が誤っている、または別プロジェクトのもの
429リクエストが多すぎるレート制限を超えた。少し待ってから再試行してください

よくある質問

追加した投稿はすぐに配信されますか?

API で追加した投稿は、ダッシュボードで追加した場合と同じようにコンテンツに登録されます。配信のタイミングは、コンテンツの投稿設定やスケジュールに従います。

APIキーが漏れてしまった場合は?

ダッシュボードの「APIキー」から該当するキーを削除してください。削除したキーはすぐに使えなくなります。

アカウントを作成して始めましょう

OneScripの基本機能は無料でご利用いただけます。いつでもプランの変更やキャンセルが可能です。

無料で登録する