---
title: "Twilio Flex Konektor"
description: "Kompletan vodič za integraciju Twilio Flexa za sinkronizaciju interakcija kontaktnog centra, aktivnosti agenata i razgovora s klijentima s Brevom putem Taja."
url: https://tajo.io/hr/docs/connectors/custom/twilio-flex/
markdown: https://tajo.io/hr/docs/connectors/custom/twilio-flex.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.

# Twilio Flex 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 svoj Twilio Flex kontaktni centar s Brevom za ujedinjenu povijest korisničkih interakcija, marketinške tijekove rada nakon razgovora i analitiku angažmana vođenu podrškom putem Taja.

## Pregled

| Svojstvo | Vrijednost |
| --- | --- |
| **Platforma** | Twilio Flex |
| **Kategorija** | Prilagođeno |
| **Složenost postavljanja** | Napredno |
| **Službena integracija** | Ne |
| **Sinkronizirani podaci** | Korisnici, Razgovori, Događaji |
| **Korišteni API-ji** | Flex API, Conversations API, TaskRouter API |
| **Autentifikacija** | Account SID + Auth Token / API ključ |
| **Osnovni URL** | `https://flex-api.twilio.com` |

## Značajke

- **Sinkronizacija razgovora** - Prosljeđujte glasovne, SMS, WhatsApp i chat interakcije na Brevo vremenske osi
- **Obogaćivanje profila klijenata** - Sinkronizacija Flex korisničkih podataka na Brevo atribute kontakata
- **Kampanje nakon interakcije** - Pokretanje Brevo tijekova rada nakon završetka razgovora podrške
- **Praćenje CSAT događaja** - Sinkronizacija rezultata ankete zadovoljstva kao Brevo događaja
- **Podaci o aktivnosti agenata** - Praćenje metrika performansi agenata za operativno izvješćivanje
- **Analitika redova** - Prosljeđujte podatke o vremenu čekanja i napuštanju za optimizaciju iskustva

## Preduvjeti

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

1. Twilio račun s omogućenim Flexom
2. Vaš Twilio Account SID i Auth Token
3. Flex instancu s aktivnim kanalima (glas, SMS, chat ili WhatsApp)
4. Konfiguriran TaskRouter radni prostor
5. Brevo račun s API pristupom
6. Tajo račun s aktivnom pretplatom

## Autentifikacija

Twilio Flex koristi Twilijeve standardne metode autentifikacije.

### Vjerodajnice računa

```bash
# Basic Auth: Account SID kao korisničko ime, Auth Token kao lozinka
curl -X GET "https://flex-api.twilio.com/v1/Configuration" \
  -u "$TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN"
```

### API ključ (Preporučeno za produkciju)

1. Idite na **Twilio konzola** > **Račun** > **API ključevi i tokeni**
2. Kliknite **Create API Key**
3. Odaberite vrstu ključa **Standard**
4. Pohranite SID i tajnu sigurno

```bash
curl -X GET "https://flex-api.twilio.com/v1/Configuration" \
  -u "$TWILIO_API_KEY_SID:$TWILIO_API_KEY_SECRET"
```

Auth Token vs API ključ

Vaš Auth Token ima potpuni pristup računu. Za produkciju koristite opsežene API ključeve. API ključevi mogu se opozvati pojedinačno bez ometanja ostalih integracija.

### Povezivanje s Tajom

```bash
tajo connectors install twilio-flex \
  --account-sid $TWILIO_ACCOUNT_SID \
  --auth-token $TWILIO_AUTH_TOKEN \
  --flex-flow-sid $TWILIO_FLEX_FLOW_SID
```

## Konfiguracija

### Osnovna konfiguracija

```yaml
connectors:
  twilio_flex:
    enabled: true
    account_sid: "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    flex_flow_sid: "FOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

    sync:
      conversations: true
      tasks: true
      customers: true
      csat: true
      agent_activity: false

    lists:
      support_contacts: 32
      csat_respondents: 33

    channels:
      - voice
      - sms
      - whatsapp
      - webchat
```

### Mapiranje polja

