Konektor Twilio Flex
Propojte své kontaktní centrum Twilio Flex s Brevo pro sjednocenou historii zákaznických interakcí, marketingové toky po konverzaci a analytiku zapojení řízenou podporou přes Tajo.
Přehled
| Vlastnost | Hodnota |
|---|---|
| Platforma | Twilio Flex |
| Kategorie | Vlastní |
| Složitost nastavení | Pokročilá |
| Oficiální integrace | Ne |
| Synchronizovaná data | Zákazníci, Konverzace, Události |
| Použitá API | Flex API, Conversations API, TaskRouter API |
| Ověření | Account SID + Auth Token / API klíč |
| Základní URL | https://flex-api.twilio.com |
Funkce
- Synchronizace konverzací – Přeposílejte hlasové, SMS, WhatsApp a chatové interakce do časových os Brevo
- Obohacení zákaznického profilu – Synchronizujte zákaznická data Flex na atributy kontaktů Brevo
- Kampaně po interakci – Spouštějte pracovní toky Brevo po ukončení konverzací podpory
- Sledování událostí CSAT – Synchronizujte výsledky průzkumů spokojenosti jako události Brevo
- Data o aktivitě agentů – Sledujte metriky výkonu agentů pro operační reporting
- Analytika front – Přeposílejte data o čekací době a opuštění pro optimalizaci zkušenosti
Předpoklady
Než začnete, ujistěte se, že máte:
- Účet Twilio s povoleným Flex
- Account SID a Auth Token Twilio
- Instanci Flex s aktivními kanály (hlas, SMS, chat nebo WhatsApp)
- Nakonfigurovaný workspace TaskRouter
- Účet Brevo s přístupem k API
- Účet Tajo s aktivním předplatným
Ověření
Twilio Flex používá standardní metody ověřování Twilio.
Přihlašovací údaje účtu
# Základní ověření: Account SID jako uživatelské jméno, Auth Token jako heslocurl -X GET "https://flex-api.twilio.com/v1/Configuration" \ -u "$TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN"API klíč (doporučeno pro produkci)
- Přejděte do Twilio Console > Account > API keys & tokens
- Klikněte na Create API Key
- Vyberte typ klíče Standard
- Bezpečně uložte SID a Secret
curl -X GET "https://flex-api.twilio.com/v1/Configuration" \ -u "$TWILIO_API_KEY_SID:$TWILIO_API_KEY_SECRET"Auth Token vs API klíč
Váš Auth Token má plný přístup k účtu. Pro produkci používejte místo toho vymezené API klíče. API klíče lze odvolat jednotlivě bez narušení ostatních integrací.
Připojení k Tajo
tajo connectors install twilio-flex \ --account-sid $TWILIO_ACCOUNT_SID \ --auth-token $TWILIO_AUTH_TOKEN \ --flex-flow-sid $TWILIO_FLEX_FLOW_SIDKonfigurace
Základní nastavení
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 - webchatMapování polí
Mapujte zákaznická a interakční data Flex na atributy Brevo:
field_mapping: # Zákaznická pole identity: FLEX_IDENTITY friendly_name: FIRSTNAME attributes.email: email attributes.phone: SMS
# Metriky interakcí 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
# Vlastní atributy customer_tier: VIP_TIER account_id: ACCOUNT_IDMapování událostí
event_mapping: task.created: SUPPORT_REQUESTED task.completed: SUPPORT_RESOLVED task.canceled: SUPPORT_ABANDONED conversation.ended: CONVERSATION_ENDED survey.completed: CSAT_SUBMITTEDKoncové body API
Tajo se integruje s následujícími koncovými body Twilio Flex a souvisejících API:
| Koncový bod | Metoda | API | Účel |
|---|---|---|---|
/v1/Configuration | GET | Flex | Získání konfigurace Flex |
/v1/Interactions | GET | Flex | Výpis interakcí |
/v1/Channels | GET | Flex | Výpis kanálů Flex |
/v1/WebChannels | POST | Flex | Vytvoření webového chat kanálu |
/v1/Conversations | GET | Conversations | Výpis konverzací |
/v1/Conversations/{sid}/Messages | GET | Conversations | Výpis zpráv konverzace |
/v1/Conversations/{sid}/Participants | GET | Conversations | Výpis účastníků |
/v1/Workspaces/{sid}/Tasks | GET | TaskRouter | Výpis úkolů |
/v1/Workspaces/{sid}/Workers | GET | TaskRouter | Výpis pracovníků (agentů) |
/v1/Workspaces/{sid}/TaskQueues | GET | TaskRouter | Výpis front úkolů |
/v1/Workspaces/{sid}/Events | GET | TaskRouter | Výpis událostí workspace |
Příklady kódu
Inicializace konektoru
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});Synchronizace historie konverzací
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// }Spuštění kampaně po konverzaci
// Spuštění navazující akce Brevo po ukončení konverzace podporyapp.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');});Integrace Flex pluginu
// Uvnitř Flex UI pluginu - odesílání dat do 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 }) }); }); }}Omezení rychlosti
Twilio vynucuje limity rychlosti napříč svými API:
| API | Limit rychlosti | Poznámky |
|---|---|---|
| Flex API | 100 požadavků/sekundu | Na účet |
| Conversations API | 100 požadavků/sekundu | Na účet |
| TaskRouter API | 30 požadavků čtení/sekundu | Na workspace |
| TaskRouter Events | 20 požadavků/sekundu | Na workspace |
Event Streams
Pro zpracování událostí ve velkém objemu zvažte použití Twilio Event Streams místo pollování událostí TaskRouter. Event Streams push události v reálném čase přes webhooky nebo Kinesis.
Řešení problémů
Časté problémy
| Problém | Příčina | Řešení |
|---|---|---|
| 401 Unauthorized | Neplatné SID nebo token | Ověřte Account SID a Auth Token v Twilio Console |
| 403 Forbidden | Flex není povolen | Ujistěte se, že Flex je aktivován na vašem účtu Twilio |
| Chybějící konverzace | Špatný časový rozsah | Rozšiřte rozsah synchronizace nebo zkontrolujte stav konverzace |
| Nesledované úkoly | Neshoda workspace TaskRouter | Ověřte správné SID workspace |
| Plugin se nespouští | Posluchač událostí není registrován | Zkontrolujte, zda je Flex plugin nasazen a aktivní |
Režim ladění
connectors: twilio_flex: debug: true log_level: verbose log_api_calls: trueTest připojení
tajo connectors test twilio-flex# ✓ Připojení Flex API úspěšné# ✓ Conversations API přístupné# ✓ Nalezen workspace TaskRouter# ✓ Seznam agentů čitelný# ✓ Konfigurace front načtenaOsvědčené postupy
- Používejte API klíče místo Auth Tokenů – API klíče lze vymezit a individuálně odvolat
- Využívejte Event Streams – Události na principu push jsou efektivnější než pollování TaskRouter
- Sestavte Flex plugin – Používejte UI plugin pro zachytávání událostí dokončení úkolů v reálném čase
- Mapujte kanály konzistentně – Normalizujte hlasová, SMS a chatová data do sjednocených událostí Brevo
- Sledujte skóre CSAT – Synchronizujte data spokojenosti do Brevo pro segmentaci řízenou zkušeností
- Monitorujte metriky front – Používejte data o čekací době pro spouštění proaktivní zákaznické komunikace
Zabezpečení
- Account SID + Auth Token – Standardní ověřování Twilio
- API klíče – Odvolatelné, ne-root přihlašovací údaje pro produkční použití
- Pouze HTTPS – Veškerá API komunikace šifrovaná přes TLS 1.2+
- Ověření webhooků – Ověřujte podpisy webhooků Twilio pomocí
X-Twilio-Signature - Soulad s PCI – Twilio Flex splňuje PCI DSS Level 1
- Šifrované úložiště – Přihlašovací údaje šifrované v klidu v Tajo