Zendesk कनेक्टर
एकीकृत ग्राहक सपोर्ट डेटा, टिकट-आधारित सेगमेंटेशन, संतुष्टि स्कोरिंग, और सपोर्ट-ट्रिगर्ड मार्केटिंग ऑटोमेशन के लिए अपने Zendesk Support instance को Tajo के माध्यम से Brevo से कनेक्ट करें।
अवलोकन
| गुण | मान |
|---|---|
| प्लेटफ़ॉर्म | Zendesk |
| श्रेणी | Support |
| सेटअप जटिलता | मध्यम |
| आधिकारिक इंटीग्रेशन | हां |
| सिंक किया गया डेटा | टिकट्स, उपयोगकर्ता, Organizations, इवेंट्स |
| API Base URL | https://{subdomain}.zendesk.com/api/v2 |
विशेषताएं
- उपयोगकर्ता सिंक - Zendesk end-users और agents को Brevo कॉन्टैक्ट्स के साथ सिंक करें
- टिकट ट्रैकिंग - support-aware मार्केटिंग सेगमेंटेशन के लिए टिकट डेटा सिंक करें
- Organization मैपिंग - B2B workflows के लिए कॉन्टैक्ट्स को organizations के साथ संबद्ध करें
- संतुष्टि स्कोर - CSAT और NPS डेटा को Brevo एट्रिब्यूट्स में सिंक करें
- टिकट इवेंट्स - ऑटोमेशन ट्रिगर्स के लिए टिकट निर्माण, resolution, और escalation ट्रैक करें
- Help center इंटीग्रेशन - article views और search व्यवहार ट्रैक करें
- Multi-channel सपोर्ट - email, chat, voice, और messaging चैनलों से डेटा सिंक करें
- कस्टम फ़ील्ड्स - Zendesk कस्टम टिकट और उपयोगकर्ता फ़ील्ड्स को Brevo में मैप करें
पूर्वावश्यकताएं
शुरू करने से पहले, सुनिश्चित करें कि आपके पास है:
- एक Zendesk Support खाता (Team, Professional, या Enterprise)
- आपके Zendesk instance तक admin एक्सेस
- कॉन्फ़िगर किया गया API token या OAuth ऐप
- API एक्सेस वाला एक Brevo खाता
- एक Tajo खाता
प्रमाणीकरण
API Token प्रमाणीकरण
त्वरित सेटअप के लिए email/token प्रमाणीकरण का उपयोग करें।
curl https://{subdomain}.zendesk.com/api/v2/users.json \ -u {email}/token:{api_token} \ -H "Content-Type: application/json"Zendesk Admin > Apps and Integrations > APIs > Zendesk API से एक API token जनरेट करें।
OAuth 2.0
delegated user एक्सेस के साथ multi-instance integrations के लिए OAuth का उपयोग करें।
# Authorization URLhttps://{subdomain}.zendesk.com/oauth/authorizations/new? response_type=code& client_id={client_id}& redirect_uri={redirect_uri}& scope=read%20writeआवश्यक Scopes
read # Read access to all resourceswrite # Write access to all resourcestickets:read # Read tickets (granular)users:read # Read users (granular)organizations:read # Read organizations (granular)कॉन्फ़िगरेशन
बुनियादी सेटअप
connectors: zendesk: enabled: true subdomain: "yourcompany" auth: api_token: "${ZENDESK_API_TOKEN}"
# Data sync options sync: users: true tickets: true organizations: true satisfaction_ratings: true
# Brevo list assignment lists: all_customers: 30 active_tickets: 31 satisfied_customers: 32फ़ील्ड मैपिंग
Zendesk उपयोगकर्ता फ़ील्ड्स को Brevo कॉन्टैक्ट एट्रिब्यूट्स में मैप करें:
डिफ़ॉल्ट मैपिंग्स
| Parameter | Type | Description |
|---|---|---|
email required | string | उपयोगकर्ता ईमेल पता (अद्वितीय पहचानकर्ता) |
name optional | string | पूर्ण नाम, FIRSTNAME/LASTNAME में विभाजित |
phone optional | string | WhatsApp/SMS के लिए SMS एट्रिब्यूट से मैप होता है |
organization_id optional | integer | B2B मैपिंग के लिए संबद्ध organization |
role optional | string | उपयोगकर्ता role (end-user, agent, admin) |
tags optional | array | Zendesk से उपयोगकर्ता tags |
ticket_restriction optional | string | टिकट एक्सेस स्तर |
custom_fields optional | object | कस्टम उपयोगकर्ता field मान |
कस्टम फ़ील्ड मैपिंग
field_mapping: # Standard fields email: email name: FULLNAME phone: SMS
# Support metrics open_tickets: OPEN_TICKETS total_tickets: TOTAL_TICKETS avg_satisfaction: CSAT_SCORE last_ticket_date: LAST_SUPPORT_DATE
# Organization fields organization.name: COMPANY_NAME organization.tags: COMPANY_TAGS
# Custom fields user_fields.customer_type: CUSTOMER_TYPE user_fields.account_tier: ACCOUNT_TIERAPI एंडपॉइंट्स
Ticketing API
| मेथड | एंडपॉइंट | विवरण |
|---|---|---|
GET | /api/v2/tickets | टिकट्स सूचीबद्ध करें |
POST | /api/v2/tickets | एक टिकट बनाएं |
PUT | /api/v2/tickets/{id} | एक टिकट अपडेट करें |
GET | /api/v2/tickets/{id} | एक टिकट दिखाएं |
GET | /api/v2/search.json?query={query} | टिकट्स खोजें |
Users API
| मेथड | एंडपॉइंट | विवरण |
|---|---|---|
GET | /api/v2/users | उपयोगकर्ता सूचीबद्ध करें |
POST | /api/v2/users | एक उपयोगकर्ता बनाएं |
PUT | /api/v2/users/{id} | एक उपयोगकर्ता अपडेट करें |
GET | /api/v2/users/{id} | एक उपयोगकर्ता दिखाएं |
GET | /api/v2/users/search.json?query={query} | उपयोगकर्ता खोजें |
Organizations API
| मेथड | एंडपॉइंट | विवरण |
|---|---|---|
GET | /api/v2/organizations | organizations सूचीबद्ध करें |
POST | /api/v2/organizations | एक organization बनाएं |
GET | /api/v2/organizations/{id}/users | organization सदस्य सूचीबद्ध करें |
Satisfaction Ratings API
| मेथड | एंडपॉइंट | विवरण |
|---|---|---|
GET | /api/v2/satisfaction_ratings | संतुष्टि ratings सूचीबद्ध करें |
GET | /api/v2/satisfaction_ratings/{id} | एक rating दिखाएं |
इवेंट्स
टिकट इवेंट्स
| इवेंट | ट्रिगर | उपयोग मामला |
|---|---|---|
ticket.created | नया टिकट सबमिट हुआ | सपोर्ट acknowledgment |
ticket.updated | टिकट स्थिति बदली | स्थिति सूचना |
ticket.solved | टिकट solved चिह्नित | CSAT survey ट्रिगर |
ticket.reopened | Solved टिकट reopened | Escalation अलर्ट |
उपयोगकर्ता इवेंट्स
| इवेंट | ट्रिगर | उपयोग मामला |
|---|---|---|
user.created | नया उपयोगकर्ता पंजीकृत | सपोर्ट में स्वागत |
user.updated | उपयोगकर्ता प्रोफ़ाइल बदली | एट्रिब्यूट सिंक |
user.merged | उपयोगकर्ता मर्ज हुए | डिडुप्लीकेशन |
Satisfaction इवेंट्स
| इवेंट | ट्रिगर | उपयोग मामला |
|---|---|---|
satisfaction_rating.created | CSAT सबमिट हुआ | फ़ीडबैक processing |
satisfaction_rating.bad | नकारात्मक rating | Recovery outreach |
satisfaction_rating.good | सकारात्मक rating | Advocacy कैंपेन |
कोड उदाहरण
कनेक्टर प्रारंभ करें
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Zendeskawait tajo.connectors.connect('zendesk', { subdomain: 'yourcompany', apiToken: process.env.ZENDESK_API_TOKEN});उपयोगकर्ता और टिकट्स सिंक करें
// Full sync of users and ticket dataawait tajo.connectors.sync('zendesk', { type: 'full', resources: ['users', 'tickets', 'organizations'], since: '2023-01-01'});
// Check sync statusconst status = await tajo.connectors.status('zendesk');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// usersSynced: 8400,// ticketsSynced: 34200,// organizationsSynced: 1200// }Zendesk Webhooks हैंडल करें
app.post('/webhooks/zendesk', async (req, res) => { const signature = req.get('X-Zendesk-Webhook-Signature');
// Verify webhook signature if (!verifyZendeskSignature(req.body, signature)) { return res.status(401).send('Unauthorized'); }
await tajo.connectors.handleWebhook('zendesk', { type: req.body.type, ticketId: req.body.ticket_id, userId: req.body.user_id, payload: req.body });
res.status(200).send('OK');});दर सीमाएं
Zendesk दर सीमाएं प्लान के अनुसार भिन्न होती हैं:
| प्लान | दर सीमा | विवरण |
|---|---|---|
| Team | 200 अनुरोध/मिनट | प्रति API token |
| Professional | 400 अनुरोध/मिनट | प्रति API token |
| Enterprise | 700 अनुरोध/मिनट | प्रति API token |
| High Volume Add-on | 2,500 अनुरोध/मिनट | प्रति API token |
अतिरिक्त सीमाएं:
- Search API: anonymous के लिए 6 अनुरोध/मिनट, authenticated के लिए 100/मिनट
- Incremental exports: 10 अनुरोध/मिनट
- Batch API: प्रति बैच अनुरोध 100 records
- Webhook डिलीवरी: exponential backoff के साथ स्वचालित रीट्राई
दर सीमा हेडर्स
अपने API उपयोग को प्रबंधित करने के लिए X-Rate-Limit-Remaining और Retry-After हेडर्स की निगरानी करें।
समस्या निवारण
सामान्य समस्याएं
| समस्या | कारण | समाधान |
|---|---|---|
| 401 Unauthorized | अमान्य API token | Zendesk Admin में token पुनर्जनरेट करें |
| 403 Forbidden | अपर्याप्त अनुमतियां | agent या admin role आवश्यकताएं जांचें |
| उपयोगकर्ता सिंक नहीं हुआ | उपयोगकर्ता एक agent है, end-user नहीं | sync कॉन्फ़िगरेशन में role के अनुसार filter करें |
| Webhook प्राप्त नहीं हुआ | Trigger/target कॉन्फ़िगर नहीं | Zendesk Admin में webhook target सेट करें |
| Search खाली लौटा रहा | Indexing देरी | search index अपडेट के लिए 1-2 मिनट प्रतीक्षा करें |
डीबग मोड
विस्तृत लॉगिंग सक्षम करें:
connectors: zendesk: debug: true log_level: verbose log_webhooks: trueकनेक्शन परीक्षण करें
tajo connectors test zendesk# ✓ API connection successful# ✓ Users readable# ✓ Tickets readable# ✓ Organizations readable# ✓ Webhooks configuredसर्वोत्तम प्रथाएं
- incremental exports का उपयोग करें - बड़े पैमाने पर डेटा sync के लिए Incremental API का उपयोग करें
- केवल end-users को filter करें - Brevo कॉन्टैक्ट sync से agents और admins को बाहर करें
- CSAT डेटा सिंक करें - ग्राहक स्वास्थ्य सेगमेंटेशन के लिए संतुष्टि स्कोर का उपयोग करें
- organizations मैप करें - B2B मार्केटिंग कैंपेन के लिए organization डेटा का लाभ उठाएं
- webhook retries लागू करें - अस्थायी विफलताओं को gracefully हैंडल करें
- side-loading का उपयोग करें - अनुरोध गिनती कम करने के लिए API responses में संबंधित records शामिल करें
सुरक्षा
- API Token प्रमाणीकरण - admin email से जुड़ा token-आधारित एक्सेस
- OAuth 2.0 - scope नियंत्रण के साथ Token-आधारित delegated एक्सेस
- Webhook signing - webhook payloads के लिए HMAC सिग्नेचर सत्यापन
- TLS एन्क्रिप्शन - सभी API संचार HTTPS के माध्यम से एन्क्रिप्टेड
- IP whitelisting - IP range द्वारा API एक्सेस को प्रतिबंधित करें