---
title: "Connecteur Freshdesk"
description: "Guide complet d'intégration Freshdesk pour synchroniser tickets de support, contacts et données d'agents avec Brevo via Tajo."
url: https://tajo.io/fr/docs/connectors/support/freshdesk/
markdown: https://tajo.io/fr/docs/connectors/support/freshdesk.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 Freshdesk

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 Freshdesk à Brevo via Tajo pour unifier les données de support et de marketing. Synchronisez les tickets de support client, les profils de contacts et les scores de satisfaction pour alimenter des communications ciblées basées sur les interactions de support.

## Vue d’ensemble

| Propriété | Valeur |
| --- | --- |
| **Plateforme** | Freshdesk |
| **Catégorie** | Support |
| **Complexité de configuration** | Facile |
| **Intégration officielle** | Non |
| **Données synchronisées** | Tickets, Contacts, Agents, Entreprises |
| **Compétences disponibles** | 6 |

## Fonctionnalités

- **Synchronisation des contacts** - Synchronisation bidirectionnelle des contacts Freshdesk vers les listes de contacts Brevo
- **Suivi des événements de tickets** - Transfert des événements de création, mise à jour et résolution de tickets vers Brevo
- **Synchronisation CSAT** - Synchronisation des scores de satisfaction client en tant qu’attributs de contact Brevo
- **Synchronisation des entreprises** - Mappage des entreprises Freshdesk vers la segmentation de contacts Brevo
- **Données d’agents** - Suivi des attributions d’agents pour l’automatisation des workflows internes
- **Champs personnalisés** - Mappage des champs personnalisés de tickets et contacts Freshdesk vers les attributs Brevo

## Prérequis

Avant de commencer, assurez-vous d’avoir :

1. Un compte Freshdesk avec accès admin
2. Votre clé API Freshdesk (trouvée dans les Profile Settings)
3. Votre domaine Freshdesk (ex. `yourcompany.freshdesk.com`)
4. Un compte Brevo avec accès API
5. Un compte Tajo avec identifiants API

## Authentification

### Authentification par clé API

Freshdesk utilise l’authentification par clé API via HTTP Basic Auth. La clé API est utilisée comme nom d’utilisateur avec n’importe quelle chaîne (typiquement `X`) comme mot de passe.

```bash
curl -u "YOUR_API_KEY:X" \
  https://yourcompany.freshdesk.com/api/v2/tickets
```

Ou en utilisant l’encodage Base64 dans l’en-tête Authorization :

```bash
curl https://yourcompany.freshdesk.com/api/v2/tickets \
  -H "Authorization: Basic BASE64_ENCODED_API_KEY:X" \
  -H "Content-Type: application/json"
```

### Trouver votre clé API

1. Connectez-vous à votre compte Freshdesk
2. Cliquez sur votre photo de profil en haut à droite
3. Allez dans **Profile Settings**
4. Votre clé API est affichée sur le côté droit

## Configuration

### Configuration de base

```yaml
connectors:
  freshdesk:
    enabled: true
    domain: "yourcompany.freshdesk.com"
    api_key: "your-freshdesk-api-key"

    # Options de synchronisation des données
    sync:
      contacts: true
      tickets: true
      companies: true
      satisfaction_ratings: true

    # Assignation de listes Brevo
    lists:
      all_support_contacts: 30
      open_tickets: 31
      resolved_tickets: 32
```

### Mappage des champs de contact

Mappez les champs de contact Freshdesk aux attributs Brevo :

```yaml
contact_mapping:
  email: email
  name: FULLNAME
  phone: SMS
  company_id: COMPANY
  job_title: JOB_TITLE
  twitter_id: TWITTER
  language: LANGUAGE
  time_zone: TIMEZONE

  # Métriques de support
  total_tickets: TICKET_COUNT
  open_tickets: OPEN_TICKETS
  avg_csat: CSAT_SCORE
  last_ticket_date: LAST_SUPPORT_DATE

  # Champs personnalisés
  custom_fields.account_type: ACCOUNT_TYPE
  custom_fields.subscription_tier: PLAN
```

### Mappage des événements de tickets

Mappez les événements de tickets Freshdesk aux déclencheurs d’automatisation Brevo :

```yaml
ticket_events:
  ticket_created: "support_ticket_created"
  ticket_updated: "support_ticket_updated"
  ticket_resolved: "support_ticket_resolved"
  ticket_closed: "support_ticket_closed"
  ticket_reopened: "support_ticket_reopened"
  satisfaction_rated: "csat_submitted"
  note_added: "support_note_added"
```

## Endpoints API

| Méthode | Endpoint | Description |
| --- | --- | --- |
| `GET` | `/api/v2/tickets` | Lister tous les tickets |
| `POST` | `/api/v2/tickets` | Créer un ticket |
| `GET` | `/api/v2/tickets/{id}` | Obtenir un ticket spécifique |
| `PUT` | `/api/v2/tickets/{id}` | Mettre à jour un ticket |
| `DELETE` | `/api/v2/tickets/{id}` | Supprimer un ticket |
| `GET` | `/api/v2/contacts` | Lister tous les contacts |
| `POST` | `/api/v2/contacts` | Créer un contact |
| `PUT` | `/api/v2/contacts/{id}` | Mettre à jour un contact |
| `GET` | `/api/v2/companies` | Lister toutes les entreprises |
| `GET` | `/api/v2/agents` | Lister tous les agents |
| `GET` | `/api/v2/surveys/satisfaction_ratings` | Lister les évaluations CSAT |
| `GET` | `/api/v2/search/tickets?query=` | Rechercher des tickets |

## Exemples de code

### Initialiser le connecteur Freshdesk

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

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

