Conector Zendesk
Starea conectorului: Planificat Încă neconstruit. Tajo nu rulează astăzi acest conector.
Ilustrație · date de exemplu
Exemplu de sincronizare
Sursă
Zendesk
Starea conectorului: Planificat
Destinație
Celălalt instrument al tău
Starea conectorului: Instrument personalizat
Maparea câmpurilor
| Câmp sursă | Câmp destinație | Valoare exemplu |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Ciornă
- Verifică o înregistrare
- Aprobă această versiune
Stările se referă la fiecare conector și nu garantează că această sincronizare este pregătită. Câmpurile sunt ilustrative. Verifică schema și permisiunile reale înainte de sincronizare.
Conectați instanța Zendesk Support la Brevo prin Tajo pentru date unificate de suport al clienților, segmentare bazată pe tichete, scorare a satisfacției și automatizare de marketing declanșată de suport.
Prezentare generală
| Proprietate | Valoare |
|---|---|
| Platformă | Zendesk |
| Categorie | Suport |
| Complexitate configurare | Medie |
| Integrare oficială | Nu |
| Date sincronizate | Tichete, Utilizatori, Organizații, Evenimente |
| URL de bază API | https://{subdomain}.zendesk.com/api/v2 |
Funcționalități
- Sincronizare utilizatori - Sincronizați utilizatorii finali și agenții Zendesk cu contactele Brevo
- Urmărire tichete - Sincronizați datele tichetelor pentru segmentare de marketing conștientă de suport
- Mapare organizații - Asociați contactele cu organizațiile pentru fluxuri de lucru B2B
- Scoruri de satisfacție - Sincronizați datele CSAT și NPS la atributele Brevo
- Evenimente tichete - Urmăriți crearea, rezolvarea și escaladarea tichetelor pentru declanșatoare de automatizare
- Integrare centru de ajutor - Urmăriți vizualizările articolelor și comportamentul de căutare
- Suport multi-canal - Sincronizați date din canalele de e-mail, chat, voce și mesagerie
- Câmpuri personalizate - Mapați câmpurile personalizate de tichete și utilizatori Zendesk la Brevo
Cerințe preliminare
Înainte de a începe, asigurați-vă că aveți:
- Un cont Zendesk Support (Team, Professional sau Enterprise)
- Acces de administrator la instanța Zendesk
- Token API sau aplicație OAuth configurată
- Un cont Brevo cu acces API
- Un cont Tajo
Autentificare
Autentificare cu token API
Utilizați autentificarea email/token pentru configurare rapidă.
curl https://{subdomain}.zendesk.com/api/v2/users.json \ -u {email}/token:{api_token} \ -H "Content-Type: application/json"Generați un token API din Zendesk Admin > Apps and Integrations > APIs > Zendesk API.
OAuth 2.0
Utilizați OAuth pentru integrări multi-instanță cu acces delegat al utilizatorilor.
# Authorization URLhttps://{subdomain}.zendesk.com/oauth/authorizations/new? response_type=code& client_id={client_id}& redirect_uri={redirect_uri}& scope=read%20writeScope-uri necesare
read # Read access to all resourceswrite # Write access to all resourcestickets:read # Read tickets (granular)users:read # Read users (granular)organizations:read # Read organizations (granular)Configurare
Configurare de bază
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: 32Mapare câmpuri
Mapați câmpurile utilizatorilor Zendesk la atributele de contact Brevo:
Mapări implicite
| Parameter | Type | Description |
|---|---|---|
email required | string | Adresa de e-mail a utilizatorului (identificator unic) |
name optional | string | Nume complet, împărțit în FIRSTNAME/LASTNAME |
phone optional | string | Mapează la atributul SMS pentru WhatsApp/SMS |
organization_id optional | integer | Organizația asociată pentru mapare B2B |
role optional | string | Rolul utilizatorului (end-user, agent, admin) |
tags optional | array | Etichetele utilizatorului din Zendesk |
ticket_restriction optional | string | Nivelul de acces la tichete |
custom_fields optional | object | Valorile câmpurilor personalizate ale utilizatorului |
Mapare câmpuri personalizate
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_TIERPuncte finale API
API Tichete
| Metodă | Punct final | Descriere |
|---|---|---|
GET | /api/v2/tickets | Listează tichetele |
POST | /api/v2/tickets | Creează un tichet |
PUT | /api/v2/tickets/{id} | Actualizează un tichet |
GET | /api/v2/tickets/{id} | Afișează un tichet |
GET | /api/v2/search.json?query={query} | Caută tichete |
API Utilizatori
| Metodă | Punct final | Descriere |
|---|---|---|
GET | /api/v2/users | Listează utilizatorii |
POST | /api/v2/users | Creează un utilizator |
PUT | /api/v2/users/{id} | Actualizează un utilizator |
GET | /api/v2/users/{id} | Afișează un utilizator |
GET | /api/v2/users/search.json?query={query} | Caută utilizatori |
API Organizații
| Metodă | Punct final | Descriere |
|---|---|---|
GET | /api/v2/organizations | Listează organizațiile |
POST | /api/v2/organizations | Creează o organizație |
GET | /api/v2/organizations/{id}/users | Listează membrii organizației |
API Ratinguri satisfacție
| Metodă | Punct final | Descriere |
|---|---|---|
GET | /api/v2/satisfaction_ratings | Listează ratingurile de satisfacție |
GET | /api/v2/satisfaction_ratings/{id} | Afișează un rating |
Evenimente
Evenimente tichete
| Eveniment | Declanșator | Caz de utilizare |
|---|---|---|
ticket.created | Tichet nou trimis | Confirmare suport |
ticket.updated | Status tichet modificat | Notificare status |
ticket.solved | Tichet marcat rezolvat | Declanșator sondaj CSAT |
ticket.reopened | Tichet rezolvat redeschis | Alertă escaladare |
Evenimente utilizatori
| Eveniment | Declanșator | Caz de utilizare |
|---|---|---|
user.created | Utilizator nou înregistrat | Bun venit la suport |
user.updated | Profil utilizator modificat | Sincronizare atribute |
user.merged | Utilizatori combinați | Deduplicare |
Evenimente satisfacție
| Eveniment | Declanșator | Caz de utilizare |
|---|---|---|
satisfaction_rating.created | CSAT trimis | Procesare feedback |
satisfaction_rating.bad | Rating negativ | Outreach de recuperare |
satisfaction_rating.good | Rating pozitiv | Campanii de advocacy |
Exemple de cod
Inițializare conector
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Zendeskawait tajo.connectors.connect('zendesk', { subdomain: 'yourcompany', apiToken: process.env.ZENDESK_API_TOKEN});Sincronizare utilizatori și tichete
// Full sync of users and ticket dataawait tajo.connectors.sync('zendesk', { type: 'full', resources: ['users', 'tickets', 'organizations'], since: '2023-01-01'});
// Check sync statusconst status = await tajo.connectors.status('zendesk');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// usersSynced: 8400,// ticketsSynced: 34200,// organizationsSynced: 1200// }Gestionare webhook-uri 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');});Limite de rată
Limitele de rată Zendesk variază în funcție de plan:
| Plan | Limită de rată | Detalii |
|---|---|---|
| Team | 200 cereri/minut | Per token API |
| Professional | 400 cereri/minut | Per token API |
| Enterprise | 700 cereri/minut | Per token API |
| High Volume Add-on | 2.500 cereri/minut | Per token API |
Limite suplimentare:
- Search API: 6 cereri/minut pentru anonim, 100/minut pentru autentificat
- Exporturi incrementale: 10 cereri/minut
- Batch API: 100 înregistrări per cerere batch
- Livrare webhook: Reîncercare automată cu backoff exponențial
Antete limită de rată
Monitorizați antetele X-Rate-Limit-Remaining și Retry-After pentru a gestiona utilizarea API.
Depanare
Probleme frecvente
| Problemă | Cauză | Soluție |
|---|---|---|
| 401 Neautorizat | Token API invalid | Regenerați token-ul în Zendesk Admin |
| 403 Interzis | Permisiuni insuficiente | Verificați cerințele de rol agent sau administrator |
| Utilizator nesincronizat | Utilizatorul este agent, nu utilizator final | Filtrați după rol în configurația sincronizării |
| Webhook neprimit | Trigger/target neconfigurati | Configurați target-ul webhook în Zendesk Admin |
| Căutare returnând rezultate goale | Întârziere indexare | Așteptați 1-2 minute pentru actualizarea indexului de căutare |
Modul de depanare
Activați jurnalizarea verbosă:
connectors: zendesk: debug: true log_level: verbose log_webhooks: trueTestare conexiune
tajo connectors test zendesk# ✓ API connection successful# ✓ Users readable# ✓ Tickets readable# ✓ Organizations readable# ✓ Webhooks configuredBune practici
- Utilizați exporturile incrementale - Utilizați API-ul Incremental pentru sincronizare de date la scară largă
- Filtrați numai utilizatorii finali - Excludeți agenții și administratorii din sincronizarea contactelor Brevo
- Sincronizați datele CSAT - Utilizați scorurile de satisfacție pentru segmentarea sănătății clienților
- Mapați organizațiile - Valorificați datele organizațiilor pentru campaniile de marketing B2B
- Implementați reîncercări webhook - Gestionați elegant eșecurile temporare
- Utilizați side-loading - Includeți înregistrările conexe în răspunsurile API pentru a reduce numărul de cereri
Securitate
- Autentificare cu token API - Acces bazat pe token legat de e-mailul de administrator
- OAuth 2.0 - Acces delegat bazat pe token cu controale de scope
- Semnare webhook - Verificare semnătură HMAC pentru payload-urile webhook
- Criptare TLS - Toate comunicațiile API criptate prin HTTPS
- IP whitelisting - Restricționați accesul API pe interval IP