Zendesk Bağlayıcısı
Birleşik müşteri destek verileri, talep tabanlı segmentasyon, memnuniyet puanlaması ve destek tetikli pazarlama otomasyonu için Zendesk Support örneğinizi Tajo aracılığıyla Brevo’ya bağlayın.
Genel Bakış
| Özellik | Değer |
|---|---|
| Platform | Zendesk |
| Kategori | Destek |
| Kurulum Karmaşıklığı | Orta |
| Resmi Entegrasyon | Evet |
| Senkronize Edilen Veri | Talepler, Kullanıcılar, Kuruluşlar, Olaylar |
| API Temel URL’si | https://{subdomain}.zendesk.com/api/v2 |
Özellikler
- Kullanıcı senkronizasyonu - Zendesk son kullanıcılarını ve temsilcilerini Brevo kişileriyle senkronize edin
- Talep takibi - Destek farkındalığı olan pazarlama segmentasyonu için talep verilerini senkronize edin
- Kuruluş eşleme - B2B iş akışları için kişileri kuruluşlarla ilişkilendirin
- Memnuniyet puanları - CSAT ve NPS verilerini Brevo özniteliklerine senkronize edin
- Talep olayları - Otomasyon tetikleyicileri için talep oluşturma, çözüm ve eskalasyonu takip edin
- Yardım merkezi entegrasyonu - Makale görüntüleme ve arama davranışını takip edin
- Çok kanallı destek - E-posta, sohbet, ses ve mesajlaşma kanallarından gelen verileri senkronize edin
- Özel alanlar - Zendesk özel talep ve kullanıcı alanlarını Brevo’ya eşleyin
Ön Koşullar
Başlamadan önce sahip olmanız gerekenler:
- Bir Zendesk Support hesabı (Team, Professional veya Enterprise)
- Zendesk örneğinize yönetici erişimi
- API belirteci veya OAuth uygulaması yapılandırılmış
- API erişimi olan bir Brevo hesabı
- Bir Tajo hesabı
Kimlik Doğrulama
API Belirteç Kimlik Doğrulaması
Hızlı kurulum için e-posta/belirteç kimlik doğrulaması kullanın.
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’den bir API belirteci oluşturun.
OAuth 2.0
Delege kullanıcı erişimine sahip çoklu örnek entegrasyonları için OAuth kullanın.
# Authorization URLhttps://{subdomain}.zendesk.com/oauth/authorizations/new? response_type=code& client_id={client_id}& redirect_uri={redirect_uri}& scope=read%20writeGerekli Kapsamlar
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)Yapılandırma
Temel Kurulum
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: 32Alan Eşleme
Zendesk kullanıcı alanlarını Brevo kişi özniteliklerine eşleyin:
Varsayılan Eşlemeler
| Parameter | Type | Description |
|---|---|---|
email required | string | Kullanıcı e-posta adresi (benzersiz tanımlayıcı) |
name optional | string | Tam ad, FIRSTNAME/LASTNAME olarak bölünür |
phone optional | string | WhatsApp/SMS için SMS özniteliğine eşlenir |
organization_id optional | integer | B2B eşlemesi için ilişkili kuruluş |
role optional | string | Kullanıcı rolü (end-user, agent, admin) |
tags optional | array | Zendesk'ten kullanıcı etiketleri |
ticket_restriction optional | string | Talep erişim seviyesi |
custom_fields optional | object | Özel kullanıcı alan değerleri |
Özel Alan Eşleme
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 Uç Noktaları
Ticketing API
| Yöntem | Uç Nokta | Açıklama |
|---|---|---|
GET | /api/v2/tickets | Talepleri listele |
POST | /api/v2/tickets | Bir talep oluştur |
PUT | /api/v2/tickets/{id} | Bir talebi güncelle |
GET | /api/v2/tickets/{id} | Bir talebi göster |
GET | /api/v2/search.json?query={query} | Talepleri ara |
Users API
| Yöntem | Uç Nokta | Açıklama |
|---|---|---|
GET | /api/v2/users | Kullanıcıları listele |
POST | /api/v2/users | Bir kullanıcı oluştur |
PUT | /api/v2/users/{id} | Bir kullanıcıyı güncelle |
GET | /api/v2/users/{id} | Bir kullanıcıyı göster |
GET | /api/v2/users/search.json?query={query} | Kullanıcıları ara |
Organizations API
| Yöntem | Uç Nokta | Açıklama |
|---|---|---|
GET | /api/v2/organizations | Kuruluşları listele |
POST | /api/v2/organizations | Bir kuruluş oluştur |
GET | /api/v2/organizations/{id}/users | Kuruluş üyelerini listele |
Satisfaction Ratings API
| Yöntem | Uç Nokta | Açıklama |
|---|---|---|
GET | /api/v2/satisfaction_ratings | Memnuniyet puanlarını listele |
GET | /api/v2/satisfaction_ratings/{id} | Bir puanı göster |
Olaylar
Talep Olayları
| Olay | Tetikleyici | Kullanım Alanı |
|---|---|---|
ticket.created | Yeni talep gönderildi | Destek onayı |
ticket.updated | Talep durumu değişti | Durum bildirimi |
ticket.solved | Talep çözüldü olarak işaretlendi | CSAT anket tetikleyicisi |
ticket.reopened | Çözülmüş talep yeniden açıldı | Eskalasyon uyarısı |
Kullanıcı Olayları
| Olay | Tetikleyici | Kullanım Alanı |
|---|---|---|
user.created | Yeni kullanıcı kaydoldu | Destek karşılaması |
user.updated | Kullanıcı profili değişti | Öznitelik senkronizasyonu |
user.merged | Kullanıcılar birleştirildi | Tekilleştirme |
Memnuniyet Olayları
| Olay | Tetikleyici | Kullanım Alanı |
|---|---|---|
satisfaction_rating.created | CSAT gönderildi | Geri bildirim işleme |
satisfaction_rating.bad | Olumsuz puan | Kurtarma iletişimi |
satisfaction_rating.good | Olumlu puan | Savunuculuk kampanyaları |
Kod Örnekleri
Bağlayıcıyı Başlat
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});Kullanıcıları ve Talepleri Senkronize Et
// 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 Webhook’larını İşle
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');});Hız Limitleri
Zendesk hız limitleri plana göre değişir:
| Plan | Hız Limiti | Detaylar |
|---|---|---|
| Team | 200 istek/dakika | API belirteci başına |
| Professional | 400 istek/dakika | API belirteci başına |
| Enterprise | 700 istek/dakika | API belirteci başına |
| High Volume Add-on | 2.500 istek/dakika | API belirteci başına |
Ek limitler:
- Search API: Anonim için 6 istek/dakika, kimlik doğrulamalı için 100/dakika
- Artımlı dışa aktarmalar: 10 istek/dakika
- Batch API: Toplu istek başına 100 kayıt
- Webhook teslimatı: Üstel geri çekilme ile otomatik yeniden deneme
Hız Limit Başlıkları
API kullanımınızı yönetmek için X-Rate-Limit-Remaining ve Retry-After başlıklarını izleyin.
Sorun Giderme
Sık Karşılaşılan Sorunlar
| Sorun | Neden | Çözüm |
|---|---|---|
| 401 Unauthorized | Geçersiz API belirteci | Zendesk Admin’de belirteci yeniden oluşturun |
| 403 Forbidden | Yetersiz izinler | Temsilci veya yönetici rol gereksinimlerini kontrol edin |
| Kullanıcı senkronize edilmiyor | Kullanıcı bir temsilci, son kullanıcı değil | Senkronizasyon yapılandırmasında role göre filtreleyin |
| Webhook alınmıyor | Tetikleyici/hedef yapılandırılmadı | Zendesk Admin’de webhook hedefi kurun |
| Arama boş döndürüyor | İndeksleme gecikmesi | Arama indeksi güncellemesi için 1-2 dakika bekleyin |
Hata Ayıklama Modu
Ayrıntılı günlüklemeyi etkinleştirin:
connectors: zendesk: debug: true log_level: verbose log_webhooks: trueBağlantıyı Test Et
tajo connectors test zendesk# ✓ API connection successful# ✓ Users readable# ✓ Tickets readable# ✓ Organizations readable# ✓ Webhooks configuredEn İyi Uygulamalar
- Artımlı dışa aktarmaları kullanın - Büyük ölçekli veri senkronizasyonu için Incremental API’yi kullanın
- Yalnızca son kullanıcıları filtreleyin - Brevo kişi senkronizasyonundan temsilcileri ve yöneticileri hariç tutun
- CSAT verilerini senkronize edin - Müşteri sağlığı segmentasyonu için memnuniyet puanlarını kullanın
- Kuruluşları eşleyin - B2B pazarlama kampanyaları için kuruluş verilerinden yararlanın
- Webhook yeniden denemelerini uygulayın - Geçici hataları zarif bir şekilde yönetin
- Side-loading kullanın - İstek sayısını azaltmak için API yanıtlarına ilgili kayıtları dahil edin
Güvenlik
- API Belirteç Kimlik Doğrulaması - Yönetici e-postasına bağlı belirteç tabanlı erişim
- OAuth 2.0 - Kapsam kontrolleriyle belirteç tabanlı delege erişim
- Webhook imzalama - Webhook yükleri için HMAC imza doğrulaması
- TLS şifrelemesi - Tüm API iletişimi HTTPS aracılığıyla şifrelenir
- IP beyaz listesi - API erişimini IP aralığına göre kısıtlayın