// Connecter le compte Freshdesk
await tajo.connectors.connect('freshdesk', {
  domain: 'yourcompany.freshdesk.com',
  apiKey: process.env.FRESHDESK_API_KEY
});
```

### Synchroniser les contacts vers Brevo

```javascript
// Récupérer les contacts Freshdesk et les synchroniser vers Brevo
const response = await fetch(
  'https://yourcompany.freshdesk.com/api/v2/contacts?page=1&per_page=100',
  {
    headers: {
      'Authorization': 'Basic ' + btoa(`${API_KEY}:X`),
      'Content-Type': 'application/json'
    }
  }
);

const contacts = await response.json();
// Chaque contact :
// {
//   "id": 12345,
//   "name": "Jane Kim",
//   "email": "jane@example.com",
//   "phone": "+15551234567",
//   "company_id": 678,
//   "job_title": "Product Manager",
//   "created_at": "2024-01-15T10:30:00Z"
// }
```

### Suivre les événements de tickets

```javascript
// Configurer un webhook Freshdesk pour transférer les événements de tickets
// Configurez dans Freshdesk Admin > Automations > Webhook

// Gestionnaire de webhook
app.post('/webhooks/freshdesk', async (req, res) => {
  const { ticket, event_type } = req.body;

  await tajo.connectors.handleWebhook('freshdesk', {
    topic: event_type,
    payload: {
      ticketId: ticket.id,
      subject: ticket.subject,
      status: ticket.status,
      priority: ticket.priority,
      requesterEmail: ticket.requester.email,
      createdAt: ticket.created_at
    }
  });

  res.status(200).send('OK');
});
```

### Rechercher des tickets par client

```javascript
// Rechercher tous les tickets d'un client spécifique
const query = encodeURIComponent('"email:jane@example.com"');
const response = await fetch(
  `https://yourcompany.freshdesk.com/api/v2/search/tickets?query=${query}`,
  {
    headers: {
      'Authorization': 'Basic ' + btoa(`${API_KEY}:X`)
    }
  }
);

const { results, total } = await response.json();
```

## Limites de taux

| Plan | Limite | Détails |
| --- | --- | --- |
| **Sprout** | 50 requêtes/min | Plan gratuit |
| **Blossom** | 200 requêtes/min | Plan Starter |
| **Garden** | 400 requêtes/min | Plan Growth |
| **Estate** | 700 requêtes/min | Plan Pro |
| **Forest** | 1 000 requêtes/min | Plan Enterprise |

Limites supplémentaires :

| Ressource | Limite |
| --- | --- |
| **Endpoints de liste** | 30 pages par requête |
| **Par page** | 100 enregistrements max |
| **API Search** | 2 requêtes/sec |
| **Opérations en masse** | 10 enregistrements/requête |

En-têtes de limite de taux

Freshdesk retourne les informations de limite de taux dans les en-têtes de réponse. Surveillez `X-RateLimit-Remaining` et implémentez un backoff à l’approche des limites.

## Dépannage

| Problème | Cause | Solution |
| --- | --- | --- |
| `401 Unauthorized` | Clé API invalide | Vérifiez la clé API dans les Profile Settings Freshdesk |
| `403 Forbidden` | Permissions insuffisantes | Assurez-vous que la clé API appartient à un compte admin |
| Contacts non synchronisés | Champ email manquant | Les contacts Freshdesk nécessitent une adresse email |
| Tickets non visibles | Mauvais domaine | Vérifiez que l’URL de votre domaine Freshdesk est correcte |
| Recherche retourne vide | Erreur de syntaxe de requête | Utilisez la syntaxe de requête Freshdesk avec des guillemets doubles |
| `429 Too Many Requests` | Limite de taux dépassée | Implémentez une limitation de taux selon le niveau du plan |
| Champs personnalisés manquants | Champ non activé | Assurez-vous que les champs personnalisés sont activés dans l’admin Freshdesk |

## Bonnes pratiques

1. **Utilisez les webhooks pour la synchronisation en temps réel** - Configurez les Automations Freshdesk pour déclencher des webhooks sur les événements de tickets
2. **Synchronisez les scores CSAT** - Suivez les évaluations de satisfaction client en tant qu’attributs Brevo pour la segmentation
3. **Mappez le statut des tickets aux listes** - Déplacez automatiquement les contacts entre les listes Brevo selon le statut du ticket
4. **Suivez les métriques de support** - Synchronisez le nombre de tickets, le temps de réponse moyen et le taux de résolution par contact
5. **Utilisez l’API Search avec parcimonie** - L’API Search a des limites de taux plus strictes ; mettez en cache les résultats quand possible
6. **Paginez les exports volumineux** - Utilisez la pagination avec les paramètres `page` et `per_page` pour la synchronisation initiale

## Sécurité

- **Authentification par clé API** - HTTP Basic Auth simple avec clé API
- **HTTPS uniquement** - Toutes les communications API nécessitent un chiffrement TLS
- **Liste blanche d’IP** - Disponible sur les plans Estate et Forest
- **Accès basé sur les rôles** - Permissions de clé API liées au rôle de l’agent
- **SOC 2 Type II** - Freshdesk est certifié SOC 2 Type II
- **Conformité RGPD** - Prend en charge les demandes d’export et de suppression de données

## Ressources liées

- [Connecteur Brevo](https://tajo.io/fr/docs/connectors/marketing/brevo)
- [Compétence de synchronisation client](https://tajo.io/fr/docs/skills/data-sync/customer-sync)
- [Connecteur Shopify](https://tajo.io/fr/docs/connectors/ecommerce/shopify)
- [API Contacts Brevo](https://tajo.io/fr/docs/contact-management)
