Conector Zendesk

Conectați instanța Zendesk Support la Brevo prin Tajo pentru date unificate de suport al clienților, segmentare bazată pe tichete, scorare a satisfacției și automatizare de marketing declanșată de suport.

Prezentare generală

ProprietateValoare
PlatformăZendesk
CategorieSuport
Complexitate configurareMedie
Integrare oficialăDa
Date sincronizateTichete, Utilizatori, Organizații, Evenimente
URL de bază APIhttps://{subdomain}.zendesk.com/api/v2

Funcționalități

  • Sincronizare utilizatori - Sincronizați utilizatorii finali și agenții Zendesk cu contactele Brevo
  • Urmărire tichete - Sincronizați datele tichetelor pentru segmentare de marketing conștientă de suport
  • Mapare organizații - Asociați contactele cu organizațiile pentru fluxuri de lucru B2B
  • Scoruri de satisfacție - Sincronizați datele CSAT și NPS la atributele Brevo
  • Evenimente tichete - Urmăriți crearea, rezolvarea și escaladarea tichetelor pentru declanșatoare de automatizare
  • Integrare centru de ajutor - Urmăriți vizualizările articolelor și comportamentul de căutare
  • Suport multi-canal - Sincronizați date din canalele de e-mail, chat, voce și mesagerie
  • Câmpuri personalizate - Mapați câmpurile personalizate de tichete și utilizatori Zendesk la Brevo

Cerințe preliminare

Înainte de a începe, asigurați-vă că aveți:

  1. Un cont Zendesk Support (Team, Professional sau Enterprise)
  2. Acces de administrator la instanța Zendesk
  3. Token API sau aplicație OAuth configurată
  4. Un cont Brevo cu acces API
  5. Un cont Tajo

Autentificare

Autentificare cu token API

Utilizați autentificarea email/token pentru configurare rapidă.

Terminal window
curl https://{subdomain}.zendesk.com/api/v2/users.json \
-u {email}/token:{api_token} \
-H "Content-Type: application/json"

Generați un token API din Zendesk Admin > Apps and Integrations > APIs > Zendesk API.

OAuth 2.0

Utilizați OAuth pentru integrări multi-instanță cu acces delegat al utilizatorilor.

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

Scope-uri necesare

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)

Configurare

Configurare de bază

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

Mapare câmpuri

Mapați câmpurile utilizatorilor Zendesk la atributele de contact Brevo:

Mapări implicite

Parameter Type Description
email required
string

Adresa de e-mail a utilizatorului (identificator unic)

name optional
string

Nume complet, împărțit în FIRSTNAME/LASTNAME

phone optional
string

Mapează la atributul SMS pentru WhatsApp/SMS

organization_id optional
integer

Organizația asociată pentru mapare B2B

role optional
string

Rolul utilizatorului (end-user, agent, admin)

tags optional
array

Etichetele utilizatorului din Zendesk

ticket_restriction optional
string

Nivelul de acces la tichete

custom_fields optional
object

Valorile câmpurilor personalizate ale utilizatorului

Mapare câmpuri personalizate

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

Puncte finale API

API Tichete

MetodăPunct finalDescriere
GET/api/v2/ticketsListează tichetele
POST/api/v2/ticketsCreează un tichet
PUT/api/v2/tickets/{id}Actualizează un tichet
GET/api/v2/tickets/{id}Afișează un tichet
GET/api/v2/search.json?query={query}Caută tichete

API Utilizatori

MetodăPunct finalDescriere
GET/api/v2/usersListează utilizatorii
POST/api/v2/usersCreează un utilizator
PUT/api/v2/users/{id}Actualizează un utilizator
GET/api/v2/users/{id}Afișează un utilizator
GET/api/v2/users/search.json?query={query}Caută utilizatori

API Organizații

MetodăPunct finalDescriere
GET/api/v2/organizationsListează organizațiile
POST/api/v2/organizationsCreează o organizație
GET/api/v2/organizations/{id}/usersListează membrii organizației

