Zendesk Konektor
Povežite vašu Zendesk Support instancu s Brevom putem Taja za ujedinjene podatke korisničke podrške, segmentaciju temeljenu na zahtjevima, ocjenjivanje zadovoljstva i marketinšku automatizaciju pokretanu podrškom.
Pregled
| Svojstvo | Vrijednost |
|---|---|
| Platforma | Zendesk |
| Kategorija | Podrška |
| Složenost postavljanja | Srednje |
| Službena integracija | Da |
| Sinkronizirani podaci | Zahtjevi, Korisnici, Organizacije, Događaji |
| Osnovni URL API-ja | https://{subdomain}.zendesk.com/api/v2 |
Značajke
- Sinkronizacija korisnika - Sinkronizacija Zendesk krajnjih korisnika i agenata s Brevo kontaktima
- Praćenje zahtjeva - Sinkronizacija podataka o zahtjevima za segmentaciju marketinga svjesnog podrške
- Mapiranje organizacija - Povezivanje kontakata s organizacijama za B2B tijekove rada
- Ocjene zadovoljstva - Sinkronizacija CSAT i NPS podataka na Brevo atribute
- Događaji zahtjeva - Praćenje kreiranja, rješavanja i eskalacije zahtjeva za okidače automatizacije
- Integracija centra za pomoć - Praćenje pregledavanja članaka i ponašanja pretraživanja
- Višekanalna podrška - Sinkronizacija podataka iz e-mail, chat, glasovnih i messaging kanala
- Prilagođena polja - Mapiranje Zendesk prilagođenih polja zahtjeva i korisnika na Brevo
Preduvjeti
Prije nego što počnete, osigurajte da imate:
- Zendesk Support račun (Team, Professional ili Enterprise)
- Administratorski pristup vašoj Zendesk instanci
- Konfiguriran API token ili OAuth aplikacija
- Brevo račun s API pristupom
- Tajo račun
Autentifikacija
Autentifikacija API tokenom
Koristite autentifikaciju e-mailom/tokenom za brzo postavljanje.
curl https://{subdomain}.zendesk.com/api/v2/users.json \ -u {email}/token:{api_token} \ -H "Content-Type: application/json"Generirajte API token iz Zendesk Administracije > Aplikacije i integracije > API-ji > Zendesk API.
OAuth 2.0
Koristite OAuth za integracije s više instanci s delegiranim korisničkim pristupom.
# URL za autorizacijuhttps://{subdomain}.zendesk.com/oauth/authorizations/new? response_type=code& client_id={client_id}& redirect_uri={redirect_uri}& scope=read%20writePotrebni opsezi
read # Pristup čitanju svim resursimawrite # Pristup pisanju svim resursimatickets:read # Čitanje zahtjeva (granularno)users:read # Čitanje korisnika (granularno)organizations:read # Čitanje organizacija (granularno)Konfiguracija
Osnovna konfiguracija
connectors: zendesk: enabled: true subdomain: "yourcompany" auth: api_token: "${ZENDESK_API_TOKEN}"
# Opcije sinkronizacije podataka sync: users: true tickets: true organizations: true satisfaction_ratings: true
# Dodjela Brevo popisa lists: all_customers: 30 active_tickets: 31 satisfied_customers: 32Mapiranje polja
Mapirajte Zendesk korisnička polja na Brevo atribute kontakata:
Zadana mapiranja
| Parameter | Type | Description |
|---|---|---|
email required | string | E-mail adresa korisnika (jedinstveni identifikator) |
name optional | string | Puno ime, podijeljeno na FIRSTNAME/LASTNAME |
phone optional | string | Mapira se na SMS atribut za WhatsApp/SMS |
organization_id optional | integer | Povezana organizacija za B2B mapiranje |
role optional | string | Uloga korisnika (krajnji korisnik, agent, administrator) |
tags optional | array | Oznake korisnika iz Zendeska |
ticket_restriction optional | string | Razina pristupa zahtjevima |
custom_fields optional | object | Vrijednosti prilagođenih korisničkih polja |
Mapiranje prilagođenih polja
field_mapping: # Standardna polja email: email name: FULLNAME phone: SMS
# Metrike podrške open_tickets: OPEN_TICKETS total_tickets: TOTAL_TICKETS avg_satisfaction: CSAT_SCORE last_ticket_date: LAST_SUPPORT_DATE
# Polja organizacije organization.name: COMPANY_NAME organization.tags: COMPANY_TAGS
# Prilagođena polja user_fields.customer_type: CUSTOMER_TYPE user_fields.account_tier: ACCOUNT_TIERAPI krajnje točke
API za zahtjeve
| Metoda | Krajnja točka | Opis |
|---|---|---|
GET | /api/v2/tickets | Popis zahtjeva |
POST | /api/v2/tickets | Kreiraj zahtjev |
PUT | /api/v2/tickets/{id} | Ažuriraj zahtjev |
GET | /api/v2/tickets/{id} | Prikaži zahtjev |
GET | /api/v2/search.json?query={query} | Pretraži zahtjeve |
API korisnika
| Metoda | Krajnja točka | Opis |
|---|---|---|
GET | /api/v2/users | Popis korisnika |
POST | /api/v2/users | Kreiraj korisnika |
PUT | /api/v2/users/{id} | Ažuriraj korisnika |
GET | /api/v2/users/{id} | Prikaži korisnika |
GET | /api/v2/users/search.json?query={query} | Pretraži korisnike |
API organizacija
| Metoda | Krajnja točka | Opis |
|---|---|---|
GET | /api/v2/organizations | Popis organizacija |
POST | /api/v2/organizations | Kreiraj organizaciju |
GET | /api/v2/organizations/{id}/users | Popis članova organizacije |
API ocjena zadovoljstva
| Metoda | Krajnja točka | Opis |
|---|---|---|
GET | /api/v2/satisfaction_ratings | Popis ocjena zadovoljstva |
GET | /api/v2/satisfaction_ratings/{id} | Prikaži ocjenu |
Događaji
Događaji zahtjeva
| Događaj | Okidač | Slučaj upotrebe |
|---|---|---|
ticket.created | Podnesen novi zahtjev | Potvrda podrške |
ticket.updated | Promijenjen status zahtjeva | Obavijest o statusu |
ticket.solved | Zahtjev označen kao riješen | Okidač CSAT ankete |
ticket.reopened | Riješeni zahtjev ponovo otvoren | Upozorenje za eskalaciju |
Korisnički događaji
| Događaj | Okidač | Slučaj upotrebe |
|---|---|---|
user.created | Registriran novi korisnik | Dobrodošlica u podršku |
user.updated | Promijenjen korisnički profil | Sinkronizacija atributa |
user.merged | Korisnici spojeni | Deduplikacija |
Događaji zadovoljstva
| Događaj | Okidač | Slučaj upotrebe |
|---|---|---|
satisfaction_rating.created | CSAT dostavljen | Obrada povratnih informacija |
satisfaction_rating.bad | Negativna ocjena | Outreach za oporavak |
satisfaction_rating.good | Pozitivna ocjena | Kampanje zagovaranja |
Primjeri koda
Inicijalizacija konektora
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Povežite Zendeskawait tajo.connectors.connect('zendesk', { subdomain: 'yourcompany', apiToken: process.env.ZENDESK_API_TOKEN});Sinkronizacija korisnika i zahtjeva
// Potpuna sinkronizacija korisnika i podataka o zahtjevimaawait tajo.connectors.sync('zendesk', { type: 'full', resources: ['users', 'tickets', 'organizations'], since: '2023-01-01'});
// Provjera statusa sinkronizacijeconst status = await tajo.connectors.status('zendesk');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// usersSynced: 8400,// ticketsSynced: 34200,// organizationsSynced: 1200// }Rukovanje Zendesk webhookovima
app.post('/webhooks/zendesk', async (req, res) => { const signature = req.get('X-Zendesk-Webhook-Signature');
// Verificirajte potpis webhookova 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');});Ograničenja brzine
Zendesk ograničenja brzine variraju prema planu:
| Plan | Ograničenje brzine | Detalji |
|---|---|---|
| Team | 200 zahtjeva/minuta | Po API tokenu |
| Professional | 400 zahtjeva/minuta | Po API tokenu |
| Enterprise | 700 zahtjeva/minuta | Po API tokenu |
| High Volume Add-on | 2.500 zahtjeva/minuta | Po API tokenu |
Dodatna ograničenja:
- Search API: 6 zahtjeva/minuta za anonimne, 100/minuta za autentificirane
- Inkrementalni izvozi: 10 zahtjeva/minuta
- Batch API: 100 zapisa po skupnom zahtjevu
- Dostava webhookova: Automatski ponovni pokušaj s eksponencijalnim povratkom
Zaglavlja ograničenja brzine
Pratite zaglavlja X-Rate-Limit-Remaining i Retry-After za upravljanje korištenjem API-ja.
Rješavanje problema
Uobičajeni problemi
| Problem | Uzrok | Rješenje |
|---|---|---|
| 401 Unauthorized | Nevažeći API token | Regenerirajte token u Zendesk administraciji |
| 403 Forbidden | Nedovoljne dozvole | Provjerite zahtjeve za ulogu agenta ili administratora |
| Korisnik nije sinkroniziran | Korisnik je agent, ne krajnji korisnik | Filtrirajte po ulozi u konfiguraciji sinkronizacije |
| Webhook nije primljen | Okidač/cilj nije konfiguriran | Postavite cilj webhookova u Zendesk administraciji |
| Pretraživanje vraća prazno | Kašnjenje indeksiranja | Pričekajte 1-2 minute za ažuriranje indeksa pretraživanja |
Način otklanjanja grešaka
Omogućite detaljno zapisivanje:
connectors: zendesk: debug: true log_level: verbose log_webhooks: trueTestiranje veze
tajo connectors test zendesk# ✓ API veza uspješna# ✓ Korisnici čitljivi# ✓ Zahtjevi čitljivi# ✓ Organizacije čitljive# ✓ Webhookovi konfiguriraniPreporučene prakse
- Koristite inkrementalne izvoze - Koristite Incremental API za sinkronizaciju podataka velikog opsega
- Filtrirajte samo krajnje korisnike - Isključite agente i administratore iz sinkronizacije Brevo kontakata
- Sinkronizirajte CSAT podatke - Koristite ocjene zadovoljstva za segmentaciju zdravlja korisnika
- Mapirajte organizacije - Iskoristite podatke o organizacijama za B2B marketinške kampanje
- Implementirajte ponovne pokušaje webhookova - Graciozno rukujte privremenim kvarovima
- Koristite side-loading - Uključite povezane zapise u API odgovore za smanjenje broja zahtjeva
Sigurnost
- Autentifikacija API tokenom - Pristup temeljen na tokenu vezan uz administratorski e-mail
- OAuth 2.0 - Delegirani pristup temeljen na tokenu s kontrolama opsega
- Potpisivanje webhookova - HMAC provjera potpisa za webhook opterećenja
- TLS šifriranje - Sva API komunikacija šifrirana putem HTTPS-a
- Lista dopuštenih IP-ova - Ograničite API pristup prema rasponu IP-ova