Twilio Flex konektor
Prepoj svoje kontaktné centrum Twilio Flex s Brevo pre zjednotenú históriu zákazníckych interakcií, marketingové toky po konverzáciách a analytiku zapojenia riadenú supportom cez Tajo.
Prehľad
| Vlastnosť | Hodnota |
|---|---|
| Platforma | Twilio Flex |
| Kategória | Vlastná |
| Zložitosť nastavenia | Pokročilé |
| Oficiálna integrácia | Nie |
| Synchronizované dáta | Zákazníci, Konverzácie, Udalosti |
| Použité API | Flex API, Conversations API, TaskRouter API |
| Autentifikácia | Account SID + Auth Token / API Key |
| Base URL | https://flex-api.twilio.com |
Funkcie
- Synchronizácia konverzácií - Preposielaj hlasové, SMS, WhatsApp a chatové interakcie do časových osí Brevo
- Obohacovanie profilu zákazníka - Synchronizuj dáta zákazníkov Flex do atribútov kontaktov Brevo
- Kampane po interakcii - Spúšťaj workflowy Brevo po skončení support konverzácií
- Sledovanie CSAT udalostí - Synchronizuj výsledky prieskumov spokojnosti ako udalosti Brevo
- Dáta aktivity agentov - Sleduj metriky výkonu agentov pre prevádzkové reportovanie
- Analytika frontov - Preposielaj dáta o čakaní a opustení pre optimalizáciu zákazníckej skúsenosti
Predpoklady
Predtým, než začneš, uisti sa, že máš:
- Twilio účet s povoleným Flex
- Twilio Account SID a Auth Token
- Flex inštanciu s aktívnymi kanálmi (hlas, SMS, chat alebo WhatsApp)
- Nakonfigurovaný TaskRouter workspace
- Brevo účet s API prístupom
- Tajo účet s aktívnym predplatným
Autentifikácia
Twilio Flex používa štandardné metódy autentifikácie Twilio.
Prihlasovací údaje účtu
# Basic Auth: Account SID as username, Auth Token as passwordcurl -X GET "https://flex-api.twilio.com/v1/Configuration" \ -u "$TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN"API kľúč (odporúčané pre produkciu)
- Prejdi do Twilio Console > Account > API keys & tokens
- Klikni na Create API Key
- Vyber typ kľúča Standard
- Bezpečne ulož SID a Secret
curl -X GET "https://flex-api.twilio.com/v1/Configuration" \ -u "$TWILIO_API_KEY_SID:$TWILIO_API_KEY_SECRET"Auth Token vs API Key
Tvoj Auth Token má plný prístup k účtu. Pre produkciu použi radšej scoped API Keys. API Keys je možné jednotlivo zrušiť bez narušenia iných integrácií.
Pripojenie k Tajo
tajo connectors install twilio-flex \ --account-sid $TWILIO_ACCOUNT_SID \ --auth-token $TWILIO_AUTH_TOKEN \ --flex-flow-sid $TWILIO_FLEX_FLOW_SIDKonfigurácia
Základné nastavenie
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 - webchatMapovanie polí
Namapuj dáta zákazníkov a interakcií Flex na atribúty 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_IDMapovanie udalostí
event_mapping: task.created: SUPPORT_REQUESTED task.completed: SUPPORT_RESOLVED task.canceled: SUPPORT_ABANDONED conversation.ended: CONVERSATION_ENDED survey.completed: CSAT_SUBMITTEDAPI endpointy
Tajo sa integruje s nasledujúcimi Twilio Flex a súvisiacimi API endpointmi:
| Endpoint | Metóda | API | Účel |
|---|---|---|---|
/v1/Configuration | GET | Flex | Získanie konfigurácie Flex |
/v1/Interactions | GET | Flex | Zoznam interakcií |
/v1/Channels | GET | Flex | Zoznam Flex kanálov |
/v1/WebChannels | POST | Flex | Vytvorenie webového chatu |
/v1/Conversations | GET | Conversations | Zoznam konverzácií |
/v1/Conversations/{sid}/Messages | GET | Conversations | Zoznam správ konverzácie |
/v1/Conversations/{sid}/Participants | GET | Conversations | Zoznam účastníkov |
/v1/Workspaces/{sid}/Tasks | GET | TaskRouter | Zoznam úloh |
/v1/Workspaces/{sid}/Workers | GET | TaskRouter | Zoznam pracovníkov (agentov) |
/v1/Workspaces/{sid}/TaskQueues | GET | TaskRouter | Zoznam frontov úloh |
/v1/Workspaces/{sid}/Events | GET | TaskRouter | Zoznam udalostí workspace |
Ukážky kódu
Inicializácia 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});Synchronizácia histórie konverzácií
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// }Trigger kampane po konverzácii
// Trigger a Brevo follow-up after a support conversation endsapp.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');});Integrácia Flex Plugin
// Inside a Flex UI Plugin - send data to Tajoimport { 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 }) }); }); }}Obmedzenia rýchlosti
Twilio presadzuje limity rýchlosti naprieč svojimi API:
| API | Limit rýchlosti | Poznámky |
|---|---|---|
| Flex API | 100 požiadaviek/sekundu | Na účet |
| Conversations API | 100 požiadaviek/sekundu | Na účet |
| TaskRouter API | 30 čítacích požiadaviek/sekundu | Na workspace |
| TaskRouter Events | 20 požiadaviek/sekundu | Na workspace |
Event Streams
Pre spracovanie udalostí s vysokým objemom zvážte použitie Twilio Event Streams namiesto pollovania udalostí TaskRouter. Event Streams tlačí udalosti v reálnom čase cez webhooky alebo Kinesis.
Riešenie problémov
Bežné problémy
| Problém | Príčina | Riešenie |
|---|---|---|
| 401 Unauthorized | Neplatný SID alebo token | Overte Account SID a Auth Token v Twilio Console |
| 403 Forbidden | Flex nie je povolený | Uisti sa, že Flex je aktivovaný na tvojom Twilio účte |
| Chýbajúce konverzácie | Nesprávny rozsah dátumov | Rozšír rozsah dátumov synchronizácie alebo skontroluj stav konverzácie |
| Úlohy nie sú sledované | Nezhoda TaskRouter workspace | Overte správny workspace SID |
| Plugin sa nespúšťa | Listener udalostí nie je zaregistrovaný | Skontroluj, že Flex plugin je nasadený a aktívny |
Debug režim
connectors: twilio_flex: debug: true log_level: verbose log_api_calls: trueTest pripojenia
tajo connectors test twilio-flex# ✓ Flex API connection successful# ✓ Conversations API accessible# ✓ TaskRouter workspace found# ✓ Agent list readable# ✓ Queue configuration loadedOdporúčané postupy
- Použi API Keys namiesto Auth Tokens - API Keys je možné scoped a jednotlivo zrušiť
- Využi Event Streams - Push-based udalosti sú efektívnejšie ako polling TaskRouter
- Vytvor Flex Plugin - Použi UI plugin na zachytávanie udalostí dokončenia úlohy v reálnom čase
- Konzistentne mapuj kanály - Normalizuj dáta hlasu, SMS a chatu do zjednotených Brevo udalostí
- Sleduj CSAT skóre - Synchronizuj dáta spokojnosti do Brevo pre segmentáciu riadenú skúsenosťou
- Monitoruj metriky frontov - Použi dáta o čakaní na spúšťanie proaktívnej komunikácie so zákazníkmi
Bezpečnosť
- Account SID + Auth Token - Štandardná autentifikácia Twilio
- API Keys - Zrušiteľné, non-root prihlasovací údaje pre produkčné použitie
- Iba HTTPS - Všetka API komunikácia šifrovaná cez TLS 1.2+
- Overenie webhookov - Overuj podpisy Twilio webhookov pomocou
X-Twilio-Signature - PCI súlad - Twilio Flex je PCI DSS Level 1 kompatibilný
- Šifrované úložisko - Prihlasovací údaje šifrované v pokoji v Tajo