Customer.io-kobling
Koble Customer.io-meldingsplattformen din til Brevo for enhetlige kundedata, koordinering av kampanjer på tvers av plattformer og konsolidert engasjementsanalyse.
Oversikt
| Egenskap | Verdi |
|---|---|
| Plattform | Customer.io |
| Kategori | Markedsføring |
| Oppsettskompleksitet | Moderat |
| Offisiell integrasjon | Nei |
| Synkroniserte data | Personer, hendelser, kampanjer, segmenter |
| API-er brukt | Track API, App API, Pipelines API |
| Autentisering | Site ID + API-nøkkel / App API-nøkkel |
| Base-URL-er | track.customer.io, api.customer.io |
Funksjoner
- Persondatasynkronisering - Toveis synkronisering av kundeprofiler med Brevo-kontakter
- Hendelsesvideresending - Spor atferdshendelser og videresend til Brevo for automatiseringsutløsere
- Kampanjeanalyse - Synkroniser kampanjeytelsesmålinger for enhetlig rapportering
- Arbeidsflytdata - Speil Customer.io-arbeidsflyttilstander i Brevo-kontaktattributter
- Segmentreplikering - Replikér Customer.io-segmenter som Brevo-lister
- Synkronisering av objektdata - Synkroniser ikke-person-objekter og relasjonsdata
Forutsetninger
Før du begynner, sørg for at du har:
- En Customer.io-konto med API-tilgang
- Din Site ID og Track API-nøkkel (finnes i Settings > API Credentials)
- En App API-nøkkel for å lese kampanje- og segmentdata
- En Brevo-konto med API-tilgang
- En Tajo-konto med aktivt abonnement
Autentisering
Customer.io bruker to separate API-er med ulike autentiseringsmetoder:
Track API (atferdsdata)
Brukes til å sende personer, hendelser og enhetsdata. Autentiserer med Site ID og API-nøkkel via Basic Auth.
# Basic Auth: Site ID som brukernavn, API-nøkkel som passordcurl -X POST https://track.customer.io/api/v1/customers/user123 \ -u "$SITE_ID:$API_KEY" \ -H "Content-Type: application/json" \App API (lesedata)
Brukes til å hente kampanjer, segmenter og kundedata. Autentiserer med en Bearer-token.
curl -X GET https://api.customer.io/v1/campaigns \ -H "Authorization: Bearer $APP_API_KEY"API-nøkkelseparasjon
Track API-nøkkelen og App API-nøkkelen er ulike påloggingsdetaljer. Track API-nøkkelen brukes til å skrive data, mens App API-nøkkelen er for å lese data. Begge er nødvendig for full Tajo-integrasjon.
Koble til Tajo
tajo connectors install customerio \ --site-id $CIO_SITE_ID \ --track-api-key $CIO_TRACK_API_KEY \ --app-api-key $CIO_APP_API_KEYKonfigurasjon
Grunnleggende oppsett
connectors: customerio: enabled: true region: "us" # eller "eu" for EU-datasenter
sync: people: true events: true campaigns: true segments: true objects: false
lists: all_contacts: 12 active_subscribers: 13 churned: 14Feltmapping
Mapp Customer.io-personattributter til Brevo-kontaktattributter:
field_mapping: # Standardfelt id: CIO_ID email: email first_name: FIRSTNAME last_name: LASTNAME phone: SMS
# Engasjementsmålinger created_at: SIGNUP_DATE last_activity: LAST_ACTIVE plan: PLAN_NAME
# Egendefinerte attributter company: COMPANY role: JOB_TITLE mrr: MONTHLY_REVENUE lifecycle_stage: LIFECYCLE_STAGEHendelsesmapping
event_mapping: # Customer.io-hendelse -> Brevo-hendelse purchase_completed: ORDER_PLACED subscription_started: SUBSCRIPTION_START feature_activated: FEATURE_USED support_ticket_opened: SUPPORT_REQUESTAPI-endepunkter
Tajo integrerer med følgende Customer.io API-endepunkter:
| Endepunkt | Metode | API | Formål |
|---|---|---|---|
/api/v1/customers/{id} | PUT | Track | Opprett eller oppdater en person |
/api/v1/customers/{id}/events | POST | Track | Spor en personhendelse |
/api/v1/events | POST | Track | Spor anonyme hendelser |
/api/v2/entity | POST | Track | Opprett eller oppdater personer/objekter (Pipelines) |
/v1/campaigns | GET | App | List kampanjer |
/v1/campaigns/{id}/metrics | GET | App | Kampanjeytelsesmålinger |
/v1/segments | GET | App | List segmenter |
/v1/segments/{id}/membership | GET | App | Hent segmentmedlemmer |
/v1/customers/{id}/attributes | GET | App | Hent kundeattributter |
/v1/customers/{id}/activities | GET | App | Hent kundeaktivitetslogg |
Kodeeksempler
Initialiser kobling
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'});Synkroniser personer til Brevo
// Inkrementell synkronisering av Customer.io-personerawait 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// }Videresend hendelser
// Videresend Customer.io rapportering-webhook-hendelser til Brevoapp.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');});Eksporter segment
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`);Ratebegrensninger
Customer.io håndhever ulike ratebegrensninger per API:
| API | Ratebegrensning | Merknader |
|---|---|---|
| Track API | ~100 forespørsler/sekund | Per arbeidsområde |
| App API | 10 forespørsler/sekund | Per API-nøkkel |
| Pipelines API | 100 forespørsler/sekund | Anbefalt for bulkdata |
| Batch-endepunkt | 1 000 personer per forespørsel | Maks payload 500 KB |
Bruk batch-endepunkter
For store synkroniseringer bruker Tajo Customer.io batch-endepunktet for å sende opptil 1 000 personer per forespørsel, noe som reduserer volumet av API-kall betydelig.
Feilsøking
Vanlige problemer
| Problem | Årsak | Løsning |
|---|---|---|
| 401 Unauthorized | Ugyldig Site ID eller API-nøkkel | Verifiser påloggingsdetaljer i Customer.io Settings > API |
| Personer synkroniseres ikke | Manglende identifikator | Sørg for at hver person har en id eller email |
| Hendelser ikke sporet | Feil API-nøkkeltype | Bruk Track API-nøkkelen for hendelser, ikke App API-nøkkelen |
| EU-data ikke tilgjengelig | Feil region konfigurert | Sett region til eu for EU-arbeidsområder |
| Ratebegrensningsfeil | For mange App API-kall | Reduser pollingfrekvens for kampanjedata |
Feilsøkingsmodus
connectors: customerio: debug: true log_level: verbose log_api_calls: trueTest tilkobling
tajo connectors test customerio# ✓ Track API-tilkobling vellykket# ✓ App API-tilkobling vellykket# ✓ Personer tilgjengelige# ✓ Kampanjer lesbare# ✓ Segmenter listbareBeste praksis
- Bruk Pipelines API for bulkdata - Det nyere Pipelines API er optimalisert for inntak med stort volum
- Sett opp rapportering-webhooks - Videresend Customer.io e-posthendelser til Tajo i sanntid
- Mapp livssyklusfaser - Synkroniser Customer.io-segmentmedlemskap til Brevo-attributter
- Bruk konsistente identifikatorer - Match
id-felt på tvers av Customer.io og Brevo - Synkroniser inkrementelt - Unngå fulleksport; utnytt
last_activity-tidsstempler - Overvåk webhook-levering - Sett opp varsler for mislykkede webhook-leveringer
Sikkerhet
- Basic Auth - Track API autentiserer med Site ID og API-nøkkel
- Bearer-token - App API bruker OAuth-lignende Bearer-tokens
- Kun HTTPS - All API-kommunikasjon kryptert via TLS 1.2+
- Regionale datasentre - EU-datasenteralternativ for GDPR-samsvar
- Kryptert lagring - Alle påloggingsdetaljer kryptert i hvilemodus i Tajo
- Webhook-signaturer - Verifiser webhook-payloads med HMAC-signaturer