Twilio Flex-koppling

Anslut ditt Twilio Flex-kontaktcenter till Brevo för enhetlig kundinteraktionshistorik, marknadsföringsflöden efter konversation och supportdriven engagemangsanalys via Tajo.

Översikt

EgenskapVärde
PlattformTwilio Flex
KategoriAnpassad
InstallationskomplexitetAvancerad
Officiell integrationNej
Data som synkasKunder, konversationer, händelser
API:er som användsFlex API, Conversations API, TaskRouter API
AutentiseringAccount SID + Auth Token / API Key
Bas-URLhttps://flex-api.twilio.com

Funktioner

  • Konversationssynkronisering - Vidarebefordra röst-, SMS-, WhatsApp- och chattinteraktioner till Brevo-tidslinjer
  • Berikning av kundprofil - Synka Flex-kunddata till Brevo-kontaktattribut
  • Kampanjer efter interaktion - Utlös Brevo-arbetsflöden efter att supportkonversationer avslutats
  • CSAT-händelsespårning - Synka resultat från nöjdhetsenkäter som Brevo-händelser
  • Data om agentaktivitet - Spåra mått för agentprestanda för operativ rapportering
  • Köanalys - Vidarebefordra väntetid och avhopp för upplevelseoptimering

Förutsättningar

Innan du börjar, se till att du har:

  1. Ett Twilio-konto med Flex aktiverat
  2. Ditt Twilio Account SID och Auth Token
  3. En Flex-instans med aktiva kanaler (röst, SMS, chatt eller WhatsApp)
  4. TaskRouter-arbetsyta konfigurerad
  5. Ett Brevo-konto med API-åtkomst
  6. Ett Tajo-konto med en aktiv prenumeration

Autentisering

Twilio Flex använder Twilios standardautentiseringsmetoder.

Kontouppgifter

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"

API-nyckel (rekommenderas för produktion)

  1. Gå till Twilio Console > Account > API keys & tokens
  2. Klicka på Create API Key
  3. Välj nyckeltypen Standard
  4. Lagra SID och Secret säkert
Terminal window
curl -X GET "https://flex-api.twilio.com/v1/Configuration" \
-u "$TWILIO_API_KEY_SID:$TWILIO_API_KEY_SECRET"

Auth Token vs API Key

Din Auth Token har full kontoåtkomst. För produktion, använd istället scoped API Keys. API Keys kan återkallas individuellt utan att störa andra integrationer.

Anslutning till 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

Konfiguration

Grundinställning

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

Fältmappning

Mappa Flex-kund- och interaktionsdata till Brevo-attribut:

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

Händelsemappning

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

API-endpoints

Tajo integrerar med följande Twilio Flex- och relaterade API-endpoints:

EndpointMetodAPISyfte
/v1/ConfigurationGETFlexHämta Flex-konfiguration
/v1/InteractionsGETFlexLista interaktioner
/v1/ChannelsGETFlexLista Flex-kanaler
/v1/WebChannelsPOSTFlexSkapa webbchattkanal
/v1/ConversationsGETConversationsLista konversationer
/v1/Conversations/{sid}/MessagesGETConversationsLista konversationsmeddelanden
/v1/Conversations/{sid}/ParticipantsGETConversationsLista deltagare
/v1/Workspaces/{sid}/TasksGETTaskRouterLista uppgifter
/v1/Workspaces/{sid}/WorkersGETTaskRouterLista workers (agenter)
/v1/Workspaces/{sid}/TaskQueuesGETTaskRouterLista uppgiftsköer
/v1/Workspaces/{sid}/EventsGETTaskRouterLista arbetsytehändelser

Kodexempel

Initiera kopplingen

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

Synka konversationshistorik

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

Utlösare för kampanj efter konversation

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

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

Hastighetsbegränsningar

Twilio tillämpar hastighetsbegränsningar över sina API:er:

APIHastighetsbegränsningAnteckningar
Flex API100 förfrågningar/sekundPer konto
Conversations API100 förfrågningar/sekundPer konto
TaskRouter API30 läsförfrågningar/sekundPer arbetsyta
TaskRouter Events20 förfrågningar/sekundPer arbetsyta

Event Streams

För händelsebehandling med stor volym, överväg att använda Twilio Event Streams istället för att polla TaskRouter-händelser. Event Streams skickar händelser i realtid via webhooks eller Kinesis.

Felsökning

Vanliga problem

ProblemOrsakLösning
401 UnauthorizedOgiltig SID eller tokenVerifiera Account SID och Auth Token i Twilio Console
403 ForbiddenFlex ej aktiveratSäkerställ att Flex är aktiverat på ditt Twilio-konto
Konversationer saknasFelaktigt datumintervallUtöka synkdatumintervall eller kontrollera konversationsstatus
Uppgifter inte spåradeTaskRouter-arbetsyta stämmer ejVerifiera korrekt workspace-SID
Plugin avfyras inteHändelselyssnare ej registreradKontrollera att Flex-plugin är distribuerad och aktiv

Felsökningsläge

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

Testa anslutning

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

Bästa praxis

  1. Använd API Keys framför Auth Tokens - API Keys kan scopas och återkallas individuellt
  2. Utnyttja Event Streams - Push-baserade händelser är mer effektiva än att polla TaskRouter
  3. Bygg ett Flex Plugin - Använd ett UI-plugin för att fånga uppgiftsavslut i realtid
  4. Mappa kanaler konsekvent - Normalisera röst-, SMS- och chattdata till enhetliga Brevo-händelser
  5. Spåra CSAT-poäng - Synka nöjdhetsdata till Brevo för upplevelsedriven segmentering
  6. Övervaka kömått - Använd väntetidsdata för att utlösa proaktiv kundkommunikation

Säkerhet

  • Account SID + Auth Token - Standard Twilio-autentisering
  • API Keys - Återkallningsbara, icke-root-uppgifter för produktionsbruk
  • Endast HTTPS - All API-kommunikation krypterad via TLS 1.2+
  • Webhook-validering - Verifiera Twilio-webhook-signaturer med X-Twilio-Signature
  • PCI-efterlevnad - Twilio Flex är PCI DSS Level 1-kompatibel
  • Krypterad lagring - Uppgifter krypterade i vila i Tajo

Relaterade resurser

Subscribe to updates

developer-docs

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

auto-detect
AI-assistent

Hej! Fråga mig om dokumentationen.