---
title: "Conector Twilio Flex"
description: "Ghid complet de integrare Twilio Flex pentru sincronizarea interacțiunilor din centrul de contact, activității agenților și conversațiilor cu clienții cu Brevo prin Tajo."
url: https://tajo.io/ro/docs/connectors/custom/twilio-flex/
markdown: https://tajo.io/ro/docs/connectors/custom/twilio-flex.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 Twilio Flex

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 centrul de contact Twilio Flex la Brevo pentru istoricul unificat al interacțiunilor cu clienții, fluxuri de marketing post-conversație și analize de implicare bazate pe suport prin Tajo.

## Prezentare generală

| Proprietate | Valoare |
| --- | --- |
| **Platformă** | Twilio Flex |
| **Categorie** | Personalizat |
| **Complexitate configurare** | Avansată |
| **Integrare oficială** | Nu |
| **Date sincronizate** | Clienți, Conversații, Evenimente |
| **API-uri utilizate** | Flex API, Conversations API, TaskRouter API |
| **Autentificare** | Account SID + Auth Token / Cheie API |
| **URL de bază** | `https://flex-api.twilio.com` |

## Funcționalități

- **Sincronizare conversații** - Redirecționați interacțiunile vocale, SMS, WhatsApp și chat la cronologiile Brevo
- **Îmbogățire profil client** - Sincronizați datele clienților Flex la atributele de contact Brevo
- **Campanii post-interacțiune** - Declanșați fluxuri de lucru Brevo după încheierea conversațiilor de suport
- **Urmărire evenimente CSAT** - Sincronizați rezultatele sondajelor de satisfacție ca evenimente Brevo
- **Date activitate agenți** - Urmăriți metricile de performanță ale agenților pentru raportare operațională
- **Analize coadă** - Redirecționați datele de timp de așteptare și abandon pentru optimizarea experienței

## Cerințe preliminare

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

1. Un cont Twilio cu Flex activat
2. Twilio Account SID și Auth Token
3. O instanță Flex cu canale active (voce, SMS, chat sau WhatsApp)
4. Spațiu de lucru TaskRouter configurat
5. Un cont Brevo cu acces API
6. Un cont Tajo cu abonament activ

## Autentificare

Twilio Flex utilizează metodele standard de autentificare Twilio.

### Credențiale cont

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

### Cheie API (Recomandat pentru producție)

1. Mergeți la **Twilio Console** > **Account** > **API keys & tokens**
2. Faceți clic pe **Create API Key**
3. Selectați tipul de cheie **Standard**
4. Stocați SID-ul și Secretul în siguranță

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

Auth Token vs Cheie API

Auth Token-ul dvs. are acces complet la cont. Pentru producție, utilizați Chei API cu scope în loc. Cheile API pot fi revocate individual fără a afecta alte integrări.

### Conectare la Tajo

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

## Configurare

### Configurare de bază

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

### Mapare câmpuri

Mapați datele clienților și interacțiunilor Flex la atributele 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
```

### Mapare evenimente

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

## Puncte finale API

Tajo se integrează cu următoarele puncte finale Twilio Flex și API-uri conexe:

| Punct final | Metodă | API | Scop |
| --- | --- | --- | --- |
| `/v1/Configuration` | GET | Flex | Obține configurația Flex |
| `/v1/Interactions` | GET | Flex | Listează interacțiunile |
| `/v1/Channels` | GET | Flex | Listează canalele Flex |
| `/v1/WebChannels` | POST | Flex | Creează canal web chat |
| `/v1/Conversations` | GET | Conversations | Listează conversațiile |
| `/v1/Conversations/{sid}/Messages` | GET | Conversations | Listează mesajele conversației |
| `/v1/Conversations/{sid}/Participants` | GET | Conversations | Listează participanții |
| `/v1/Workspaces/{sid}/Tasks` | GET | TaskRouter | Listează sarcinile |
| `/v1/Workspaces/{sid}/Workers` | GET | TaskRouter | Listează lucrătorii (agenții) |
| `/v1/Workspaces/{sid}/TaskQueues` | GET | TaskRouter | Listează cozile de sarcini |
| `/v1/Workspaces/{sid}/Events` | GET | TaskRouter | Listează evenimentele spațiului de lucru |

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

### Sincronizare istoric conversații

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

### Declanșator campanie post-conversație

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

### Integrare plugin 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

Adresa `example.com` de mai sus este un exemplu provizoriu până când endpointul Tajo devine disponibil.

## Limite de rată

Twilio aplică limite de rată pe toate API-urile sale:

| API | Limită de rată | Note |
| --- | --- | --- |
| **Flex API** | 100 cereri/secundă | Per cont |
| **Conversations API** | 100 cereri/secundă | Per cont |
| **TaskRouter API** | 30 cereri de citire/secundă | Per spațiu de lucru |
| **TaskRouter Events** | 20 cereri/secundă | Per spațiu de lucru |

Event Streams

Pentru procesarea evenimentelor cu volum mare, luați în considerare utilizarea Twilio Event Streams în locul polling-ului evenimentelor TaskRouter. Event Streams transmit evenimentele în timp real prin webhook-uri sau Kinesis.

## Depanare

### Probleme frecvente

| Problemă | Cauză | Soluție |
| --- | --- | --- |
| 401 Neautorizat | SID sau token invalid | Verificați Account SID și Auth Token în Twilio Console |
| 403 Interzis | Flex neactivat | Asigurați-vă că Flex este activat pe contul Twilio |
| Conversații lipsă | Interval de date incorect | Extindeți intervalul de date al sincronizării sau verificați starea conversației |
| Sarcini neîncadrate | Nepotrivire spațiu de lucru TaskRouter | Verificați SID-ul corect al spațiului de lucru |
| Plugin-ul nu se execută | Listener eveniment neînregistrat | Verificați că plugin-ul Flex este implementat și activ |

### Modul de depanare

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

### Testare conexiune

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

## Bune practici

1. **Utilizați chei API în locul Auth Token-urilor** - Cheile API pot fi cu scope și revocate individual
2. **Valorificați Event Streams** - Evenimentele push sunt mai eficiente decât polling-ul TaskRouter
3. **Construiți un plugin Flex** - Utilizați un plugin UI pentru a captura evenimentele de finalizare a sarcinilor în timp real
4. **Mapați canalele consistent** - Normalizați datele vocale, SMS și chat în evenimente Brevo unificate
5. **Urmăriți scorurile CSAT** - Sincronizați datele de satisfacție la Brevo pentru segmentare bazată pe experiență
6. **Monitorizați metricile coadă** - Utilizați datele de timp de așteptare pentru a declanșa comunicări proactive cu clienții

## Securitate

- **Account SID + Auth Token** - Autentificare standard Twilio
- **Chei API** - Credențiale non-root revocabile pentru utilizare în producție
- **Numai HTTPS** - Toate comunicațiile API criptate prin TLS 1.2+
- **Validare webhook** - Verificați semnăturile webhook Twilio cu `X-Twilio-Signature`
- **Conformitate PCI** - Twilio Flex este conform PCI DSS Nivel 1
- **Stocare criptată** - Credențiale criptate în repaus în Tajo

## Resurse conexe

- [Conector Gorgias](https://tajo.io/ro/docs/connectors/support/gorgias)
- [Conector Jira](https://tajo.io/ro/docs/connectors/custom/jira)
- [Skill Sincronizare clienți](https://tajo.io/ro/docs/skills/data-sync/customer-sync)
- [API Contacte Brevo](https://tajo.io/ro/docs/contact-management)
