Twilio Flex-kobling

Koble Twilio Flex-kontaktsenteret ditt til Brevo for enhetlig kundeinteraksjonshistorikk, markedsføringsflyter etter samtaler og supportdrevet engasjementsanalyse gjennom Tajo.

Oversikt

EgenskapVerdi
PlattformTwilio Flex
KategoriCustom
OppsettskompleksitetAvansert
Offisiell integrasjonNei
Synkroniserte dataKunder, samtaler, hendelser
API-er bruktFlex API, Conversations API, TaskRouter API
AutentiseringAccount SID + Auth Token / API-nøkkel
Base URLhttps://flex-api.twilio.com

Funksjoner

  • Synkronisering av samtaler - Videresend tale-, SMS-, WhatsApp- og chat-interaksjoner til Brevo-tidslinjer
  • Berikelse av kundeprofiler - Synkroniser Flex-kundedata til Brevo-kontaktattributter
  • Kampanjer etter interaksjon - Utløs Brevo-arbeidsflyter etter at supportsamtaler avsluttes
  • CSAT-hendelsessporing - Synkroniser tilfredshetsundersøkelsesresultater som Brevo-hendelser
  • Agentaktivitetsdata - Spor agentytelsemålinger for operasjonell rapportering
  • Køanalyse - Videresend ventetid- og avhoppsdata for opplevelsesoptimalisering

Forutsetninger

Før du begynner, sørg for at du har:

  1. En Twilio-konto med Flex aktivert
  2. Din Twilio Account SID og Auth Token
  3. En Flex-instans med aktive kanaler (tale, SMS, chat eller WhatsApp)
  4. TaskRouter-arbeidsområde konfigurert
  5. En Brevo-konto med API-tilgang
  6. En Tajo-konto med aktivt abonnement

Autentisering

Twilio Flex bruker Twilios standard autentiseringsmetoder.

Kontopåloggingsdetaljer

Terminal window
# Basic Auth: Account SID som brukernavn, Auth Token som passord
curl -X GET "https://flex-api.twilio.com/v1/Configuration" \
-u "$TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN"

API-nøkkel (anbefalt for produksjon)

  1. Gå til Twilio Console > Account > API keys & tokens
  2. Klikk Create API Key
  3. Velg nøkkeltypen Standard
  4. Oppbevar SID og Secret sikkert
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-nøkkel

Auth Token har full kontotilgang. For produksjon, bruk avgrensede API-nøkler i stedet. API-nøkler kan tilbakekalles individuelt uten å forstyrre andre integrasjoner.

Koble til 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

Konfigurasjon

Grunnleggende oppsett

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

Feltmapping

Mapp Flex-kunde- og interaksjonsdata til Brevo-attributter:

field_mapping:
# Kundefelt
identity: FLEX_IDENTITY
friendly_name: FIRSTNAME
attributes.email: email
attributes.phone: SMS
# Interaksjonsmålinger
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
# Egendefinerte attributter
customer_tier: VIP_TIER
account_id: ACCOUNT_ID

Hendelsesmapping

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

API-endepunkter

Tajo integrerer med følgende Twilio Flex- og relaterte API-endepunkter:

EndepunktMetodeAPIFormål
/v1/ConfigurationGETFlexHent Flex-konfigurasjon
/v1/InteractionsGETFlexList interaksjoner
/v1/ChannelsGETFlexList Flex-kanaler
/v1/WebChannelsPOSTFlexOpprett webchat-kanal
/v1/ConversationsGETConversationsList samtaler
/v1/Conversations/{sid}/MessagesGETConversationsList samtalemeldinger
/v1/Conversations/{sid}/ParticipantsGETConversationsList deltakere
/v1/Workspaces/{sid}/TasksGETTaskRouterList oppgaver
/v1/Workspaces/{sid}/WorkersGETTaskRouterList workers (agenter)
/v1/Workspaces/{sid}/TaskQueuesGETTaskRouterList oppgavekøer
/v1/Workspaces/{sid}/EventsGETTaskRouterList arbeidsområdehendelser

Kodeeksempler

Initialiser kobling

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

Synkroniser samtalehistorikk

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øser for kampanje etter samtale

// Utløs en Brevo-oppfølging etter at en supportsamtale avsluttes
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-integrasjon

// Inne i en Flex UI Plugin - send data til 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
})
});
});
}
}

Ratebegrensninger

Twilio håndhever ratebegrensninger på tvers av sine API-er:

APIRatebegrensningMerknader
Flex API100 forespørsler/sekundPer konto
Conversations API100 forespørsler/sekundPer konto
TaskRouter API30 leseforespørsler/sekundPer arbeidsområde
TaskRouter Events20 forespørsler/sekundPer arbeidsområde

Event Streams

For høyvolum-hendelsesbehandling, vurder å bruke Twilio Event Streams i stedet for polling av TaskRouter-hendelser. Event Streams pusher hendelser i sanntid via webhooks eller Kinesis.

Feilsøking

Vanlige problemer

ProblemÅrsakLøsning
401 UnauthorizedUgyldig SID eller tokenVerifiser Account SID og Auth Token i Twilio Console
403 ForbiddenFlex ikke aktivertSørg for at Flex er aktivert på Twilio-kontoen din
Manglende samtalerFeil datointervallUtvid synkroniseringsdatointervall eller sjekk samtaletilstand
Oppgaver ikke sporetTaskRouter-arbeidsområde-ulikhetVerifiser riktig arbeidsområde-SID
Plugin utløses ikkeHendelseslytter ikke registrertSjekk at Flex-plugin er utrullet og aktiv

Feilsøkingsmodus

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

Test tilkobling

Terminal window
tajo connectors test twilio-flex
# ✓ Flex API-tilkobling vellykket
# ✓ Conversations API tilgjengelig
# ✓ TaskRouter-arbeidsområde funnet
# ✓ Agentliste lesbar
# ✓ Køkonfigurasjon lastet

Beste praksis

  1. Bruk API-nøkler fremfor Auth Tokens - API-nøkler kan avgrenses og tilbakekalles individuelt
  2. Utnytt Event Streams - Push-baserte hendelser er mer effektive enn polling av TaskRouter
  3. Bygg en Flex-plugin - Bruk en UI-plugin for å fange oppgavefullføringshendelser i sanntid
  4. Mapp kanaler konsistent - Normaliser tale-, SMS- og chat-data til enhetlige Brevo-hendelser
  5. Spor CSAT-score - Synkroniser tilfredshetsdata til Brevo for opplevelsesdrevet segmentering
  6. Overvåk kømetrikker - Bruk ventetidsdata for å utløse proaktiv kundekommunikasjon

Sikkerhet

  • Account SID + Auth Token - Standard Twilio-autentisering
  • API-nøkler - Tilbakekallbare, ikke-root-påloggingsdetaljer for produksjonsbruk
  • Kun HTTPS - All API-kommunikasjon kryptert via TLS 1.2+
  • Webhook-validering - Verifiser Twilio-webhook-signaturer med X-Twilio-Signature
  • PCI-samsvar - Twilio Flex er PCI DSS Level 1-kompatibel
  • Kryptert lagring - Påloggingsdetaljer kryptert i hvilemodus i Tajo

Relaterte ressurser

Subscribe to updates

developer-docs

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

auto-detect
AI-assistent

Hei! Spør meg om dokumentasjonen.