Connecteur Zendesk
Statut du connecteur: Prévu Pas encore construit. Tajo n'exécute pas ce connecteur aujourd'hui.
Illustration · données d’exemple
Exemple de synchronisation
Source
Zendesk
Statut du connecteur: Prévu
Destination
Votre autre outil
Statut du connecteur: Outil personnalisé
Correspondance des champs
| Champ source | Champ de destination | Valeur d’exemple |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Préparer
- Vérifier un enregistrement
- Approuver cette version
Les statuts concernent chaque connecteur et ne garantissent pas que cette synchronisation soit prête. Champs illustratifs. Vérifiez le schéma réel et les autorisations avant toute synchronisation.
Connectez votre instance Zendesk Support à Brevo via Tajo pour des données de support client unifiées, une segmentation basée sur les tickets, un scoring de satisfaction, et une automatisation marketing déclenchée par le support.
Vue d’ensemble
| Propriété | Valeur |
|---|---|
| Plateforme | Zendesk |
| Catégorie | Support |
| Complexité de configuration | Moyenne |
| Intégration officielle | Non |
| Données synchronisées | Tickets, Utilisateurs, Organisations, Événements |
| URL de base API | https://{subdomain}.zendesk.com/api/v2 |
Fonctionnalités
- Synchronisation des utilisateurs - Synchronisation des end-users et agents Zendesk avec les contacts Brevo
- Suivi des tickets - Synchronisation des données de tickets pour une segmentation marketing consciente du support
- Mappage d’organisations - Association de contacts aux organisations pour les workflows B2B
- Scores de satisfaction - Synchronisation des données CSAT et NPS vers les attributs Brevo
- Événements de tickets - Suivi de la création, résolution et escalade de tickets pour les déclencheurs d’automatisation
- Intégration du centre d’aide - Suivi des vues d’articles et du comportement de recherche
- Support multicanal - Synchronisation des données depuis les canaux email, chat, voix et messagerie
- Champs personnalisés - Mappage des champs personnalisés de tickets et utilisateurs Zendesk vers Brevo
Prérequis
Avant de commencer, assurez-vous d’avoir :
- Un compte Zendesk Support (Team, Professional ou Enterprise)
- Un accès admin à votre instance Zendesk
- Un token API ou une application OAuth configurée
- Un compte Brevo avec accès API
- Un compte Tajo
Authentification
Authentification par token API
Utilisez l’authentification email/token pour une configuration rapide.
curl https://{subdomain}.zendesk.com/api/v2/users.json \ -u {email}/token:{api_token} \ -H "Content-Type: application/json"Générez un token API depuis Zendesk Admin > Apps and Integrations > APIs > Zendesk API.
OAuth 2.0
Utilisez OAuth pour les intégrations multi-instances avec accès utilisateur délégué.
# URL d'autorisationhttps://{subdomain}.zendesk.com/oauth/authorizations/new? response_type=code& client_id={client_id}& redirect_uri={redirect_uri}& scope=read%20writePérimètres requis
read # Accès en lecture à toutes les ressourceswrite # Accès en écriture à toutes les ressourcestickets:read # Lecture des tickets (granulaire)users:read # Lecture des utilisateurs (granulaire)organizations:read # Lecture des organisations (granulaire)Configuration
Configuration de base
connectors: zendesk: enabled: true subdomain: "yourcompany" auth: api_token: "${ZENDESK_API_TOKEN}"
# Options de synchronisation des données sync: users: true tickets: true organizations: true satisfaction_ratings: true
# Assignation de listes Brevo lists: all_customers: 30 active_tickets: 31 satisfied_customers: 32Mappage de champs
Mappez les champs utilisateurs Zendesk aux attributs de contact Brevo :
Mappages par défaut
| Parameter | Type | Description |
|---|---|---|
email required | string | Adresse email de l'utilisateur (identifiant unique) |
name optional | string | Nom complet, divisé en FIRSTNAME/LASTNAME |
phone optional | string | Mappé vers l'attribut SMS pour WhatsApp/SMS |
organization_id optional | integer | Organisation associée pour le mappage B2B |
role optional | string | Rôle de l'utilisateur (end-user, agent, admin) |
tags optional | array | Tags utilisateur de Zendesk |
ticket_restriction optional | string | Niveau d'accès aux tickets |
custom_fields optional | object | Valeurs des champs personnalisés utilisateur |
Mappage de champs personnalisés
field_mapping: # Champs standards email: email name: FULLNAME phone: SMS
# Métriques de support open_tickets: OPEN_TICKETS total_tickets: TOTAL_TICKETS avg_satisfaction: CSAT_SCORE last_ticket_date: LAST_SUPPORT_DATE
# Champs d'organisation organization.name: COMPANY_NAME organization.tags: COMPANY_TAGS
# Champs personnalisés user_fields.customer_type: CUSTOMER_TYPE user_fields.account_tier: ACCOUNT_TIEREndpoints API
API Ticketing
| Méthode | Endpoint | Description |
|---|---|---|
GET | /api/v2/tickets | Lister les tickets |
POST | /api/v2/tickets | Créer un ticket |
PUT | /api/v2/tickets/{id} | Mettre à jour un ticket |
GET | /api/v2/tickets/{id} | Afficher un ticket |
GET | /api/v2/search.json?query={query} | Rechercher des tickets |
API Users
| Méthode | Endpoint | Description |
|---|---|---|
GET | /api/v2/users | Lister les utilisateurs |
POST | /api/v2/users | Créer un utilisateur |
PUT | /api/v2/users/{id} | Mettre à jour un utilisateur |
GET | /api/v2/users/{id} | Afficher un utilisateur |
GET | /api/v2/users/search.json?query={query} | Rechercher des utilisateurs |
API Organizations
| Méthode | Endpoint | Description |
|---|---|---|
GET | /api/v2/organizations | Lister les organisations |
POST | /api/v2/organizations | Créer une organisation |
GET | /api/v2/organizations/{id}/users | Lister les membres d’une organisation |
API Satisfaction Ratings
| Méthode | Endpoint | Description |
|---|---|---|
GET | /api/v2/satisfaction_ratings | Lister les évaluations de satisfaction |
GET | /api/v2/satisfaction_ratings/{id} | Afficher une évaluation |
Événements
Événements de ticket
| Événement | Déclencheur | Cas d’usage |
|---|---|---|
ticket.created | Nouveau ticket soumis | Accusé de réception support |
ticket.updated | Statut du ticket modifié | Notification de statut |
ticket.solved | Ticket marqué comme résolu | Déclencheur d’enquête CSAT |
ticket.reopened | Ticket résolu rouvert | Alerte d’escalade |
Événements utilisateur
| Événement | Déclencheur | Cas d’usage |
|---|---|---|
user.created | Nouvel utilisateur enregistré | Bienvenue au support |
user.updated | Profil utilisateur modifié | Synchronisation d’attributs |
user.merged | Utilisateurs fusionnés | Déduplication |
Événements de satisfaction
| Événement | Déclencheur | Cas d’usage |
|---|---|---|
satisfaction_rating.created | CSAT soumis | Traitement de feedback |
satisfaction_rating.bad | Évaluation négative | Actions de récupération |
satisfaction_rating.good | Évaluation positive | Campagnes de recommandation |
Exemples de code
Initialiser le connecteur
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connecter Zendeskawait tajo.connectors.connect('zendesk', { subdomain: 'yourcompany', apiToken: process.env.ZENDESK_API_TOKEN});Synchroniser utilisateurs et tickets
// Synchronisation complète des utilisateurs et données de ticketsawait tajo.connectors.sync('zendesk', { type: 'full', resources: ['users', 'tickets', 'organizations'], since: '2023-01-01'});
// Vérifier le statut de synchronisationconst status = await tajo.connectors.status('zendesk');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// usersSynced: 8400,// ticketsSynced: 34200,// organizationsSynced: 1200// }Gérer les webhooks Zendesk
app.post('/webhooks/zendesk', async (req, res) => { const signature = req.get('X-Zendesk-Webhook-Signature');
// Vérifier la signature du webhook 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');});Limites de taux
Les limites de taux Zendesk varient selon le plan :
| Plan | Limite de taux | Détails |
|---|---|---|
| Team | 200 requêtes/minute | Par token API |
| Professional | 400 requêtes/minute | Par token API |
| Enterprise | 700 requêtes/minute | Par token API |
| High Volume Add-on | 2 500 requêtes/minute | Par token API |
Limites supplémentaires :
- API Search : 6 requêtes/minute pour anonymes, 100/minute pour authentifiés
- Exports incrémentiels : 10 requêtes/minute
- API Batch : 100 enregistrements par requête batch
- Livraison de webhooks : Retry automatique avec backoff exponentiel
En-têtes de limite de taux
Surveillez les en-têtes X-Rate-Limit-Remaining et Retry-After pour gérer votre utilisation de l’API.
Dépannage
Problèmes courants
| Problème | Cause | Solution |
|---|---|---|
| 401 Unauthorized | Token API invalide | Régénérez le token dans Zendesk Admin |
| 403 Forbidden | Permissions insuffisantes | Vérifiez les exigences de rôle agent ou admin |
| Utilisateur non synchronisé | L’utilisateur est un agent, pas un end-user | Filtrez par rôle dans la configuration de synchronisation |
| Webhook non reçu | Trigger/target non configuré | Configurez la cible webhook dans Zendesk Admin |
| Recherche retourne vide | Délai d’indexation | Attendez 1-2 minutes pour la mise à jour de l’index de recherche |
Mode debug
Activer la journalisation détaillée :
connectors: zendesk: debug: true log_level: verbose log_webhooks: trueTester la connexion
tajo connectors test zendesk# ✓ API connection successful# ✓ Users readable# ✓ Tickets readable# ✓ Organizations readable# ✓ Webhooks configuredBonnes pratiques
- Utilisez les exports incrémentiels - Utilisez l’API Incremental pour la synchronisation de données à grande échelle
- Filtrez uniquement les end-users - Excluez les agents et admins de la synchronisation de contacts Brevo
- Synchronisez les données CSAT - Utilisez les scores de satisfaction pour la segmentation de santé client
- Mappez les organisations - Exploitez les données d’organisation pour les campagnes marketing B2B
- Implémentez les retries webhook - Gérez les échecs temporaires avec grâce
- Utilisez le side-loading - Incluez les enregistrements liés dans les réponses API pour réduire le nombre de requêtes
Sécurité
- Authentification par token API - Accès basé sur token lié à l’email admin
- OAuth 2.0 - Accès délégué basé sur token avec contrôles de périmètre
- Signature de webhook - Vérification de signature HMAC pour les payloads de webhook
- Chiffrement TLS - Toutes les communications API chiffrées via HTTPS
- Liste blanche d’IP - Restreindre l’accès API par plage d’IP