Customer.io Konektor

Povežite svoju Customer.io platformu za razmjenu poruka s Brevom za ujedinjene korisničke podatke, koordinaciju kampanja na više platformi i konsolidiranu analitiku angažmana.

Pregled

SvojstvoVrijednost
PlatformaCustomer.io
KategorijaMarketing
Složenost postavljanjaSrednje
Službena integracijaNe
Sinkronizirani podaciOsobe, Događaji, Kampanje, Segmenti
Korišteni API-jiTrack API, App API, Pipelines API
AutentifikacijaSite ID + API ključ / App API ključ
Osnovni URL-ovitrack.customer.io, api.customer.io

Značajke

  • Sinkronizacija osoba - Dvosmjerna sinkronizacija korisničkih profila s Brevo kontaktima
  • Prosljeđivanje događaja - Praćenje bihevioralnih događaja i prosljeđivanje u Brevo za okidače automatizacije
  • Analitika kampanja - Sinkronizacija metrika performansi kampanje za ujedinjeno izvješćivanje
  • Podaci tijeka rada - Zrcaljenje stanja tijeka rada Customer.io u Brevo atributima kontakata
  • Replikacija segmenata - Replikacija Customer.io segmenata kao Brevo popisa
  • Sinkronizacija podataka objekata - Sinkronizacija objekata koji nisu osobe i podataka o vezama

Preduvjeti

Prije nego što počnete, osigurajte da imate:

  1. Customer.io račun s API pristupom
  2. Vaš Site ID i Track API ključ (pronađeni u Postavke > API vjerodajnice)
  3. App API ključ za čitanje podataka o kampanjama i segmentima
  4. Brevo račun s API pristupom
  5. Tajo račun s aktivnom pretplatom

Autentifikacija

Customer.io koristi dva zasebna API-ja s različitim metodama autentifikacije:

Track API (Bihevioralni podaci)

Koristi se za slanje osoba, događaja i podataka o uređajima. Autentificira se sa Site ID-om i API ključem putem Basic Auth.

Terminal window
# Basic Auth: Site ID kao korisničko ime, API ključ kao lozinka
curl -X POST https://track.customer.io/api/v1/customers/user123 \
-u "$SITE_ID:$API_KEY" \
-H "Content-Type: application/json" \
-d '{"email": "[email protected]"}'

App API (Čitanje podataka)

Koristi se za dohvaćanje kampanja, segmenata i korisničkih podataka. Autentificira se s Bearer tokenom.

Terminal window
curl -X GET https://api.customer.io/v1/campaigns \
-H "Authorization: Bearer $APP_API_KEY"

Razdvajanje API ključeva

Track API ključ i App API ključ su različite vjerodajnice. Track API ključ se koristi za pisanje podataka, dok je App API ključ za čitanje podataka. Oba su potrebna za potpunu Tajo integraciju.

Povezivanje s Tajom

Terminal window
tajo connectors install customerio \
--site-id $CIO_SITE_ID \
--track-api-key $CIO_TRACK_API_KEY \
--app-api-key $CIO_APP_API_KEY

Konfiguracija

Osnovna konfiguracija

connectors:
customerio:
enabled: true
region: "us" # ili "eu" za EU podatkovni centar
sync:
people: true
events: true
campaigns: true
segments: true
objects: false
lists:
all_contacts: 12
active_subscribers: 13
churned: 14

Mapiranje polja

Mapirajte atribute osoba Customer.io na Brevo atribute kontakata:

field_mapping:
# Standardna polja
id: CIO_ID
email: email
first_name: FIRSTNAME
last_name: LASTNAME
phone: SMS
# Metrike angažmana
created_at: SIGNUP_DATE
last_activity: LAST_ACTIVE
plan: PLAN_NAME
# Prilagođeni atributi
company: COMPANY
role: JOB_TITLE
mrr: MONTHLY_REVENUE
lifecycle_stage: LIFECYCLE_STAGE

Mapiranje događaja

event_mapping:
# Customer.io događaj -> Brevo događaj
purchase_completed: ORDER_PLACED
subscription_started: SUBSCRIPTION_START
feature_activated: FEATURE_USED
support_ticket_opened: SUPPORT_REQUEST

API krajnje točke

Tajo se integrira s sljedećim Customer.io API krajnjim točkama:

Krajnja točkaMetodaAPINamjena
/api/v1/customers/{id}PUTTrackKreiraj ili ažuriraj osobu
/api/v1/customers/{id}/eventsPOSTTrackPrati događaj osobe
/api/v1/eventsPOSTTrackPrati anonimne događaje
/api/v2/entityPOSTTrackKreiraj ili ažuriraj osobe/objekte (Pipelines)
/v1/campaignsGETAppPopis kampanja
/v1/campaigns/{id}/metricsGETAppMetrike performansi kampanje
/v1/segmentsGETAppPopis segmenata
/v1/segments/{id}/membershipGETAppDohvati članove segmenta
/v1/customers/{id}/attributesGETAppDohvati atribute korisnika
/v1/customers/{id}/activitiesGETAppDohvati zapisnik aktivnosti korisnika

