Freshdesk-kobling
Koble Freshdesk til Brevo gjennom Tajo for å forene support- og markedsføringsdata. Synkroniser kundesupportsaker, kontaktprofiler og tilfredshetsscore for å drive målrettet kommunikasjon basert på supportinteraksjoner.
Oversikt
| Egenskap | Verdi |
|---|---|
| Plattform | Freshdesk |
| Kategori | Support |
| Oppsettskompleksitet | Enkel |
| Offisiell integrasjon | Nei |
| Synkroniserte data | Saker, kontakter, agenter, selskaper |
| Tilgjengelige ferdigheter | 6 |
Funksjoner
- Kontaktsynkronisering - Toveis synkronisering av Freshdesk-kontakter til Brevo-kontaktlister
- Sporing av sakshendelser - Videresend hendelser for saksopprettelse, oppdatering og løsning til Brevo
- CSAT-synkronisering - Synkroniser kundetilfredshetsscore som Brevo-kontaktattributter
- Selskapssynkronisering - Mapp Freshdesk-selskaper til Brevo-kontaktsegmentering
- Agentdata - Spor agenttildelinger for intern arbeidsflytautomatisering
- Egendefinerte felt - Mapp Freshdesk egendefinerte saks- og kontaktfelt til Brevo-attributter
Forutsetninger
Før du begynner, sørg for at du har:
- En Freshdesk-konto med administratortilgang
- Din Freshdesk API-nøkkel (finnes i Profile Settings)
- Ditt Freshdesk-domene (f.eks.
yourcompany.freshdesk.com) - En Brevo-konto med API-tilgang
- En Tajo-konto med API-påloggingsdetaljer
Autentisering
API-nøkkelautentisering
Freshdesk bruker API-nøkkelautentisering via HTTP Basic Auth. API-nøkkelen brukes som brukernavn med en hvilken som helst streng (typisk X) som passord.
curl -u "YOUR_API_KEY:X" \ https://yourcompany.freshdesk.com/api/v2/ticketsEller med Base64-koding i Authorization-headeren:
curl https://yourcompany.freshdesk.com/api/v2/tickets \ -H "Authorization: Basic BASE64_ENCODED_API_KEY:X" \ -H "Content-Type: application/json"Finne API-nøkkelen din
- Logg inn på Freshdesk-kontoen din
- Klikk profilbildet ditt i øvre høyre hjørne
- Gå til Profile Settings
- API-nøkkelen din vises på høyre side
Konfigurasjon
Grunnleggende oppsett
connectors: freshdesk: enabled: true domain: "yourcompany.freshdesk.com" api_key: "your-freshdesk-api-key"
# Synkroniseringsalternativer sync: contacts: true tickets: true companies: true satisfaction_ratings: true
# Tildeling av Brevo-lister lists: all_support_contacts: 30 open_tickets: 31 resolved_tickets: 32Kontaktfeltmapping
Mapp Freshdesk-kontaktfelt 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
# Supportmålinger total_tickets: TICKET_COUNT open_tickets: OPEN_TICKETS avg_csat: CSAT_SCORE last_ticket_date: LAST_SUPPORT_DATE
# Egendefinerte felt custom_fields.account_type: ACCOUNT_TYPE custom_fields.subscription_tier: PLANSakshendelsesmapping
Mapp Freshdesk-sakshendelser til Brevo-automatiseringsutløsere:
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-endepunkter
| Metode | Endepunkt | Beskrivelse |
|---|---|---|
GET | /api/v2/tickets | List alle saker |
POST | /api/v2/tickets | Opprett en sak |
GET | /api/v2/tickets/{id} | Hent en bestemt sak |
PUT | /api/v2/tickets/{id} | Oppdater en sak |
DELETE | /api/v2/tickets/{id} | Slett en sak |
GET | /api/v2/contacts | List alle kontakter |
POST | /api/v2/contacts | Opprett en kontakt |
PUT | /api/v2/contacts/{id} | Oppdater en kontakt |
GET | /api/v2/companies | List alle selskaper |
GET | /api/v2/agents | List alle agenter |
GET | /api/v2/surveys/satisfaction_ratings | List CSAT-vurderinger |
GET | /api/v2/search/tickets?query= | Søk etter saker |
Kodeeksempler
Initialiser Freshdesk-kobling
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Koble til Freshdesk-kontoawait tajo.connectors.connect('freshdesk', { domain: 'yourcompany.freshdesk.com', apiKey: process.env.FRESHDESK_API_KEY});Synkroniser kontakter til Brevo
// Hent Freshdesk-kontakter og synkroniser til 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();// Hver kontakt:// {// "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 sakshendelser
// Sett opp Freshdesk-webhook for å videresende sakshendelser// Konfigureres i Freshdesk Admin > Automations > Webhook
// Webhook-håndtererapp.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 saker etter kunde
// Søk etter alle saker fra en bestemt kundeconst 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();Ratebegrensninger
| Plan | Grense | Detaljer |
|---|---|---|
| Sprout | 50 forespørsler/min | Gratis plan |
| Blossom | 200 forespørsler/min | Starter-plan |
| Garden | 400 forespørsler/min | Growth-plan |
| Estate | 700 forespørsler/min | Pro-plan |
| Forest | 1 000 forespørsler/min | Enterprise-plan |
Ytterligere grenser:
| Ressurs | Grense |
|---|---|
| Liste-endepunkter | 30 sider per spørring |
| Per side | Maks 100 poster |
| Search API | 2 forespørsler/sek |
| Bulkoperasjoner | 10 poster/forespørsel |
Ratebegrensningsheadere
Freshdesk returnerer ratebegrensningsinformasjon i responsheadere. Overvåk X-RateLimit-Remaining og implementer backoff når du nærmer deg grensene.
Feilsøking
| Problem | Årsak | Løsning |
|---|---|---|
401 Unauthorized | Ugyldig API-nøkkel | Verifiser API-nøkkel i Freshdesk Profile Settings |
403 Forbidden | Utilstrekkelige rettigheter | Sørg for at API-nøkkelen tilhører en administratorkonto |
| Kontakter synkroniseres ikke | Manglende e-postfelt | Freshdesk-kontakter krever en e-postadresse |
| Saker vises ikke | Feil domene | Verifiser at Freshdesk-domene-URL er korrekt |
| Søk returnerer tomt | Spørringssyntaksfeil | Bruk Freshdesks søkespørringssyntaks med doble anførselstegn |
429 Too Many Requests | Ratebegrensning overskredet | Implementer ratebegrensning basert på plannivå |
| Egendefinerte felt mangler | Felt ikke aktivert | Sørg for at egendefinerte felt er aktivert i Freshdesk-administratoren |
Beste praksis
- Bruk webhooks for sanntidssynkronisering - Konfigurer Freshdesk Automations til å utløse webhooks ved sakshendelser
- Synkroniser CSAT-score - Spor kundetilfredshetsvurderinger som Brevo-attributter for segmentering
- Mapp sakstatus til lister - Flytt kontakter automatisk mellom Brevo-lister basert på sakstatus
- Spor supportmålinger - Synkroniser saksantall, gjennomsnittlig svartid og løsningsrate per kontakt
- Bruk search API med måte - Search API har strengere ratebegrensninger; cache resultater når det er mulig
- Paginer store eksporter - Bruk paginering med
page- ogper_page-parametere for innledende synkronisering
Sikkerhet
- API-nøkkelautentisering - Enkel HTTP Basic Auth med API-nøkkel
- Kun HTTPS - All API-kommunikasjon krever TLS-kryptering
- IP-hviteliste - Tilgjengelig på Estate- og Forest-planer
- Rollebasert tilgang - API-nøkkelrettigheter knyttet til agentrolle
- SOC 2 Type II - Freshdesk er SOC 2 Type II-sertifisert
- GDPR-samsvar - Støtter forespørsler om dataeksport og sletting