---
title: "Customer.io Konektor"
description: "Kompletan vodič za integraciju Customer.io za sinkronizaciju osoba, događaja, kampanja i podataka o tijeku rada s Brevom putem Taja."
url: https://tajo.io/hr/docs/connectors/marketing/customerio/
markdown: https://tajo.io/hr/docs/connectors/marketing/customerio.md
lang: hr-HR
robots: noindex
---

Zatražite rani pristup

Unesite ime i poslovnu adresu e-pošte. Poslat ćemo vam poveznicu za potvrdu zahtjeva za pristup Taju.

# Customer.io Konektor

Status konektora: Planirano Još nije izrađeno. Tajo danas ne pokreće ovaj konektor.

| Izvorno polje | Odredišno polje | Primjer vrijednosti |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Povežite svoju Customer.io platformu za razmjenu poruka s Brevom za ujedinjene korisničke podatke, koordinaciju kampanja na više platformi i konsolidiranu analitiku angažmana.

## Pregled

| Svojstvo | Vrijednost |
| --- | --- |
| **Platforma** | Customer.io |
| **Kategorija** | Marketing |
| **Složenost postavljanja** | Srednje |
| **Službena integracija** | Ne |
| **Sinkronizirani podaci** | Osobe, Događaji, Kampanje, Segmenti |
| **Korišteni API-ji** | Track API, App API, Pipelines API |
| **Autentifikacija** | Site ID + API ključ / App API ključ |
| **Osnovni URL-ovi** | `track.customer.io`, `api.customer.io` |

## Značajke

- **Sinkronizacija osoba** - Dvosmjerna sinkronizacija korisničkih profila s Brevo kontaktima
- **Prosljeđivanje događaja** - Praćenje bihevioralnih događaja i prosljeđivanje u Brevo za okidače automatizacije
- **Analitika kampanja** - Sinkronizacija metrika performansi kampanje za ujedinjeno izvješćivanje
- **Podaci tijeka rada** - Zrcaljenje stanja tijeka rada Customer.io u Brevo atributima kontakata
- **Replikacija segmenata** - Replikacija Customer.io segmenata kao Brevo popisa
- **Sinkronizacija podataka objekata** - Sinkronizacija objekata koji nisu osobe i podataka o vezama

## Preduvjeti

Prije nego što počnete, osigurajte da imate:

1. Customer.io račun s API pristupom
2. Vaš Site ID i Track API ključ (pronađeni u Postavke > API vjerodajnice)
3. App API ključ za čitanje podataka o kampanjama i segmentima
4. Brevo račun s API pristupom
5. Tajo račun s aktivnom pretplatom

## Autentifikacija

Customer.io koristi dva zasebna API-ja s različitim metodama autentifikacije:

### Track API (Bihevioralni podaci)

Koristi se za slanje osoba, događaja i podataka o uređajima. Autentificira se sa Site ID-om i API ključem putem Basic Auth.

```bash
# Basic Auth: Site ID kao korisničko ime, API ključ kao lozinka
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 (Čitanje podataka)

Koristi se za dohvaćanje kampanja, segmenata i korisničkih podataka. Autentificira se s Bearer tokenom.

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

Razdvajanje API ključeva

Track API ključ i App API ključ su različite vjerodajnice. Track API ključ se koristi za pisanje podataka, dok je App API ključ za čitanje podataka. Oba su potrebna za potpunu Tajo integraciju.

### Povezivanje s Tajom

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

## Konfiguracija

### Osnovna konfiguracija

```yaml
connectors:
  customerio:
    enabled: true
    region: "us"  # ili "eu" za EU podatkovni centar

    sync:
      people: true
      events: true
      campaigns: true
      segments: true
      objects: false

    lists:
      all_contacts: 12
      active_subscribers: 13
      churned: 14
```

### Mapiranje polja

Mapirajte atribute osoba Customer.io na Brevo atribute kontakata:

```yaml
field_mapping:
  # Standardna polja
  id: CIO_ID
  email: email
  first_name: FIRSTNAME
  last_name: LASTNAME
  phone: SMS

  # Metrike angažmana
  created_at: SIGNUP_DATE
  last_activity: LAST_ACTIVE
  plan: PLAN_NAME

  # Prilagođeni atributi
  company: COMPANY
  role: JOB_TITLE
  mrr: MONTHLY_REVENUE
  lifecycle_stage: LIFECYCLE_STAGE