Mapirajte Flex korisničke i interakcijske podatke na Brevo atribute:

```yaml
field_mapping:
  # Polja korisnika
  identity: FLEX_IDENTITY
  friendly_name: FIRSTNAME
  attributes.email: email
  attributes.phone: SMS

  # Metrike interakcija
  last_conversation_date: LAST_SUPPORT_DATE
  total_conversations: SUPPORT_TICKET_COUNT
  avg_wait_time: AVG_WAIT_TIME
  last_csat_score: CSAT_SCORE
  preferred_channel: PREFERRED_CHANNEL

  # Prilagođeni atributi
  customer_tier: VIP_TIER
  account_id: ACCOUNT_ID
```

### Mapiranje događaja

```yaml
event_mapping:
  task.created: SUPPORT_REQUESTED
  task.completed: SUPPORT_RESOLVED
  task.canceled: SUPPORT_ABANDONED
  conversation.ended: CONVERSATION_ENDED
  survey.completed: CSAT_SUBMITTED
```

## API krajnje točke

Tajo se integrira s sljedećim Twilio Flex i srodnim API krajnjim točkama:

| Krajnja točka | Metoda | API | Namjena |
| --- | --- | --- | --- |
| `/v1/Configuration` | GET | Flex | Dohvati Flex konfiguraciju |
| `/v1/Interactions` | GET | Flex | Popis interakcija |
| `/v1/Channels` | GET | Flex | Popis Flex kanala |
| `/v1/WebChannels` | POST | Flex | Kreiraj web chat kanal |
| `/v1/Conversations` | GET | Conversations | Popis razgovora |
| `/v1/Conversations/{sid}/Messages` | GET | Conversations | Popis poruka razgovora |
| `/v1/Conversations/{sid}/Participants` | GET | Conversations | Popis sudionika |
| `/v1/Workspaces/{sid}/Tasks` | GET | TaskRouter | Popis zadataka |
| `/v1/Workspaces/{sid}/Workers` | GET | TaskRouter | Popis radnika (agenata) |
| `/v1/Workspaces/{sid}/TaskQueues` | GET | TaskRouter | Popis redova zadataka |
| `/v1/Workspaces/{sid}/Events` | GET | TaskRouter | Popis događaja radnog prostora |

## 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('twilio-flex', {
  accountSid: process.env.TWILIO_ACCOUNT_SID,
  authToken: process.env.TWILIO_AUTH_TOKEN,
  flexFlowSid: process.env.TWILIO_FLEX_FLOW_SID
});
```

### Sinkronizacija povijesti razgovora

```javascript
await tajo.connectors.sync('twilio-flex', {
  type: 'incremental',
  resources: ['conversations'],
  since: '2024-01-01',
  channels: ['voice', 'sms', 'whatsapp']
});

const status = await tajo.connectors.status('twilio-flex');
console.log(status);
// {
//   connected: true,
//   lastSync: '2024-03-15T16:00:00Z',
//   conversationsTracked: 12400,
//   customersLinked: 8900,
//   agentsMonitored: 45
// }
```

### Okidač kampanje nakon razgovora

```javascript
// Pokrenite Brevo praćenje nakon završetka razgovora podrške
app.post('/webhooks/flex/task-complete', async (req, res) => {
  const task = req.body;

  await tajo.connectors.handleEvent('twilio-flex', {
    type: 'task.completed',
    payload: {
      taskSid: task.TaskSid,
      customerEmail: task.TaskAttributes?.email,
      channel: task.TaskChannelUniqueName,
      duration: task.Age,
      queueName: task.TaskQueueFriendlyName
    }
  });

  res.status(200).send('OK');
});
```

### Integracija Flex dodatka

```javascript
// Unutar Flex UI dodatka - pošaljite podatke u Tajo
import { FlexPlugin } from '@twilio/flex-plugin';

