Konektor Zendesk

Propojte svou instanci Zendesk Support s Brevo přes Tajo pro sjednocená zákaznická data podpory, segmentaci na základě tiketů, skórování spokojenosti a marketingovou automatizaci spouštěnou podporou.

Přehled

VlastnostHodnota
PlatformaZendesk
KategoriePodpora
Složitost nastaveníStřední
Oficiální integraceAno
Synchronizovaná dataTikety, Uživatelé, Organizace, Události
Základní URL APIhttps://{subdomain}.zendesk.com/api/v2

Funkce

  • Synchronizace uživatelů – Synchronizujte koncové uživatele a agenty Zendesk s kontakty Brevo
  • Sledování tiketů – Synchronizujte data tiketů pro marketingovou segmentaci s vědomím podpory
  • Mapování organizací – Přiřazujte kontakty k organizacím pro B2B pracovní toky
  • Skóre spokojenosti – Synchronizujte data CSAT a NPS na atributy Brevo
  • Události tiketů – Sledujte vytvoření tiketů, vyřešení a eskalaci pro spouštěče automatizací
  • Integrace Help Center – Sledujte zobrazení článků a chování při vyhledávání
  • Vícekanálová podpora – Synchronizujte data z e-mailu, chatu, hlasu a kanálů zpráv
  • Vlastní pole – Mapujte vlastní pole tiketů a uživatelů Zendesk na Brevo

Předpoklady

Než začnete, ujistěte se, že máte:

  1. Účet Zendesk Support (Team, Professional nebo Enterprise)
  2. Přístup správce k instanci Zendesk
  3. Nakonfigurovaný API token nebo OAuth aplikaci
  4. Účet Brevo s přístupem k API
  5. Účet Tajo

Ověření

Ověření API tokenem

Používejte ověřování e-mail/token pro rychlé nastavení.

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

Vygenerujte API token z Zendesk Admin > Aplikace a integrace > API > Zendesk API.

OAuth 2.0

Používejte OAuth pro integrace více instancí s delegovaným přístupem uživatelů.

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

Požadované rozsahy

read # Přístup pro čtení všech zdrojů
write # Přístup pro zápis všech zdrojů
tickets:read # Čtení tiketů (granulární)
users:read # Čtení uživatelů (granulární)
organizations:read # Čtení organizací (granulární)

Konfigurace

Základní nastavení

connectors:
zendesk:
enabled: true
subdomain: "vasespolecnost"
auth:
api_token: "${ZENDESK_API_TOKEN}"
# Možnosti synchronizace dat
sync:
users: true
tickets: true
organizations: true
satisfaction_ratings: true
# Přiřazení seznamů Brevo
lists:
all_customers: 30
active_tickets: 31
satisfied_customers: 32

Mapování polí

Mapujte pole uživatelů Zendesk na atributy kontaktů Brevo:

Výchozí mapování

Parameter Type Description
email required
string

E-mailová adresa uživatele (jedinečný identifikátor)

name optional
string

Celé jméno, rozdělené na FIRSTNAME/LASTNAME

phone optional
string

Mapuje se na atribut SMS pro WhatsApp/SMS

organization_id optional
integer

Přidružená organizace pro B2B mapování

role optional
string

Role uživatele (end-user, agent, admin)

tags optional
array

Štítky uživatele ze Zendesk

ticket_restriction optional
string

Úroveň přístupu k tiketům

custom_fields optional
object

Hodnoty vlastních polí uživatele

Mapování vlastních polí

field_mapping:
# Standardní pole
email: email
name: FULLNAME
phone: SMS
# Metriky podpory
open_tickets: OPEN_TICKETS
total_tickets: TOTAL_TICKETS
avg_satisfaction: CSAT_SCORE
last_ticket_date: LAST_SUPPORT_DATE
# Pole organizace
organization.name: COMPANY_NAME
organization.tags: COMPANY_TAGS
# Vlastní pole
user_fields.customer_type: CUSTOMER_TYPE
user_fields.account_tier: ACCOUNT_TIER

Koncové body API

API tiketů

MetodaKoncový bodPopis
GET/api/v2/ticketsVýpis tiketů
POST/api/v2/ticketsVytvoření tiketu
PUT/api/v2/tickets/{id}Aktualizace tiketu
GET/api/v2/tickets/{id}Zobrazení tiketu
GET/api/v2/search.json?query={query}Vyhledávání tiketů

API uživatelů

MetodaKoncový bodPopis
GET/api/v2/usersVýpis uživatelů
POST/api/v2/usersVytvoření uživatele
PUT/api/v2/users/{id}Aktualizace uživatele
GET/api/v2/users/{id}Zobrazení uživatele
GET/api/v2/users/search.json?query={query}Vyhledávání uživatelů

API organizací

MetodaKoncový bodPopis
GET/api/v2/organizationsVýpis organizací
POST/api/v2/organizationsVytvoření organizace
GET/api/v2/organizations/{id}/usersVýpis členů organizace

API hodnocení spokojenosti

