---
title: "Connecteur Zendesk"
description: "Guide complet d'intégration Zendesk pour synchroniser tickets, utilisateurs, organisations et événements de support avec Brevo via Tajo."
url: https://tajo.io/fr/docs/connectors/support/zendesk/
markdown: https://tajo.io/fr/docs/connectors/support/zendesk.md
lang: fr-FR
robots: noindex
---

Demandez un accès anticipé

Indiquez votre prénom et votre adresse e-mail professionnelle. Nous vous enverrons un lien pour confirmer votre demande d’accès à Tajo.

# Connecteur Zendesk

Statut du connecteur: Prévu Pas encore construit. Tajo n'exécute pas ce connecteur aujourd'hui.

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

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 :

1. Un compte Zendesk Support (Team, Professional ou Enterprise)
2. Un accès admin à votre instance Zendesk
3. Un token API ou une application OAuth configurée
4. Un compte Brevo avec accès API
5. Un compte Tajo

## Authentification

### Authentification par token API

Utilisez l’authentification email/token pour une configuration rapide.

```bash
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é.

```bash
# URL d'autorisation
https://{subdomain}.zendesk.com/oauth/authorizations/new?
  response_type=code&
  client_id={client_id}&
  redirect_uri={redirect_uri}&
  scope=read%20write
```

#### Périmètres requis

```
read          # Accès en lecture à toutes les ressources
write         # Accès en écriture à toutes les ressources
tickets:read  # Lecture des tickets (granulaire)
users:read    # Lecture des utilisateurs (granulaire)
organizations:read  # Lecture des organisations (granulaire)
```

## Configuration

### Configuration de base

```yaml
connectors:
  zendesk:
    enabled: true
    subdomain: "yourcompany"
    auth:
      email: "admin@yourcompany.com"
      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: 32
```

### Mappage 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

```yaml
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_TIER
```

## Endpoints 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

```javascript
import { TajoClient } from '@tajo/sdk';

const tajo = new TajoClient({
  apiKey: process.env.TAJO_API_KEY,
  brevoApiKey: process.env.BREVO_API_KEY
});

// Connecter Zendesk
await tajo.connectors.connect('zendesk', {
  subdomain: 'yourcompany',
  email: 'admin@yourcompany.com',
  apiToken: process.env.ZENDESK_API_TOKEN
});
```

### Synchroniser utilisateurs et tickets

```javascript
// Synchronisation complète des utilisateurs et données de tickets
await tajo.connectors.sync('zendesk', {
  type: 'full',
  resources: ['users', 'tickets', 'organizations'],
  since: '2023-01-01'
});

// Vérifier le statut de synchronisation
const 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

```javascript
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 :

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

### Tester la connexion

```bash
tajo connectors test zendesk
# ✓ API connection successful
# ✓ Users readable
# ✓ Tickets readable
# ✓ Organizations readable
# ✓ Webhooks configured
```

## Bonnes pratiques

1. **Utilisez les exports incrémentiels** - Utilisez l’API Incremental pour la synchronisation de données à grande échelle
2. **Filtrez uniquement les end-users** - Excluez les agents et admins de la synchronisation de contacts Brevo
3. **Synchronisez les données CSAT** - Utilisez les scores de satisfaction pour la segmentation de santé client
4. **Mappez les organisations** - Exploitez les données d’organisation pour les campagnes marketing B2B
5. **Implémentez les retries webhook** - Gérez les échecs temporaires avec grâce
6. **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

## Ressources liées

- [Documentation API Zendesk](https://developer.zendesk.com/api-reference)
- [Guide Webhooks Zendesk](https://developer.zendesk.com/api-reference/webhooks/introduction/)
- [Connecteur Intercom](https://tajo.io/fr/docs/connectors/support/intercom)
- [Compétence de synchronisation client](https://tajo.io/fr/docs/skills/data-sync/customer-sync)
- [API Contacts Brevo](https://tajo.io/fr/docs/contact-management)
