Zendesk Connector

Forbind din Zendesk Support-instans til Brevo via Tajo for forenede kundesupportdata, sagsbaseret segmentering, tilfredshedsscoring og supportudløst marketingautomatisering.

Oversigt

EgenskabVærdi
PlatformZendesk
KategoriSupport
OpsætningskompleksitetMellem
Officiel integrationJa
Synkroniserede dataSager, brugere, organisationer, hændelser
API-base-URLhttps://{subdomain}.zendesk.com/api/v2

Funktioner

  • Brugersynkronisering - Synkronisér Zendesk-slutbrugere og -agenter med Brevo-kontakter
  • Sagssporing - Synkronisér sagsdata til supportbevidst marketingsegmentering
  • Organisationsmapping - Knyt kontakter til organisationer til B2B-workflows
  • Tilfredshedsscores - Synkronisér CSAT- og NPS-data til Brevo-attributter
  • Sagshændelser - Spor sagsoprettelse, -løsning og eskalering til automatiseringstriggere
  • Help center-integration - Spor artikelvisninger og søgeadfærd
  • Multi-kanal-support - Synkronisér data fra e-mail-, chat-, tale- og beskedkanaler
  • Brugerdefinerede felter - Knyt Zendesk-brugerdefinerede sags- og brugerfelter til Brevo

Forudsætninger

Før du begynder, skal du sikre dig, at du har:

  1. En Zendesk Support-konto (Team, Professional eller Enterprise)
  2. Administratoradgang til din Zendesk-instans
  3. API-token eller OAuth-app konfigureret
  4. En Brevo-konto med API-adgang
  5. En Tajo-konto

Autentifikation

API-token-autentifikation

Brug e-mail/token-autentifikation til hurtig opsætning.

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

Generér en API-token fra Zendesk Admin > Apps and Integrations > APIs > Zendesk API.

OAuth 2.0

Brug OAuth til integrationer på tværs af flere instanser med delegeret brugeradgang.

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

Påkrævede scopes

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)

Konfiguration

Grundlæggende opsætning

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

Feltmapping

Knyt Zendesk-brugerfelter til Brevo-kontaktattributter:

Standardmappings

Parameter Type Description
email required
string

Brugerens e-mailadresse (unik identifikator)

name optional
string

Fulde navn, opdelt i FIRSTNAME/LASTNAME

phone optional
string

Mapper til SMS-attribut for WhatsApp/SMS

organization_id optional
integer

Tilknyttet organisation til B2B-mapping

role optional
string

Brugerrolle (end-user, agent, admin)

tags optional
array

Brugertags fra Zendesk

ticket_restriction optional
string

Sagsadgangsniveau

custom_fields optional
object

Værdier for brugerdefinerede brugerfelter

Brugerdefineret feltmapping

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-endpoints

Ticketing API

MetodeEndpointBeskrivelse
GET/api/v2/ticketsVis sager
POST/api/v2/ticketsOpret en sag
PUT/api/v2/tickets/{id}Opdatér en sag
GET/api/v2/tickets/{id}Vis en sag
GET/api/v2/search.json?query={query}Søg sager

Users API

MetodeEndpointBeskrivelse
GET/api/v2/usersVis brugere
POST/api/v2/usersOpret en bruger
PUT/api/v2/users/{id}Opdatér en bruger
GET/api/v2/users/{id}Vis en bruger
GET/api/v2/users/search.json?query={query}Søg brugere

Organizations API

MetodeEndpointBeskrivelse
GET/api/v2/organizationsVis organisationer
POST/api/v2/organizationsOpret en organisation
GET/api/v2/organizations/{id}/usersVis organisationens medlemmer

Satisfaction Ratings API

MetodeEndpointBeskrivelse
GET/api/v2/satisfaction_ratingsVis tilfredshedsratings
GET/api/v2/satisfaction_ratings/{id}Vis en rating

Hændelser

Sagshændelser

HændelseTriggerAnvendelse
ticket.createdNy sag indsendtSupportbekræftelse
ticket.updatedSagsstatus ændretStatusnotifikation
ticket.solvedSag markeret som løstCSAT-undersøgelsestrigger
ticket.reopenedLøst sag genåbnetEskaleringsadvarsel

Brugerhændelser

HændelseTriggerAnvendelse
user.createdNy bruger registreretVelkomst til support
user.updatedBrugerprofil ændretAttributsynkronisering
user.mergedBrugere flettetDeduplikering

Tilfredshedshændelser

HændelseTriggerAnvendelse
satisfaction_rating.createdCSAT indsendtFeedback-behandling
satisfaction_rating.badNegativ ratingGenoprettelseskontakt
satisfaction_rating.goodPositiv ratingAdvocacy-kampagner

Kodeeksempler

Initialisér konnektor

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

Synkronisér brugere og sager

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

Håndtér Zendesk-webhooks

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

Ratebegrænsninger

Zendesk-ratebegrænsninger varierer efter plan:

PlanRatebegrænsningDetaljer
Team200 forespørgsler/minutPer API-token
Professional400 forespørgsler/minutPer API-token
Enterprise700 forespørgsler/minutPer API-token
High Volume Add-on2.500 forespørgsler/minutPer API-token

Yderligere grænser:

  • Search API: 6 forespørgsler/minut for anonyme, 100/minut for autentificerede
  • Inkrementelle eksporter: 10 forespørgsler/minut
  • Batch API: 100 poster per batch-forespørgsel
  • Webhook-levering: Automatisk retry med eksponentiel backoff

Rate limit-headere

Overvåg headerne X-Rate-Limit-Remaining og Retry-After for at administrere dit API-forbrug.

Fejlfinding

Almindelige problemer

ProblemÅrsagLøsning
401 UnauthorizedUgyldig API-tokenRegenerér token i Zendesk Admin
403 ForbiddenUtilstrækkelige rettighederTjek agent- eller administratorrolle-krav
Bruger ikke synkroniseretBruger er agent, ikke slutbrugerFiltrér efter rolle i synkroniseringskonfiguration
Webhook ikke modtagetTrigger/target ikke konfigureretOpsæt webhook-target i Zendesk Admin
Søgning returnerer tomtIndekseringsforsinkelseVent 1-2 minutter på søgeindeksopdatering

Fejlfindingstilstand

Aktivér udførlig logning:

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

Test forbindelse

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

Best practices

  1. Brug inkrementelle eksporter - Brug Incremental API til storskaladatasynkronisering
  2. Filtrér kun slutbrugere - Ekskludér agenter og administratorer fra Brevo-kontaktsynkronisering
  3. Synkronisér CSAT-data - Brug tilfredshedsscores til segmentering af kundehelbred
  4. Map organisationer - Udnyt organisationsdata til B2B-marketingkampagner
  5. Implementér webhook-retries - Håndtér midlertidige fejl problemfrit
  6. Brug side-loading - Inkludér relaterede poster i API-svar for at reducere antallet af forespørgsler

Sikkerhed

  • API-token-autentifikation - Tokenbaseret adgang knyttet til administrator-e-mail
  • OAuth 2.0 - Tokenbaseret delegeret adgang med scope-kontrol
  • Webhook-signering - HMAC-signaturverifikation for webhook-payloads
  • TLS-kryptering - Al API-kommunikation krypteret via HTTPS
  • IP-whitelisting - Begræns API-adgang efter IP-interval

Relaterede ressourcer

Subscribe to updates

developer-docs

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

auto-detect
AI-assistent

Hej! Spørg mig om dokumentationen.