Zendesk Connector

Poveži svojo instanco Zendesk Support z Brevo prek Tajo za enotne podatke o podpori strankam, segmentacijo na osnovi zahtevkov, ocenjevanje zadovoljstva in marketinško avtomatizacijo, ki jo sprožijo dogodki podpore.

Pregled

LastnostVrednost
PlatformaZendesk
KategorijaSupport
Zahtevnost nastavitveSrednja
Uradna integracijaDa
Sinhronizirani podatkiZahtevki, uporabniki, organizacije, dogodki
Osnovni URL APIhttps://{subdomain}.zendesk.com/api/v2

Funkcionalnosti

  • Sinhronizacija uporabnikov – sinhroniziraj končne uporabnike in agente Zendesk s stiki Brevo
  • Sledenje zahtevkom – sinhroniziraj podatke zahtevkov za segmentacijo marketinga zavednega podpore
  • Preslikava organizacij – povezi stike z organizacijami za B2B delovne tokove
  • Ocene zadovoljstva – sinhroniziraj podatke CSAT in NPS v atribute Brevo
  • Dogodki zahtevkov – sledi ustvarjanju, reševanju in eskalaciji zahtevkov za sprožilce avtomatizacij
  • Integracija centra za pomoč – sledi ogledovanju člankov in iskalnemu vedenju
  • Večkanalna podpora – sinhroniziraj podatke iz e-mail, klepet, glasovnih in sporočilnih kanalov
  • Polja po meri – preslikaj polja zahtevkov in uporabnikov po meri Zendesk v Brevo

Predpogoji

Preden začneš, se prepričaj, da imaš:

  1. Račun Zendesk Support (Team, Professional ali Enterprise)
  2. Dostop administratorja do instance Zendesk
  3. Konfiguriran API žeton ali aplikacijo OAuth
  4. Brevo račun z dostopom do API
  5. Tajo račun

Avtentikacija

Avtentikacija z API žetonom

Za hitro nastavitev uporabi avtentikacijo z e-mailom/žetonom.

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

Ustvari API žeton v Zendesk Admin > Apps and Integrations > APIs > Zendesk API.

OAuth 2.0

Za integracije z več instancami z delegiranim dostopom uporabnikov.

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

Zahtevani obsegi

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)

Konfiguracija

Osnovna nastavitev

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

Preslikava polj

Preslikaj polja uporabnikov Zendesk v atribute stikov Brevo:

Privzete preslikave

Parameter Type Description
email required
string

E-mailni naslov uporabnika (enolični identifikator)

name optional
string

Polno ime, razdeli v FIRSTNAME/LASTNAME

phone optional
string

Preslika se v atribut SMS za WhatsApp/SMS

organization_id optional
integer

Povezana organizacija za B2B preslikavo

role optional
string

Vloga uporabnika (end-user, agent, admin)

tags optional
array

Oznake uporabnika iz Zendesk

ticket_restriction optional
string

Raven dostopa do zahtevkov

custom_fields optional
object

Vrednosti polj po meri uporabnika

Preslikava polj po meri

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

Končne točke API

Ticketing API

MetodaKončna točkaOpis
GET/api/v2/ticketsSeznam zahtevkov
POST/api/v2/ticketsUstvarjanje zahtevka
PUT/api/v2/tickets/{id}Posodobi zahtevek
GET/api/v2/tickets/{id}Prikaži zahtevek
GET/api/v2/search.json?query={query}Iskanje zahtevkov

Users API

MetodaKončna točkaOpis
GET/api/v2/usersSeznam uporabnikov
POST/api/v2/usersUstvarjanje uporabnika
PUT/api/v2/users/{id}Posodobi uporabnika
GET/api/v2/users/{id}Prikaži uporabnika
GET/api/v2/users/search.json?query={query}Iskanje uporabnikov

Organizations API

MetodaKončna točkaOpis
GET/api/v2/organizationsSeznam organizacij
POST/api/v2/organizationsUstvarjanje organizacije
GET/api/v2/organizations/{id}/usersSeznam članov organizacije

Satisfaction Ratings API

MetodaKončna točkaOpis
GET/api/v2/satisfaction_ratingsSeznam ocen zadovoljstva
GET/api/v2/satisfaction_ratings/{id}Prikaži oceno

