Σύνδεσμος Twilio Flex
Συνδέστε το κέντρο επαφών Twilio Flex με το Brevo για ενοποιημένο ιστορικό αλληλεπιδράσεων πελατών, ροές marketing μετά τη συνομιλία και αναλυτικά αφοσίωσης βάσει υποστήριξης μέσω Tajo.
Επισκόπηση
| Ιδιότητα | Τιμή |
|---|---|
| Πλατφόρμα | Twilio Flex |
| Κατηγορία | Προσαρμοσμένο |
| Πολυπλοκότητα Ρύθμισης | Προχωρημένη |
| Επίσημη Ενσωμάτωση | Όχι |
| Δεδομένα που Συγχρονίζονται | Πελάτες, Συνομιλίες, Εκδηλώσεις |
| APIs που Χρησιμοποιούνται | Flex API, Conversations API, TaskRouter API |
| Πιστοποίηση | Account SID + Auth Token / API Key |
| Βασικό URL | https://flex-api.twilio.com |
Χαρακτηριστικά
- Συγχρονισμός συνομιλίας - Προώθηση αλληλεπιδράσεων φωνής, SMS, WhatsApp και chat σε χρονοδιαγράμματα Brevo
- Εμπλουτισμός προφίλ πελάτη - Συγχρονισμός δεδομένων πελατών Flex σε χαρακτηριστικά επαφών Brevo
- Καμπάνιες μετά αλληλεπίδραση - Ενεργοποίηση ροών εργασίας Brevo μετά το τέλος συνομιλιών υποστήριξης
- Παρακολούθηση εκδηλώσεων CSAT - Συγχρονισμός αποτελεσμάτων έρευνας ικανοποίησης ως εκδηλώσεις Brevo
- Δεδομένα δραστηριότητας πράκτορα - Παρακολούθηση μετρικών απόδοσης πράκτορα για επιχειρησιακές αναφορές
- Αναλυτικά ουράς - Προώθηση δεδομένων χρόνου αναμονής και εγκατάλειψης για βελτιστοποίηση εμπειρίας
Προαπαιτούμενα
Πριν ξεκινήσετε, βεβαιωθείτε ότι διαθέτετε:
- Λογαριασμό Twilio με ενεργοποιημένο Flex
- Τα Account SID και Auth Token Twilio
- Instance Flex με ενεργά κανάλια (φωνή, SMS, chat ή WhatsApp)
- Ρυθμισμένο χώρο εργασίας TaskRouter
- Λογαριασμό Brevo με πρόσβαση API
- Λογαριασμό Tajo με ενεργή συνδρομή
Πιστοποίηση
Το Twilio Flex χρησιμοποιεί τις τυπικές μεθόδους πιστοποίησης Twilio.
Διαπιστευτήρια Λογαριασμού
# Basic Auth: Account SID as username, Auth Token as passwordcurl -X GET "https://flex-api.twilio.com/v1/Configuration" \ -u "$TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN"API Key (Συνιστάται για Παραγωγή)
- Μεταβείτε στο Twilio Console > Λογαριασμός > API keys & tokens
- Κάντε κλικ Δημιουργία API Key
- Επιλέξτε τύπο κλειδιού Standard
- Αποθηκεύστε το SID και το Secret με ασφάλεια
curl -X GET "https://flex-api.twilio.com/v1/Configuration" \ -u "$TWILIO_API_KEY_SID:$TWILIO_API_KEY_SECRET"Auth Token έναντι API Key
Το Auth Token σας έχει πλήρη πρόσβαση λογαριασμού. Για παραγωγή, χρησιμοποιήστε αντ’ αυτού API Keys με εύρος. Τα API Keys μπορούν να ανακληθούν μεμονωμένα χωρίς διακοπή άλλων ενσωματώσεων.
Σύνδεση στο Tajo
tajo connectors install twilio-flex \ --account-sid $TWILIO_ACCOUNT_SID \ --auth-token $TWILIO_AUTH_TOKEN \ --flex-flow-sid $TWILIO_FLEX_FLOW_SIDΔιαμόρφωση
Βασική Ρύθμιση
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Αντιστοίχιση Πεδίων
Αντιστοίχηση δεδομένων πελάτη και αλληλεπίδρασης Flex σε χαρακτηριστικά 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Αντιστοίχιση Εκδηλώσεων
event_mapping: task.created: SUPPORT_REQUESTED task.completed: SUPPORT_RESOLVED task.canceled: SUPPORT_ABANDONED conversation.ended: CONVERSATION_ENDED survey.completed: CSAT_SUBMITTEDEndpoints API
Το Tajo ενσωματώνεται με τα ακόλουθα endpoints API Twilio Flex και σχετικών:
| Endpoint | Μέθοδος | API | Σκοπός |
|---|---|---|---|
/v1/Configuration | GET | Flex | Λήψη διαμόρφωσης Flex |
/v1/Interactions | GET | Flex | Λίστα αλληλεπιδράσεων |
/v1/Channels | GET | Flex | Λίστα καναλιών Flex |
/v1/WebChannels | POST | Flex | Δημιουργία καναλιού web chat |
/v1/Conversations | GET | Conversations | Λίστα συνομιλιών |
/v1/Conversations/{sid}/Messages | GET | Conversations | Λίστα μηνυμάτων συνομιλίας |
/v1/Conversations/{sid}/Participants | GET | Conversations | Λίστα συμμετεχόντων |
/v1/Workspaces/{sid}/Tasks | GET | TaskRouter | Λίστα εργασιών |
/v1/Workspaces/{sid}/Workers | GET | TaskRouter | Λίστα εργαζομένων (πρακτόρων) |
/v1/Workspaces/{sid}/TaskQueues | GET | TaskRouter | Λίστα ουρών εργασιών |
/v1/Workspaces/{sid}/Events | GET | TaskRouter | Λίστα εκδηλώσεων χώρου εργασίας |
Παραδείγματα Κώδικα
Αρχικοποίηση Συνδέσμου
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});Συγχρονισμός Ιστορικού Συνομιλίας
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// }Ενεργοποιητής Καμπάνιας Μετά τη Συνομιλία
// Trigger a Brevo follow-up after a support conversation endsapp.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');});Ενσωμάτωση Plugin Flex
// Inside a Flex UI Plugin - send data to 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 }) }); }); }}Όρια Ρυθμού
Το Twilio επιβάλλει όρια ρυθμού σε όλα τα APIs:
| API | Όριο Ρυθμού | Σημειώσεις |
|---|---|---|
| Flex API | 100 αιτήματα/δευτ. | Ανά λογαριασμό |
| Conversations API | 100 αιτήματα/δευτ. | Ανά λογαριασμό |
| TaskRouter API | 30 αιτήματα ανάγνωσης/δευτ. | Ανά χώρο εργασίας |
| TaskRouter Events | 20 αιτήματα/δευτ. | Ανά χώρο εργασίας |
Event Streams
Για επεξεργασία εκδηλώσεων μεγάλου όγκου, εξετάστε τη χρήση Twilio Event Streams αντί για polling εκδηλώσεων TaskRouter. Το Event Streams ωθεί εκδηλώσεις σε πραγματικό χρόνο μέσω webhooks ή Kinesis.
Αντιμετώπιση Προβλημάτων
Συνήθη Προβλήματα
| Πρόβλημα | Αιτία | Λύση |
|---|---|---|
| 401 Unauthorized | Μη έγκυρο SID ή token | Επαληθεύστε Account SID και Auth Token στο Twilio Console |
| 403 Forbidden | Το Flex δεν είναι ενεργοποιημένο | Βεβαιωθείτε ότι το Flex είναι ενεργοποιημένο στον λογαριασμό Twilio |
| Λείπουν συνομιλίες | Λανθασμένο εύρος ημερομηνιών | Επεκτείνετε εύρος ημερομηνιών συγχρονισμού ή ελέγξτε κατάσταση συνομιλίας |
| Οι εργασίες δεν παρακολουθούνται | Αναντιστοιχία χώρου εργασίας TaskRouter | Επαληθεύστε το σωστό SID χώρου εργασίας |
| Το plugin δεν ενεργοποιείται | Ο ακροατής εκδηλώσεων δεν εγγράφηκε | Ελέγξτε ότι το plugin Flex είναι αναπτυγμένο και ενεργό |
Λειτουργία Εντοπισμού Σφαλμάτων
connectors: twilio_flex: debug: true log_level: verbose log_api_calls: trueΔοκιμή Σύνδεσης
tajo connectors test twilio-flex# ✓ Flex API connection successful# ✓ Conversations API accessible# ✓ TaskRouter workspace found# ✓ Agent list readable# ✓ Queue configuration loadedΒέλτιστες Πρακτικές
- Χρησιμοποιήστε API Keys αντί Auth Tokens - Τα API Keys μπορούν να έχουν εύρος και να ανακληθούν μεμονωμένα
- Αξιοποιήστε Event Streams - Εκδηλώσεις βάσει push είναι πιο αποδοτικές από polling TaskRouter
- Δημιουργήστε Plugin Flex - Χρησιμοποιήστε plugin UI για καταγραφή εκδηλώσεων ολοκλήρωσης εργασίας σε πραγματικό χρόνο
- Αντιστοιχίστε κανάλια με συνέπεια - Κανονικοποιήστε δεδομένα φωνής, SMS και chat σε ενοποιημένες εκδηλώσεις Brevo
- Παρακολουθήστε βαθμολογίες CSAT - Συγχρονίστε δεδομένα ικανοποίησης στο Brevo για τμηματοποίηση βάσει εμπειρίας
- Παρακολουθήστε μετρικές ουράς - Χρησιμοποιήστε δεδομένα χρόνου αναμονής για ενεργοποίηση προληπτικής επικοινωνίας πελατών
Ασφάλεια
- Account SID + Auth Token - Τυπική πιστοποίηση Twilio
- API Keys - Ανακλητά, μη-root διαπιστευτήρια για χρήση παραγωγής
- Μόνο HTTPS - Όλη η επικοινωνία API κρυπτογραφείται μέσω TLS 1.2+
- Επικύρωση Webhook - Επαλήθευση υπογραφών webhook Twilio με
X-Twilio-Signature - Συμμόρφωση PCI - Το Twilio Flex είναι συμβατό με PCI DSS Level 1
- Κρυπτογραφημένη Αποθήκευση - Τα διαπιστευτήρια κρυπτογραφούνται σε ηρεμία στο Tajo