Customer.io konektor

Poveži svoju Customer.io platformu za poruke sa Brevo za unifikovane korisničke podatke, koordinaciju kampanja na više platforma i konsolidovanu analitiku angažovanja.

Pregled

SvojstvoVrednost
PlatformaCustomer.io
KategorijaMarketing
Složenost podešavanjaSrednje
Zvanična integracijaNe
Sinhronizovani podaciOsobe, Događaji, Kampanje, Segmenti
Korišćeni API-jiTrack API, App API, Pipelines API
AutentifikacijaSite ID + API Key / App API Key
Osnovni URL-ovitrack.customer.io, api.customer.io

Karakteristike

  • Sinhronizacija osoba - Dvosmerna sinhronizacija profila kupaca sa Brevo kontaktima
  • Prosleđivanje događaja - Praćenje bihevioralnih događaja i prosleđivanje u Brevo za okidače automatizacije
  • Analitika kampanja - Sinhronizacija metrika performansi kampanja za unifikovano izveštavanje
  • Podaci toka rada - Ogledanje stanja Customer.io tokova rada u Brevo atributima kontakta
  • Replikacija segmenata - Replikacija Customer.io segmenata kao Brevo lista
  • Sinhronizacija podataka objekata - Sinhronizacija objekata koji nisu osobe i podataka odnosa

Preduslovi

Pre nego što započneš, proveri da imaš:

  1. Customer.io nalog sa API pristupom
  2. Site ID i Track API Key (nalaze se u Settings > API Credentials)
  3. App API ključ za čitanje podataka kampanja i segmenata
  4. Brevo nalog sa API pristupom
  5. Tajo nalog sa aktivnom pretplatom

Autentifikacija

Customer.io koristi dva odvojena API-ja sa različitim metodama autentifikacije:

Track API (Bihevioralni podaci)

Koristi se za slanje osoba, događaja i podataka uređaja. Autentifikuje se sa Site ID i API Key putem Basic Auth.

Terminal window
# Basic Auth: Site ID as username, API Key as password
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 dohvatanje kampanja, segmenata i podataka o korisnicima. Autentifikuje se sa 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čiti akreditivi. Track API ključ se koristi za pisanje podataka, dok je App API ključ za čitanje podataka. Oba su potrebna za punu Tajo integraciju.

Povezivanje sa Tajo

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

Osnovno podešavanje

connectors:
customerio:
enabled: true
region: "us" # or "eu" for EU data center
sync:
people: true
events: true
campaigns: true
segments: true
objects: false
lists:
all_contacts: 12
active_subscribers: 13
churned: 14

Mapiranje polja

Mapiranje atributa Customer.io osoba na Brevo atribute kontakta:

field_mapping:
# Standard fields
id: CIO_ID
email: email
first_name: FIRSTNAME
last_name: LASTNAME
phone: SMS
# Engagement metrics
created_at: SIGNUP_DATE
last_activity: LAST_ACTIVE
plan: PLAN_NAME
# Custom attributes
company: COMPANY
role: JOB_TITLE
mrr: MONTHLY_REVENUE
lifecycle_stage: LIFECYCLE_STAGE

Mapiranje događaja

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

API endpointi

Tajo se integriše sa sledećim Customer.io API endpointima:

EndpointMetodaAPINamena
/api/v1/customers/{id}PUTTrackKreiranje ili ažuriranje osobe
/api/v1/customers/{id}/eventsPOSTTrackPraćenje događaja osobe
/api/v1/eventsPOSTTrackPraćenje anonimnih događaja
/api/v2/entityPOSTTrackKreiranje ili ažuriranje osoba/objekata (Pipelines)
/v1/campaignsGETAppListanje kampanja
/v1/campaigns/{id}/metricsGETAppMetrike performansi kampanje
/v1/segmentsGETAppListanje segmenata
/v1/segments/{id}/membershipGETAppDohvatanje članova segmenta
/v1/customers/{id}/attributesGETAppDohvatanje atributa korisnika
/v1/customers/{id}/activitiesGETAppDohvatanje dnevnika aktivnosti korisnika

Primeri 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'
});

Sinhronizacija osoba sa Brevo

// Incremental sync of Customer.io people
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
// }

Prosleđivanje događaja

// Forward Customer.io reporting webhook events to 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(`Exported ${result.count} people to Brevo list 13`);

Ograničenja brzine

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

APIOgraničenje brzineNapomene
Track API~100 zahteva/sekundiPo radnom prostoru
App API10 zahteva/sekundiPo API ključu
Pipelines API100 zahteva/sekundiPreporučeno za bulk podatke
Batch endpoint1.000 osoba po zahtevuMaksimalni payload 500KB

Koristi batch endpointe

Za velike sinhronizacije, Tajo koristi Customer.io batch endpoint za slanje do 1.000 osoba po zahtevu, što značajno smanjuje obim API poziva.

Rešavanje problema

Česti problemi

ProblemUzrokRešenje
401 UnauthorizedNevažeći Site ID ili API ključVerifikuj akreditive u Customer.io Settings > API
Osobe se ne sinhronizujuNedostaje identifikatorOsiguraj da svaka osoba ima id ili email
Događaji se ne pratePogrešan tip API ključaKoristi Track API ključ za događaje, ne App API ključ
EU podaci nisu dostupniPogrešan region konfigurisanPostavi region na eu za EU radne prostore
Greške ograničenja brzinePreviše App API pozivaSmanji učestalost ispitivanja za podatke kampanja

Debug režim

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

Testiraj vezu

Terminal window
tajo connectors test customerio
# ✓ Track API connection successful
# ✓ App API connection successful
# ✓ People accessible
# ✓ Campaigns readable
# ✓ Segments listable

Najbolje prakse

  1. Koristi Pipelines API za bulk podatke - Noviji Pipelines API je optimizovan za ingestion visokog volumena
  2. Postavi webhook-ove za izveštavanje - Prosleđuj Customer.io email događaje u Tajo u realnom vremenu
  3. Mapiraj faze životnog ciklusa - Sinhronizuj Customer.io članstvo u segmentima na Brevo atribute
  4. Koristi konzistentne identifikatore - Podudaraj id polja između Customer.io i Brevo
  5. Sinhronizuj inkrementalno - Izbegavaj pune izvoze; iskoristi last_activity vremenske oznake
  6. Prati isporuku webhook-ova - Postavi upozorenja za neuspele isporuke webhook-ova

Bezbednost

  • Basic Auth - Track API se autentifikuje sa Site ID i API Key
  • Bearer Token - App API koristi bearer tokene u OAuth stilu
  • Samo HTTPS - Sva API komunikacija enkriptovana putem TLS 1.2+
  • Regionalni centri podataka - EU centar podataka za GDPR usklađenost
  • Enkriptovana pohrana - Svi akreditivi enkriptovani u mirovanju u Tajo
  • Potpisi webhook-ova - Verifikuj webhook payloade sa 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 асистент

Здраво! Питајте ме о документацији.