Zendesk-kobling
Koble Zendesk Support-instansen din til Brevo via Tajo for enhetlige kundesupportdata, sakbasert segmentering, tilfredshetsscoring og supportutløst markedsføringsautomatisering.
Oversikt
| Egenskap | Verdi |
|---|---|
| Plattform | Zendesk |
| Kategori | Support |
| Oppsettskompleksitet | Moderat |
| Offisiell integrasjon | Ja |
| Synkroniserte data | Saker, brukere, organisasjoner, hendelser |
| API Base URL | https://{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:
- En Zendesk Support-konto (Team, Professional eller Enterprise)
- Administratortilgang til Zendesk-instansen din
- API-token eller OAuth-app konfigurert
- En Brevo-konto med API-tilgang
- En Tajo-konto
Autentisering
API-token-autentisering
Bruk e-post/token-autentisering for raskt oppsett.
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.
# Autorisasjons-URLhttps://{subdomain}.zendesk.com/oauth/authorizations/new? response_type=code& client_id={client_id}& redirect_uri={redirect_uri}& scope=read%20writeNødvendige scopes
read # Lesetilgang til alle ressurserwrite # Skrivetilgang til alle ressursertickets: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: 32Feltmapping
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_TIERAPI-endepunkter
Ticketing API
| Metode | Endepunkt | Beskrivelse |
|---|---|---|
GET | /api/v2/tickets | List saker |
POST | /api/v2/tickets | Opprett 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
| Metode | Endepunkt | Beskrivelse |
|---|---|---|
GET | /api/v2/users | List brukere |
POST | /api/v2/users | Opprett 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
| Metode | Endepunkt | Beskrivelse |
|---|---|---|
GET | /api/v2/organizations | List organisasjoner |
POST | /api/v2/organizations | Opprett en organisasjon |
GET | /api/v2/organizations/{id}/users | List organisasjonsmedlemmer |
Satisfaction Ratings API
| Metode | Endepunkt | Beskrivelse |
|---|---|---|
GET | /api/v2/satisfaction_ratings | List tilfredshetsvurderinger |
GET | /api/v2/satisfaction_ratings/{id} | Vis en vurdering |
Hendelser
Sakshendelser
| Hendelse | Utløser | Bruksområde |
|---|---|---|
ticket.created | Ny sak sendt inn | Supportbekreftelse |
ticket.updated | Saksstatus endret | Statusvarsling |
ticket.solved | Sak markert som løst | Utløser for CSAT-undersøkelse |
ticket.reopened | Løst sak gjenåpnet | Eskaleringsvarsel |
Brukerhendelser
| Hendelse | Utløser | Bruksområde |
|---|---|---|
user.created | Ny bruker registrert | Velkomst til support |
user.updated | Brukerprofil endret | Attributtsynkronisering |
user.merged | Brukere slått sammen | Deduplisering |
Tilfredshetshendelser
| Hendelse | Utløser | Bruksområde |
|---|---|---|
satisfaction_rating.created | CSAT sendt inn | Behandling av tilbakemelding |
satisfaction_rating.bad | Negativ vurdering | Gjenopprettingskontakt |
satisfaction_rating.good | Positiv vurdering | Ambassadø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 Zendeskawait tajo.connectors.connect('zendesk', { subdomain: 'yourcompany', apiToken: process.env.ZENDESK_API_TOKEN});Synkroniser brukere og saker
// Full synkronisering av brukere og saksdataawait tajo.connectors.sync('zendesk', { type: 'full', resources: ['users', 'tickets', 'organizations'], since: '2023-01-01'});
// Sjekk synkroniseringsstatusconst 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:
| Plan | Ratebegrensning | Detaljer |
|---|---|---|
| Team | 200 forespørsler/minutt | Per API-token |
| Professional | 400 forespørsler/minutt | Per API-token |
| Enterprise | 700 forespørsler/minutt | Per API-token |
| High Volume-tillegg | 2 500 forespørsler/minutt | Per 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 | Årsak | Løsning |
|---|---|---|
| 401 Unauthorized | Ugyldig API-token | Regenerer token i Zendesk Admin |
| 403 Forbidden | Utilstrekkelige rettigheter | Sjekk krav til agent- eller administratorrolle |
| Bruker ikke synkronisert | Brukeren er agent, ikke sluttbruker | Filtrer etter rolle i synkroniseringskonfigurasjonen |
| Webhook ikke mottatt | Utløser/mål ikke konfigurert | Sett opp webhook-mål i Zendesk Admin |
| Søk returnerer tomt | Indekseringsforsinkelse | Vent 1-2 minutter for søkeindeksoppdatering |
Feilsøkingsmodus
Aktiver utvidet logging:
connectors: zendesk: debug: true log_level: verbose log_webhooks: trueTest tilkobling
tajo connectors test zendesk# ✓ API-tilkobling vellykket# ✓ Brukere lesbare# ✓ Saker lesbare# ✓ Organisasjoner lesbare# ✓ Webhooks konfigurertBeste praksis
- Bruk inkrementelle eksporter - Bruk Incremental API for storskala datasynkronisering
- Filtrer kun sluttbrukere - Ekskluder agenter og administratorer fra Brevo-kontaktsynkronisering
- Synkroniser CSAT-data - Bruk tilfredshetsscore for kundehelsesegmentering
- Mapp organisasjoner - Utnytt organisasjonsdata for B2B-markedsføringskampanjer
- Implementer webhook-retries - Håndter midlertidige feil elegant
- 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