Primjeri koda

Inicijalizacija konektora

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
await tajo.connectors.connect('customerio', {
siteId: process.env.CIO_SITE_ID,
trackApiKey: process.env.CIO_TRACK_API_KEY,
appApiKey: process.env.CIO_APP_API_KEY,
region: 'us'
});

Sinkronizacija osoba u Brevo

// Inkrementalna sinkronizacija Customer.io osoba
await tajo.connectors.sync('customerio', {
type: 'incremental',
resources: ['people'],
since: '2024-01-01',
batchSize: 100
});
const status = await tajo.connectors.status('customerio');
console.log(status);
// {
// connected: true,
// lastSync: '2024-03-15T14:20:00Z',
// peopleCount: 32500,
// campaignsTracked: 18,
// eventsProcessed: 87000
// }

Prosljeđivanje događaja

// Prosljeđivanje Customer.io webhook događaja izvješćivanja u Brevo
app.post('/webhooks/customerio', async (req, res) => {
const events = req.body;
for (const event of events) {
await tajo.connectors.handleEvent('customerio', {
type: event.metric,
payload: {
customerId: event.data.customer_id,
campaignId: event.data.campaign_id,
timestamp: event.timestamp
}
});
}
res.status(200).send('OK');
});

Izvoz segmenta

const result = await tajo.connectors.exportSegment('customerio', {
segmentId: 42,
targetList: 13,
includeAttributes: ['email', 'first_name', 'last_name', 'plan']
});
console.log(`Izvezeno ${result.count} osoba na Brevo popis 13`);

Ograničenja brzine

Customer.io primjenjuje različita ograničenja brzine po API-ju:

APIOgraničenje brzineNapomene
Track API~100 zahtjeva/sekundiPo radnom prostoru
App API10 zahtjeva/sekundiPo API ključu
Pipelines API100 zahtjeva/sekundiPreporučeno za skupne podatke
Skupna krajnja točka1.000 osoba po zahtjevuMaks. opterećenje 500KB

Koristite skupne krajnje točke

Za velike sinkronizacije, Tajo koristi Customer.io skupnu krajnju točku za slanje do 1.000 osoba po zahtjevu, značajno smanjujući volumen API poziva.

Rješavanje problema

Uobičajeni problemi

ProblemUzrokRješenje
401 UnauthorizedNevažeći Site ID ili API ključVerificirajte vjerodajnice u Customer.io Postavkama > API
Osobe se ne sinkronizirajuNedostaje identifikatorOsigurajte da svaka osoba ima id ili email
Događaji se ne pratePogrešna vrsta API ključaKoristite Track API ključ za događaje, a ne App API ključ
EU podaci nisu dostupniPogrešna konfigurirana regijaPostavite regiju na eu za EU radne prostore
Greške ograničenja brzinePreviše App API pozivaSmanjite učestalost anketiranja za podatke o kampanjama

Način otklanjanja grešaka

connectors:
customerio:
debug: true
log_level: verbose
log_api_calls: true

Testiranje veze

Terminal window
tajo connectors test customerio
# ✓ Track API veza uspješna
# ✓ App API veza uspješna
# ✓ Osobe dostupne
# ✓ Kampanje čitljive
# ✓ Segmenti u popisu

Preporučene prakse

  1. Koristite Pipelines API za skupne podatke - Noviji Pipelines API optimiziran je za visoko-volumni unos
  2. Postavite webhookove za izvješćivanje - Prosljeđujte Customer.io e-mail događaje Taju u stvarnom vremenu
  3. Mapirajte faze životnog ciklusa - Sinkronizacija članstva u segmentima Customer.io na Brevo atribute
  4. Koristite dosljedne identifikatore - Uskladite polja id u Customer.io i Brevo
  5. Sinkronizirajte inkrementalno - Izbjegavajte potpune izvoze; iskoristite vremenske oznake last_activity
  6. Pratite isporuku webhookova - Postavite upozorenja za neuspjele isporuke webhookova

Sigurnost

  • Basic Auth - Track API autentificira se sa Site ID-om i API ključem
  • Bearer Token - App API koristi OAuth-style bearer tokene
  • Samo HTTPS - Sva API komunikacija šifrirana putem TLS 1.2+
  • Regionalni podatkovni centri - Opcija EU podatkovnog centra za GDPR usklađenost
  • Šifrirano pohranjivanje - Sve vjerodajnice šifrirane u mirovanju u Taju
  • Potpisi webhookova - Verificirajte webhook opterećenja s HMAC potpisima

Povezani resursi

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
AI asistent

Bok! Pitajte me o dokumentaciji.