MetodaKoncový bodPopis
GET/api/v2/satisfaction_ratingsVýpis hodnocení spokojenosti
GET/api/v2/satisfaction_ratings/{id}Zobrazení hodnocení

Události

Události tiketů

UdálostSpouštěčPřípad použití
ticket.createdOdeslán nový tiketPotvrzení podpory
ticket.updatedZměna stavu tiketuOznámení o stavu
ticket.solvedTiket označen jako vyřešenýSpouštěč průzkumu CSAT
ticket.reopenedVyřešený tiket znovu otevřenUpozornění na eskalaci

Události uživatelů

UdálostSpouštěčPřípad použití
user.createdRegistrace nového uživateleUvítání v podpoře
user.updatedZměna profilu uživateleSynchronizace atributů
user.mergedSloučení uživatelůDeduplikace

Události spokojenosti

UdálostSpouštěčPřípad použití
satisfaction_rating.createdOdeslání CSATZpracování zpětné vazby
satisfaction_rating.badNegativní hodnoceníZáchranný kontakt
satisfaction_rating.goodPozitivní hodnoceníAdvocacy kampaně

Příklady kódu

Inicializace konektoru

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Připojení Zendesk
await tajo.connectors.connect('zendesk', {
subdomain: 'vasespolecnost',
apiToken: process.env.ZENDESK_API_TOKEN
});

Synchronizace uživatelů a tiketů

// Úplná synchronizace uživatelů a dat tiketů
await tajo.connectors.sync('zendesk', {
type: 'full',
resources: ['users', 'tickets', 'organizations'],
since: '2023-01-01'
});
// Kontrola stavu synchronizace
const status = await tajo.connectors.status('zendesk');
console.log(status);
// {
// connected: true,
// lastSync: '2024-01-15T10:30:00Z',
// usersSynced: 8400,
// ticketsSynced: 34200,
// organizationsSynced: 1200
// }

Zpracování webhooků Zendesk

app.post('/webhooks/zendesk', async (req, res) => {
const signature = req.get('X-Zendesk-Webhook-Signature');
// Ověření podpisu webhooku
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');
});

Omezení rychlosti

Limity rychlosti Zendesk se liší podle plánu:

PlánLimit rychlostiPodrobnosti
Team200 požadavků/minutuNa API token
Professional400 požadavků/minutuNa API token
Enterprise700 požadavků/minutuNa API token
Doplněk High Volume2 500 požadavků/minutuNa API token

Další limity:

  • Search API: 6 požadavků/minutu pro anonymní, 100/minutu pro ověřené
  • Přírůstkové exporty: 10 požadavků/minutu
  • Batch API: 100 záznamů na dávkový požadavek
  • Doručení webhooků: Automatické opakování s exponenciálním zpětným odběráním

Hlavičky limitu rychlosti

Sledujte hlavičky X-Rate-Limit-Remaining a Retry-After pro správu využití API.

Řešení problémů

Časté problémy

ProblémPříčinaŘešení
401 UnauthorizedNeplatný API tokenZnovu vygenerujte token v Zendesk Admin
403 ForbiddenNedostatečná oprávněníZkontrolujte požadavky na roli agenta nebo správce
Uživatel se nesynchronizovalUživatel je agent, nikoli koncový uživatelFiltrujte podle role v konfiguraci synchronizace
Webhook nebyl přijatSpouštěč/cíl není nakonfigurovánNastavte cíl webhooku v Zendesk Admin
Vyhledávání vrací prázdné výsledkyProdleva indexováníPočkejte 1–2 minuty na aktualizaci indexu vyhledávání

Režim ladění

Povolte podrobné protokolování:

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

Test připojení

Terminal window
tajo connectors test zendesk
# ✓ Připojení API úspěšné
# ✓ Uživatelé čitelní
# ✓ Tikety čitelné
# ✓ Organizace čitelné
# ✓ Webhooky nakonfigurovány

Osvědčené postupy

  1. Používejte přírůstkové exporty – Používejte Incremental API pro rozsáhlou synchronizaci dat
  2. Filtrujte pouze koncové uživatele – Vylučujte agenty a správce ze synchronizace kontaktů Brevo
  3. Synchronizujte data CSAT – Používejte skóre spokojenosti pro segmentaci zákaznického zdraví
  4. Mapujte organizace – Využívejte data organizací pro B2B marketingové kampaně
  5. Implementujte opakování webhooků – Elegantně zpracovávejte dočasná selhání
  6. Používejte side-loading – Zahrnujte související záznamy do odpovědí API pro snížení počtu požadavků

Zabezpečení

  • Ověřování API tokenem – Přístup na základě tokenů vázaný na e-mail správce
  • OAuth 2.0 – Delegovaný přístup na základě tokenů s řízením rozsahů
  • Podepisování webhooků – Ověření podpisu HMAC pro payloady webhooků
  • Šifrování TLS – Veškerá komunikace API šifrovaná přes HTTPS
  • Whitelisting IP – Omezení přístupu k API podle rozsahu IP

Související zdroje

Subscribe to updates

developer-docs

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

auto-detect
AI asistent

Ahoj! Zeptejte se mě na dokumentaci.