Conector Twilio Flex

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ă

ProprietateValoare
PlatformăTwilio Flex
CategoriePersonalizat
Complexitate configurareAvansată
Integrare oficialăNu
Date sincronizateClienți, Conversații, Evenimente
API-uri utilizateFlex API, Conversations API, TaskRouter API
AutentificareAccount 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

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"

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ță
Terminal window
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

Terminal window
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ă

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:

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

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 finalMetodăAPIScop
/v1/ConfigurationGETFlexObține configurația Flex
/v1/InteractionsGETFlexListează interacțiunile
/v1/ChannelsGETFlexListează canalele Flex
/v1/WebChannelsPOSTFlexCreează canal web chat
/v1/ConversationsGETConversationsListează conversațiile
/v1/Conversations/{sid}/MessagesGETConversationsListează mesajele conversației
/v1/Conversations/{sid}/ParticipantsGETConversationsListează participanții
/v1/Workspaces/{sid}/TasksGETTaskRouterListează sarcinile
/v1/Workspaces/{sid}/WorkersGETTaskRouterListează lucrătorii (agenții)
/v1/Workspaces/{sid}/TaskQueuesGETTaskRouterListează cozile de sarcini
/v1/Workspaces/{sid}/EventsGETTaskRouterListează evenimentele spațiului de lucru

Exemple de cod

Inițializare conector

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

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

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

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

Limite de rată

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

APILimită de ratăNote
Flex API100 cereri/secundăPer cont
Conversations API100 cereri/secundăPer cont
TaskRouter API30 cereri de citire/secundăPer spațiu de lucru
TaskRouter Events20 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 NeautorizatSID sau token invalidVerificați Account SID și Auth Token în Twilio Console
403 InterzisFlex neactivatAsigurați-vă că Flex este activat pe contul Twilio
Conversații lipsăInterval de date incorectExtindeți intervalul de date al sincronizării sau verificați starea conversației
Sarcini neîncadrateNepotrivire spațiu de lucru TaskRouterVerificați SID-ul corect al spațiului de lucru
Plugin-ul nu se executăListener eveniment neînregistratVerificați că plugin-ul Flex este implementat și activ

Modul de depanare

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

Testare conexiune

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

Subscribe to updates

developer-docs

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

auto-detect
Asistent AI

Bună! Întreabă-mă orice despre documentație.