---
title: "Twilio Flex Connector"
description: "Popoln vodnik za integracijo Twilio Flex za sinhronizacijo interakcij kontaktnega centra, dejavnosti agentov in pogovorov s strankami z Brevo prek Tajo."
url: https://tajo.io/sl/docs/connectors/custom/twilio-flex/
markdown: https://tajo.io/sl/docs/connectors/custom/twilio-flex.md
lang: sl-SI
robots: noindex
---

Zaprosite za zgodnji dostop

Vnesite svoje ime in službeni e-poštni naslov. Poslali vam bomo povezavo za potrditev zahteve za dostop do Taja.

# Twilio Flex Connector

Stanje konektorja: Načrtovano Še ni izdelano. Tajo danes ne poganja tega konektorja.

| Izvorno polje | Ciljno polje | Vzorčna vrednost |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Poveži svoj kontaktni center Twilio Flex z Brevo za enotno zgodovino interakcij s strankami, marketinške tokove po konverzaciji in analitiko angažiranja na osnovi podpore prek Tajo.

## Pregled

| Lastnost | Vrednost |
| --- | --- |
| **Platforma** | Twilio Flex |
| **Kategorija** | Po meri |
| **Zahtevnost nastavitve** | Napredna |
| **Uradna integracija** | Ne |
| **Sinhronizirani podatki** | Stranke, pogovori, dogodki |
| **Uporabljeni API-ji** | Flex API, Conversations API, TaskRouter API |
| **Avtentikacija** | Account SID + Auth Token / API Key |
| **Osnovni URL** | `https://flex-api.twilio.com` |

## Funkcionalnosti

- **Sinhronizacija pogovorov** – posreduj glasovne, SMS, WhatsApp in klepetalniške interakcije v časovnice Brevo
- **Obogatitev profila stranke** – sinhroniziraj podatke stranke Flex v atribute stikov Brevo
- **Kampanje po interakciji** – sproži delovne tokove Brevo po zaključku pogovorov podpore
- **Sledenje CSAT dogodkom** – sinhroniziraj rezultate anket o zadovoljstvu kot dogodke Brevo
- **Podatki o dejavnosti agentov** – sledi meritvam uspešnosti agentov za operativno poročanje
- **Analitika čakalnih vrst** – posreduj podatke o čakalnem času in opustitvi za optimizacijo izkušnje

## Predpogoji

Preden začneš, se prepričaj, da imaš:

1. Račun Twilio z omogočenim Flex
2. Twilio Account SID in Auth Token
3. Instanco Flex z aktivnimi kanali (glas, SMS, klepet ali WhatsApp)
4. Konfigurirano delovno okolje TaskRouter
5. Brevo račun z dostopom do API
6. Tajo račun z aktivno naročnino

## Avtentikacija

Twilio Flex uporablja standardne metode avtentikacije Twilio.

### Poverilnice računa

```bash
# Basic Auth: Account SID as username, Auth Token as password
curl -X GET "https://flex-api.twilio.com/v1/Configuration" \
  -u "$TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN"
```

### API ključ (priporočeno za produkcijo)

1. Pojdi na **Twilio Console** > **Account** > **API keys & tokens**
2. Klikni **Create API Key**
3. Izberi vrsto ključa **Standard**
4. Varno shrani SID in skrivnost

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

Tvoj Auth Token ima popoln dostop do računa. Za produkcijo namesto tega uporabi obsegaste API ključe. API ključe je mogoče posamično preklicati, ne da bi motili druge integracije.

### Povezovanje s Tajo

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

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

### Preslikava polj

Preslikaj podatke o strankah in interakcijah Flex v atribute Brevo:

```yaml
field_mapping:
  # Customer fields
  identity: FLEX_IDENTITY
  friendly_name: FIRSTNAME
  attributes.email: email
  attributes.phone: SMS

  # Interaction metrics
  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

  # Custom attributes
  customer_tier: VIP_TIER
  account_id: ACCOUNT_ID
```

### Preslikava dogodkov

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

## Končne točke API

Tajo se integrira z naslednjimi končnimi točkami Twilio Flex in sorodnih API-jev:

