Twilio Flex کنیکٹر
متحدہ گاہک تعامل کی تاریخ، گفتگو کے بعد مارکیٹنگ فلوز، اور Tajo کے ذریعے سپورٹ سے چلنے والے engagement اینالیٹکس کے لیے اپنے Twilio Flex کانٹیکٹ سینٹر کو Brevo سے منسلک کریں۔
جائزہ
| خاصیت | قدر |
|---|---|
| پلیٹ فارم | Twilio Flex |
| زمرہ | کسٹم |
| سیٹ اپ کی پیچیدگی | جدید |
| آفیشل انٹیگریشن | نہیں |
| سنک شدہ ڈیٹا | گاہک، گفتگو، ایونٹس |
| استعمال شدہ APIs | Flex API, Conversations API, TaskRouter API |
| تصدیق | Account SID + Auth Token / API Key |
| بنیادی URL | https://flex-api.twilio.com |
خصوصیات
- گفتگو سنک - وائس، SMS، WhatsApp، اور چیٹ تعاملات کو Brevo ٹائم لائنز پر فارورڈ کریں
- گاہک پروفائل افزودگی - Flex گاہک ڈیٹا کو Brevo رابطہ خصوصیات پر سنک کریں
- تعامل کے بعد مہمات - سپورٹ گفتگو ختم ہونے کے بعد Brevo ورک فلوز کو ٹرگر کریں
- CSAT ایونٹ ٹریکنگ - اطمینان سروے کے نتائج کو Brevo ایونٹس کے طور پر سنک کریں
- ایجنٹ سرگرمی ڈیٹا - آپریشنل رپورٹنگ کے لیے ایجنٹ کارکردگی میٹرکس ٹریک کریں
- قطار اینالیٹکس - تجربے کی اصلاح کے لیے انتظار کا وقت اور ترک کرنے کا ڈیٹا فارورڈ کریں
شرائط
شروع کرنے سے پہلے، یقینی بنائیں کہ آپ کے پاس ہے:
- Flex فعال کے ساتھ Twilio اکاؤنٹ
- آپ کا Twilio Account SID اور Auth Token
- فعال چینلز (وائس، SMS، چیٹ، یا WhatsApp) کے ساتھ Flex instance
- TaskRouter ورک اسپیس ترتیب دیا گیا
- API رسائی کے ساتھ Brevo اکاؤنٹ
- فعال سبسکرپشن کے ساتھ 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 > Account > API keys & tokens پر جائیں
- Create API Key پر کلک کریں
- Standard key قسم منتخب کریں
- 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_SUBMITTEDAPI اینڈ پوائنٹس
Tajo درج ذیل Twilio Flex اور متعلقہ API اینڈ پوائنٹس کے ساتھ انٹیگریٹ ہوتا ہے:
| اینڈ پوائنٹ | طریقہ | API | مقصد |
|---|---|---|---|
/v1/Configuration | GET | Flex | Flex تشکیل حاصل کریں |
/v1/Interactions | GET | Flex | تعاملات کی فہرست |
/v1/Channels | GET | Flex | Flex چینلز کی فہرست |
/v1/WebChannels | POST | Flex | ویب چیٹ چینل بنائیں |
/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');});Flex Plugin انٹیگریشن
// 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 read درخواستیں/سیکنڈ | فی ورک اسپیس |
| TaskRouter Events | 20 درخواستیں/سیکنڈ | فی ورک اسپیس |
Event Streams
اعلی حجم ایونٹ پروسیسنگ کے لیے، TaskRouter ایونٹس کو polling کرنے کے بجائے Twilio Event Streams استعمال کرنے پر غور کریں۔ Event Streams ایونٹس کو ریئل ٹائم میں webhooks یا Kinesis کے ذریعے push کرتا ہے۔
ٹربل شوٹنگ
عام مسائل
| مسئلہ | وجہ | حل |
|---|---|---|
| 401 Unauthorized | غلط SID یا token | Twilio Console میں Account SID اور Auth Token کی تصدیق کریں |
| 403 Forbidden | Flex فعال نہیں | یقینی بنائیں کہ Flex آپ کے Twilio اکاؤنٹ پر فعال ہے |
| گفتگو غائب | غلط تاریخ کی حد | سنک تاریخ کی حد کو پھیلائیں یا گفتگو کی حالت چیک کریں |
| ٹاسکس ٹریک نہیں | TaskRouter ورک اسپیس مماثل نہیں | درست ورک اسپیس SID کی تصدیق کریں |
| Plugin فائر نہیں ہو رہا | Event listener رجسٹرڈ نہیں | چیک کریں کہ Flex plugin تعینات اور فعال ہے |
ڈیبگ موڈ
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بہترین طرز عمل
- Auth Tokens پر API Keys استعمال کریں - API Keys کو اسکوپ کیا جا سکتا ہے اور انفرادی طور پر منسوخ کیا جا سکتا ہے
- Event Streams کا فائدہ اٹھائیں - Push پر مبنی ایونٹس TaskRouter کو polling کرنے سے زیادہ موثر ہیں
- Flex Plugin بنائیں - ٹاسک تکمیل ایونٹس کو ریئل ٹائم میں capture کرنے کے لیے UI plugin استعمال کریں
- چینلز کو مستقل طور پر میپ کریں - وائس، SMS، اور چیٹ ڈیٹا کو متحدہ Brevo ایونٹس میں نارمل کریں
- CSAT اسکورز ٹریک کریں - تجربے سے چلنے والی segmentation کے لیے اطمینان ڈیٹا Brevo سے سنک کریں
- قطار میٹرکس کی نگرانی کریں - فعال گاہک رابطے کو ٹرگر کرنے کے لیے انتظار کا وقت ڈیٹا استعمال کریں
سیکیورٹی
- Account SID + Auth Token - معیاری Twilio تصدیق
- API Keys - پروڈکشن استعمال کے لیے قابل منسوخ، غیر روٹ کریڈینشلز
- HTTPS صرف - تمام API مواصلات TLS 1.2+ کے ذریعے انکرپٹڈ
- Webhook توثیق -
X-Twilio-Signatureکے ساتھ Twilio webhook دستخط کی توثیق کریں - PCI کمپلائنس - Twilio Flex PCI DSS Level 1 کمپلائنٹ ہے
- انکرپٹڈ اسٹوریج - کریڈینشلز Tajo میں آرام پر انکرپٹڈ