Zendesk konektor

Prepoj svoju inštanciu Zendesk Support s Brevo cez Tajo pre zjednotené dáta zákazníckej podpory, segmentáciu na základe ticketov, skórovanie spokojnosti a marketingovú automatizáciu spúšťanú podporou.

Prehľad

VlastnosťHodnota
PlatformaZendesk
KategóriaPodpora
Zložitosť nastaveniaStredná
Oficiálna integráciaÁno
Synchronizované dátaTickety, Používatelia, Organizácie, Udalosti
API Base URLhttps://{subdomain}.zendesk.com/api/v2

Funkcie

  • Synchronizácia používateľov - Synchronizuj koncových používateľov a agentov Zendesk s kontaktmi Brevo
  • Sledovanie ticketov - Synchronizuj dáta ticketov pre marketingovú segmentáciu uvedomujúcu si podporu
  • Mapovanie organizácií - Asociuj kontakty s organizáciami pre B2B workflowy
  • Skóre spokojnosti - Synchronizuj dáta CSAT a NPS do atribútov Brevo
  • Udalosti ticketov - Sleduj vytvorenie, riešenie a eskaláciu ticketov pre triggery automatizácie
  • Integrácia Help Center - Sleduj zobrazenia článkov a vyhľadávacie správanie
  • Viackanálová podpora - Synchronizuj dáta z e-mailových, chatových, hlasových a správových kanálov
  • Vlastné polia - Mapuj vlastné polia ticketov a používateľov Zendesk do Brevo

Predpoklady

Predtým, než začneš, uisti sa, že máš:

  1. Zendesk Support účet (Team, Professional alebo Enterprise)
  2. Prístup administrátora k svojej inštancii Zendesk
  3. Nakonfigurovaný API token alebo OAuth aplikáciu
  4. Brevo účet s API prístupom
  5. Tajo účet

Autentifikácia

Autentifikácia API tokenom

Použi autentifikáciu e-mail/token pre rýchle nastavenie.

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

Vygeneruj API token z Zendesk Admin > Apps and Integrations > APIs > Zendesk API.

OAuth 2.0

Použi OAuth pre integrácie s viacerými inštanciami s delegovaným prístupom používateľa.

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

Požadované scopy

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)

Konfigurácia

Základné nastavenie

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

Mapovanie polí

Namapuj polia používateľov Zendesk na atribúty kontaktov Brevo:

Predvolené mapovania

Parameter Type Description
email required
string

E-mailová adresa používateľa (unikátny identifikátor)

name optional
string

Celé meno, rozdelené na FIRSTNAME/LASTNAME

phone optional
string

Mapuje sa na atribút SMS pre WhatsApp/SMS

organization_id optional
integer

Pridružená organizácia pre B2B mapovanie

role optional
string

Rola používateľa (end-user, agent, admin)

tags optional
array

Tagy používateľa zo Zendesk

ticket_restriction optional
string

Úroveň prístupu k ticketom

custom_fields optional
object

Hodnoty vlastných polí používateľa

Mapovanie vlastných polí

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

API endpointy

Ticketing API

MetódaEndpointPopis
GET/api/v2/ticketsZoznam ticketov
POST/api/v2/ticketsVytvorenie ticketu
PUT/api/v2/tickets/{id}Aktualizácia ticketu
GET/api/v2/tickets/{id}Zobrazenie ticketu
GET/api/v2/search.json?query={query}Vyhľadávanie ticketov

Users API

MetódaEndpointPopis
GET/api/v2/usersZoznam používateľov
POST/api/v2/usersVytvorenie používateľa
PUT/api/v2/users/{id}Aktualizácia používateľa
GET/api/v2/users/{id}Zobrazenie používateľa
GET/api/v2/users/search.json?query={query}Vyhľadávanie používateľov

Organizations API

MetódaEndpointPopis
GET/api/v2/organizationsZoznam organizácií
POST/api/v2/organizationsVytvorenie organizácie
GET/api/v2/organizations/{id}/usersZoznam členov organizácie

Satisfaction Ratings API

MetódaEndpointPopis
GET/api/v2/satisfaction_ratingsZoznam hodnotení spokojnosti
GET/api/v2/satisfaction_ratings/{id}Zobrazenie hodnotenia

