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 sil

Nesne (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 DeleteRelationshipRequest ile ilişkilendirilir

Kimlik Doğrulama

Pipelines API → x-api-key header (Basic Auth: API Key as username) Track API → ayrı kimlik bilgileri