콘텐츠로 이동

內容 API

內容 API 提供建立、排程、檢查與取消社群媒體發佈作業,以及上傳媒體所需的端點。


方法路徑說明必要權限範圍
POST/v1/brand/contents/uploads為圖片和影片上傳生成預簽署的 PUT URLpublishing:create*
POST/v1/brand/contents提交立即或排程貼文 (202 Accepted)publishing:create*
GET/v1/brand/contents列出品牌內容,並提供分頁和狀態篩選publishing:read*
GET/v1/brand/contents/{content_id}檢索內容詳細資訊和發布作業結果publishing:read*
DELETE/v1/brand/contents/{content_id}/cancel在處理開始前取消排程貼文publishing:delete*

1. 媒體上傳預簽署 URL (POST /v1/brand/contents/uploads)

섹션 제목: “1. 媒體上傳預簽署 URL (POST /v1/brand/contents/uploads)”

若要在貼文中附加媒體,請先取得預先簽署的上傳 URL,再透過 HTTP PUT 將二進位檔案直接上傳到 S3/R2 儲存空間。

  • 圖片 (最大 20MB,URL 有效期 300 秒): image/jpegimage/pngimage/webpimage/gif
  • 影片 (最大 500MB,URL 有效期 600 秒): video/mp4video/quicktime (.mov)、video/webm
Terminal window
curl -X POST "https://api.ankk.app/v1/brand/contents/uploads" \
-H "Authorization: Bearer spk_live_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"filename": "launch-banner.png",
"content_type": "image/png",
"size": 1420500
}'
{
"upload_url": "https://storage.ankk.app/sns-posts/original/brand_.../launch-banner.png?X-Amz-Signature=...",
"asset_ref": "https://cdn.ankk.app/sns-posts/original/brand_.../launch-banner.png",
"method": "PUT",
"object_key": "sns-posts/original/brand_.../launch-banner.png",
"content_type": "image/png",
"size": 1420500,
"expires_in_seconds": 300
}
Terminal window
curl -X PUT "<upload_url>" \
-H "Content-Type: image/png" \
--data-binary "@/path/to/launch-banner.png"

提交文字與已上傳的 asset_ref 來建立發佈作業。

欄位類型必要性說明
connection_idstring必要目標 SNS 連線 ID (連線 API)
idempotency_keystring必要客戶端生成的唯一金鑰,防止重複提交
textstring選填貼文主體文字
mediaarray選填包含 urlasset_ref 的媒體物件陣列
scheduled_forstring選填用於排程的 ISO 8601 時間戳記;省略時會立即發佈
thread_postsarray選填用於 Threads 對話鏈接的額外貼文
provider_settingsobject選填平台特定設定 (例如 YouTube 類別)
Terminal window
curl -X POST "https://api.ankk.app/v1/brand/contents" \
-H "Authorization: Bearer spk_live_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"connection_id": "conn_01jm8x9k2example",
"idempotency_key": "launch-2026-001",
"text": "Excited to launch our new product today! 🚀\nhttps://ankk.app",
"media": [
{
"url": "https://cdn.ankk.app/sns-posts/original/brand_.../launch-banner.png"
}
]
}'
{
"content_id": "content_01jm8za2example",
"status": "scheduled",
"publish_job_id": "job_01jm8za2jobexample",
"connection_id": "conn_01jm8x9k2example",
"idempotency_key": "launch-2026-001"
}

Terminal window
curl -X GET "https://api.ankk.app/v1/brand/contents?status=published&limit=20" \
-H "Authorization: Bearer spk_live_xxxxxxxx"

取得內容詳細資訊 (GET /v1/brand/contents/{content_id})

섹션 제목: “取得內容詳細資訊 (GET /v1/brand/contents/{content_id})”
Terminal window
curl -X GET "https://api.ankk.app/v1/brand/contents/content_01jm8za2example" \
-H "Authorization: Bearer spk_live_xxxxxxxx"

4. 取消排程貼文 (DELETE /v1/brand/contents/{content_id}/cancel)

섹션 제목: “4. 取消排程貼文 (DELETE /v1/brand/contents/{content_id}/cancel)”

scheduled 貼文開始執行前將其取消。

Terminal window
curl -X DELETE "https://api.ankk.app/v1/brand/contents/content_01jm8za2example/cancel" \
-H "Authorization: Bearer spk_live_xxxxxxxx"