Conector Freshdesk
Conectați Freshdesk la Brevo prin Tajo pentru a unifica datele de suport și marketing. Sincronizați tichetele de suport ale clienților, profilurile de contact și scorurile de satisfacție pentru a alimenta comunicări țintite bazate pe interacțiunile de suport.
Prezentare generală
| Proprietate | Valoare |
|---|---|
| Platformă | Freshdesk |
| Categorie | Suport |
| Complexitate configurare | Ușoară |
| Integrare oficială | Nu |
| Date sincronizate | Tichete, Contacte, Agenți, Companii |
| Skilluri disponibile | 6 |
Funcționalități
- Sincronizare contacte - Sincronizare bidirecțională a contactelor Freshdesk cu listele de contacte Brevo
- Urmărire evenimente tichete - Redirecționați evenimentele de creare, actualizare și rezolvare a tichetelor la Brevo
- Sincronizare CSAT - Sincronizați scorurile de satisfacție a clienților ca atribute de contact Brevo
- Sincronizare companii - Mapați companiile Freshdesk la segmentarea contactelor Brevo
- Date agenți - Urmăriți atribuirile agenților pentru automatizarea fluxurilor de lucru interne
- Câmpuri personalizate - Mapați câmpurile personalizate de tichete și contacte Freshdesk la atributele Brevo
Cerințe preliminare
Înainte de a începe, asigurați-vă că aveți:
- Un cont Freshdesk cu acces de administrator
- Cheia API Freshdesk (găsită în Profile Settings)
- Domeniul dvs. Freshdesk (ex:
companiadvs.freshdesk.com) - Un cont Brevo cu acces API
- Un cont Tajo cu credențiale API
Autentificare
Autentificare cu cheie API
Freshdesk utilizează autentificarea cu cheie API prin HTTP Basic Auth. Cheia API este utilizată ca nume de utilizator cu orice șir (de obicei X) ca parolă.
curl -u "YOUR_API_KEY:X" \ https://yourcompany.freshdesk.com/api/v2/ticketsSau utilizând codificarea Base64 în antetul Authorization:
curl https://yourcompany.freshdesk.com/api/v2/tickets \ -H "Authorization: Basic BASE64_ENCODED_API_KEY:X" \ -H "Content-Type: application/json"Găsirea cheii API
- Autentificați-vă în contul Freshdesk
- Faceți clic pe fotografia de profil din colțul din dreapta sus
- Mergeți la Profile Settings
- Cheia API este afișată pe partea dreaptă
Configurare
Configurare de bază
connectors: freshdesk: enabled: true domain: "yourcompany.freshdesk.com" api_key: "your-freshdesk-api-key"
# Data sync options sync: contacts: true tickets: true companies: true satisfaction_ratings: true
# Brevo list assignment lists: all_support_contacts: 30 open_tickets: 31 resolved_tickets: 32Mapare câmpuri contact
Mapați câmpurile de contact Freshdesk la atributele Brevo:
contact_mapping: email: email name: FULLNAME phone: SMS company_id: COMPANY job_title: JOB_TITLE twitter_id: TWITTER language: LANGUAGE time_zone: TIMEZONE
# Support metrics total_tickets: TICKET_COUNT open_tickets: OPEN_TICKETS avg_csat: CSAT_SCORE last_ticket_date: LAST_SUPPORT_DATE
# Custom fields custom_fields.account_type: ACCOUNT_TYPE custom_fields.subscription_tier: PLANMapare evenimente tichete
Mapați evenimentele de tichete Freshdesk la declanșatoarele de automatizare Brevo:
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"Puncte finale API
| Metodă | Punct final | Descriere |
|---|---|---|
GET | /api/v2/tickets | Listează toate tichetele |
POST | /api/v2/tickets | Creează un tichet |
GET | /api/v2/tickets/{id} | Obține un tichet specific |
PUT | /api/v2/tickets/{id} | Actualizează un tichet |
DELETE | /api/v2/tickets/{id} | Șterge un tichet |
GET | /api/v2/contacts | Listează toate contactele |
POST | /api/v2/contacts | Creează un contact |
PUT | /api/v2/contacts/{id} | Actualizează un contact |
GET | /api/v2/companies | Listează toate companiile |
GET | /api/v2/agents | Listează toți agenții |
GET | /api/v2/surveys/satisfaction_ratings | Listează ratingurile CSAT |
GET | /api/v2/search/tickets?query= | Caută tichete |
Exemple de cod
Inițializare conector Freshdesk
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Freshdesk accountawait tajo.connectors.connect('freshdesk', { domain: 'yourcompany.freshdesk.com', apiKey: process.env.FRESHDESK_API_KEY});Sincronizare contacte la Brevo
// Fetch Freshdesk contacts and sync to Brevoconst 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();// Each contact:// {// "id": 12345,// "name": "Jane Kim",// "email": "[email protected]",// "phone": "+15551234567",// "company_id": 678,// "job_title": "Product Manager",// "created_at": "2024-01-15T10:30:00Z"// }Urmărire evenimente tichete
// Set up Freshdesk webhook to forward ticket events// Configure in Freshdesk Admin > Automations > Webhook
// Webhook handlerapp.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');});Căutare tichete după client
// Search for all tickets from a specific customerconst 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();Limite de rată
| Plan | Limită | Detalii |
|---|---|---|
| Sprout | 50 cereri/min | Plan gratuit |
| Blossom | 200 cereri/min | Plan Starter |
| Garden | 400 cereri/min | Plan Growth |
| Estate | 700 cereri/min | Plan Pro |
| Forest | 1.000 cereri/min | Plan Enterprise |
Limite suplimentare:
| Resursă | Limită |
|---|---|
| Puncte finale list | 30 pagini per interogare |
| Per pagină | Max 100 înregistrări |
| Search API | 2 cereri/sec |
| Operații bulk | 10 înregistrări/cerere |
Antete limită de rată
Freshdesk returnează informații despre limitele de rată în antetele de răspuns. Monitorizați X-RateLimit-Remaining și implementați backoff când vă apropiați de limite.
Depanare
| Problemă | Cauză | Soluție |
|---|---|---|
401 Unauthorized | Cheie API invalidă | Verificați cheia API în Freshdesk Profile Settings |
403 Forbidden | Permisiuni insuficiente | Asigurați că cheia API aparține unui cont de administrator |
| Contacte nesincronizate | Câmp e-mail lipsă | Contactele Freshdesk necesită o adresă de e-mail |
| Tichete care nu apar | Domeniu greșit | Verificați că URL-ul domeniului Freshdesk este corect |
| Căutare returnând rezultate goale | Eroare sintaxă interogare | Utilizați sintaxa de interogare Freshdesk cu ghilimele duble |
429 Too Many Requests | Limită de rată depășită | Implementați limitarea ratei bazată pe nivelul planului |
| Câmpuri personalizate lipsă | Câmp neactivat | Asigurați că câmpurile personalizate sunt activate în admin Freshdesk |
Bune practici
- Utilizați webhook-uri pentru sincronizare în timp real - Configurați Automatizările Freshdesk pentru a declanșa webhook-uri la evenimentele de tichete
- Sincronizați scorurile CSAT - Urmăriți ratingurile de satisfacție ale clienților ca atribute Brevo pentru segmentare
- Mapați statusul tichetului la liste - Mutați automat contactele între listele Brevo în funcție de statusul tichetului
- Urmăriți metricile de suport - Sincronizați numărul de tichete, timpul mediu de răspuns și rata de rezolvare per contact
- Utilizați Search API cu moderație - Search API are limite de rată mai stricte; memorați rezultatele în cache când este posibil
- Paginați exporturile mari - Utilizați paginarea cu parametrii
pageșiper_pagepentru sincronizarea inițială
Securitate
- Autentificare cu cheie API - HTTP Basic Auth simplu cu cheie API
- Numai HTTPS - Toate comunicațiile API necesită criptare TLS
- IP whitelisting - Disponibil pe planurile Estate și Forest
- Acces bazat pe rol - Permisiunile cheii API legate de rolul agentului
- SOC 2 Tip II - Freshdesk este certificat SOC 2 Tip II
- Conformitate GDPR - Suportă cereri de export și ștergere a datelor