```

### Mapiranje događaja

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

## API krajnje točke

Tajo se integrira s sljedećim Customer.io API krajnjim točkama:

| Krajnja točka | Metoda | API | Namjena |
| --- | --- | --- | --- |
| `/api/v1/customers/{id}` | PUT | Track | Kreiraj ili ažuriraj osobu |
| `/api/v1/customers/{id}/events` | POST | Track | Prati događaj osobe |
| `/api/v1/events` | POST | Track | Prati anonimne događaje |
| `/api/v2/entity` | POST | Track | Kreiraj ili ažuriraj osobe/objekte (Pipelines) |
| `/v1/campaigns` | GET | App | Popis kampanja |
| `/v1/campaigns/{id}/metrics` | GET | App | Metrike performansi kampanje |
| `/v1/segments` | GET | App | Popis segmenata |
| `/v1/segments/{id}/membership` | GET | App | Dohvati članove segmenta |
| `/v1/customers/{id}/attributes` | GET | App | Dohvati atribute korisnika |
| `/v1/customers/{id}/activities` | GET | App | Dohvati zapisnik aktivnosti korisnika |

## Primjeri koda

### Inicijalizacija konektora

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

### Sinkronizacija osoba u Brevo

```javascript
// Inkrementalna sinkronizacija Customer.io osoba
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
// }
```

### Prosljeđivanje događaja

```javascript
// Prosljeđivanje Customer.io webhook događaja izvješćivanja u 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');
});
```

### Izvoz segmenta

```javascript
const result = await tajo.connectors.exportSegment('customerio', {
  segmentId: 42,
  targetList: 13,
  includeAttributes: ['email', 'first_name', 'last_name', 'plan']
});

console.log(`Izvezeno ${result.count} osoba na Brevo popis 13`);
```

## Ograničenja brzine

Customer.io primjenjuje različita ograničenja brzine po API-ju:

| API | Ograničenje brzine | Napomene |
| --- | --- | --- |
| **Track API** | ~100 zahtjeva/sekundi | Po radnom prostoru |
| **App API** | 10 zahtjeva/sekundi | Po API ključu |
| **Pipelines API** | 100 zahtjeva/sekundi | Preporučeno za skupne podatke |
| **Skupna krajnja točka** | 1.000 osoba po zahtjevu | Maks. opterećenje 500KB |

Koristite skupne krajnje točke

Za velike sinkronizacije, Tajo koristi Customer.io skupnu krajnju točku za slanje do 1.000 osoba po zahtjevu, značajno smanjujući volumen API poziva.

## Rješavanje problema

### Uobičajeni problemi

| Problem | Uzrok | Rješenje |
| --- | --- | --- |
| 401 Unauthorized | Nevažeći Site ID ili API ključ | Verificirajte vjerodajnice u Customer.io Postavkama > API |
| Osobe se ne sinkroniziraju | Nedostaje identifikator | Osigurajte da svaka osoba ima `id` ili `email` |
| Događaji se ne prate | Pogrešna vrsta API ključa | Koristite Track API ključ za događaje, a ne App API ključ |
| EU podaci nisu dostupni | Pogrešna konfigurirana regija | Postavite regiju na `eu` za EU radne prostore |
| Greške ograničenja brzine | Previše App API poziva | Smanjite učestalost anketiranja za podatke o kampanjama |

### Način otklanjanja grešaka

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

### Testiranje veze

```bash
tajo connectors test customerio
# ✓ Track API veza uspješna
# ✓ App API veza uspješna
# ✓ Osobe dostupne
# ✓ Kampanje čitljive
# ✓ Segmenti u popisu
```

## Preporučene prakse

1. **Koristite Pipelines API za skupne podatke** - Noviji Pipelines API optimiziran je za visoko-volumni unos
2. **Postavite webhookove za izvješćivanje** - Prosljeđujte Customer.io e-mail događaje Taju u stvarnom vremenu
3. **Mapirajte faze životnog ciklusa** - Sinkronizacija članstva u segmentima Customer.io na Brevo atribute
4. **Koristite dosljedne identifikatore** - Uskladite polja `id` u Customer.io i Brevo
5. **Sinkronizirajte inkrementalno** - Izbjegavajte potpune izvoze; iskoristite vremenske oznake `last_activity`
6. **Pratite isporuku webhookova** - Postavite upozorenja za neuspjele isporuke webhookova

## Sigurnost

- **Basic Auth** - Track API autentificira se sa Site ID-om i API ključem
- **Bearer Token** - App API koristi OAuth-style bearer tokene
- **Samo HTTPS** - Sva API komunikacija šifrirana putem TLS 1.2+
- **Regionalni podatkovni centri** - Opcija EU podatkovnog centra za GDPR usklađenost
- **Šifrirano pohranjivanje** - Sve vjerodajnice šifrirane u mirovanju u Taju
- **Potpisi webhookova** - Verificirajte webhook opterećenja s HMAC potpisima

## Povezani resursi

- [Braze Konektor](https://tajo.io/hr/docs/connectors/marketing/braze)
- [Iterable Konektor](https://tajo.io/hr/docs/connectors/marketing/iterable)
- [Vještina sinkronizacije korisnika](https://tajo.io/hr/docs/skills/data-sync/customer-sync)
- [Brevo API kontakata](https://tajo.io/hr/docs/contact-management)
