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

SvojstvoVrijednost
PlatformaZendesk
KategorijaPodrška
Složenost postavljanjaSrednje
Službena integracijaDa
Sinkronizirani podaciZahtjevi, Korisnici, Organizacije, Događaji
Osnovni URL API-jahttps://{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:

  1. Zendesk Support račun (Team, Professional ili Enterprise)
  2. Administratorski pristup vašoj Zendesk instanci
  3. Konfiguriran API token ili OAuth aplikacija
  4. Brevo račun s API pristupom
  5. Tajo račun

Autentifikacija

Autentifikacija API tokenom

Koristite autentifikaciju e-mailom/tokenom za brzo postavljanje.

Terminal window
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.

Terminal window
# URL za autorizaciju
https://{subdomain}.zendesk.com/oauth/authorizations/new?
response_type=code&
client_id={client_id}&
redirect_uri={redirect_uri}&
scope=read%20write

Potrebni opsezi

read # Pristup čitanju svim resursima
write # Pristup pisanju svim resursima
tickets: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: 32

Mapiranje 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_TIER

API krajnje točke

API za zahtjeve

MetodaKrajnja točkaOpis
GET/api/v2/ticketsPopis zahtjeva
POST/api/v2/ticketsKreiraj 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

MetodaKrajnja točkaOpis
GET/api/v2/usersPopis korisnika
POST/api/v2/usersKreiraj 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

MetodaKrajnja točkaOpis
GET/api/v2/organizationsPopis organizacija
POST/api/v2/organizationsKreiraj organizaciju
GET/api/v2/organizations/{id}/usersPopis članova organizacije

API ocjena zadovoljstva

MetodaKrajnja točkaOpis
GET/api/v2/satisfaction_ratingsPopis ocjena zadovoljstva
GET/api/v2/satisfaction_ratings/{id}Prikaži ocjenu

Događaji

Događaji zahtjeva

DogađajOkidačSlučaj upotrebe
ticket.createdPodnesen novi zahtjevPotvrda podrške
ticket.updatedPromijenjen status zahtjevaObavijest o statusu
ticket.solvedZahtjev označen kao riješenOkidač CSAT ankete
ticket.reopenedRiješeni zahtjev ponovo otvorenUpozorenje za eskalaciju

Korisnički događaji

DogađajOkidačSlučaj upotrebe
user.createdRegistriran novi korisnikDobrodošlica u podršku
user.updatedPromijenjen korisnički profilSinkronizacija atributa
user.mergedKorisnici spojeniDeduplikacija

Događaji zadovoljstva

DogađajOkidačSlučaj upotrebe
satisfaction_rating.createdCSAT dostavljenObrada povratnih informacija
satisfaction_rating.badNegativna ocjenaOutreach za oporavak
satisfaction_rating.goodPozitivna ocjenaKampanje 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 Zendesk
await tajo.connectors.connect('zendesk', {
subdomain: 'yourcompany',
apiToken: process.env.ZENDESK_API_TOKEN
});

Sinkronizacija korisnika i zahtjeva

// Potpuna sinkronizacija korisnika i podataka o zahtjevima
await tajo.connectors.sync('zendesk', {
type: 'full',
resources: ['users', 'tickets', 'organizations'],
since: '2023-01-01'
});
// Provjera statusa sinkronizacije
const 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:

PlanOgraničenje brzineDetalji
Team200 zahtjeva/minutaPo API tokenu
Professional400 zahtjeva/minutaPo API tokenu
Enterprise700 zahtjeva/minutaPo API tokenu
High Volume Add-on2.500 zahtjeva/minutaPo 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

ProblemUzrokRješenje
401 UnauthorizedNevažeći API tokenRegenerirajte token u Zendesk administraciji
403 ForbiddenNedovoljne dozvoleProvjerite zahtjeve za ulogu agenta ili administratora
Korisnik nije sinkroniziranKorisnik je agent, ne krajnji korisnikFiltrirajte po ulozi u konfiguraciji sinkronizacije
Webhook nije primljenOkidač/cilj nije konfiguriranPostavite cilj webhookova u Zendesk administraciji
Pretraživanje vraća praznoKašnjenje indeksiranjaPrič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: true

Testiranje veze

Terminal window
tajo connectors test zendesk
# ✓ API veza uspješna
# ✓ Korisnici čitljivi
# ✓ Zahtjevi čitljivi
# ✓ Organizacije čitljive
# ✓ Webhookovi konfigurirani

Preporučene prakse

  1. Koristite inkrementalne izvoze - Koristite Incremental API za sinkronizaciju podataka velikog opsega
  2. Filtrirajte samo krajnje korisnike - Isključite agente i administratore iz sinkronizacije Brevo kontakata
  3. Sinkronizirajte CSAT podatke - Koristite ocjene zadovoljstva za segmentaciju zdravlja korisnika
  4. Mapirajte organizacije - Iskoristite podatke o organizacijama za B2B marketinške kampanje
  5. Implementirajte ponovne pokušaje webhookova - Graciozno rukujte privremenim kvarovima
  6. 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

Povezani resursi

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
AI asistent

Bok! Pitajte me o dokumentaciji.