Ajukan akses awal

Masukkan nama depan serta email atau nomor telepon Anda. Kami akan menghubungi Anda dengan detail akses Tajo.

Konektor Twilio Flex

Hubungkan contact center Twilio Flex Anda ke Brevo untuk riwayat interaksi pelanggan yang terpadu, alur pemasaran pasca-percakapan, dan analitik engagement berbasis dukungan melalui Tajo.

Ikhtisar

PropertiNilai
PlatformTwilio Flex
KategoriCustom
Kompleksitas setupLanjutan
Integrasi resmiTidak
Data yang disinkronkanPelanggan, percakapan, event
API yang digunakanFlex API, Conversations API, TaskRouter API
AutentikasiAccount SID + Auth Token / API Key
Base URLhttps://flex-api.twilio.com

Fitur

  • Sinkronisasi percakapan - Teruskan interaksi suara, SMS, WhatsApp, dan chat ke timeline Brevo
  • Pengayaan profil pelanggan - Sinkronkan data pelanggan Flex ke atribut kontak Brevo
  • Kampanye pasca-interaksi - Picu alur kerja Brevo setelah percakapan dukungan berakhir
  • Pelacakan event CSAT - Sinkronkan hasil survei kepuasan sebagai event Brevo
  • Data aktivitas agen - Lacak metrik performa agen untuk pelaporan operasional
  • Analitik antrean - Teruskan data waktu tunggu dan pengabaian untuk optimalisasi pengalaman

Prasyarat

Sebelum memulai, pastikan Anda memiliki:

  1. Akun Twilio dengan Flex yang sudah aktif
  2. Account SID dan Auth Token Twilio Anda
  3. Instance Flex dengan channel aktif (suara, SMS, chat, atau WhatsApp)
  4. Workspace TaskRouter yang sudah dikonfigurasi
  5. Akun Brevo dengan akses API
  6. Akun Tajo dengan langganan aktif

Autentikasi

Twilio Flex menggunakan metode autentikasi standar Twilio.

Kredensial akun

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 (direkomendasikan untuk produksi)

  1. Buka Twilio Console > Account > API keys & tokens
  2. Klik Create API Key
  3. Pilih tipe key Standard
  4. Simpan SID dan Secret dengan aman
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

Auth Token Anda memiliki akses penuh ke akun. Untuk produksi, gunakan API Key yang tercakup sebagai gantinya. API Key dapat dicabut satu per satu tanpa mengganggu integrasi lain.

Menghubungkan ke 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

Konfigurasi

Setup dasar

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

Pemetaan field

Petakan data pelanggan dan interaksi Flex ke atribut 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

Pemetaan event

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

Endpoint API

Tajo terintegrasi dengan endpoint API Twilio Flex dan API terkait berikut:

EndpointMetodeAPITujuan
/v1/ConfigurationGETFlexMengambil konfigurasi Flex
/v1/InteractionsGETFlexMenampilkan interaksi
/v1/ChannelsGETFlexMenampilkan channel Flex
/v1/WebChannelsPOSTFlexMembuat channel web chat
/v1/ConversationsGETConversationsMenampilkan percakapan
/v1/Conversations/{sid}/MessagesGETConversationsMenampilkan pesan percakapan
/v1/Conversations/{sid}/ParticipantsGETConversationsMenampilkan peserta
/v1/Workspaces/{sid}/TasksGETTaskRouterMenampilkan task
/v1/Workspaces/{sid}/WorkersGETTaskRouterMenampilkan worker (agen)
/v1/Workspaces/{sid}/TaskQueuesGETTaskRouterMenampilkan antrean task
/v1/Workspaces/{sid}/EventsGETTaskRouterMenampilkan event workspace

Contoh kode

Inisialisasi konektor

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

Menyinkronkan riwayat percakapan

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

Pemicu kampanye pasca-percakapan

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

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

Batas rate

Twilio menerapkan batas rate di seluruh API-nya:

APIBatas rateCatatan
Flex API100 permintaan/detikPer akun
Conversations API100 permintaan/detikPer akun
TaskRouter API30 permintaan baca/detikPer workspace
TaskRouter Events20 permintaan/detikPer workspace

Event Streams

Untuk pemrosesan event bervolume tinggi, pertimbangkan menggunakan Twilio Event Streams daripada melakukan polling event TaskRouter. Event Streams mengirimkan event secara real-time melalui webhook atau Kinesis.

Pemecahan masalah

Masalah umum

MasalahPenyebabSolusi
401 UnauthorizedSID atau token tidak validPeriksa Account SID dan Auth Token di Twilio Console
403 ForbiddenFlex belum aktifPastikan Flex sudah diaktifkan pada akun Twilio Anda
Percakapan hilangRentang tanggal salahPerluas rentang tanggal sinkronisasi atau periksa status percakapan
Task tidak terlacakWorkspace TaskRouter tidak cocokPastikan SID workspace yang digunakan sudah benar
Plugin tidak terpicuEvent listener belum terdaftarPastikan plugin Flex sudah di-deploy dan aktif

Mode debug

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

Menguji koneksi

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

Praktik terbaik

  1. Gunakan API Key daripada Auth Token - API Key dapat dicakup dan dicabut satu per satu
  2. Manfaatkan Event Streams - Event berbasis push lebih efisien daripada polling TaskRouter
  3. Bangun plugin Flex - Gunakan plugin UI untuk menangkap event penyelesaian task secara real-time
  4. Petakan channel secara konsisten - Normalkan data suara, SMS, dan chat menjadi event Brevo yang terpadu
  5. Lacak skor CSAT - Sinkronkan data kepuasan ke Brevo untuk segmentasi berbasis pengalaman
  6. Pantau metrik antrean - Gunakan data waktu tunggu untuk memicu komunikasi pelanggan yang proaktif

Keamanan

  • Account SID + Auth Token - Autentikasi standar Twilio
  • API Key - Kredensial non-root yang dapat dicabut untuk penggunaan produksi
  • Hanya HTTPS - Seluruh komunikasi API dienkripsi via TLS 1.2+
  • Validasi webhook - Verifikasi tanda tangan webhook Twilio dengan X-Twilio-Signature
  • Kepatuhan PCI - Twilio Flex bersertifikat PCI DSS Level 1
  • Penyimpanan terenkripsi - Kredensial dienkripsi saat disimpan di Tajo

Sumber daya terkait

Ajukan akses awal

Masukkan nama depan serta email atau nomor telepon Anda. Kami akan menghubungi Anda dengan detail akses Tajo.

deteksi otomatis
Asisten AI

Halo! Tanyakan apa saja tentang dokumentasi.