---
title: "Twilio Flex конектор"
description: "Пълно ръководство за интеграция с Twilio Flex за синхронизация на взаимодействия в контактен център, активност на агенти и клиентски разговори с Brevo чрез Tajo."
url: https://tajo.io/bg/docs/connectors/custom/twilio-flex/
markdown: https://tajo.io/bg/docs/connectors/custom/twilio-flex.md
lang: bg-BG
robots: noindex
---

Заявете ранен достъп

Въведете собственото си име и служебен имейл адрес. Ще ви изпратим връзка за потвърждение на заявката за достъп до Tajo.

# Twilio Flex конектор

Статус на конектора: Планиран Все още не е изграден. Tajo не изпълнява този конектор днес.

| Поле източник | Целево поле | Примерна стойност |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Свържи своя Twilio Flex контактен център с Brevo за унифицирана история на клиентските взаимодействия, маркетингови потоци след разговори и аналитика за ангажиране, задвижвана от поддръжка, чрез Tajo.

## Преглед

| Свойство | Стойност |
| --- | --- |
| **Платформа** | Twilio Flex |
| **Категория** | Персонализирана |
| **Сложност на настройка** | Напреднала |
| **Официална интеграция** | Не |
| **Синхронизирани данни** | Клиенти, разговори, събития |
| **Използвани API** | Flex API, Conversations API, TaskRouter API |
| **Автентикация** | Account SID + Auth Token / API Key |
| **Base URL** | `https://flex-api.twilio.com` |

## Функции

- **Синхронизация на разговори** – Препращай гласови, SMS, WhatsApp и chat взаимодействия към timeline-ите в Brevo
- **Обогатяване на клиентски профил** – Синхронизирай клиентски данни от Flex към атрибути на контактите в Brevo
- **Кампании след взаимодействие** – Задействай работни потоци в Brevo след приключване на разговори за поддръжка
- **Проследяване на CSAT събития** – Синхронизирай резултати от анкети за удовлетвореност като събития в Brevo
- **Данни за активност на агенти** – Проследявай метрики за производителност на агентите за оперативно отчитане
- **Аналитика на опашки** – Препращай данни за времето на изчакване и изоставяне за оптимизация на преживяването

## Предварителни условия

Преди да започнеш, увери се, че имаш:

1. Twilio акаунт с активиран Flex
2. Твоите Twilio Account SID и Auth Token
3. Flex инстанция с активни канали (voice, SMS, chat или WhatsApp)
4. Конфигуриран TaskRouter workspace
5. Акаунт в Brevo с API достъп
6. Акаунт в Tajo с активен абонамент

## Автентикация

Twilio Flex използва стандартните методи за автентикация на Twilio.

### Credentials на акаунта

```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 Key (препоръчително за production)

1. Отиди в **Twilio Console** > **Account** > **API keys & tokens**
2. Щракни върху **Create API Key**
3. Избери тип на ключа **Standard**
4. Съхрани SID и Secret сигурно

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

Auth Token vs API Key

Твоят Auth Token има пълен достъп до акаунта. За production използвай scoped API Keys вместо него. API ключовете могат да се отменят индивидуално, без да нарушават други интеграции.

### Свързване с Tajo

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

## Конфигурация

### Основна настройка

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

### Мапване на полета

Мапвай клиентски данни и данни за взаимодействия от Flex към атрибути в 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
```

### Мапване на събития

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

## API крайни точки

Tajo се интегрира със следните крайни точки на Twilio Flex и свързаните с него API-та:

