Twilio Flex konektor

Poveži svoj Twilio Flex kontakt centar sa Brevo za unifikovanu istoriju interakcija sa kupcima, tokove marketing automatizacije nakon razgovora i analitiku angažovanja pokretanu podrškom putem Tajo.

Pregled

SvojstvoVrednost
PlatformaTwilio Flex
KategorijaPrilagođeno
Složenost podešavanjaNapredno
Zvanična integracijaNe
Sinhronizovani podaciKupci, Razgovori, Događaji
Korišćeni API-jiFlex API, Conversations API, TaskRouter API
AutentifikacijaAccount SID + Auth Token / API Key
Osnovni URLhttps://flex-api.twilio.com

Karakteristike

  • Sinhronizacija razgovora - Prosleđivanje glasovnih, SMS, WhatsApp i chat interakcija na Brevo vremenske linije
  • Obogaćivanje profila kupaca - Sinhronizacija Flex podataka o kupcima na Brevo atribute kontakta
  • Kampanje nakon interakcije - Pokretanje Brevo tokova nakon završetka razgovora podrške
  • Praćenje CSAT događaja - Sinhronizacija rezultata anketa zadovoljstva kao Brevo događaja
  • Podaci o aktivnosti agenata - Praćenje metrika performansi agenata za operativno izveštavanje
  • Analitika redova - Prosleđivanje podataka o vremenu čekanja i napuštanju za optimizaciju iskustva

Preduslovi

Pre nego što započneš, proveri da imaš:

  1. Twilio nalog sa omogućenim Flex-om
  2. Twilio Account SID i Auth Token
  3. Flex instancu sa aktivnim kanalima (glas, SMS, chat ili WhatsApp)
  4. Konfigurisani TaskRouter radni prostor
  5. Brevo nalog sa API pristupom
  6. Tajo nalog sa aktivnom pretplatom

Autentifikacija

Twilio Flex koristi Twilio standardne metode autentifikacije.

Akreditivi naloga

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 Key (preporučeno za produkciju)

  1. Idi na Twilio Console > Account > API keys & tokens
  2. Klikni Create API Key
  3. Izaberi tip ključa Standard
  4. Bezbedno sačuvaj SID i Secret
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

Tvoj Auth Token ima pun pristup nalogu. Za produkciju, koristi skopovane API ključeve. API ključevi se mogu pojedinačno opozvati bez remećenja drugih integracija.

Povezivanje sa 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

Konfiguracija

Osnovno podešavanje

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

Mapiranje polja

Mapiranje Flex podataka o kupcima i interakcijama na Brevo atribute:

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

Mapiranje događaja

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

API endpointi

Tajo se integriše sa sledećim Twilio Flex i srodnim API endpointima:

EndpointMetodaAPINamena
/v1/ConfigurationGETFlexDohvatanje Flex konfiguracije
/v1/InteractionsGETFlexListanje interakcija
/v1/ChannelsGETFlexListanje Flex kanala
/v1/WebChannelsPOSTFlexKreiranje web chat kanala
/v1/ConversationsGETConversationsListanje razgovora
/v1/Conversations/{sid}/MessagesGETConversationsListanje poruka razgovora
/v1/Conversations/{sid}/ParticipantsGETConversationsListanje učesnika
/v1/Workspaces/{sid}/TasksGETTaskRouterListanje zadataka
/v1/Workspaces/{sid}/WorkersGETTaskRouterListanje radnika (agenata)
/v1/Workspaces/{sid}/TaskQueuesGETTaskRouterListanje redova zadataka
/v1/Workspaces/{sid}/EventsGETTaskRouterListanje događaja radnog prostora

Primeri koda

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

Sinhronizacija istorije razgovora

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

Okidač kampanje nakon razgovora

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

Integracija Flex plugina

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

Ograničenja brzine

Twilio primenjuje ograničenja brzine na svim API-jima:

APIOgraničenje brzineNapomene
Flex API100 zahteva/sekundiPo nalogu
Conversations API100 zahteva/sekundiPo nalogu
TaskRouter API30 zahteva čitanja/sekundiPo radnom prostoru
TaskRouter Events20 zahteva/sekundiPo radnom prostoru

Event Streams

Za obradu događaja visokog volumena, razmotri korišćenje Twilio Event Streams umesto ispitivanja TaskRouter događaja. Event Streams guraju događaje u realnom vremenu putem webhook-ova ili Kinesis-a.

Rešavanje problema

Česti problemi

ProblemUzrokRešenje
401 UnauthorizedNevažeći SID ili tokenVerifikuj Account SID i Auth Token u Twilio Konzoli
403 ForbiddenFlex nije omogućenOsiguraj da je Flex aktiviran na tvom Twilio nalogu
Nedostaju razgovoriPogrešan opseg datumaProširi opseg datuma sinhronizacije ili proveri stanje razgovora
Zadaci se ne prateNepodudaranje radnog prostora TaskRouterVerifikuj ispravni SID radnog prostora
Plugin ne okidaEvent listener nije registrovanProveri da je Flex plugin implementiran i aktivan

Debug režim

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

Testiraj vezu

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

Najbolje prakse

  1. Koristi API ključeve umesto Auth Tokena - API ključevi se mogu skopovati i pojedinačno opozvati
  2. Iskoristi Event Streams - Događaji zasnovani na gurkanju su efikasniji od ispitivanja TaskRouter-a
  3. Napravi Flex Plugin - Koristi UI plugin za hvatanje događaja završetka zadatka u realnom vremenu
  4. Mapiraj kanale dosledno - Normalizuj glas, SMS i chat podatke u unifikovane Brevo događaje
  5. Prati CSAT rezultate - Sinhronizuj podatke o zadovoljstvu sa Brevo za segmentaciju zasnovanu na iskustvu
  6. Prati metrike reda - Koristi podatke o vremenu čekanja za pokretanje proaktivne komunikacije sa kupcima

Bezbednost

  • Account SID + Auth Token - Standardna Twilio autentifikacija
  • API ključevi - Opozivi, nekorisnički akreditivi za produkcijsku upotrebu
  • Samo HTTPS - Sva API komunikacija enkriptovana putem TLS 1.2+
  • Validacija webhook-ova - Verifikuj Twilio webhook potpise sa X-Twilio-Signature
  • PCI usklađenost - Twilio Flex je PCI DSS Level 1 usklađen
  • Enkriptovana pohrana - Akreditivi enkriptovani u mirovanju u Tajo

Povezani resursi

Subscribe to updates

developer-docs

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

auto-detect
AI асистент

Здраво! Питајте ме о документацији.