Dogodki

Dogodki zahtevkov

DogodekSprožilecPrimer uporabe
ticket.createdOddан nov zahtevekPotrditev podpore
ticket.updatedSpremenjen status zahtevkaObvestilo o statusu
ticket.solvedZahtevek označen kot rešenSprožitev ankete CSAT
ticket.reopenedRešen zahtevek znova odprtOpozorilo o eskalaciji

Dogodki uporabnikov

DogodekSprožilecPrimer uporabe
user.createdRegistriran nov uporabnikDobrodošlica v podpori
user.updatedSpremenjen profil uporabnikaSinhronizacija atributov
user.mergedZdruženi uporabnikiDeduplikacija

Dogodki zadovoljstva

DogodekSprožilecPrimer uporabe
satisfaction_rating.createdOddana ocena CSATObdelava povratnih informacij
satisfaction_rating.badNegativna ocenaKontakt za odpravo težave
satisfaction_rating.goodPozitivna ocenaKampanje zagovorništva

Primeri kode

Inicializacija konektorja

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

Sinhronizacija uporabnikov in zahtevkov

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

Obravnava webhooks 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');
});

Omejitve hitrosti

Omejitve hitrosti Zendesk se razlikujejo glede na plan:

PlanOmejitev hitrostiPodrobnosti
Team200 zahtevkov/minutoNa API žeton
Professional400 zahtevkov/minutoNa API žeton
Enterprise700 zahtevkov/minutoNa API žeton
High Volume Add-on2.500 zahtevkov/minutoNa API žeton

Dodatne omejitve:

  • Search API: 6 zahtevkov/minuto za anonimne, 100/minuto za avtenticirane
  • Postopni izvozi: 10 zahtevkov/minuto
  • Batch API: 100 zapisov na paketni zahtevek
  • Dostava webhooks: Samodejni ponovni poskus z eksponentnim odlogom

Glave omejitve hitrosti

Sprljuj glavi X-Rate-Limit-Remaining in Retry-After za upravljanje porabe API.

Odpravljanje težav

Pogoste težave

TežavaVzrokRešitev
401 UnauthorizedNeveljaven API žetonZnova ustvari žeton v Zendesk Admin
403 ForbiddenNezadostna dovoljenjaPreveri zahteve vloge agenta ali administratorja
Uporabnik ni sinhroniziranUporabnik je agent, ne končni uporabnikFiltriraj po vlogi v konfiguraciji sinhronizacije
Webhook ni prejetSprožilec/cilj ni konfiguriranNastavi ciljno točko webhooks v Zendesk Admin
Iskanje vrača praznoZamuda pri indeksiranjuPočakaj 1–2 minuti za posodobitev indeksa iskanja

Način odpravljanja napak

Omogoči podrobno beleženje:

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

Preizkus povezave

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

Najboljše prakse

  1. Uporabi postopne izvoze – za obsežno sinhronizacijo podatkov uporabi Incremental API
  2. Filtriraj samo končne uporabnike – iz sinhronizacije stikov Brevo izvzemi agente in administratorje
  3. Sinhroniziraj podatke CSAT – z ocenami zadovoljstva segmentiraj zdravje strank
  4. Preslikaj organizacije – podatke organizacij izkoristi za B2B marketinške kampanje
  5. Implementiraj ponovne poskuse webhooks – elegantno obravnavaj začasne napake
  6. Uporabi stransko nalaganje – vključi sorodne zapise v odgovore API za zmanjšanje števila zahtevkov

Varnost

  • Avtentikacija z API žetonom – dostop na osnovi žetonov, vezan na e-mail administratorja
  • OAuth 2.0 – delegiran dostop na osnovi žetonov z nadzori obsegov
  • Podpisovanje webhooks – preverjanje podpisa HMAC za koristne tovore webhooks
  • TLS šifriranje – vsa komunikacija API šifrirana prek HTTPS
  • Dovoljenje IP – omeji dostop API po obsegu IP

Povezani viri

Subscribe to updates

developer-docs

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

auto-detect
AI pomočnik

Živjo! Vprašajte me o dokumentaciji.