---
title: "Conector Customer.io"
description: "Ghid complet de integrare Customer.io pentru sincronizarea persoanelor, evenimentelor, campaniilor și datelor de flux de lucru cu Brevo prin Tajo."
url: https://tajo.io/ro/docs/connectors/marketing/customerio/
markdown: https://tajo.io/ro/docs/connectors/marketing/customerio.md
lang: ro-RO
robots: noindex
---

Solicită acces anticipat

Introduceți prenumele și adresa de e-mail profesională. Vă vom trimite un link pentru a confirma cererea de acces la Tajo.

# Conector Customer.io

Starea conectorului: Planificat Încă neconstruit. Tajo nu rulează astăzi acest conector.

| Câmp sursă | Câmp destinație | Valoare exemplu |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Conectați platforma de mesagerie Customer.io la Brevo pentru date unificate ale clienților, coordonarea campaniilor cross-platformă și analize de implicare consolidate.

## Prezentare generală

| Proprietate | Valoare |
| --- | --- |
| **Platformă** | Customer.io |
| **Categorie** | Marketing |
| **Complexitate configurare** | Moderată |
| **Integrare oficială** | Nu |
| **Date sincronizate** | Persoane, Evenimente, Campanii, Segmente |
| **API-uri utilizate** | Track API, App API, Pipelines API |
| **Autentificare** | Site ID + Cheie API / Cheie App API |
| **URL-uri de bază** | `track.customer.io`, `api.customer.io` |

## Funcționalități

- **Sincronizare persoane** - Sincronizare bidirecțională a profilurilor clienților cu contactele Brevo
- **Redirecționare evenimente** - Urmăriți evenimentele comportamentale și redirecționați-le la Brevo pentru declanșatoare de automatizare
- **Analize campanii** - Sincronizați metricile de performanță ale campaniilor pentru raportare unificată
- **Date flux de lucru** - Oglindirea stărilor fluxurilor de lucru Customer.io în atributele de contact Brevo
- **Replicare segmente** - Replicați segmentele Customer.io ca liste Brevo
- **Sincronizare date obiecte** - Sincronizați obiecte non-persoane și date de relații

## Cerințe preliminare

Înainte de a începe, asigurați-vă că aveți:

1. Un cont Customer.io cu acces API
2. Site ID-ul și Cheia Track API (găsite în Settings > API Credentials)
3. O cheie App API pentru citirea datelor de campanie și segment
4. Un cont Brevo cu acces API
5. Un cont Tajo cu abonament activ

## Autentificare

Customer.io utilizează două API-uri separate cu metode de autentificare diferite:

### Track API (Date comportamentale)

Utilizat pentru trimiterea persoanelor, evenimentelor și datelor dispozitivului. Se autentifică cu Site ID și Cheie API prin Basic Auth.

```bash
# 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": "user@example.com"}'
```

### App API (Date de citire)

Utilizat pentru recuperarea campaniilor, segmentelor și datelor clienților. Se autentifică cu un token Bearer.

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

Separare chei API

Cheia Track API și cheia App API sunt credențiale diferite. Cheia Track API este utilizată pentru scrierea datelor, în timp ce cheia App API este pentru citirea datelor. Ambele sunt necesare pentru integrarea completă Tajo.

### Conectare la Tajo

```bash
tajo connectors install customerio \
  --site-id $CIO_SITE_ID \
  --track-api-key $CIO_TRACK_API_KEY \
  --app-api-key $CIO_APP_API_KEY
```

## Configurare

### Configurare de bază

```yaml
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
```

### Mapare câmpuri

Mapați atributele persoanelor Customer.io la atributele de contact Brevo:

```yaml
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
```

### Mapare evenimente

```yaml
event_mapping:
  # Customer.io event -> Brevo event
  purchase_completed: ORDER_PLACED
  subscription_started: SUBSCRIPTION_START
  feature_activated: FEATURE_USED
  support_ticket_opened: SUPPORT_REQUEST
```

## Puncte finale API

Tajo se integrează cu următoarele puncte finale API Customer.io:

