Freshdesk Connector

Forbind Freshdesk til Brevo via Tajo for at forene support- og marketingdata. Synkronisér kunders supportsager, kontaktprofiler og tilfredshedsscores for at drive målrettet kommunikation baseret på supportinteraktioner.

Oversigt

EgenskabVærdi
PlatformFreshdesk
KategoriSupport
OpsætningskompleksitetLet
Officiel integrationNej
Synkroniserede dataSager, kontakter, agenter, virksomheder
Tilgængelige skills6

Funktioner

  • Kontaktsynkronisering - Tovejssynkronisering af Freshdesk-kontakter til Brevo-kontaktlister
  • Sporing af sagshændelser - Videresend sagsoprettelse, -opdatering og -løsningshændelser til Brevo
  • CSAT-synkronisering - Synkronisér kundetilfredshedsscores som Brevo-kontaktattributter
  • Virksomhedssynkronisering - Knyt Freshdesk-virksomheder til Brevo-kontaktsegmentering
  • Agentdata - Spor agenttildelinger til intern workflow-automatisering
  • Brugerdefinerede felter - Knyt Freshdesk-brugerdefinerede sags- og kontaktfelter til Brevo-attributter

Forudsætninger

Før du begynder, skal du sikre dig, at du har:

  1. En Freshdesk-konto med administratoradgang
  2. Din Freshdesk API-nøgle (findes i Profile Settings)
  3. Dit Freshdesk-domæne (f.eks. yourcompany.freshdesk.com)
  4. En Brevo-konto med API-adgang
  5. En Tajo-konto med API-legitimationsoplysninger

Autentifikation

API-nøgle-autentifikation

Freshdesk bruger API-nøgle-autentifikation via HTTP Basic Auth. API-nøglen bruges som brugernavn med en vilkårlig streng (typisk X) som adgangskode.

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

Eller ved brug af Base64-kodning i Authorization-headeren:

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

Find din API-nøgle

  1. Log ind på din Freshdesk-konto
  2. Klik dit profilbillede i øverste højre hjørne
  3. Gå til Profile Settings
  4. Din API-nøgle vises i højre side

Konfiguration

Grundlæggende opsætning

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: 32

Kontaktfeltmapping

Knyt Freshdesk-kontaktfelter til Brevo-attributter:

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: PLAN

Mapping af sagshændelser

Knyt Freshdesk-sagshændelser til Brevo-automatiseringstriggere:

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"

API-endpoints

MetodeEndpointBeskrivelse
GET/api/v2/ticketsVis alle sager
POST/api/v2/ticketsOpret en sag
GET/api/v2/tickets/{id}Hent en specifik sag
PUT/api/v2/tickets/{id}Opdatér en sag
DELETE/api/v2/tickets/{id}Slet en sag
GET/api/v2/contactsVis alle kontakter
POST/api/v2/contactsOpret en kontakt
PUT/api/v2/contacts/{id}Opdatér en kontakt
GET/api/v2/companiesVis alle virksomheder
GET/api/v2/agentsVis alle agenter
GET/api/v2/surveys/satisfaction_ratingsVis CSAT-ratings
GET/api/v2/search/tickets?query=Søg i sager

Kodeeksempler

Initialisér Freshdesk-konnektor

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Connect Freshdesk account
await tajo.connectors.connect('freshdesk', {
domain: 'yourcompany.freshdesk.com',
apiKey: process.env.FRESHDESK_API_KEY
});

Synkronisér kontakter til Brevo

// Fetch Freshdesk contacts and sync to 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();
// 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"
// }

Spor sagshændelser

// Set up Freshdesk webhook to forward ticket events
// Configure in Freshdesk Admin > Automations > Webhook
// Webhook handler
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');
});

Søg sager efter kunde

// Search for all tickets from a specific customer
const query = encodeURIComponent('"email:[email protected]"');
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();

Ratebegrænsninger

PlanGrænseDetaljer
Sprout50 forespørgsler/minGratis plan
Blossom200 forespørgsler/minStarter-plan
Garden400 forespørgsler/minGrowth-plan
Estate700 forespørgsler/minPro-plan
Forest1.000 forespørgsler/minEnterprise-plan

Yderligere grænser:

RessourceGrænse
Liste-endpoints30 sider per forespørgsel
Per side100 poster maks.
Search API2 forespørgsler/sek
Bulk-operationer10 poster/forespørgsel

Rate limit-headere

Freshdesk returnerer information om ratebegrænsninger i responseheadere. Overvåg X-RateLimit-Remaining, og implementér backoff, når du nærmer dig grænserne.

Fejlfinding

ProblemÅrsagLøsning
401 UnauthorizedUgyldig API-nøgleVerificér API-nøgle i Freshdesk Profile Settings
403 ForbiddenUtilstrækkelige rettighederSørg for, at API-nøglen tilhører en administratorkonto
Kontakter synkroniseres ikkeManglende e-mailfeltFreshdesk-kontakter kræver en e-mailadresse
Sager vises ikkeForkert domæneVerificér, at din Freshdesk-domæne-URL er korrekt
Søgning returnerer tomtQuery-syntaksfejlBrug Freshdesk-søgequery-syntaks med dobbelte anførselstegn
429 Too Many RequestsRatebegrænsning overskredetImplementér ratebegrænsning baseret på planniveau
Brugerdefinerede felter manglerFelt ikke aktiveretSørg for, at brugerdefinerede felter er aktiveret i Freshdesk-admin

Best practices

  1. Brug webhooks til realtidssynkronisering - Konfigurér Freshdesk Automations til at udløse webhooks ved sagshændelser
  2. Synkronisér CSAT-scores - Spor kundetilfredshedsratings som Brevo-attributter til segmentering
  3. Knyt sagsstatus til lister - Flyt automatisk kontakter mellem Brevo-lister baseret på sagsstatus
  4. Spor supportmetrikker - Synkronisér sagsantal, gennemsnitlig svartid og løsningsrate per kontakt
  5. Brug Search API sparsomt - Search API’et har strengere ratebegrænsninger; cache resultater når muligt
  6. Paginér store eksporter - Brug paginering med page- og per_page-parametre til indledende synkronisering

Sikkerhed

  • API-nøgle-autentifikation - Simpel HTTP Basic Auth med API-nøgle
  • Kun HTTPS - Al API-kommunikation kræver TLS-kryptering
  • IP-whitelisting - Tilgængelig på Estate- og Forest-planer
  • Rollebaseret adgang - API-nøglerettigheder knyttet til agentrolle
  • SOC 2 Type II - Freshdesk er SOC 2 Type II-certificeret
  • GDPR-overholdelse - Understøtter anmodninger om dataeksport og -sletning

Relaterede ressourcer

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
AI-assistent

Hej! Spørg mig om dokumentationen.