Zendesk कनेक्टर

एकीकृत ग्राहक सपोर्ट डेटा, टिकट-आधारित सेगमेंटेशन, संतुष्टि स्कोरिंग, और सपोर्ट-ट्रिगर्ड मार्केटिंग ऑटोमेशन के लिए अपने Zendesk Support instance को Tajo के माध्यम से Brevo से कनेक्ट करें।

अवलोकन

गुणमान
प्लेटफ़ॉर्मZendesk
श्रेणीSupport
सेटअप जटिलतामध्यम
आधिकारिक इंटीग्रेशनहां
सिंक किया गया डेटाटिकट्स, उपयोगकर्ता, Organizations, इवेंट्स
API Base URLhttps://{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 में मैप करें

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

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

  1. एक Zendesk Support खाता (Team, Professional, या Enterprise)
  2. आपके Zendesk instance तक admin एक्सेस
  3. कॉन्फ़िगर किया गया API token या OAuth ऐप
  4. API एक्सेस वाला एक Brevo खाता
  5. एक Tajo खाता

प्रमाणीकरण

API Token प्रमाणीकरण

त्वरित सेटअप के लिए email/token प्रमाणीकरण का उपयोग करें।

Terminal window
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 का उपयोग करें।

Terminal window
# Authorization URL
https://{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 resources
write # Write access to all resources
tickets: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_TIER

API एंडपॉइंट्स

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/organizationsorganizations सूचीबद्ध करें
POST/api/v2/organizationsएक organization बनाएं
GET/api/v2/organizations/{id}/usersorganization सदस्य सूचीबद्ध करें

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.reopenedSolved टिकट reopenedEscalation अलर्ट

उपयोगकर्ता इवेंट्स

इवेंटट्रिगरउपयोग मामला
user.createdनया उपयोगकर्ता पंजीकृतसपोर्ट में स्वागत
user.updatedउपयोगकर्ता प्रोफ़ाइल बदलीएट्रिब्यूट सिंक
user.mergedउपयोगकर्ता मर्ज हुएडिडुप्लीकेशन

Satisfaction इवेंट्स

इवेंटट्रिगरउपयोग मामला
satisfaction_rating.createdCSAT सबमिट हुआफ़ीडबैक processing
satisfaction_rating.badनकारात्मक ratingRecovery outreach
satisfaction_rating.goodसकारात्मक ratingAdvocacy कैंपेन

कोड उदाहरण

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

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Connect Zendesk
await tajo.connectors.connect('zendesk', {
subdomain: 'yourcompany',
apiToken: process.env.ZENDESK_API_TOKEN
});

उपयोगकर्ता और टिकट्स सिंक करें

// Full sync of users and ticket data
await tajo.connectors.sync('zendesk', {
type: 'full',
resources: ['users', 'tickets', 'organizations'],
since: '2023-01-01'
});
// Check sync status
const 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 दर सीमाएं प्लान के अनुसार भिन्न होती हैं:

प्लानदर सीमाविवरण
Team200 अनुरोध/मिनटप्रति API token
Professional400 अनुरोध/मिनटप्रति API token
Enterprise700 अनुरोध/मिनटप्रति API token
High Volume Add-on2,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 tokenZendesk 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

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

Terminal window
tajo connectors test zendesk
# ✓ API connection successful
# ✓ Users readable
# ✓ Tickets readable
# ✓ Organizations readable
# ✓ Webhooks configured

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

  1. incremental exports का उपयोग करें - बड़े पैमाने पर डेटा sync के लिए Incremental API का उपयोग करें
  2. केवल end-users को filter करें - Brevo कॉन्टैक्ट sync से agents और admins को बाहर करें
  3. CSAT डेटा सिंक करें - ग्राहक स्वास्थ्य सेगमेंटेशन के लिए संतुष्टि स्कोर का उपयोग करें
  4. organizations मैप करें - B2B मार्केटिंग कैंपेन के लिए organization डेटा का लाभ उठाएं
  5. webhook retries लागू करें - अस्थायी विफलताओं को gracefully हैंडल करें
  6. 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 एक्सेस को प्रतिबंधित करें

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

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.