Customer.io-koppling

Anslut din Customer.io-meddelandeplattform till Brevo för enhetlig kunddata, koordinering av kampanjer över plattformar och konsoliderad engagemangsanalys.

Översikt

EgenskapVärde
PlattformCustomer.io
KategoriMarknadsföring
InstallationskomplexitetMåttlig
Officiell integrationNej
Data som synkasPeople, händelser, kampanjer, segment
API:er som användsTrack API, App API, Pipelines API
AutentiseringSite ID + API Key / App API Key
Bas-URL:ertrack.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:

  1. Ett Customer.io-konto med API-åtkomst
  2. Ditt Site ID och din Track API-nyckel (finns under Settings > API Credentials)
  3. En App API-nyckel för att läsa kampanj- och segmentdata
  4. Ett Brevo-konto med API-åtkomst
  5. 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.

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 (läsdata)

Används för att hämta kampanjer, segment och kunddata. Autentiserar med Bearer-token.

Terminal window
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

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

Konfiguration

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: 14

Fä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_STAGE

Händelsemappning

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-ändpunkter

Tajo integrerar med följande Customer.io API-ändpunkter:

ÄndpunktMetodAPISyfte
/api/v1/customers/{id}PUTTrackSkapa eller uppdatera en person
/api/v1/customers/{id}/eventsPOSTTrackSpåra en person-händelse
/api/v1/eventsPOSTTrackSpåra anonyma händelser
/api/v2/entityPOSTTrackSkapa eller uppdatera people/objekt (Pipelines)
/v1/campaignsGETAppLista kampanjer
/v1/campaigns/{id}/metricsGETAppPrestandamått för kampanjer
/v1/segmentsGETAppLista segment
/v1/segments/{id}/membershipGETAppHämta segmentmedlemmar
/v1/customers/{id}/attributesGETAppHämta kundattribut
/v1/customers/{id}/activitiesGETAppHä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 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
// }

Vidarebefordra händelser

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

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:

APIRate limitNoteringar
Track API~100 förfrågningar/sekundPer arbetsyta
App API10 förfrågningar/sekundPer API-nyckel
Pipelines API100 förfrågningar/sekundRekommenderas för massdata
Batch-ändpunkt1 000 people per förfråganMax 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

ProblemOrsakLösning
401 UnauthorizedOgiltigt Site ID eller API-nyckelVerifiera uppgifterna i Customer.io Settings > API
People synkas inteIdentifierare saknasSe till att varje person har id eller email
Händelser spåras inteFel typ av API-nyckelAnvänd Track API-nyckeln för händelser, inte App API-nyckeln
EU-data går inte att nåFel region konfigureradSätt region till eu för EU-arbetsytor
Rate limit-felFör många App API-anropMinska polling-frekvensen för kampanjdata

Debug-läge

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

Testa anslutningen

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

Bästa praxis

  1. Använd Pipelines API för massdata - Det nyare Pipelines-API:et är optimerat för högvolymsinmatning
  2. Sätt upp reporting-webhooks - Vidarebefordra Customer.io-mejlhändelser till Tajo i realtid
  3. Mappa livscykelstadier - Synka Customer.io-segmentmedlemskap till Brevo-attribut
  4. Använd konsekventa identifierare - Matcha id-fält över Customer.io och Brevo
  5. Synka inkrementellt - Undvik fulla exporter; utnyttja last_activity-tidsstämplar
  6. Ö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

Relaterade resurser

Subscribe to updates

developer-docs

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

auto-detect
AI-assistent

Hej! Fråga mig om dokumentationen.