Customer.io Connector

Forbind din Customer.io-beskedplatform til Brevo for forenede kundedata, tværplatforms-kampagnekoordinering og konsoliderede engagementanalyser.

Oversigt

EgenskabVærdi
PlatformCustomer.io
KategoriMarketing
OpsætningskompleksitetModerat
Officiel integrationNej
Synkroniserede dataPersoner, hændelser, kampagner, segmenter
Anvendte API’erTrack API, App API, Pipelines API
AutentifikationSite ID + API Key / App API Key
Base-URL’ertrack.customer.io, api.customer.io

Funktioner

  • Personsynkronisering - Tovejssynkronisering af kundeprofiler med Brevo-kontakter
  • Hændelsesvideresendelse - Spor adfærdshændelser og videresend til Brevo som automatiseringstriggere
  • Kampagneanalyse - Synkronisér kampagneperformance-metrikker til forenet rapportering
  • Workflow-data - Spejl Customer.io-workflowtilstande i Brevo-kontaktattributter
  • Segmentreplikering - Replicér Customer.io-segmenter som Brevo-lister
  • Synkronisering af objektdata - Synkronisér ikke-persondata-objekter og relationsdata

Forudsætninger

Før du begynder, skal du sikre dig, at du har:

  1. En Customer.io-konto med API-adgang
  2. Dit Site ID og din Track API Key (findes i Settings > API Credentials)
  3. En App API-nøgle til læsning af kampagne- og segmentdata
  4. En Brevo-konto med API-adgang
  5. En Tajo-konto med et aktivt abonnement

Autentifikation

Customer.io bruger to separate API’er med forskellige autentifikationsmetoder:

Track API (adfærdsdata)

Bruges til at sende personer, hændelser og enhedsdata. Autentificerer med Site ID og API-nøgle 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æse data)

Bruges til at hente kampagner, segmenter og kundedata. Autentificerer med et Bearer-token.

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

Adskillelse af API-nøgler

Track API-nøglen og App API-nøglen er forskellige legitimationsoplysninger. Track API-nøglen bruges til skrivning af data, mens App API-nøglen er til læsning af data. Begge kræves til fuld Tajo-integration.

Forbind til 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æggende opsætning

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

Feltmapping

Knyt Customer.io-personattributter til Brevo-kontaktattributter:

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ændelsesmapping

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-endpoints

Tajo integrerer med følgende Customer.io API-endpoints:

EndpointMetodeAPIFormål
/api/v1/customers/{id}PUTTrackOpret eller opdatér en person
/api/v1/customers/{id}/eventsPOSTTrackSpor en persons hændelse
/api/v1/eventsPOSTTrackSpor anonyme hændelser
/api/v2/entityPOSTTrackOpret eller opdatér personer/objekter (Pipelines)
/v1/campaignsGETAppVis kampagner
/v1/campaigns/{id}/metricsGETAppKampagneperformance-metrikker
/v1/segmentsGETAppVis segmenter
/v1/segments/{id}/membershipGETAppHent segmentmedlemmer
/v1/customers/{id}/attributesGETAppHent kundeattributter
/v1/customers/{id}/activitiesGETAppHent kundeaktivitetslog

Kodeeksempler

Initialisér konnektor

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

Synkronisér personer til 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
// }

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

Eksportér 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`);

Ratebegrænsninger

Customer.io håndhæver forskellige ratebegrænsninger per API:

APIRatebegrænsningNoter
Track API~100 forespørgsler/sekundPer workspace
App API10 forespørgsler/sekundPer API-nøgle
Pipelines API100 forespørgsler/sekundAnbefalet til massedata
Batch-endpoint1.000 personer per forespørgselMaks. payload 500 KB

Brug batch-endpoints

Til store synkroniseringer bruger Tajo Customer.io batch-endpointet til at sende op til 1.000 personer per forespørgsel, hvilket reducerer API-kaldsvolumen markant.

Fejlfinding

Almindelige problemer

ProblemÅrsagLøsning
401 UnauthorizedUgyldigt Site ID eller API-nøgleVerificér legitimationsoplysninger i Customer.io Settings > API
Personer synkroniseres ikkeManglende identifikatorSørg for, at hver person har et id eller en email
Hændelser ikke sporetForkert API-nøgletypeBrug Track API-nøgle til hændelser, ikke App API-nøgle
EU-data utilgængeligeForkert region konfigureretSæt region til eu for EU-workspaces
RatebegrænsningsfejlFor mange App API-kaldReducér pollingfrekvens for kampagnedata

Fejlfindingstilstand

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

Test forbindelse

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

Best practices

  1. Brug Pipelines API til massedata - Det nyere Pipelines API er optimeret til ingest med højt volumen
  2. Opsæt rapporteringswebhooks - Videresend Customer.io e-mailhændelser til Tajo i realtid
  3. Map lifecycle-stadier - Synkronisér Customer.io-segmentmedlemskab til Brevo-attributter
  4. Brug konsekvente identifikatorer - Match id-felter på tværs af Customer.io og Brevo
  5. Synkronisér inkrementelt - Undgå fulde eksporter; udnyt last_activity-tidsstempler
  6. Overvåg webhook-levering - Opsæt advarsler for mislykkede webhook-leveringer

Sikkerhed

  • Basic Auth - Track API autentificerer med Site ID og API-nøgle
  • Bearer-token - App API bruger OAuth-lignende bearer-tokens
  • Kun HTTPS - Al API-kommunikation krypteret via TLS 1.2+
  • Regionale datacentre - EU-datacentermulighed for GDPR-overholdelse
  • Krypteret lagring - Alle legitimationsoplysninger krypteres i hvile i Tajo
  • Webhook-signaturer - Verificér webhook-payloads med HMAC-signaturer

Relaterede ressourcer

Subscribe to updates

developer-docs

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

auto-detect
AI-assistent

Hej! Spørg mig om dokumentationen.