Konektor Twilio Flex

Połącz swoje centrum kontaktowe Twilio Flex z Brevo w celu ujednoliconej historii interakcji z klientami, przepływów marketingowych po rozmowie i analityki zaangażowania opartej na wsparciu przez Tajo.

Przegląd

WłaściwośćWartość
PlatformaTwilio Flex
KategoriaNiestandardowa
Poziom konfiguracjiZaawansowany
Integracja oficjalnaNie
Synchronizowane daneKlienci, Rozmowy, Zdarzenia
Używane APIFlex API, Conversations API, TaskRouter API
UwierzytelnianieAccount SID + Auth Token / Klucz API
Bazowy URLhttps://flex-api.twilio.com

Funkcje

  • Synchronizacja rozmów - Przekazuj interakcje głosowe, SMS, WhatsApp i chat do osi czasu Brevo
  • Wzbogacanie profilu klienta - Synchronizuj dane klientów Flex z atrybutami kontaktów Brevo
  • Kampanie po interakcji - Wyzwalaj workflow Brevo po zakończeniu rozmów z pomocą techniczną
  • Śledzenie zdarzeń CSAT - Synchronizuj wyniki ankiet satysfakcji jako zdarzenia Brevo
  • Dane aktywności agentów - Śledź metryki wydajności agentów dla raportowania operacyjnego
  • Analityka kolejek - Przekazuj dane czasu oczekiwania i porzucenia dla optymalizacji doświadczenia

Wymagania wstępne

Zanim zaczniesz, upewnij się, że masz:

  1. Konto Twilio z włączonym Flex
  2. Twilio Account SID i Auth Token
  3. Instancję Flex z aktywnymi kanałami (głos, SMS, chat lub WhatsApp)
  4. Skonfigurowany workspace TaskRouter
  5. Konto Brevo z dostępem do API
  6. Konto Tajo z aktywną subskrypcją

Uwierzytelnianie

Twilio Flex używa standardowych metod uwierzytelniania Twilio.

Dane konta

Terminal window
# 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"

Klucz API (zalecane dla produkcji)

  1. Przejdź do Twilio Console > Account > API keys & tokens
  2. Kliknij Create API Key
  3. Wybierz typ klucza Standard
  4. Przechowuj SID i Secret bezpiecznie
Terminal window
curl -X GET "https://flex-api.twilio.com/v1/Configuration" \
-u "$TWILIO_API_KEY_SID:$TWILIO_API_KEY_SECRET"

Auth Token a Klucz API

Twój Auth Token ma pełny dostęp do konta. Dla produkcji używaj kluczy API z zakresem zamiast tego. Klucze API można odwołać indywidualnie bez zakłócania innych integracji.

Połączenie z Tajo

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

Konfiguracja

Podstawowa konfiguracja

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

Mapowanie pól

Mapuj dane klientów i interakcji Flex na atrybuty Brevo:

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

Mapowanie zdarzeń

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

Endpointy API

Tajo integruje się z następującymi endpointami Twilio Flex i powiązanych API:

EndpointMetodaAPICel
/v1/ConfigurationGETFlexPobierz konfigurację Flex
/v1/InteractionsGETFlexLista interakcji
/v1/ChannelsGETFlexLista kanałów Flex
/v1/WebChannelsPOSTFlexUtwórz kanał web chat
/v1/ConversationsGETConversationsLista rozmów
/v1/Conversations/{sid}/MessagesGETConversationsLista wiadomości w rozmowie
/v1/Conversations/{sid}/ParticipantsGETConversationsLista uczestników
/v1/Workspaces/{sid}/TasksGETTaskRouterLista zadań
/v1/Workspaces/{sid}/WorkersGETTaskRouterLista pracowników (agentów)
/v1/Workspaces/{sid}/TaskQueuesGETTaskRouterLista kolejek zadań
/v1/Workspaces/{sid}/EventsGETTaskRouterLista zdarzeń workspace

Przykłady kodu

Inicjalizacja konektora

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

Synchronizuj historię rozmów

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

Wyzwolenie kampanii po rozmowie

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

Integracja wtyczki Flex

// 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.tajo.io/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
})
});
});
}
}

Limity API

Twilio egzekwuje limity szybkości w różnych API:

APILimit szybkościUwagi
Flex API100 żądań/sekundęNa konto
Conversations API100 żądań/sekundęNa konto
TaskRouter API30 żądań odczytu/sekundęNa workspace
TaskRouter Events20 żądań/sekundęNa workspace

Event Streams

Dla przetwarzania zdarzeń o dużym wolumenie rozważ użycie Twilio Event Streams zamiast odpytywania zdarzeń TaskRouter. Event Streams wypycha zdarzenia w czasie rzeczywistym przez webhooki lub Kinesis.

Rozwiązywanie problemów

Typowe problemy

ProblemPrzyczynaRozwiązanie
401 UnauthorizedNieprawidłowy SID lub tokenZweryfikuj Account SID i Auth Token w Twilio Console
403 ForbiddenFlex nie włączonyUpewnij się, że Flex jest aktywowany na koncie Twilio
Brakujące rozmowyZły zakres datRozszerz zakres dat synchronizacji lub sprawdź stan rozmowy
Zadania nie śledzoneNiezgodność workspace TaskRouterZweryfikuj prawidłowy SID workspace
Wtyczka nie odpalaListener zdarzeń niezarejestrowanySprawdź, czy wtyczka Flex jest wdrożona i aktywna

Tryb debug

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

Test połączenia

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

Najlepsze praktyki

  1. Używaj kluczy API zamiast Auth Tokenów - Klucze API można zawęzić zakresem i odwołać indywidualnie
  2. Korzystaj z Event Streams - Zdarzenia push są wydajniejsze niż odpytywanie TaskRouter
  3. Buduj wtyczkę Flex - Używaj wtyczki UI do przechwytywania zdarzeń ukończenia zadań w czasie rzeczywistym
  4. Mapuj kanały spójnie - Normalizuj dane głosowe, SMS i chat do ujednoliconych zdarzeń Brevo
  5. Śledź wyniki CSAT - Synchronizuj dane satysfakcji do Brevo dla segmentacji opartej na doświadczeniu
  6. Monitoruj metryki kolejek - Używaj danych czasu oczekiwania do wyzwalania proaktywnej komunikacji z klientem

Bezpieczeństwo

  • Account SID + Auth Token - Standardowe uwierzytelnianie Twilio
  • Klucze API - Odwoływalne, nie-root poświadczenia dla produkcji
  • Tylko HTTPS - Cała komunikacja API szyfrowana przez TLS 1.2+
  • Walidacja webhooków - Weryfikuj podpisy webhooków Twilio za pomocą X-Twilio-Signature
  • Zgodność PCI - Twilio Flex jest zgodny z PCI DSS Level 1
  • Szyfrowane przechowywanie - Poświadczenia szyfrowane w spoczynku w Tajo

Powiązane zasoby

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
Asystent AI

Cześć! Zapytaj mnie o dokumentację.