Zendesk Connector
Poveži svojo instanco Zendesk Support z Brevo prek Tajo za enotne podatke o podpori strankam, segmentacijo na osnovi zahtevkov, ocenjevanje zadovoljstva in marketinško avtomatizacijo, ki jo sprožijo dogodki podpore.
Pregled
| Lastnost | Vrednost |
|---|---|
| Platforma | Zendesk |
| Kategorija | Support |
| Zahtevnost nastavitve | Srednja |
| Uradna integracija | Da |
| Sinhronizirani podatki | Zahtevki, uporabniki, organizacije, dogodki |
| Osnovni URL API | https://{subdomain}.zendesk.com/api/v2 |
Funkcionalnosti
- Sinhronizacija uporabnikov – sinhroniziraj končne uporabnike in agente Zendesk s stiki Brevo
- Sledenje zahtevkom – sinhroniziraj podatke zahtevkov za segmentacijo marketinga zavednega podpore
- Preslikava organizacij – povezi stike z organizacijami za B2B delovne tokove
- Ocene zadovoljstva – sinhroniziraj podatke CSAT in NPS v atribute Brevo
- Dogodki zahtevkov – sledi ustvarjanju, reševanju in eskalaciji zahtevkov za sprožilce avtomatizacij
- Integracija centra za pomoč – sledi ogledovanju člankov in iskalnemu vedenju
- Večkanalna podpora – sinhroniziraj podatke iz e-mail, klepet, glasovnih in sporočilnih kanalov
- Polja po meri – preslikaj polja zahtevkov in uporabnikov po meri Zendesk v Brevo
Predpogoji
Preden začneš, se prepričaj, da imaš:
- Račun Zendesk Support (Team, Professional ali Enterprise)
- Dostop administratorja do instance Zendesk
- Konfiguriran API žeton ali aplikacijo OAuth
- Brevo račun z dostopom do API
- Tajo račun
Avtentikacija
Avtentikacija z API žetonom
Za hitro nastavitev uporabi avtentikacijo z e-mailom/žetonom.
curl https://{subdomain}.zendesk.com/api/v2/users.json \ -u {email}/token:{api_token} \ -H "Content-Type: application/json"Ustvari API žeton v Zendesk Admin > Apps and Integrations > APIs > Zendesk API.
OAuth 2.0
Za integracije z več instancami z delegiranim dostopom uporabnikov.
# Authorization URLhttps://{subdomain}.zendesk.com/oauth/authorizations/new? response_type=code& client_id={client_id}& redirect_uri={redirect_uri}& scope=read%20writeZahtevani obsegi
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)Konfiguracija
Osnovna nastavitev
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: 32Preslikava polj
Preslikaj polja uporabnikov Zendesk v atribute stikov Brevo:
Privzete preslikave
| Parameter | Type | Description |
|---|---|---|
email required | string | E-mailni naslov uporabnika (enolični identifikator) |
name optional | string | Polno ime, razdeli v FIRSTNAME/LASTNAME |
phone optional | string | Preslika se v atribut SMS za WhatsApp/SMS |
organization_id optional | integer | Povezana organizacija za B2B preslikavo |
role optional | string | Vloga uporabnika (end-user, agent, admin) |
tags optional | array | Oznake uporabnika iz Zendesk |
ticket_restriction optional | string | Raven dostopa do zahtevkov |
custom_fields optional | object | Vrednosti polj po meri uporabnika |
Preslikava polj po meri
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_TIERKončne točke API
Ticketing API
| Metoda | Končna točka | Opis |
|---|---|---|
GET | /api/v2/tickets | Seznam zahtevkov |
POST | /api/v2/tickets | Ustvarjanje zahtevka |
PUT | /api/v2/tickets/{id} | Posodobi zahtevek |
GET | /api/v2/tickets/{id} | Prikaži zahtevek |
GET | /api/v2/search.json?query={query} | Iskanje zahtevkov |
Users API
| Metoda | Končna točka | Opis |
|---|---|---|
GET | /api/v2/users | Seznam uporabnikov |
POST | /api/v2/users | Ustvarjanje uporabnika |
PUT | /api/v2/users/{id} | Posodobi uporabnika |
GET | /api/v2/users/{id} | Prikaži uporabnika |
GET | /api/v2/users/search.json?query={query} | Iskanje uporabnikov |
Organizations API
| Metoda | Končna točka | Opis |
|---|---|---|
GET | /api/v2/organizations | Seznam organizacij |
POST | /api/v2/organizations | Ustvarjanje organizacije |
GET | /api/v2/organizations/{id}/users | Seznam članov organizacije |
Satisfaction Ratings API
| Metoda | Končna točka | Opis |
|---|---|---|
GET | /api/v2/satisfaction_ratings | Seznam ocen zadovoljstva |
GET | /api/v2/satisfaction_ratings/{id} | Prikaži oceno |
Dogodki
Dogodki zahtevkov
| Dogodek | Sprožilec | Primer uporabe |
|---|---|---|
ticket.created | Oddан nov zahtevek | Potrditev podpore |
ticket.updated | Spremenjen status zahtevka | Obvestilo o statusu |
ticket.solved | Zahtevek označen kot rešen | Sprožitev ankete CSAT |
ticket.reopened | Rešen zahtevek znova odprt | Opozorilo o eskalaciji |
Dogodki uporabnikov
| Dogodek | Sprožilec | Primer uporabe |
|---|---|---|
user.created | Registriran nov uporabnik | Dobrodošlica v podpori |
user.updated | Spremenjen profil uporabnika | Sinhronizacija atributov |
user.merged | Združeni uporabniki | Deduplikacija |
Dogodki zadovoljstva
| Dogodek | Sprožilec | Primer uporabe |
|---|---|---|
satisfaction_rating.created | Oddana ocena CSAT | Obdelava povratnih informacij |
satisfaction_rating.bad | Negativna ocena | Kontakt za odpravo težave |
satisfaction_rating.good | Pozitivna ocena | Kampanje zagovorništva |
Primeri kode
Inicializacija konektorja
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});Sinhronizacija uporabnikov in zahtevkov
// 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// }Obravnava webhooks Zendesk
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');});Omejitve hitrosti
Omejitve hitrosti Zendesk se razlikujejo glede na plan:
| Plan | Omejitev hitrosti | Podrobnosti |
|---|---|---|
| Team | 200 zahtevkov/minuto | Na API žeton |
| Professional | 400 zahtevkov/minuto | Na API žeton |
| Enterprise | 700 zahtevkov/minuto | Na API žeton |
| High Volume Add-on | 2.500 zahtevkov/minuto | Na API žeton |
Dodatne omejitve:
- Search API: 6 zahtevkov/minuto za anonimne, 100/minuto za avtenticirane
- Postopni izvozi: 10 zahtevkov/minuto
- Batch API: 100 zapisov na paketni zahtevek
- Dostava webhooks: Samodejni ponovni poskus z eksponentnim odlogom
Glave omejitve hitrosti
Sprljuj glavi X-Rate-Limit-Remaining in Retry-After za upravljanje porabe API.
Odpravljanje težav
Pogoste težave
| Težava | Vzrok | Rešitev |
|---|---|---|
| 401 Unauthorized | Neveljaven API žeton | Znova ustvari žeton v Zendesk Admin |
| 403 Forbidden | Nezadostna dovoljenja | Preveri zahteve vloge agenta ali administratorja |
| Uporabnik ni sinhroniziran | Uporabnik je agent, ne končni uporabnik | Filtriraj po vlogi v konfiguraciji sinhronizacije |
| Webhook ni prejet | Sprožilec/cilj ni konfiguriran | Nastavi ciljno točko webhooks v Zendesk Admin |
| Iskanje vrača prazno | Zamuda pri indeksiranju | Počakaj 1–2 minuti za posodobitev indeksa iskanja |
Način odpravljanja napak
Omogoči podrobno beleženje:
connectors: zendesk: debug: true log_level: verbose log_webhooks: truePreizkus povezave
tajo connectors test zendesk# ✓ API connection successful# ✓ Users readable# ✓ Tickets readable# ✓ Organizations readable# ✓ Webhooks configuredNajboljše prakse
- Uporabi postopne izvoze – za obsežno sinhronizacijo podatkov uporabi Incremental API
- Filtriraj samo končne uporabnike – iz sinhronizacije stikov Brevo izvzemi agente in administratorje
- Sinhroniziraj podatke CSAT – z ocenami zadovoljstva segmentiraj zdravje strank
- Preslikaj organizacije – podatke organizacij izkoristi za B2B marketinške kampanje
- Implementiraj ponovne poskuse webhooks – elegantno obravnavaj začasne napake
- Uporabi stransko nalaganje – vključi sorodne zapise v odgovore API za zmanjšanje števila zahtevkov
Varnost
- Avtentikacija z API žetonom – dostop na osnovi žetonov, vezan na e-mail administratorja
- OAuth 2.0 – delegiran dostop na osnovi žetonov z nadzori obsegov
- Podpisovanje webhooks – preverjanje podpisa HMAC za koristne tovore webhooks
- TLS šifriranje – vsa komunikacija API šifrirana prek HTTPS
- Dovoljenje IP – omeji dostop API po obsegu IP