| Крайна точка | Метод | API | Предназначение |
| --- | --- | --- | --- |
| `/v1/Configuration` | GET | Flex | Получаване на Flex конфигурация |
| `/v1/Interactions` | GET | Flex | Списък с взаимодействия |
| `/v1/Channels` | GET | Flex | Списък с Flex канали |
| `/v1/WebChannels` | POST | Flex | Създаване на web chat канал |
| `/v1/Conversations` | GET | Conversations | Списък с разговори |
| `/v1/Conversations/{sid}/Messages` | GET | Conversations | Списък със съобщения от разговор |
| `/v1/Conversations/{sid}/Participants` | GET | Conversations | Списък с участници |
| `/v1/Workspaces/{sid}/Tasks` | GET | TaskRouter | Списък със задачи |
| `/v1/Workspaces/{sid}/Workers` | GET | TaskRouter | Списък с работници (агенти) |
| `/v1/Workspaces/{sid}/TaskQueues` | GET | TaskRouter | Списък с опашки на задачи |
| `/v1/Workspaces/{sid}/Events` | GET | TaskRouter | Списък със събития в workspace |

## Примери с код

### Инициализация на конектора

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

### Синхронизация на история на разговорите

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

### Тригер за кампания след разговор

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

### Интеграция с 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

Адресът `example.com` по-горе е временен пример, докато крайната точка на Tajo стане достъпна.

## Ограничения на заявките

Twilio налага rate limits в своите API-та:

| API | Rate Limit | Бележки |
| --- | --- | --- |
| **Flex API** | 100 заявки/секунда | На акаунт |
| **Conversations API** | 100 заявки/секунда | На акаунт |
| **TaskRouter API** | 30 read заявки/секунда | На workspace |
| **TaskRouter Events** | 20 заявки/секунда | На workspace |

Event Streams

За обработка на събития с голям обем, помисли за използване на Twilio Event Streams вместо polling на TaskRouter събития. Event Streams изпраща събития в реално време чрез уебхуци или Kinesis.

## Отстраняване на проблеми

### Чести проблеми

| Проблем | Причина | Решение |
| --- | --- | --- |
| 401 Unauthorized | Невалиден SID или token | Провери Account SID и Auth Token в Twilio Console |
| 403 Forbidden | Flex не е активиран | Увери се, че Flex е активиран в твоя Twilio акаунт |
| Липсващи разговори | Грешен период от дати | Разшири периода на синхронизация или провери състоянието на разговора |
| Задачите не се проследяват | Несъответствие на TaskRouter workspace | Провери правилния workspace SID |
| Плъгинът не се задейства | Event listener не е регистриран | Провери дали Flex плъгинът е deploy-нат и активен |

### Режим за дебъг

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

### Тест на връзката

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

## Добри практики

1. **Използвай API Keys вместо Auth Tokens** – API ключовете могат да бъдат scope-вани и индивидуално отменени
2. **Използвай Event Streams** – Push-базираните събития са по-ефективни от polling на TaskRouter
3. **Създай Flex плъгин** – Използвай UI плъгин, за да улавяш събития за завършване на задачи в реално време
4. **Мапвай каналите консистентно** – Нормализирай voice, SMS и chat данните в унифицирани Brevo събития
5. **Проследявай CSAT скорове** – Синхронизирай данни за удовлетвореност към Brevo за сегментация, задвижвана от преживяването
6. **Мониторирай метрики на опашките** – Използвай данните за времето на изчакване, за да задействаш проактивна клиентска комуникация

## Сигурност

- **Account SID + Auth Token** – Стандартна автентикация на Twilio
- **API Keys** – Отменяеми, non-root credentials за production употреба
- **Само HTTPS** – Цялата API комуникация е криптирана чрез TLS 1.2+
- **Валидация на уебхуци** – Верифицирай подписите на Twilio уебхуци с `X-Twilio-Signature`
- **PCI съвместимост** – Twilio Flex е PCI DSS Level 1 съвместим
- **Криптирано съхранение** – Credentials криптирани при съхранение в Tajo

## Свързани ресурси

- [Gorgias конектор](https://tajo.io/bg/docs/connectors/support/gorgias)
- [Jira конектор](https://tajo.io/bg/docs/connectors/custom/jira)
- [Customer Sync скил](https://tajo.io/bg/docs/skills/data-sync/customer-sync)
- [Brevo Contacts API](https://tajo.io/bg/docs/contact-management)
