Twilio Flex कनेक्टर

एकीकृत ग्राहक इंटरैक्शन इतिहास, पोस्ट-वार्तालाप मार्केटिंग फ़्लोज़, और Tajo के माध्यम से सपोर्ट-संचालित एंगेजमेंट एनालिटिक्स के लिए अपने Twilio Flex कॉन्टैक्ट सेंटर को Brevo से कनेक्ट करें।

अवलोकन

गुणमान
प्लेटफ़ॉर्मTwilio Flex
श्रेणीCustom
सेटअप जटिलताउन्नत
आधिकारिक इंटीग्रेशननहीं
सिंक किया गया डेटाकस्टमर्स, वार्तालाप, इवेंट्स
उपयोग की गई APIsFlex API, Conversations API, TaskRouter API
प्रमाणीकरणAccount SID + Auth Token / API Key
Base URLhttps://flex-api.twilio.com

विशेषताएं

  • वार्तालाप सिंक - Brevo टाइमलाइन्स में voice, SMS, WhatsApp, और chat इंटरैक्शन्स को फ़ॉरवर्ड करें
  • ग्राहक प्रोफ़ाइल संवर्धन - Flex ग्राहक डेटा को Brevo कॉन्टैक्ट एट्रिब्यूट्स में सिंक करें
  • पोस्ट-इंटरैक्शन कैंपेन - सपोर्ट वार्तालाप समाप्त होने के बाद Brevo वर्कफ़्लोज़ ट्रिगर करें
  • CSAT इवेंट ट्रैकिंग - संतुष्टि सर्वे परिणामों को Brevo इवेंट्स के रूप में सिंक करें
  • एजेंट गतिविधि डेटा - ऑपरेशनल रिपोर्टिंग के लिए एजेंट प्रदर्शन मेट्रिक्स ट्रैक करें
  • क्यू एनालिटिक्स - अनुभव अनुकूलन के लिए वेट टाइम और परित्याग डेटा फ़ॉरवर्ड करें

पूर्वावश्यकताएं

शुरू करने से पहले, सुनिश्चित करें कि आपके पास है:

  1. Flex सक्षम के साथ एक Twilio खाता
  2. आपका Twilio Account SID और Auth Token
  3. सक्रिय चैनलों (voice, SMS, chat, या WhatsApp) के साथ एक Flex इंस्टेंस
  4. कॉन्फ़िगर किया गया TaskRouter वर्कस्पेस
  5. API एक्सेस वाला एक Brevo खाता
  6. एक सक्रिय सब्सक्रिप्शन वाला Tajo खाता

प्रमाणीकरण

Twilio Flex Twilio की मानक प्रमाणीकरण विधियों का उपयोग करता है।

खाता क्रेडेंशियल्स

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 (प्रोडक्शन के लिए अनुशंसित)

  1. Twilio Console > Account > API keys & tokens पर जाएं
  2. Create API Key पर क्लिक करें
  3. Standard key type चुनें
  4. SID और Secret को सुरक्षित रूप से संग्रहीत करें
Terminal window
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 के पास पूर्ण खाता एक्सेस है। प्रोडक्शन के लिए, इसके बजाय scoped API Keys का उपयोग करें। API Keys को अन्य इंटीग्रेशन्स को बाधित किए बिना व्यक्तिगत रूप से रद्द किया जा सकता है।

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

कॉन्फ़िगरेशन

बुनियादी सेटअप

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_SUBMITTED

API एंडपॉइंट्स

Tajo निम्नलिखित Twilio Flex और संबंधित API एंडपॉइंट्स के साथ इंटीग्रेट होता है:

एंडपॉइंटमेथडAPIउद्देश्य
/v1/ConfigurationGETFlexFlex कॉन्फ़िगरेशन प्राप्त करें
/v1/InteractionsGETFlexइंटरैक्शन्स सूचीबद्ध करें
/v1/ChannelsGETFlexFlex चैनल्स सूचीबद्ध करें
/v1/WebChannelsPOSTFlexWeb chat चैनल बनाएं
/v1/ConversationsGETConversationsवार्तालाप सूचीबद्ध करें
/v1/Conversations/{sid}/MessagesGETConversationsवार्तालाप संदेश सूचीबद्ध करें
/v1/Conversations/{sid}/ParticipantsGETConversationsप्रतिभागी सूचीबद्ध करें
/v1/Workspaces/{sid}/TasksGETTaskRouterटास्क्स सूचीबद्ध करें
/v1/Workspaces/{sid}/WorkersGETTaskRouterवर्कर्स (एजेंट्स) सूचीबद्ध करें
/v1/Workspaces/{sid}/TaskQueuesGETTaskRouterटास्क क्यूज़ सूचीबद्ध करें
/v1/Workspaces/{sid}/EventsGETTaskRouterवर्कस्पेस इवेंट्स सूचीबद्ध करें

