Objek Kustom API
Ruang kerja dapat mendefinisikan objek bisnis terstrukturnya sendiri — pekerjaan perbaikan, janji temu, keluhan — dengan bidang, catatan, UI daftar/formulir, dan segmentasi, semuanya tanpa kode. API ini memungkinkan integrasi Anda untuk membaca skema objek tersebut dan membaca atau menulis catatannya. object didefinisikan di dalam aplikasi terlebih dahulu; API bekerja terhadap apa yang sudah ada.
Daftar tipe object, lalu baca skemanya
Otentikasi dengan kunci Bearer fl_live_ yang memegang objects:read. GET /api/v2/objects mengembalikan tipe object yang diekspos oleh ruang kerja ini — hanya objek publikasi, API-terlihat yang dikembalikan; draf dan objek API-tersembunyi tidak pernah bocor. GET /api/v2/objects/{type} mengembalikan skema bidang yang menjelaskan dirinya sendiri (kunci, tipe, opsi, wajib) dari object sehingga Anda dapat merender formulir atau memetakan catatan tanpa melakukan pengkodean secara manual. Tipe yang tidak dikenal, draf, tersembunyi, atau lintas ruang kerja mengembalikan 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" }
# ]
# } }Daftar, filter, urutkan & penomoran halaman
GET /api/v2/objects/{type}/records mengembalikan catatan untuk object (cakupan objects:read). Halaman dengan limit (maks 200) dan offset; Urutkan dengan sortBy (created_desc, created_asc, updated_desc, title_asc); teks bebas search; filter ke anggota dengan memberId; dan filter bidang apa pun dengan f_<fieldKey>=<value>. Satu catatan adalah 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 }Buat, perbarui & hapus
Para penulis membutuhkan objects:write Lingkup. Itu data object adalah divalidasi terhadap objectskema bidang — Kolom yang wajib diisi, tipe data, opsi enum, dan referensi anggota semuanya diperiksa, dan kunci yang tidak dikenal ditolak. Sebuah pengaman tingkat penulisan per kunci yang tertutup jika terjadi kegagalan ditempatkan di depan setiap penulisan, sehingga kunci yang bocor tidak dapat membanjiri tabel.
# 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} adalah pembaruan sebagian secara default (digabungkan bidang demi bidang, sehingga patch bersamaan tidak pernah saling menimpa). Kirim bidang sebagai null untuk menghapusnya, atau { "replace": true } untuk menimpa seluruh catatan. DELETE …/records/{recordId} menghapus sebagian.
# 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_..."