| Končna točka | Metoda | API | Namen |
| --- | --- | --- | --- |
| `/v1/Configuration` | GET | Flex | Pridobi konfiguracijo Flex |
| `/v1/Interactions` | GET | Flex | Seznam interakcij |
| `/v1/Channels` | GET | Flex | Seznam kanalov Flex |
| `/v1/WebChannels` | POST | Flex | Ustvarjanje spletnega klepetalnega kanala |
| `/v1/Conversations` | GET | Conversations | Seznam pogovorov |
| `/v1/Conversations/{sid}/Messages` | GET | Conversations | Seznam sporočil v pogovoru |
| `/v1/Conversations/{sid}/Participants` | GET | Conversations | Seznam udeležencev |
| `/v1/Workspaces/{sid}/Tasks` | GET | TaskRouter | Seznam nalog |
| `/v1/Workspaces/{sid}/Workers` | GET | TaskRouter | Seznam delavcev (agentov) |
| `/v1/Workspaces/{sid}/TaskQueues` | GET | TaskRouter | Seznam čakalnih vrst |
| `/v1/Workspaces/{sid}/Events` | GET | TaskRouter | Seznam dogodkov delovnega okolja |

## Primeri kode

### Inicializacija konektorja

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

### Sinhronizacija zgodovine pogovorov

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

### Sprožilec kampanje po pogovoru

```javascript
// Trigger a Brevo follow-up after a support conversation ends
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 vtičnika Flex

```javascript
// Inside a Flex UI Plugin - send data to 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

Naslov `example.com` zgoraj je le nadomestni naslov, dokler končna točka Tajo ne bo na voljo.

## Omejitve hitrosti

Twilio uveljavlja omejitve hitrosti za vse svoje API-je:

| API | Omejitev hitrosti | Opombe |
| --- | --- | --- |
| **Flex API** | 100 zahtevkov/sekundo | Na račun |
| **Conversations API** | 100 zahtevkov/sekundo | Na račun |
| **TaskRouter API** | 30 zahtevkov za branje/sekundo | Na delovno okolje |
| **Dogodki TaskRouter** | 20 zahtevkov/sekundo | Na delovno okolje |

Event Streams

Za obdelavo dogodkov z velikim obsegom razmisli o uporabi Twilio Event Streams namesto anketiranja dogodkov TaskRouter. Event Streams potiskajo dogodke v realnem času prek webhooks ali Kinesis.

## Odpravljanje težav

### Pogoste težave

| Težava | Vzrok | Rešitev |
| --- | --- | --- |
| 401 Unauthorized | Neveljaven SID ali žeton | Preveri Account SID in Auth Token v Twilio Console |
| 403 Forbidden | Flex ni omogočen | Zagotovi, da je Flex aktiviran na računu Twilio |
| Manjkajoči pogovori | Napačno datumsko obdobje | Razširi datumsko obdobje sinhronizacije ali preveri stanje pogovora |
| Naloge niso sledene | Neujemanje delovnega okolja TaskRouter | Preveri pravilen SID delovnega okolja |
| Vtičnik ne deluje | Poslušalec ni registriran | Preveri, ali je vtičnik Flex nameščen in aktiven |

### Način odpravljanja napak

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

### Preizkus povezave

```bash
tajo connectors test twilio-flex
# ✓ Flex API connection successful
# ✓ Conversations API accessible
# ✓ TaskRouter workspace found
# ✓ Agent list readable
# ✓ Queue configuration loaded
```

## Najboljše prakse

1. **Uporabljaj API ključe namesto Auth Tokenov** – API ključe je mogoče obsegasto dodeliti in posamično preklicati
2. **Izkoristi Event Streams** – dogodki na osnovi potiskanja so učinkovitejši od anketiranja TaskRouter
3. **Zgradi vtičnik Flex** – z vtičnikom UI zajemi dogodke zaključenih nalog v realnem času
4. **Dosledno preslikavaj kanale** – normaliziraj glasovne, SMS in klepetalniške podatke v enotne dogodke Brevo
5. **Sledi oceni CSAT** – sinhroniziraj podatke o zadovoljstvu v Brevo za segmentacijo na osnovi izkušnje
6. **Spremljaj metrike čakalnih vrst** – podatke o čakalnem času uporabi za sproži proaktivno komunikacijo s strankami

## Varnost

- **Account SID + Auth Token** – standardna avtentikacija Twilio
- **API ključi** – preklicljive poverilnice brez korenskega dostopa za produkcijo
- **Samo HTTPS** – vsa komunikacija API šifrirana prek TLS 1.2+
- **Preverjanje Webhooks** – preverjanje podpisov Twilio webhook z `X-Twilio-Signature`
- **Skladnost s PCI** – Twilio Flex je certificiran PCI DSS Level 1
- **Šifrirano shranjevanje** – poverilnice šifrirane v mirovanju v Tajo

## Povezani viri

- [Gorgias Connector](https://tajo.io/sl/docs/connectors/support/gorgias)
- [Jira Connector](https://tajo.io/sl/docs/connectors/custom/jira)
- [Customer Sync Skill](https://tajo.io/sl/docs/skills/data-sync/customer-sync)
- [Brevo Contacts API](https://tajo.io/sl/docs/contact-management)