class TajoPlugin extends FlexPlugin {
  init(flex, manager) {
    flex.Actions.addListener('afterCompleteTask', async (payload) => {
      await fetch('https://api.example.com/webhooks/flex/task-complete', {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify({
          TaskSid: payload.task.sid,
          TaskAttributes: payload.task.attributes,
          TaskChannelUniqueName: payload.task.taskChannelUniqueName,
          Age: payload.task.age
        })
      });
    });
  }
}
```

Caution

Adresa `example.com` iznad samo je rezervirani unos dok Tajo krajnja točka ne postane dostupna.

## Ograničenja brzine

Twilio primjenjuje ograničenja brzine kroz svoje API-je:

| API | Ograničenje brzine | Napomene |
| --- | --- | --- |
| **Flex API** | 100 zahtjeva/sekundi | Po računu |
| **Conversations API** | 100 zahtjeva/sekundi | Po računu |
| **TaskRouter API** | 30 zahtjeva za čitanje/sekundi | Po radnom prostoru |
| **TaskRouter eventi** | 20 zahtjeva/sekundi | Po radnom prostoru |

Tokovi događaja

Za viskovoluensku obradu događaja, razmotrite korištenje Twilio Event Streams umjesto anketiranja TaskRouter događaja. Event Streams guraju događaje u stvarnom vremenu putem webhookova ili Kinesisa.

## Rješavanje problema

### Uobičajeni problemi

| Problem | Uzrok | Rješenje |
| --- | --- | --- |
| 401 Unauthorized | Nevažeći SID ili token | Provjerite Account SID i Auth Token u Twilio konzoli |
| 403 Forbidden | Flex nije omogućen | Osigurajte da je Flex aktiviran na vašem Twilio računu |
| Nedostaju razgovori | Pogrešan raspon datuma | Proširite raspon datuma sinkronizacije ili provjerite stanje razgovora |
| Zadaci se ne prate | Nepodudaranje TaskRouter radnog prostora | Verificirajte ispravni SID radnog prostora |
| Dodatak ne pokreće se | Slušatelj događaja nije registriran | Provjerite je li Flex dodatak raspoređen i aktivan |

### Način otklanjanja grešaka

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

### Testiranje veze

```bash
tajo connectors test twilio-flex
# ✓ Flex API veza uspješna
# ✓ Conversations API dostupan
# ✓ TaskRouter radni prostor pronađen
# ✓ Popis agenata čitljiv
# ✓ Konfiguracija reda učitana
```

## Preporučene prakse

1. **Koristite API ključeve umjesto Auth Tokena** - API ključevi mogu biti opseženi i opozvani pojedinačno
2. **Iskoristite Event Streams** - Push-based događaji su učinkovitiji od anketiranja TaskRoutera
3. **Izgradite Flex dodatak** - Koristite UI dodatak za hvatanje događaja završetka zadataka u stvarnom vremenu
4. **Dosljedno mapirajte kanale** - Normalizirajte glasovne, SMS i chat podatke u ujedinjene Brevo događaje
5. **Pratite CSAT ocjene** - Sinkronizirajte podatke o zadovoljstvu u Brevo za segmentaciju vođenu iskustvom
6. **Pratite metrike reda** - Koristite podatke o vremenu čekanja za pokretanje proaktivne komunikacije s klijentima

## Sigurnost

- **Account SID + Auth Token** - Standardna Twilio autentifikacija
- **API ključevi** - Opozivi, ne-root vjerodajnice za produkcijsku upotrebu
- **Samo HTTPS** - Sva API komunikacija šifrirana putem TLS 1.2+
- **Validacija webhookova** - Verificirajte potpise Twilio webhookova s `X-Twilio-Signature`
- **PCI usklađenost** - Twilio Flex je PCI DSS razina 1 usklađen
- **Šifrirano pohranjivanje** - Vjerodajnice šifrirane u mirovanju u Taju

## Povezani resursi

- [Gorgias Konektor](https://tajo.io/hr/docs/connectors/support/gorgias)
- [Jira Konektor](https://tajo.io/hr/docs/connectors/custom/jira)
- [Vještina sinkronizacije korisnika](https://tajo.io/hr/docs/skills/data-sync/customer-sync)
- [Brevo API kontakata](https://tajo.io/hr/docs/contact-management)
