Customer.io-koppling
Kopplingens status: Planerad Inte byggd än. Tajo kör inte den här kopplingen i dag.
Illustration · exempeldata
Exempel på synkronisering
Källa
Customer.io
Kopplingens status: Planerad
Mål
Ditt andra verktyg
Kopplingens status: Eget verktyg
Fältmappning
| Källfält | Målfält | Exempelvärde |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Utkast
- Granska en post
- Godkänn den här versionen
Status gäller varje enskild koppling och garanterar inte att den här synkroniseringen är klar. Fälten är illustrativa. Kontrollera det faktiska schemat och behörigheterna innan synkronisering körs.
Anslut din Customer.io-meddelandeplattform till Brevo för enhetlig kunddata, koordinering av kampanjer över plattformar och konsoliderad engagemangsanalys.
Översikt
| Egenskap | Värde |
|---|---|
| Plattform | Customer.io |
| Kategori | Marknadsföring |
| Installationskomplexitet | Måttlig |
| Officiell integration | Nej |
| Data som synkas | People, händelser, kampanjer, segment |
| API:er som används | Track API, App API, Pipelines API |
| Autentisering | Site ID + API Key / App API Key |
| Bas-URL:er | track.customer.io, api.customer.io |
Funktioner
- People-synk - Dubbelriktad synkronisering av kundprofiler med Brevo-kontakter
- Vidarebefordran av händelser - Spåra beteendehändelser och vidarebefordra till Brevo som automationstriggers
- Kampanjanalys - Synka kampanjprestandadata för enhetlig rapportering
- Workflow-data - Spegla Customer.io-workflow-tillstånd i Brevos kontaktattribut
- Segmentreplikering - Replikera Customer.io-segment som Brevo-listor
- Synk av objektdata - Synka non-people-objekt och relationsdata
Förutsättningar
Innan du börjar, se till att du har:
- Ett Customer.io-konto med API-åtkomst
- Ditt Site ID och din Track API-nyckel (finns under Settings > API Credentials)
- En App API-nyckel för att läsa kampanj- och segmentdata
- Ett Brevo-konto med API-åtkomst
- Ett Tajo-konto med aktivt abonnemang
Autentisering
Customer.io använder två separata API:er med olika autentiseringsmetoder:
Track API (beteendedata)
Används för att skicka people, händelser och enhetsdata. Autentiserar med Site ID och API-nyckel via Basic Auth.
# Basic Auth: Site ID as username, API Key as passwordcurl -X POST https://track.customer.io/api/v1/customers/user123 \ -u "$SITE_ID:$API_KEY" \ -H "Content-Type: application/json" \App API (läsdata)
Används för att hämta kampanjer, segment och kunddata. Autentiserar med Bearer-token.
curl -X GET https://api.customer.io/v1/campaigns \ -H "Authorization: Bearer $APP_API_KEY"Separerade API-nycklar
Track API-nyckeln och App API-nyckeln är olika uppgifter. Track API-nyckeln används för att skriva data, medan App API-nyckeln är för att läsa data. Båda krävs för full Tajo-integration.
Anslut till Tajo
tajo connectors install customerio \ --site-id $CIO_SITE_ID \ --track-api-key $CIO_TRACK_API_KEY \ --app-api-key $CIO_APP_API_KEYKonfiguration
Grundläggande konfiguration
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: 14Fältmappning
Mappa Customer.io person-attribut till Brevo-kontaktattribut:
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_STAGEHändelsemappning
event_mapping: # Customer.io event -> Brevo event purchase_completed: ORDER_PLACED subscription_started: SUBSCRIPTION_START feature_activated: FEATURE_USED support_ticket_opened: SUPPORT_REQUESTAPI-ändpunkter
Tajo integrerar med följande Customer.io API-ändpunkter:
| Ändpunkt | Metod | API | Syfte |
|---|---|---|---|
/api/v1/customers/{id} | PUT | Track | Skapa eller uppdatera en person |
/api/v1/customers/{id}/events | POST | Track | Spåra en person-händelse |
/api/v1/events | POST | Track | Spåra anonyma händelser |
/api/v2/entity | POST | Track | Skapa eller uppdatera people/objekt (Pipelines) |
/v1/campaigns | GET | App | Lista kampanjer |
/v1/campaigns/{id}/metrics | GET | App | Prestandamått för kampanjer |
/v1/segments | GET | App | Lista segment |
/v1/segments/{id}/membership | GET | App | Hämta segmentmedlemmar |
/v1/customers/{id}/attributes | GET | App | Hämta kundattribut |
/v1/customers/{id}/activities | GET | App | Hämta kundens aktivitetslogg |
Kodexempel
Initiera kopplingen
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'});Synka people till Brevo
// Incremental sync of Customer.io peopleawait 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// }Vidarebefordra händelser
// Forward Customer.io reporting webhook events to 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');});Exportera 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`);API-gränser
Customer.io tillämpar olika rate limits per API:
| API | Rate limit | Noteringar |
|---|---|---|
| Track API | ~100 förfrågningar/sekund | Per arbetsyta |
| App API | 10 förfrågningar/sekund | Per API-nyckel |
| Pipelines API | 100 förfrågningar/sekund | Rekommenderas för massdata |
| Batch-ändpunkt | 1 000 people per förfrågan | Max payload 500 KB |
Använd batch-ändpunkter
För stora synkar använder Tajo Customer.ios batch-ändpunkt för att skicka upp till 1 000 people per förfrågan, vilket avsevärt minskar volymen av API-anrop.
Felsökning
Vanliga problem
| Problem | Orsak | Lösning |
|---|---|---|
| 401 Unauthorized | Ogiltigt Site ID eller API-nyckel | Verifiera uppgifterna i Customer.io Settings > API |
| People synkas inte | Identifierare saknas | Se till att varje person har id eller email |
| Händelser spåras inte | Fel typ av API-nyckel | Använd Track API-nyckeln för händelser, inte App API-nyckeln |
| EU-data går inte att nå | Fel region konfigurerad | Sätt region till eu för EU-arbetsytor |
| Rate limit-fel | För många App API-anrop | Minska polling-frekvensen för kampanjdata |
Debug-läge
connectors: customerio: debug: true log_level: verbose log_api_calls: trueTesta anslutningen
tajo connectors test customerio# ✓ Track API connection successful# ✓ App API connection successful# ✓ People accessible# ✓ Campaigns readable# ✓ Segments listableBästa praxis
- Använd Pipelines API för massdata - Det nyare Pipelines-API:et är optimerat för högvolymsinmatning
- Sätt upp reporting-webhooks - Vidarebefordra Customer.io-mejlhändelser till Tajo i realtid
- Mappa livscykelstadier - Synka Customer.io-segmentmedlemskap till Brevo-attribut
- Använd konsekventa identifierare - Matcha
id-fält över Customer.io och Brevo - Synka inkrementellt - Undvik fulla exporter; utnyttja
last_activity-tidsstämplar - Övervaka webhook-leverans - Sätt upp varningar för misslyckade webhook-leveranser
Säkerhet
- Basic Auth - Track API autentiserar med Site ID och API-nyckel
- Bearer token - App API använder OAuth-liknande bearer-token
- Endast HTTPS - All API-kommunikation krypteras via TLS 1.2+
- Regionala data centers - Alternativ med EU-data center för GDPR-efterlevnad
- Krypterad lagring - Alla uppgifter krypteras i vila i Tajo
- Webhook-signaturer - Verifiera webhook-payloads med HMAC-signaturer