產品開發
把社交發佈加入產品。
以虛構日記產品為例,用戶確認後安排社交帖文,並在產品內查看結果。
您的產品 + SOSOAPI
整合流程示意- 您的產品準備並確認內容
- SosoAPI安排一篇已確認的帖文
- 社交帳戶跟進發佈結果
三個步驟
準備內容
在您的產品收集文案及圖片。
由用戶確認
排程前先顯示帳戶、內容及時間。
帶回發佈結果
在產品內顯示進度及最終結果。
讓社交發佈成為您的產品的一部分。
查看操作詳情
情境
為一個虛構的記事產品加入明確、可審閱的「排程此更新」操作。清楚顯示用戶所選工作區及確切帳戶,並呈現回傳狀態,不可暗示平台已發佈。

開始前
- 建立並驗證 SosoAPI 帳戶,再選擇目標工作區。
- 在 App「設定 → Agents & API Access」建立 API key,並在伺服器環境設為 SOSOAPI_API_KEY。以下 JavaScript 示例使用 Node.js 20+,毋須取得 SosoAPI 原始碼。
- 只可從目前已授權範圍取得真實工作區 UUID 及 Threads 社交帳戶 UUID,不可推測 ID;該帳戶亦須符合 Threads 文字帖文資格。
- API key 擁有者須具有目標工作區的編輯者或擁有者權限。Key 只可留在伺服器,不可放入瀏覽器程式碼、請求 JSON 或日誌。
示例輸入
- 虛構產品
- Harborlight Journal · 私人記事應用程式概念;不代表已完成任何真實整合。
- 用戶意圖
- 為選定的 Threads 帳戶,在未來本地時間排程一篇已審閱的產品短文。
- 示例文案
- 「留一句給稍後的自己:Harborlight Journal 正為每日短短的反思騰出空間。記下一個想法,其他留待明天。」
- 必須由授權範圍提供
- <workspace-uuid> 及 <threads-social-account-uuid>;不可推測 ID。
- 排程時間
- <附時區偏移的未來 ISO-8601 時間>,並把 display_timezone 設為 Asia/Hong_Kong。
- 重試識別碼
- <此使用者意圖專用、唯一且穩定的 idempotency key>;只可在安全重試同一請求時沿用。
操作步驟
先設計 API 呼叫前的用戶確認
在 SosoAPI 前往此頁在 SosoAPI app 選擇目標工作區並檢查已連接帳戶。在產品原型中亦要顯示用戶所選的工作區及帳戶,不可暗中代選。
確認畫面須列出確切文案、帳戶、本地時間及時區。必須由用戶選擇 Schedule 才提交;打開表單不可自動送出。
預期結果
用戶能在寫入前查看目的地及時間。虛構產品原型只是設計練習,不代表已有客戶整合。
由伺服器讀取目前已排程帖文
把 <workspace-uuid> 換成所選工作區 ID,再於伺服器執行以下唯讀請求:
const apiKey = process.env.SOSOAPI_API_KEY; if (!apiKey) throw new Error("Configure a SosoAPI API key on your server"); const response = await fetch( "https://gqeshlawtcexsapabaui.supabase.co/functions/v1/studio-api/scheduled-posts/list", { method: "POST", headers: { "Authorization": "Bearer " + apiKey, "Content-Type": "application/json" }, body: JSON.stringify({"workspace_id":"<workspace-uuid>"}) } ); const result = await response.json(); if (!response.ok) throw new Error("SosoAPI request failed: " + response.status); // Use result in your server response; never return or log the API key.用回傳資料更新產品列表;讀取資料與用戶確認排程分開處理。
預期結果
您會收到目前工作區的帖文資料,或授權/驗證錯誤;這個唯讀請求不會建立帖文。
只有用戶明確確認後才提交
打開 Calendar 並選 New Post,對照 App 中同一操作的審閱步驟。
先替換所有佔位符,填入已授權 ID、附時區偏移的未來 ISO 時間及唯一 idempotency key。執行以下伺服器請求前,先審閱帳戶、文案及時間。
const apiKey = process.env.SOSOAPI_API_KEY; if (!apiKey) throw new Error("Configure a SosoAPI API key on your server"); const response = await fetch( "https://gqeshlawtcexsapabaui.supabase.co/functions/v1/studio-api/scheduled-posts/create", { method: "POST", headers: { "Authorization": "Bearer " + apiKey, "Content-Type": "application/json" }, body: JSON.stringify({ "workspace_id": "<workspace-uuid>", "social_account_id": "<threads-social-account-uuid>", "caption": "留一句給稍後的自己:Harborlight Journal 正為每日短短的反思騰出空間。記下一個想法,其他留待明天。", "hashtags": [], "media": [], "provider_payload": {"platform": "threads", "publish_options": {"post_type": "TEXT"}}, "scheduled_at": "<future ISO-8601 instant with offset>", "display_timezone": "Asia/Hong_Kong", "idempotency_key": "<unique-stable-key-for-this-intent>" }) } ); const result = await response.json(); if (!response.ok) throw new Error("SosoAPI request failed: " + response.status); // Use result in your server response; never return or log the API key.執行此請求會建立真實排程,須先取得用戶確認;不可把 API key 暴露於瀏覽器。
預期結果
有效的接納回應會識別新建的 Scheduled Post,但不代表平台已發佈。能力遭拒、範圍/帳戶無效、不支援的負載或排程被拒,都應顯示為錯誤,不可報稱成功。
呈現回傳狀態,並提供安全跟進方法
在 SosoAPI 前往此頁儲存回傳的 Scheduled Post ID,並在產品顯示目前狀態、目的地及排程時間。
連結至相應 Scheduled Post 詳情。如發佈需要人手處理,連結至 Needs Attention 項目,而不是靜默重交。
只有記錄到平台最終確認狀態後,才可把請求標示為已發佈。
預期結果
產品須分清請求收據、已排程、發佈中、已發佈、失敗及未知。結果未知時,先核對原有帖文狀態,再考慮新寫入。
從請求回應追蹤至發佈結果。
以下是現有 API 回應的部分欄位,使用示例資料。建立排程後保留 post.id;用同一個 ID 讀取詳情。
1. 建立排程的回應
{
"post": {
"id": "10000000-0000-4000-8000-000000000001",
"status": "scheduled",
"scheduled_at": "2100-01-05T10:00:00+08:00",
"published_at": null,
"permalink": null
},
"deduped": false
}2. 讀取同一篇帖文
POST /studio-api/scheduled-posts/get
{
"id": "10000000-0000-4000-8000-000000000001"
}平台確認後,詳情回應可以包含:
{
"post": {
"id": "10000000-0000-4000-8000-000000000001",
"status": "published",
"published_at": "2100-01-05T02:00:08Z",
"permalink": "https://www.threads.net/@example/post/EXAMPLE"
},
"delivery": {
"stage": "terminal",
"message": "Published on Threads."
}
}post.status- 顯示 scheduled、publishing、published 或 failed 等實際狀態。連線中斷並非 published;先讀取同一篇帖文核對。
post.permalink- 平台提供的帖文連結;尚無連結時可為 null。上述 URL 僅為示例。
delivery / outcomes- 詳情回應提供發佈進度及可用的平台結果。失敗時先檢查詳情及 Needs Attention,再決定下一步。
這些是欄位示例,並非實際發佈紀錄。本頁不會呼叫 API。
各狀態的意思
已提交請求回應- 請求已收到。請查看帖文目前狀態,再確認是否已排程或發佈。
已排程帖文詳情- Scheduled Post 已接受並安排於未來時間處理;等候期間應保留目的地及排程時間。
發佈中帖文詳情- 發佈流程正在進行。請等候最終結果;處理中不等於成功。
已發佈帖文詳情- 只有 SosoAPI 記錄社交平台的最終確認後,才可使用此狀態。
失敗帖文詳情- 最終結果為失敗時,先查看帖文詳情及可用操作,再決定如何修正或重試。
未知應用程式顯示- 如連線中斷而未能確認結果,請先查看「已排程帖文」及「需要處理」,再決定是否重交。
相關指南
操作詳情包含伺服器端 API 示例。執行前請填入已授權的 ID 及 API key;本頁不會執行請求。
開始您的第一個工作流程。
建立帳戶,免費開始使用。