Zendesk-kobling

Koble Zendesk Support-instansen din til Brevo via Tajo for enhetlige kundesupportdata, sakbasert segmentering, tilfredshetsscoring og supportutløst markedsføringsautomatisering.

Oversikt

EgenskapVerdi
PlattformZendesk
KategoriSupport
OppsettskompleksitetModerat
Offisiell integrasjonJa
Synkroniserte dataSaker, brukere, organisasjoner, hendelser
API Base URLhttps://{subdomain}.zendesk.com/api/v2

Funksjoner

  • Brukersynkronisering - Synkroniser Zendesk-sluttbrukere og agenter med Brevo-kontakter
  • Sakssporing - Synkroniser saksdata for supportbevisst markedsføringssegmentering
  • Organisasjonsmapping - Knytt kontakter til organisasjoner for B2B-arbeidsflyter
  • Tilfredshetsscore - Synkroniser CSAT- og NPS-data til Brevo-attributter
  • Sakshendelser - Spor saksopprettelse, løsning og eskalering som utløsere for automatiseringer
  • Help Center-integrasjon - Spor artikkelvisninger og søkeatferd
  • Multikanals-støtte - Synkroniser data fra e-post-, chat-, tale- og meldingskanaler
  • Egendefinerte felt - Mapp Zendesk egendefinerte saks- og brukerfelt til Brevo

Forutsetninger

Før du begynner, sørg for at du har:

  1. En Zendesk Support-konto (Team, Professional eller Enterprise)
  2. Administratortilgang til Zendesk-instansen din
  3. API-token eller OAuth-app konfigurert
  4. En Brevo-konto med API-tilgang
  5. En Tajo-konto

Autentisering

API-token-autentisering

Bruk e-post/token-autentisering for raskt oppsett.

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

Generer et API-token fra Zendesk Admin > Apps and Integrations > APIs > Zendesk API.

OAuth 2.0

Bruk OAuth for integrasjoner med flere instanser og delegert brukertilgang.

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

Nødvendige scopes

read # Lesetilgang til alle ressurser
write # Skrivetilgang til alle ressurser
tickets:read # Les saker (granulært)
users:read # Les brukere (granulært)
organizations:read # Les organisasjoner (granulært)

Konfigurasjon

Grunnleggende oppsett

connectors:
zendesk:
enabled: true
subdomain: "yourcompany"
auth:
api_token: "${ZENDESK_API_TOKEN}"
# Synkroniseringsalternativer
sync:
users: true
tickets: true
organizations: true
satisfaction_ratings: true
# Tildeling av Brevo-lister
lists:
all_customers: 30
active_tickets: 31
satisfied_customers: 32

Feltmapping

Mapp Zendesk-brukerfelt til Brevo-kontaktattributter:

Standardmappinger

Parameter Type Description
email required
string

Brukerens e-postadresse (unik identifikator)

name optional
string

Fullt navn, delt i FIRSTNAME/LASTNAME

phone optional
string

Mappes til SMS-attributt for WhatsApp/SMS

organization_id optional
integer

Tilknyttet organisasjon for B2B-mapping

role optional
string

Brukerrolle (end-user, agent, admin)

tags optional
array

Brukertagger fra Zendesk

ticket_restriction optional
string

Sakstilgangsnivå

custom_fields optional
object

Verdier for egendefinerte brukerfelt

Mapping av egendefinerte felt

field_mapping:
# Standardfelt
email: email
name: FULLNAME
phone: SMS
# Supportmålinger
open_tickets: OPEN_TICKETS
total_tickets: TOTAL_TICKETS
avg_satisfaction: CSAT_SCORE
last_ticket_date: LAST_SUPPORT_DATE
# Organisasjonsfelt
organization.name: COMPANY_NAME
organization.tags: COMPANY_TAGS
# Egendefinerte felt
user_fields.customer_type: CUSTOMER_TYPE
user_fields.account_tier: ACCOUNT_TIER

API-endepunkter

Ticketing API

MetodeEndepunktBeskrivelse
GET/api/v2/ticketsList saker
POST/api/v2/ticketsOpprett en sak
PUT/api/v2/tickets/{id}Oppdater en sak
GET/api/v2/tickets/{id}Vis en sak
GET/api/v2/search.json?query={query}Søk etter saker

Users API

MetodeEndepunktBeskrivelse
GET/api/v2/usersList brukere
POST/api/v2/usersOpprett en bruker
PUT/api/v2/users/{id}Oppdater en bruker
GET/api/v2/users/{id}Vis en bruker
GET/api/v2/users/search.json?query={query}Søk etter brukere

Organizations API