Udalosti

Udalosti ticketov

UdalosťTriggerPrípad použitia
ticket.createdOdovzdaný nový ticketPotvrdenie podpory
ticket.updatedZmenený stav ticketuUpozornenie na stav
ticket.solvedTicket označený ako vyriešenýTrigger prieskumu CSAT
ticket.reopenedZnovu otvorený vyriešený ticketUpozornenie na eskaláciu

Udalosti používateľov

UdalosťTriggerPrípad použitia
user.createdZaregistrovaný nový používateľUvítanie v podpore
user.updatedZmenený profil používateľaSynchronizácia atribútov
user.mergedZlúčení používateliaDeduplikácia

Udalosti spokojnosti

UdalosťTriggerPrípad použitia
satisfaction_rating.createdOdovzdané CSATSpracovanie spätnej väzby
satisfaction_rating.badNegatívne hodnotenieObnova komunikácie
satisfaction_rating.goodPozitívne hodnotenieKampane na podporu šírenia

Ukážky kódu

Inicializácia konektora

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

Synchronizácia používateľov a ticketov

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

Spracovanie webhookov 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');
});

Obmedzenia rýchlosti

Limity rýchlosti Zendesk sa líšia podľa plánu:

PlánLimit rýchlostiDetaily
Team200 požiadaviek/minútuNa API token
Professional400 požiadaviek/minútuNa API token
Enterprise700 požiadaviek/minútuNa API token
High Volume Add-on2 500 požiadaviek/minútuNa API token

Ďalšie limity:

  • Search API: 6 požiadaviek/minútu pre anonymných, 100/minútu pre autentifikovaných
  • Inkrementálne exporty: 10 požiadaviek/minútu
  • Batch API: 100 záznamov na dávkovú požiadavku
  • Doručenie webhookov: Automatické opakovanie s exponenciálnym backoff

Hlavičky limitov rýchlosti

Monitoruj hlavičky X-Rate-Limit-Remaining a Retry-After na správu využitia API.

Riešenie problémov

Bežné problémy

ProblémPríčinaRiešenie
401 UnauthorizedNeplatný API tokenRegeneruj token v Zendesk Admin
403 ForbiddenNedostatočné oprávneniaSkontroluj požiadavky na rolu agenta alebo administrátora
Používateľ nie je synchronizovanýPoužívateľ je agent, nie koncový používateľFiltruj podľa roly v konfigurácii synchronizácie
Webhook nebol prijatýTrigger/cieľ nie je nakonfigurovanýNastav webhook cieľ v Zendesk Admin
Vyhľadávanie vracia prázdneOneskorenie indexovaniaPočkaj 1-2 minúty na aktualizáciu vyhľadávacieho indexu

Debug režim

Zapni verbose logovanie:

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

Test pripojenia

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

Odporúčané postupy

  1. Použi inkrementálne exporty - Použi inkrementálne API pre veľkoobjemovú synchronizáciu dát
  2. Filtruj iba koncových používateľov - Vylúč agentov a administrátorov zo synchronizácie kontaktov Brevo
  3. Synchronizuj dáta CSAT - Použi skóre spokojnosti pre segmentáciu zdravia zákazníkov
  4. Mapuj organizácie - Využi dáta organizácií pre B2B marketingové kampane
  5. Implementuj opakovanie webhookov - Graceful spracovanie dočasných zlyhaní
  6. Použi side-loading - Zahrň súvisiace záznamy do odpovedí API na zníženie počtu požiadaviek

Bezpečnosť

  • Autentifikácia API tokenom - Prístup na základe tokenu viazaný na e-mail administrátora
  • OAuth 2.0 - Delegovaný prístup na základe tokenu s kontrolou scopov
  • Podpisovanie webhookov - Overenie podpisu HMAC pre payloady webhookov
  • TLS šifrovanie - Všetka API komunikácia šifrovaná cez HTTPS
  • Whitelistovanie IP - Obmedzenie prístupu k API podľa rozsahu IP

Súvisiace zdroje

Subscribe to updates

developer-docs

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

auto-detect
AI asistent

Ahoj! Opýtajte sa ma na dokumentáciu.