API 參考
取得 API 金鑰Sofia API v1 的所有端點及其參數、權限範圍和範例,並提供可用你自己的金鑰逐個試用的 Playground。
基礎 URL https://api.sofia-post.com/api · OpenAPI 文件
OAuth
GET
/v1/oauth/authorize發起授權在使用者的瀏覽器中打開。未知用戶端或未註冊的 redirect_uri 回傳 400,否則重新導向至 Sofia 授權頁面。GET/.well-known/oauth-authorization-server/api/v1/oauth取得伺服器中繼資料回傳 Sofia API 的 OAuth 2.0 授權伺服器中繼資料(RFC 8414),方便用戶端探索端點和支援的選項。POST/v1/oauth/token簽發存取權杖client_credentials、authorization_code、refresh_token 可換取 3600 秒有效的權杖。帳號
平台
門市
GET
/v1/establishments列出門市列出權杖所操作 Workspace 的門市。發布、列出媒體或讀取數據洞察時,用其識別碼作為 establishmentId。GET/v1/establishments/{id}/accounts列出已連結帳號列出門市已連結的網路,不含權杖或網路金鑰,只提供為帳號命名並在發布時選作 accountId 所需的全部資訊。POST/v1/establishments/{id}/connection-links建立連線連結回傳託管連結,使用者在 Sofia 上授權網路,因此網路權杖不會到達你的應用。連結有效期 30 分鐘,僅限正式應用使用。GET/v1/establishments/{id}/insights取得門市數據洞察回傳 Sofia 為每個已連結帳號收集的最新有效資料。尚未收集到資料的帳號顯示 awaiting,絕不會顯示為零。媒體
GET
/v1/media列出媒體由新到舊分頁列出門市的媒體庫,附目前時間視窗內有效的簽章 URL。在測試模式和正式模式下都可以使用,用於挑選已有素材。POST/v1/media匯入或上傳媒體把檔案(multipart)或 Sofia 抓取的 https URL 新增到門市媒體庫。需要正式應用和有效訂閱。GET/v1/media/{id}取得媒體回傳媒體庫中的一項媒體,附目前時間視窗內有效的簽章 URL,其識別碼可在發布貼文時直接複用,無需重新上傳檔案。DELETE/v1/media/{id}移除媒體像應用一樣,把媒體從其所屬門市的媒體庫中移除。檔案本身不會被銷毀,已排程的貼文仍然保留它的視覺素材,不受影響。貼文
GET
/v1/posts列出貼文由新到舊列出權杖可存取門市的貼文,可按門市、狀態、日期範圍和作者篩選,分頁回傳,並用游標取得下一頁,每頁最多 100 筆。POST/v1/posts發布貼文正式應用可立即發布、定時發布或存為草稿,測試應用只做模擬。加上 ?dry_run=true 則只檢查、不寫入。GET/v1/posts/{id}取得貼文回傳貼文及各網路的狀態、發布後的連結和失敗時的錯誤。正式模式可讀 Workspace 內任何貼文,測試模式讀模擬貼文。PATCH/v1/posts/{id}編輯貼文任何網路開始傳送前,可替換 targets、設定 scheduledAt,或在 draft 與 scheduled 之間切換,其餘欄位不變。DELETE/v1/posts/{id}刪除貼文像應用一樣刪除貼文:已排程的不再傳送,已發布的會從各網路上移除。測試應用沒有任何真實內容,因此沒有東西可刪除。Webhook
GET
/v1/webhooks列出 webhook列出應用的 webhook,不含簽章金鑰;該金鑰只在註冊 webhook 時回傳一次,之後無法再次取得,請自行妥善保存。POST/v1/webhooks註冊 webhook註冊 Sofia 以帶簽章 JSON 事件呼叫的 https URL,失敗最多重試五次。金鑰僅顯示一次,最多 10 個。DELETE/v1/webhooks/{id}刪除 webhook刪除 webhook。之後它不再收到任何內容,包括仍在等待重試的遞送;呼叫成功後不回傳任何本文,刪除後也無法恢復。POST/v1/webhooks/{id}/test傳送測試事件像其他事件一樣遞送帶簽章的 webhook.test 事件,無需等待接收方,便於驗證簽章。每分鐘最多傳送五次。