SocialHub.AI
Geliştirici Merkezi · Açık Genişletilebilirlik

Özel Nesneler API

Bir çalışma alanı, alanlar, kayıtlar, liste/form kullanıcı arayüzü ve segmentasyonla, tamamı kod olmadan kendi yapılandırılmış iş nesnelerini (onarım işleri, randevular, şikayetler) tanımlayabilir. Bu API, entegrasyonlarınızın bu nesnelerin şemalarını okumasına ve kayıtlarını okumasına veya yazmasına olanak tanır. Nesne öncelikle uygulama içinde tanımlanır; API zaten var olana karşı çalışır.

1. Adım — keşfedin

Nesne türlerini listeleyin ve ardından şemalarını okuyun

objects:read içeren bir Bearer fl_live_ anahtarıyla kimlik doğrulaması yapın. GET /api/v2/objects, bu çalışma alanının gösterdiği object türlerini döndürür; yalnızca yayınlanmış, API görünür nesneler döndürülür; taslaklar ve API gizli nesneler asla sızdırılmaz. GET /api/v2/objects/{type}, bir object'ün kendi kendini tanımlayan alan şemasını (anahtar, tür, seçenekler, gerekli) döndürür, böylece hiçbir şeyi sabit kodlamadan bir formu oluşturabilir veya kayıtları eşleyebilirsiniz. Bilinmeyen, taslak, gizli veya çalışma alanları arası bir tür 404 döndürür.

# 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" }
#     ]
# } }
Adım 2 — kayıtları okuyun

Listeleme, filtreleme, sıralama ve sayfalama

GET /api/v2/objects/{type}/records, bir object için kayıtlar döndürür (kapsam objects:read). limit (maks 200) ve offset içeren sayfa; sortBy (created_desc, created_asc, updated_desc, title_asc) ile sıralama; search ile serbest metin; memberId ile bir üyeye filtreleme; ve f_<fieldKey>=<value> ile herhangi bir alanı filtreleme. Tek bir kayıt GET /api/v2/objects/{type}/records/{recordId}'dir.

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. Adım — Kayıtları Yazma

Oluşturun, güncelleyin ve silin

Yazmaların objects:write kapsamına ihtiyacı vardır. data nesnesi nesnenin alan şemasına göre doğrulanır; gerekli alanlar, türler, numaralandırma seçenekleri ve üye referanslarının tümü kontrol edilir ve bilinmeyen anahtarlar reddedilir. Arıza durumunda kapatılan, anahtar başına yazma hızı koruması her yazmanın önünde bulunur, böylece sızdırılan bir anahtar tabloyu sular altında bırakamaz.

# 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}, varsayılan olarak kısmi bir güncellemedir (alan alan birleştirilir, böylece eş zamanlı yamalar birbirini asla geçersiz kılmaz). Bir alanı kaldırmak için null, tüm kaydı üzerine yazmak için ise { "replace": true } olarak gönderin. DELETE …/records/{recordId} yumuşak silme işlemidir.

# 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_..."