Freshdesk-koppling

Anslut Freshdesk till Brevo via Tajo för att förena support- och marknadsföringsdata. Synka kundsupportärenden, kontaktprofiler och nöjdhetspoäng för att driva riktad kommunikation baserad på supportinteraktioner.

Översikt

EgenskapVärde
PlattformFreshdesk
KategoriSupport
InstallationskomplexitetEnkel
Officiell integrationNej
Data som synkasÄrenden, kontakter, agenter, företag
Tillgängliga skills6

Funktioner

  • Kontaktsynkronisering - Dubbelriktad synk av Freshdesk-kontakter till Brevo-kontaktlistor
  • Spårning av ärendehändelser - Vidarebefordra händelser för ärendeskapande, uppdatering och lösning till Brevo
  • CSAT-synkronisering - Synka kundnöjdhetspoäng som Brevo-kontaktattribut
  • Företagssynkronisering - Mappa Freshdesk-företag till Brevos kontaktsegmentering
  • Agentdata - Spåra agenttilldelningar för internt arbetsflödesautomation
  • Anpassade fält - Mappa Freshdesks anpassade ärende- och kontaktfält till Brevo-attribut

Förutsättningar

Innan du börjar, se till att du har:

  1. Ett Freshdesk-konto med adminåtkomst
  2. Din Freshdesk API-nyckel (finns i profilinställningar)
  3. Din Freshdesk-domän (t.ex. yourcompany.freshdesk.com)
  4. Ett Brevo-konto med API-åtkomst
  5. Ett Tajo-konto med API-uppgifter

Autentisering

API-nyckelautentisering

Freshdesk använder API-nyckelautentisering via HTTP Basic Auth. API-nyckeln används som användarnamn med valfri sträng (vanligtvis X) som lösenord.

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

Eller med Base64-kodning i Authorization-headern:

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

Hitta din API-nyckel

  1. Logga in på ditt Freshdesk-konto
  2. Klicka på din profilbild i övre högra hörnet
  3. Gå till Profile Settings
  4. Din API-nyckel visas på höger sida

Konfiguration

Grundinställning

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

Kontaktfältmappning

Mappa Freshdesks kontaktfält till Brevo-attribut:

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

Mappning av ärendehändelser

Mappa Freshdesks ärendehändelser till Brevos automationsutlösare:

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

MetodEndpointBeskrivning
GET/api/v2/ticketsLista alla ärenden
POST/api/v2/ticketsSkapa ett ärende
GET/api/v2/tickets/{id}Hämta ett specifikt ärende
PUT/api/v2/tickets/{id}Uppdatera ett ärende
DELETE/api/v2/tickets/{id}Radera ett ärende
GET/api/v2/contactsLista alla kontakter
POST/api/v2/contactsSkapa en kontakt
PUT/api/v2/contacts/{id}Uppdatera en kontakt
GET/api/v2/companiesLista alla företag
GET/api/v2/agentsLista alla agenter
GET/api/v2/surveys/satisfaction_ratingsLista CSAT-betyg
GET/api/v2/search/tickets?query=Sök ärenden

Kodexempel

Initiera Freshdesk-koppling

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
});

Synka kontakter till 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"
// }

Spåra ärendehä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ök ärenden per kund

// 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();

Hastighetsbegränsningar

PlanGränsDetaljer
Sprout50 förfrågningar/minGratisplan
Blossom200 förfrågningar/minStarter-plan
Garden400 förfrågningar/minGrowth-plan
Estate700 förfrågningar/minPro-plan
Forest1 000 förfrågningar/minEnterprise-plan

Ytterligare gränser:

ResursGräns
List-endpoints30 sidor per fråga
Per sidaMax 100 poster
Search API2 förfrågningar/sek
Bulk-operationer10 poster/förfrågan

Headrar för hastighetsbegränsning

Freshdesk returnerar information om hastighetsbegränsning i svar-headrar. Övervaka X-RateLimit-Remaining och implementera backoff när du närmar dig gränser.

Felsökning

ProblemOrsakLösning
401 UnauthorizedOgiltig API-nyckelVerifiera API-nyckel i Freshdesk profilinställningar
403 ForbiddenOtillräckliga behörigheterSäkerställ att API-nyckel tillhör ett adminkonto
Kontakter synkas inteSaknat e-postfältFreshdesk-kontakter kräver en e-postadress
Ärenden visas inteFel domänVerifiera att din Freshdesk-domän-URL är korrekt
Sökning returnerar tomSyntaxfel i frågaAnvänd Freshdesks sökfrågesyntax med dubbla citattecken
429 Too Many RequestsHastighetsbegränsning överskridenImplementera hastighetsbegränsning baserat på plan-nivå
Anpassade fält saknasFält ej aktiveratSäkerställ att anpassade fält är aktiverade i Freshdesk admin

Bästa praxis

  1. Använd webhooks för realtidssynk - Konfigurera Freshdesk Automations att utlösa webhooks på ärendehändelser
  2. Synka CSAT-poäng - Spåra kundnöjdhetsbetyg som Brevo-attribut för segmentering
  3. Mappa ärendestatus till listor - Flytta automatiskt kontakter mellan Brevo-listor baserat på ärendestatus
  4. Spåra supportmått - Synka antal ärenden, genomsnittlig svarstid och lösningsfrekvens per kontakt
  5. Använd search API sparsamt - Search API har striktare hastighetsbegränsningar; cacha resultat när möjligt
  6. Sidindela stora exporter - Använd sidindelning med page och per_page-parametrar för initial synk

Säkerhet

  • API-nyckelautentisering - Enkel HTTP Basic Auth med API-nyckel
  • Endast HTTPS - All API-kommunikation kräver TLS-kryptering
  • IP-allowlisting - Tillgängligt på Estate- och Forest-planer
  • Rollbaserad åtkomst - API-nyckelbehörigheter knutna till agentroll
  • SOC 2 Type II - Freshdesk är SOC 2 Type II-certifierad
  • GDPR-efterlevnad - Stöder dataexport- och raderingsrequester

Relaterade resurser

Subscribe to updates

developer-docs

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

auto-detect
AI-assistent

Hej! Fråga mig om dokumentationen.