MetodeEndepunktBeskrivelse
GET/api/v2/organizationsList organisasjoner
POST/api/v2/organizationsOpprett en organisasjon
GET/api/v2/organizations/{id}/usersList organisasjonsmedlemmer

Satisfaction Ratings API

MetodeEndepunktBeskrivelse
GET/api/v2/satisfaction_ratingsList tilfredshetsvurderinger
GET/api/v2/satisfaction_ratings/{id}Vis en vurdering

Hendelser

Sakshendelser

HendelseUtløserBruksområde
ticket.createdNy sak sendt innSupportbekreftelse
ticket.updatedSaksstatus endretStatusvarsling
ticket.solvedSak markert som løstUtløser for CSAT-undersøkelse
ticket.reopenedLøst sak gjenåpnetEskaleringsvarsel

Brukerhendelser

HendelseUtløserBruksområde
user.createdNy bruker registrertVelkomst til support
user.updatedBrukerprofil endretAttributtsynkronisering
user.mergedBrukere slått sammenDeduplisering

Tilfredshetshendelser

HendelseUtløserBruksområde
satisfaction_rating.createdCSAT sendt innBehandling av tilbakemelding
satisfaction_rating.badNegativ vurderingGjenopprettingskontakt
satisfaction_rating.goodPositiv vurderingAmbassadørkampanjer

Kodeeksempler

Initialiser kobling

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

Synkroniser brukere og saker

// Full synkronisering av brukere og saksdata
await tajo.connectors.sync('zendesk', {
type: 'full',
resources: ['users', 'tickets', 'organizations'],
since: '2023-01-01'
});
// Sjekk synkroniseringsstatus
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åndter Zendesk-webhooks

app.post('/webhooks/zendesk', async (req, res) => {
const signature = req.get('X-Zendesk-Webhook-Signature');
// Verifiser webhook-signatur
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');
});

Ratebegrensninger

Zendesk-ratebegrensninger varierer etter plan:

PlanRatebegrensningDetaljer
Team200 forespørsler/minuttPer API-token
Professional400 forespørsler/minuttPer API-token
Enterprise700 forespørsler/minuttPer API-token
High Volume-tillegg2 500 forespørsler/minuttPer API-token

Ytterligere grenser:

  • Search API: 6 forespørsler/minutt for anonyme, 100/minutt for autentiserte
  • Inkrementelle eksporter: 10 forespørsler/minutt
  • Batch API: 100 poster per batch-forespørsel
  • Webhook-levering: Automatisk retry med eksponentiell backoff

Ratebegrensningsheadere

Overvåk X-Rate-Limit-Remaining- og Retry-After-headerne for å håndtere API-bruken din.

Feilsøking

Vanlige problemer

ProblemÅrsakLøsning
401 UnauthorizedUgyldig API-tokenRegenerer token i Zendesk Admin
403 ForbiddenUtilstrekkelige rettigheterSjekk krav til agent- eller administratorrolle
Bruker ikke synkronisertBrukeren er agent, ikke sluttbrukerFiltrer etter rolle i synkroniseringskonfigurasjonen
Webhook ikke mottattUtløser/mål ikke konfigurertSett opp webhook-mål i Zendesk Admin
Søk returnerer tomtIndekseringsforsinkelseVent 1-2 minutter for søkeindeksoppdatering

Feilsøkingsmodus

Aktiver utvidet logging:

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

Test tilkobling

Terminal window
tajo connectors test zendesk
# ✓ API-tilkobling vellykket
# ✓ Brukere lesbare
# ✓ Saker lesbare
# ✓ Organisasjoner lesbare
# ✓ Webhooks konfigurert

Beste praksis

  1. Bruk inkrementelle eksporter - Bruk Incremental API for storskala datasynkronisering
  2. Filtrer kun sluttbrukere - Ekskluder agenter og administratorer fra Brevo-kontaktsynkronisering
  3. Synkroniser CSAT-data - Bruk tilfredshetsscore for kundehelsesegmentering
  4. Mapp organisasjoner - Utnytt organisasjonsdata for B2B-markedsføringskampanjer
  5. Implementer webhook-retries - Håndter midlertidige feil elegant
  6. Bruk side-loading - Inkluder relaterte poster i API-respons for å redusere antall forespørsler

Sikkerhet

  • API-token-autentisering - Token-basert tilgang knyttet til administrator-e-post
  • OAuth 2.0 - Token-basert delegert tilgang med scope-kontroller
  • Webhook-signering - HMAC-signaturverifisering for webhook-payloads
  • TLS-kryptering - All API-kommunikasjon kryptert via HTTPS
  • IP-hviteliste - Begrens API-tilgang etter IP-område

Relaterte ressurser

Subscribe to updates

developer-docs

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

auto-detect
AI-assistent

Hei! Spør meg om dokumentasjonen.