कोड उदाहरण

कनेक्टर प्रारंभ करें

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

Flex Plugin इंटीग्रेशन

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

दर सीमाएं

Twilio अपनी APIs पर दर सीमाएं लागू करता है:

APIदर सीमानोट्स
Flex API100 अनुरोध/सेकंडप्रति खाता
Conversations API100 अनुरोध/सेकंडप्रति खाता
TaskRouter API30 read अनुरोध/सेकंडप्रति वर्कस्पेस
TaskRouter Events20 अनुरोध/सेकंडप्रति वर्कस्पेस

Event Streams

उच्च-वॉल्यूम इवेंट प्रोसेसिंग के लिए, TaskRouter इवेंट्स को पोल करने के बजाय Twilio Event Streams का उपयोग करने पर विचार करें। Event Streams वेबहुक्स या Kinesis के माध्यम से इवेंट्स को रीयल टाइम में पुश करते हैं।

समस्या निवारण

सामान्य समस्याएं

समस्याकारणसमाधान
401 Unauthorizedअमान्य SID या टोकनTwilio Console में Account SID और Auth Token सत्यापित करें
403 ForbiddenFlex सक्षम नहींसुनिश्चित करें कि Flex आपके Twilio खाते पर सक्रिय है
वार्तालाप गायबगलत दिनांक रेंजसिंक दिनांक रेंज का विस्तार करें या वार्तालाप स्थिति जांचें
टास्क ट्रैक नहीं हुएTaskRouter वर्कस्पेस मेल नहीं खातासही वर्कस्पेस SID सत्यापित करें
Plugin फ़ायर नहीं हो रहाइवेंट लिस्नर पंजीकृत नहींजांचें कि Flex plugin तैनात और सक्रिय है

डीबग मोड

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

कनेक्शन परीक्षण करें

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

सर्वोत्तम प्रथाएं

  1. Auth Tokens के बजाय API Keys का उपयोग करें - API Keys को scope किया जा सकता है और व्यक्तिगत रूप से रद्द किया जा सकता है
  2. Event Streams का लाभ उठाएं - Push-आधारित इवेंट्स TaskRouter को पोल करने की तुलना में अधिक कुशल हैं
  3. एक Flex Plugin बनाएं - रीयल टाइम में टास्क समापन इवेंट्स कैप्चर करने के लिए UI plugin का उपयोग करें
  4. चैनल्स को लगातार मैप करें - voice, SMS, और chat डेटा को एकीकृत Brevo इवेंट्स में सामान्यीकृत करें
  5. CSAT स्कोर ट्रैक करें - अनुभव-संचालित सेगमेंटेशन के लिए संतुष्टि डेटा को Brevo में सिंक करें
  6. क्यू मेट्रिक्स की निगरानी करें - सक्रिय ग्राहक संचार ट्रिगर करने के लिए वेट टाइम डेटा का उपयोग करें

सुरक्षा

  • Account SID + Auth Token - मानक Twilio प्रमाणीकरण
  • API Keys - प्रोडक्शन उपयोग के लिए रद्द करने योग्य, गैर-रूट क्रेडेंशियल्स
  • HTTPS Only - सभी API संचार TLS 1.2+ के माध्यम से एन्क्रिप्टेड
  • Webhook सत्यापन - X-Twilio-Signature के साथ Twilio webhook सिग्नेचर सत्यापित करें
  • PCI अनुपालन - Twilio Flex PCI DSS Level 1 अनुपालक है
  • एन्क्रिप्टेड स्टोरेज - Tajo में रेस्ट पर क्रेडेंशियल्स एन्क्रिप्टेड

संबंधित संसाधन

Subscribe to updates

developer-docs

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

auto-detect
AI Assistant

Hi! Ask me anything about the docs.