Twilio Flex Konektor
Povežite svoj Twilio Flex kontaktni centar s Brevom za ujedinjenu povijest korisničkih interakcija, marketinške tijekove rada nakon razgovora i analitiku angažmana vođenu podrškom putem Taja.
Pregled
| Svojstvo | Vrijednost |
|---|---|
| Platforma | Twilio Flex |
| Kategorija | Prilagođeno |
| Složenost postavljanja | Napredno |
| Službena integracija | Ne |
| Sinkronizirani podaci | Korisnici, Razgovori, Događaji |
| Korišteni API-ji | Flex API, Conversations API, TaskRouter API |
| Autentifikacija | Account SID + Auth Token / API ključ |
| Osnovni URL | https://flex-api.twilio.com |
Značajke
- Sinkronizacija razgovora - Prosljeđujte glasovne, SMS, WhatsApp i chat interakcije na Brevo vremenske osi
- Obogaćivanje profila klijenata - Sinkronizacija Flex korisničkih podataka na Brevo atribute kontakata
- Kampanje nakon interakcije - Pokretanje Brevo tijekova rada nakon završetka razgovora podrške
- Praćenje CSAT događaja - Sinkronizacija rezultata ankete zadovoljstva kao Brevo događaja
- Podaci o aktivnosti agenata - Praćenje metrika performansi agenata za operativno izvješćivanje
- Analitika redova - Prosljeđujte podatke o vremenu čekanja i napuštanju za optimizaciju iskustva
Preduvjeti
Prije nego što počnete, osigurajte da imate:
- Twilio račun s omogućenim Flexom
- Vaš Twilio Account SID i Auth Token
- Flex instancu s aktivnim kanalima (glas, SMS, chat ili WhatsApp)
- Konfiguriran TaskRouter radni prostor
- Brevo račun s API pristupom
- Tajo račun s aktivnom pretplatom
Autentifikacija
Twilio Flex koristi Twilijeve standardne metode autentifikacije.
Vjerodajnice računa
# Basic Auth: Account SID kao korisničko ime, Auth Token kao lozinkacurl -X GET "https://flex-api.twilio.com/v1/Configuration" \ -u "$TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN"API ključ (Preporučeno za produkciju)
- Idite na Twilio konzola > Račun > API ključevi i tokeni
- Kliknite Create API Key
- Odaberite vrstu ključa Standard
- Pohranite SID i tajnu sigurno
curl -X GET "https://flex-api.twilio.com/v1/Configuration" \ -u "$TWILIO_API_KEY_SID:$TWILIO_API_KEY_SECRET"Auth Token vs API ključ
Vaš Auth Token ima potpuni pristup računu. Za produkciju koristite opsežene API ključeve. API ključevi mogu se opozvati pojedinačno bez ometanja ostalih integracija.
Povezivanje s Tajom
tajo connectors install twilio-flex \ --account-sid $TWILIO_ACCOUNT_SID \ --auth-token $TWILIO_AUTH_TOKEN \ --flex-flow-sid $TWILIO_FLEX_FLOW_SIDKonfiguracija
Osnovna konfiguracija
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 - webchatMapiranje polja
Mapirajte Flex korisničke i interakcijske podatke na Brevo atribute:
field_mapping: # Polja korisnika identity: FLEX_IDENTITY friendly_name: FIRSTNAME attributes.email: email attributes.phone: SMS
# Metrike interakcija 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
# Prilagođeni atributi customer_tier: VIP_TIER account_id: ACCOUNT_IDMapiranje događaja
event_mapping: task.created: SUPPORT_REQUESTED task.completed: SUPPORT_RESOLVED task.canceled: SUPPORT_ABANDONED conversation.ended: CONVERSATION_ENDED survey.completed: CSAT_SUBMITTEDAPI krajnje točke
Tajo se integrira s sljedećim Twilio Flex i srodnim API krajnjim točkama:
| Krajnja točka | Metoda | API | Namjena |
|---|---|---|---|
/v1/Configuration | GET | Flex | Dohvati Flex konfiguraciju |
/v1/Interactions | GET | Flex | Popis interakcija |
/v1/Channels | GET | Flex | Popis Flex kanala |
/v1/WebChannels | POST | Flex | Kreiraj web chat kanal |
/v1/Conversations | GET | Conversations | Popis razgovora |
/v1/Conversations/{sid}/Messages | GET | Conversations | Popis poruka razgovora |
/v1/Conversations/{sid}/Participants | GET | Conversations | Popis sudionika |
/v1/Workspaces/{sid}/Tasks | GET | TaskRouter | Popis zadataka |
/v1/Workspaces/{sid}/Workers | GET | TaskRouter | Popis radnika (agenata) |
/v1/Workspaces/{sid}/TaskQueues | GET | TaskRouter | Popis redova zadataka |
/v1/Workspaces/{sid}/Events | GET | TaskRouter | Popis događaja radnog prostora |
Primjeri 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});Sinkronizacija povijesti 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
// Pokrenite Brevo praćenje nakon završetka razgovora podrškeapp.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 dodatka
// Unutar Flex UI dodatka - pošaljite podatke u Tajoimport { 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 primjenjuje ograničenja brzine kroz svoje API-je:
| API | Ograničenje brzine | Napomene |
|---|---|---|
| Flex API | 100 zahtjeva/sekundi | Po računu |
| Conversations API | 100 zahtjeva/sekundi | Po računu |
| TaskRouter API | 30 zahtjeva za čitanje/sekundi | Po radnom prostoru |
| TaskRouter eventi | 20 zahtjeva/sekundi | Po radnom prostoru |
Tokovi događaja
Za viskovoluensku obradu događaja, razmotrite korištenje Twilio Event Streams umjesto anketiranja TaskRouter događaja. Event Streams guraju događaje u stvarnom vremenu putem webhookova ili Kinesisa.
Rješavanje problema
Uobičajeni problemi
| Problem | Uzrok | Rješenje |
|---|---|---|
| 401 Unauthorized | Nevažeći SID ili token | Provjerite Account SID i Auth Token u Twilio konzoli |
| 403 Forbidden | Flex nije omogućen | Osigurajte da je Flex aktiviran na vašem Twilio računu |
| Nedostaju razgovori | Pogrešan raspon datuma | Proširite raspon datuma sinkronizacije ili provjerite stanje razgovora |
| Zadaci se ne prate | Nepodudaranje TaskRouter radnog prostora | Verificirajte ispravni SID radnog prostora |
| Dodatak ne pokreće se | Slušatelj događaja nije registriran | Provjerite je li Flex dodatak raspoređen i aktivan |
Način otklanjanja grešaka
connectors: twilio_flex: debug: true log_level: verbose log_api_calls: trueTestiranje veze
tajo connectors test twilio-flex# ✓ Flex API veza uspješna# ✓ Conversations API dostupan# ✓ TaskRouter radni prostor pronađen# ✓ Popis agenata čitljiv# ✓ Konfiguracija reda učitanaPreporučene prakse
- Koristite API ključeve umjesto Auth Tokena - API ključevi mogu biti opseženi i opozvani pojedinačno
- Iskoristite Event Streams - Push-based događaji su učinkovitiji od anketiranja TaskRoutera
- Izgradite Flex dodatak - Koristite UI dodatak za hvatanje događaja završetka zadataka u stvarnom vremenu
- Dosljedno mapirajte kanale - Normalizirajte glasovne, SMS i chat podatke u ujedinjene Brevo događaje
- Pratite CSAT ocjene - Sinkronizirajte podatke o zadovoljstvu u Brevo za segmentaciju vođenu iskustvom
- Pratite metrike reda - Koristite podatke o vremenu čekanja za pokretanje proaktivne komunikacije s klijentima
Sigurnost
- Account SID + Auth Token - Standardna Twilio autentifikacija
- API ključevi - Opozivi, ne-root vjerodajnice za produkcijsku upotrebu
- Samo HTTPS - Sva API komunikacija šifrirana putem TLS 1.2+
- Validacija webhookova - Verificirajte potpise Twilio webhookova s
X-Twilio-Signature - PCI usklađenost - Twilio Flex je PCI DSS razina 1 usklađen
- Šifrirano pohranjivanje - Vjerodajnice šifrirane u mirovanju u Taju