Twilio Flex Connector
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š:
- Račun Twilio z omogočenim Flex
- Twilio Account SID in Auth Token
- Instanco Flex z aktivnimi kanali (glas, SMS, klepet ali WhatsApp)
- Konfigurirano delovno okolje TaskRouter
- Brevo račun z dostopom do API
- Tajo račun z aktivno naročnino
Avtentikacija
Twilio Flex uporablja standardne metode avtentikacije Twilio.
Poverilnice računa
# 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 ključ (priporočeno za produkcijo)
- Pojdi na Twilio Console > Account > API keys & tokens
- Klikni Create API Key
- Izberi vrsto ključa Standard
- Varno shrani SID in skrivnost
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
tajo connectors install twilio-flex \ --account-sid $TWILIO_ACCOUNT_SID \ --auth-token $TWILIO_AUTH_TOKEN \ --flex-flow-sid $TWILIO_FLEX_FLOW_SIDKonfiguracija
Osnovna nastavitev
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 - webchatPreslikava polj
Preslikaj podatke o strankah in interakcijah Flex v atribute 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_IDPreslikava dogodkov
event_mapping: task.created: SUPPORT_REQUESTED task.completed: SUPPORT_RESOLVED task.canceled: SUPPORT_ABANDONED conversation.ended: CONVERSATION_ENDED survey.completed: CSAT_SUBMITTEDKonč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
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
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
// 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');});Integracija vtičnika Flex
// 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 }) }); }); }}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
connectors: twilio_flex: debug: true log_level: verbose log_api_calls: truePreizkus povezave
tajo connectors test twilio-flex# ✓ Flex API connection successful# ✓ Conversations API accessible# ✓ TaskRouter workspace found# ✓ Agent list readable# ✓ Queue configuration loadedNajboljše prakse
- Uporabljaj API ključe namesto Auth Tokenov – API ključe je mogoče obsegasto dodeliti in posamično preklicati
- Izkoristi Event Streams – dogodki na osnovi potiskanja so učinkovitejši od anketiranja TaskRouter
- Zgradi vtičnik Flex – z vtičnikom UI zajemi dogodke zaključenih nalog v realnem času
- Dosledno preslikavaj kanale – normaliziraj glasovne, SMS in klepetalniške podatke v enotne dogodke Brevo
- Sledi oceni CSAT – sinhroniziraj podatke o zadovoljstvu v Brevo za segmentacijo na osnovi izkušnje
- 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