API Ratinguri satisfacție

MetodăPunct finalDescriere
GET/api/v2/satisfaction_ratingsListează ratingurile de satisfacție
GET/api/v2/satisfaction_ratings/{id}Afișează un rating

Evenimente

Evenimente tichete

EvenimentDeclanșatorCaz de utilizare
ticket.createdTichet nou trimisConfirmare suport
ticket.updatedStatus tichet modificatNotificare status
ticket.solvedTichet marcat rezolvatDeclanșator sondaj CSAT
ticket.reopenedTichet rezolvat redeschisAlertă escaladare

Evenimente utilizatori

EvenimentDeclanșatorCaz de utilizare
user.createdUtilizator nou înregistratBun venit la suport
user.updatedProfil utilizator modificatSincronizare atribute
user.mergedUtilizatori combinațiDeduplicare

Evenimente satisfacție

EvenimentDeclanșatorCaz de utilizare
satisfaction_rating.createdCSAT trimisProcesare feedback
satisfaction_rating.badRating negativOutreach de recuperare
satisfaction_rating.goodRating pozitivCampanii de advocacy

Exemple de cod

Inițializare conector

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
});

Sincronizare utilizatori și tichete

// 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
// }

Gestionare webhook-uri 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');
});

Limite de rată

Limitele de rată Zendesk variază în funcție de plan:

PlanLimită de ratăDetalii
Team200 cereri/minutPer token API
Professional400 cereri/minutPer token API
Enterprise700 cereri/minutPer token API
High Volume Add-on2.500 cereri/minutPer token API

Limite suplimentare:

  • Search API: 6 cereri/minut pentru anonim, 100/minut pentru autentificat
  • Exporturi incrementale: 10 cereri/minut
  • Batch API: 100 înregistrări per cerere batch
  • Livrare webhook: Reîncercare automată cu backoff exponențial

Antete limită de rată

Monitorizați antetele X-Rate-Limit-Remaining și Retry-After pentru a gestiona utilizarea API.

Depanare

Probleme frecvente

ProblemăCauzăSoluție
401 NeautorizatToken API invalidRegenerați token-ul în Zendesk Admin
403 InterzisPermisiuni insuficienteVerificați cerințele de rol agent sau administrator
Utilizator nesincronizatUtilizatorul este agent, nu utilizator finalFiltrați după rol în configurația sincronizării
Webhook neprimitTrigger/target neconfiguratiConfigurați target-ul webhook în Zendesk Admin
Căutare returnând rezultate goaleÎntârziere indexareAșteptați 1-2 minute pentru actualizarea indexului de căutare

Modul de depanare

Activați jurnalizarea verbosă:

connectors:
zendesk:
debug: true
log_level: verbose
log_webhooks: true

Testare conexiune

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

Bune practici

  1. Utilizați exporturile incrementale - Utilizați API-ul Incremental pentru sincronizare de date la scară largă
  2. Filtrați numai utilizatorii finali - Excludeți agenții și administratorii din sincronizarea contactelor Brevo
  3. Sincronizați datele CSAT - Utilizați scorurile de satisfacție pentru segmentarea sănătății clienților
  4. Mapați organizațiile - Valorificați datele organizațiilor pentru campaniile de marketing B2B
  5. Implementați reîncercări webhook - Gestionați elegant eșecurile temporare
  6. Utilizați side-loading - Includeți înregistrările conexe în răspunsurile API pentru a reduce numărul de cereri

Securitate

  • Autentificare cu token API - Acces bazat pe token legat de e-mailul de administrator
  • OAuth 2.0 - Acces delegat bazat pe token cu controale de scope
  • Semnare webhook - Verificare semnătură HMAC pentru payload-urile webhook
  • Criptare TLS - Toate comunicațiile API criptate prin HTTPS
  • IP whitelisting - Restricționați accesul API pe interval IP

Resurse conexe

Subscribe to updates

developer-docs

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

auto-detect
Asistent AI

Bună! Întreabă-mă orice despre documentație.