SocialHub.AI
開發者中心 · 開放擴充性

自訂物件 API

工作區可以使用欄位、記錄、清單/表單 UI 和分段來定義自己的結構化業務物件(維修作業、預約、投訴),所有這些都無需代碼。此 API 允許您的整合讀取這些物件的架構並讀取或寫入它們的記錄。 該物件首先在應用程式內定義; API 與已經存在的東西相反。

第一步——探索

列出 object 類型,然後閱讀它們的架構

使用以下方式進行身份驗證 Bearer fl_live_ 關鍵持有人 objects:read. GET /api/v2/objects 返回 object 此工作區公開的類型—僅 已出版 API-可見的 返回對象;草稿和 API隱藏的物體永遠不會洩漏訊息。 GET /api/v2/objects/{type} 返回一個 object它具有自描述的欄位架構(鍵、類型、選項、必填),因此您可以渲染表單或映射記錄而無需硬編碼任何內容。未知、草稿、隱藏或跨工作區類型將返回 404.

# what object types exist here?
curl https://flash.socialhub.ai/api/v2/objects \
  -H "Authorization: Bearer fl_live_..."
# { "data": [ { "type": "repair_jobs", "label": "Repair Jobs", ... } ] }

# what does one look like?
curl https://flash.socialhub.ai/api/v2/objects/repair_jobs \
  -H "Authorization: Bearer fl_live_..."
# { "data": {
#     "type": "repair_jobs", "label": "Repair Jobs",
#     "fields": [
#       { "key": "cf_status",  "type": "enum", "required": true,
#         "options": ["Received","In Progress","Completed"] },
#       { "key": "cf_item",    "type": "text" },
#       { "key": "member_ref", "type": "member_ref" }
#     ]
# } }
步驟 2 — 讀取記錄

清單、篩選、排序和分頁

GET /api/v2/objects/{type}/records 傳回 object 的記錄(範圍 objects:read)。頁麵包含 limit(最多 200)和 offset;使用 sortBy(created_desc、created_asc、updated_desc、title_asc)排序;使用 search 進行自由文字排序;使用 memberId 篩選特定成員;使用 f_<fieldKey>=<value> 篩選任意欄位。單一記錄為 GET /api/v2/objects/{type}/records/{recordId}。

curl "https://flash.socialhub.ai/api/v2/objects/repair_jobs/records\
?f_cf_status=In%20Progress&sortBy=updated_desc&limit=50" \
  -H "Authorization: Bearer fl_live_..."

# { "data": [ { "id": "rec_...", "data": { "cf_status": "In Progress",
#               "cf_item": "Sole replacement", "member_ref": "mbr_..." } } ],
#   "total": 12 }
步驟 3 — 寫入記錄

建立、更新和刪除

寫入操作需要 objects:write 作用域。 data object 會根據 object 的欄位模式進行 驗證-所有必填欄位、型別、枚舉選項和成員引用都會被檢查,未知鍵會被拒絕。每次寫入操作之前都會有一個失敗關閉的、基於鍵的寫入速率保護機制,因此洩漏的鍵不會導致表被大量寫入。

# create
curl -X POST https://flash.socialhub.ai/api/v2/objects/repair_jobs/records \
  -H "Authorization: Bearer fl_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "data": {
    "cf_status": "Received",
    "cf_item": "Sole replacement",
    "member_ref": "mbr_..."
  } }'
# 201 { "data": { "id": "rec_...", "data": { ... } } }

PATCH …/records/{recordId} 預設是 部分更新(逐字段合併,因此並發補丁不會互相覆蓋)。發送 null 可刪除字段,發送 { "replace": true } 可覆蓋整個記錄。 DELETE …/records/{recordId} 為軟刪除。

# partial update — only touch cf_status
curl -X PATCH https://flash.socialhub.ai/api/v2/objects/repair_jobs/records/rec_... \
  -H "Authorization: Bearer fl_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "data": { "cf_status": "Completed" } }'

# delete
curl -X DELETE https://flash.socialhub.ai/api/v2/objects/repair_jobs/records/rec_... \
  -H "Authorization: Bearer fl_live_..."