Customer.io конектор

Свържи своята messaging платформа Customer.io с Brevo за унифицирани клиентски данни, координация на кампании между платформи и консолидирана аналитика за ангажираност.

Преглед

СвойствоСтойност
ПлатформаCustomer.io
КатегорияМаркетинг
Сложност на настройкаСредна
Официална интеграцияНе
Синхронизирани данниХора, събития, кампании, сегменти
Използвани APITrack API, App API, Pipelines API
АвтентикацияSite ID + API Key / App API Key
Base URLstrack.customer.io, api.customer.io

Функции

  • Синхронизация на хора – Двупосочна синхронизация на клиентски профили с контактите в Brevo
  • Препращане на събития – Проследявай поведенчески събития и ги препращай към Brevo за automation тригери
  • Аналитика на кампании – Синхронизирай метрики за performance на кампании за унифицирано отчитане
  • Workflow данни – Mirror-вай Customer.io workflow състояния в атрибути на контактите в Brevo
  • Репликация на сегменти – Репликирай Customer.io сегменти като списъци в Brevo
  • Синхронизация на обектни данни – Синхронизирай non-people обекти и данни за взаимоотношения

Предварителни условия

Преди да започнеш, увери се, че имаш:

  1. Акаунт в Customer.io с API достъп
  2. Твоя Site ID и Track API Key (намират се в Settings > API Credentials)
  3. App API ключ за четене на данни за кампании и сегменти
  4. Акаунт в Brevo с API достъп
  5. Акаунт в Tajo с активен абонамент

Автентикация

Customer.io използва две отделни API с различни методи за автентикация:

Track API (поведенчески данни)

Използва се за изпращане на хора, събития и данни за устройства. Автентикира се със Site ID и API Key чрез 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 (четене на данни)

Използва се за извличане на кампании, сегменти и клиентски данни. Автентикира се с Bearer token.

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

Разделяне на API ключове

Track API ключът и App API ключът са различни credentials. Track API ключът се използва за писане на данни, докато App API ключът е за четене на данни. И двата се изискват за пълна Tajo интеграция.

Свързване с 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

Конфигурация

Основна настройка

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

Мапване на полета

Мапвай атрибути на хора от Customer.io към атрибути на контактите в Brevo:

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

Мапване на събития

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 крайни точки

Tajo се интегрира със следните Customer.io API крайни точки:

Крайна точкаМетодAPIПредназначение
/api/v1/customers/{id}PUTTrackСъздаване или обновяване на човек
/api/v1/customers/{id}/eventsPOSTTrackПроследяване на event на човек
/api/v1/eventsPOSTTrackПроследяване на анонимни събития
/api/v2/entityPOSTTrackСъздаване или обновяване на хора/обекти (Pipelines)
/v1/campaignsGETAppСписък с кампании
/v1/campaigns/{id}/metricsGETAppPerformance метрики на кампания
/v1/segmentsGETAppСписък със сегменти
/v1/segments/{id}/membershipGETAppПолучаване на членовете на сегмент
/v1/customers/{id}/attributesGETAppПолучаване на атрибути на клиент
/v1/customers/{id}/activitiesGETAppПолучаване на лог на активностите на клиент

Примери с код

Инициализация на конектора

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

Синхронизация на хора към 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
// }

Препращане на събития

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

Експорт на сегмент

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`);

Ограничения на заявките

Customer.io налага различни rate limits за всяко API:

APIRate LimitБележки
Track API~100 заявки/секундаНа workspace
App API10 заявки/секундаНа API ключ
Pipelines API100 заявки/секундаПрепоръчително за bulk данни
Batch крайна точка1 000 души на заявкаМакс payload 500KB

Използвай batch крайни точки

За големи синхронизации Tajo използва batch крайната точка на Customer.io, за да изпраща до 1 000 души на заявка, значително намалявайки обема на API извикванията.

Отстраняване на проблеми

Чести проблеми

ПроблемПричинаРешение
401 UnauthorizedНевалиден Site ID или API ключПровери credentials в Customer.io Settings > API
Хората не се синхронизиратЛипсва идентификаторУвери се, че всеки човек има id или email
Събитията не се проследяватГрешен тип API ключИзползвай Track API ключ за събития, не App API ключ
EU данните не са достъпниНеправилно конфигуриран регионЗадай региона на eu за EU workspaces
Rate limit грешкиТвърде много App API извикванияНамали честотата на polling за данни за кампании

Режим за дебъг

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

Тест на връзката

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

Добри практики

  1. Използвай Pipelines API за bulk данни – По-новият Pipelines API е оптимизиран за high-volume ingestion
  2. Настрой reporting уебхуци – Препращай Customer.io имейл събития към Tajo в реално време
  3. Мапвай lifecycle етапи – Синхронизирай членството в Customer.io сегменти към атрибути в Brevo
  4. Използвай консистентни идентификатори – Съпоставяй полетата id между Customer.io и Brevo
  5. Синхронизирай инкрементално – Избягвай пълни експорти; използвай timestamps за last_activity
  6. Мониторирай доставката на уебхуци – Настрой alert-и за неуспешни доставки на уебхуци

Сигурност

  • Basic Auth – Track API се автентикира със Site ID и API Key
  • Bearer Token – App API използва OAuth-style bearer tokens
  • Само HTTPS – Цялата API комуникация е криптирана чрез TLS 1.2+
  • Регионални дейта центрове – EU дейта център опция за GDPR съвместимост
  • Криптирано съхранение – Всички credentials са криптирани при съхранение в Tajo
  • Подписи на уебхуци – Верифицирай webhook payloads с HMAC подписи

Свързани ресурси

Subscribe to updates

developer-docs

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

auto-detect
AI асистент

Здравейте! Попитайте ме за документацията.