Proje: Okul Platform · Hub: Okul Platform — Architecture
CustomerIO Custom Client
CustomerIO/ dizininde — Autoload: "CustomerIO\\": "CustomerIO/" (composer.json)
Değil bir 3rd party paket — kendi custom implementasyonu.
CustomerIO\Client
HTTP 20 saniye timeout. EU region kullanılıyor.
Endpoints:
- Pipelines API:
https://cdp-eu.customer.io/v1/(kişi/nesne veri) - Track API:
https://track-eu.customer.io/api/v2/(event tracking)
Ana Metodlar
Kişi İşlemleri
$client->identify(IdentifyRequest $request) // Kişi oluştur/güncelle
$client->deletePeople(DeletePeopleRequest $request) // Kişi silNesne (Object) İşlemleri — B2B
$client->identifyObject(IdentifyObjectRequest $request) // Nesne (okul) oluştur/güncelle
$client->deleteObject(DeleteObjectRequest $request) // Nesne sil
$client->deleteRelationship(DeleteRelationshipRequest) // İlişki sil (kişi-nesne)Batch İşlemi
$client->batch([
IdentifyRequest,
IdentifyObjectRequest,
TrackRequest,
...
])Her öğeye type field’ı eklenerek CIO batch API’ına gönderilir.
CIO Veri Modeli (B2B)
B2C: Person (CIO Person API) — veli/öğrenci B2B:
IdentifyObjectRequest— Okul (CIO Object)IdentifyRequest— Okul kullanıcısı (CIO Person)- İkisi
DeleteRelationshipRequestile ilişkilendirilir
Kimlik Doğrulama
Pipelines API → x-api-key header (Basic Auth: API Key as username)
Track API → ayrı kimlik bilgileri
Related
- api-key-integrations — CustomerIO servis katmanı (B2BService, B2CService)
- api-queue-jobs — Async CIO job’ları