| Punct final | Metodă | API | Scop |
| --- | --- | --- | --- |
| `/api/v1/customers/{id}` | PUT | Track | Creează sau actualizează o persoană |
| `/api/v1/customers/{id}/events` | POST | Track | Urmărește un eveniment al persoanei |
| `/api/v1/events` | POST | Track | Urmărește evenimente anonime |
| `/api/v2/entity` | POST | Track | Creează sau actualizează persoane/obiecte (Pipelines) |
| `/v1/campaigns` | GET | App | Listează campanii |
| `/v1/campaigns/{id}/metrics` | GET | App | Metrici performanță campanie |
| `/v1/segments` | GET | App | Listează segmente |
| `/v1/segments/{id}/membership` | GET | App | Obține membrii segmentului |
| `/v1/customers/{id}/attributes` | GET | App | Obține atributele clientului |
| `/v1/customers/{id}/activities` | GET | App | Obține jurnalul de activitate al clientului |

## Exemple de cod

### Inițializare conector

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

### Sincronizare persoane la Brevo

```javascript
// 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
// }
```

### Redirecționare evenimente

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

### Export segment

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

## Limite de rată

Customer.io aplică limite de rată diferite per API:

| API | Limită de rată | Note |
| --- | --- | --- |
| **Track API** | ~100 cereri/secundă | Per spațiu de lucru |
| **App API** | 10 cereri/secundă | Per cheie API |
| **Pipelines API** | 100 cereri/secundă | Recomandat pentru date în bloc |
| **Punct final batch** | 1.000 persoane per cerere | Dimensiune maximă payload 500KB |

Utilizați punctele finale batch

Pentru sincronizări mari, Tajo utilizează punctul final batch Customer.io pentru a trimite până la 1.000 de persoane per cerere, reducând semnificativ volumul de apeluri API.

## Depanare

### Probleme frecvente

| Problemă | Cauză | Soluție |
| --- | --- | --- |
| 401 Neautorizat | Site ID sau cheie API invalidă | Verificați credențialele în Customer.io Settings > API |
| Persoane nesincronizate | Identificator lipsă | Asigurați că fiecare persoană are un `id` sau `email` |
| Evenimente neurmate | Tip greșit de cheie API | Utilizați cheia Track API pentru evenimente, nu cheia App API |
| Date EU inaccesibile | Regiune configurată greșit | Setați region la `eu` pentru spațiile de lucru EU |
| Erori limită de rată | Prea multe apeluri App API | Reduceți frecvența de polling pentru datele campaniei |

### Modul de depanare

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

### Testare conexiune

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

## Bune practici

1. **Utilizați Pipelines API pentru date în bloc** - Noul Pipelines API este optimizat pentru ingestie cu volum mare
2. **Configurați webhook-uri de raportare** - Redirecționați evenimentele de e-mail Customer.io la Tajo în timp real
3. **Mapați etapele ciclului de viață** - Sincronizați apartenența la segmentele Customer.io la atributele Brevo
4. **Utilizați identificatori consecvenți** - Potriviți câmpurile `id` în Customer.io și Brevo
5. **Sincronizați incremental** - Evitați exporturile complete; valorificați marcele temporale `last_activity`
6. **Monitorizați livrarea webhook-urilor** - Configurați alerte pentru livrările de webhook eșuate

## Securitate

- **Basic Auth** - Track API se autentifică cu Site ID și Cheie API
- **Token Bearer** - App API utilizează token-uri bearer stilizate OAuth
- **Numai HTTPS** - Toate comunicațiile API criptate prin TLS 1.2+
- **Centre de date regionale** - Opțiune centru de date EU pentru conformitate GDPR
- **Stocare criptată** - Toate credențialele criptate în repaus în Tajo
- **Semnături webhook** - Verificați payload-urile webhook cu semnături HMAC

## Resurse conexe

- [Conector Braze](https://tajo.io/ro/docs/connectors/marketing/braze)
- [Conector Iterable](https://tajo.io/ro/docs/connectors/marketing/iterable)
- [Skill Sincronizare clienți](https://tajo.io/ro/docs/skills/data-sync/customer-sync)
- [API Contacte Brevo](https://tajo.io/ro/docs/contact-management)
