Freshdesk konektor
Prepoj Freshdesk s Brevo cez Tajo na zjednotenie podporných a marketingových dát. Synchronizuj zákaznícke podporné tickety, profily kontaktov a skóre spokojnosti na pohon cielených komunikácií na základe podporných interakcií.
Prehľad
| Vlastnosť | Hodnota |
|---|---|
| Platforma | Freshdesk |
| Kategória | Podpora |
| Zložitosť nastavenia | Ľahké |
| Oficiálna integrácia | Nie |
| Synchronizované dáta | Tickety, Kontakty, Agenti, Spoločnosti |
| Dostupné skilly | 6 |
Funkcie
- Synchronizácia kontaktov - Obojsmerná synchronizácia kontaktov Freshdesk do zoznamov kontaktov Brevo
- Sledovanie udalostí ticketov - Preposielaj udalosti vytvorenia, aktualizácie a riešenia ticketov do Brevo
- Synchronizácia CSAT - Synchronizuj skóre spokojnosti zákazníkov ako atribúty kontaktov Brevo
- Synchronizácia spoločností - Mapuj spoločnosti Freshdesk na segmentáciu kontaktov Brevo
- Dáta agentov - Sleduj priradenia agentov pre internú automatizáciu workflowov
- Vlastné polia - Mapuj vlastné polia ticketov a kontaktov Freshdesk na atribúty Brevo
Predpoklady
Predtým, než začneš, uisti sa, že máš:
- Freshdesk účet s prístupom administrátora
- Freshdesk API kľúč (nájdeš v Profile Settings)
- Freshdesk doménu (napr.
yourcompany.freshdesk.com) - Brevo účet s API prístupom
- Tajo účet s API prihlasovacími údajmi
Autentifikácia
Autentifikácia API kľúčom
Freshdesk používa autentifikáciu API kľúčmi cez HTTP Basic Auth. API kľúč sa používa ako používateľské meno s ľubovoľným reťazcom (zvyčajne X) ako heslom.
curl -u "YOUR_API_KEY:X" \ https://yourcompany.freshdesk.com/api/v2/ticketsAlebo pomocou kódovania Base64 v hlavičke Authorization:
curl https://yourcompany.freshdesk.com/api/v2/tickets \ -H "Authorization: Basic BASE64_ENCODED_API_KEY:X" \ -H "Content-Type: application/json"Nájdenie API kľúča
- Prihlás sa do svojho Freshdesk účtu
- Klikni na svoju profilovú fotku v pravom hornom rohu
- Prejdi do Profile Settings
- Tvoj API kľúč je zobrazený na pravej strane
Konfigurácia
Základné nastavenie
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: 32Mapovanie polí kontaktov
Namapuj polia kontaktov Freshdesk na atribúty 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: PLANMapovanie udalostí ticketov
Namapuj udalosti ticketov Freshdesk na triggery automatizácie 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"API endpointy
| Metóda | Endpoint | Popis |
|---|---|---|
GET | /api/v2/tickets | Zoznam všetkých ticketov |
POST | /api/v2/tickets | Vytvorenie ticketu |
GET | /api/v2/tickets/{id} | Získanie konkrétneho ticketu |
PUT | /api/v2/tickets/{id} | Aktualizácia ticketu |
DELETE | /api/v2/tickets/{id} | Odstránenie ticketu |
GET | /api/v2/contacts | Zoznam všetkých kontaktov |
POST | /api/v2/contacts | Vytvorenie kontaktu |
PUT | /api/v2/contacts/{id} | Aktualizácia kontaktu |
GET | /api/v2/companies | Zoznam všetkých spoločností |
GET | /api/v2/agents | Zoznam všetkých agentov |
GET | /api/v2/surveys/satisfaction_ratings | Zoznam hodnotení CSAT |
GET | /api/v2/search/tickets?query= | Vyhľadávanie ticketov |
Ukážky kódu
Inicializácia Freshdesk konektora
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});Synchronizácia kontaktov do 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"// }Sledovanie udalostí ticketov
// 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');});Vyhľadávanie ticketov podľa zákazníka
// 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();Obmedzenia rýchlosti
| Plán | Limit | Detaily |
|---|---|---|
| Sprout | 50 požiadaviek/min | Bezplatný plán |
| Blossom | 200 požiadaviek/min | Štartovací plán |
| Garden | 400 požiadaviek/min | Rastový plán |
| Estate | 700 požiadaviek/min | Pro plán |
| Forest | 1 000 požiadaviek/min | Enterprise plán |
Ďalšie limity:
| Zdroj | Limit |
|---|---|
| Endpointy zoznamu | 30 strán na dopyt |
| Na stranu | Max 100 záznamov |
| Search API | 2 požiadavky/sek |
| Hromadné operácie | 10 záznamov/požiadavku |
Hlavičky limitov rýchlosti
Freshdesk vracia informácie o limitoch rýchlosti v hlavičkách odpovede. Monitoruj X-RateLimit-Remaining a implementuj backoff pri blížení sa k limitom.
Riešenie problémov
| Problém | Príčina | Riešenie |
|---|---|---|
401 Unauthorized | Neplatný API kľúč | Overte API kľúč v Freshdesk Profile Settings |
403 Forbidden | Nedostatočné oprávnenia | Uisti sa, že API kľúč patrí administrátorskému účtu |
| Kontakty sa nesynchronizujú | Chýba pole e-mail | Kontakty Freshdesk vyžadujú e-mailovú adresu |
| Tickety sa nezobrazujú | Nesprávna doména | Overte správnosť URL domény Freshdesk |
| Vyhľadávanie vracia prázdne | Chyba syntaxe dopytu | Použi syntax vyhľadávacieho dopytu Freshdesk s úvodzovkami |
429 Too Many Requests | Prekročený limit rýchlosti | Implementuj obmedzenie rýchlosti podľa úrovne plánu |
| Chýbajúce vlastné polia | Pole nie je aktivované | Uisti sa, že vlastné polia sú aktivované v administrácii Freshdesk |
Odporúčané postupy
- Použi webhooky pre synchronizáciu v reálnom čase - Nakonfiguruj Freshdesk Automations na spúšťanie webhookov pri udalostiach ticketov
- Synchronizuj skóre CSAT - Sleduj hodnotenia spokojnosti zákazníkov ako atribúty Brevo pre segmentáciu
- Mapuj stav ticketu na zoznamy - Automaticky presúvaj kontakty medzi zoznamami Brevo podľa stavu ticketu
- Sleduj metriky podpory - Synchronizuj počet ticketov, priemerný čas odpovede a mieru riešenia na kontakt
- Použi Search API šetrne - Search API má prísnejšie limity rýchlosti; cachuj výsledky ak je to možné
- Stránkuj veľké exporty - Použi stránkovanie s parametrami
pageaper_pagepre počiatočnú synchronizáciu
Bezpečnosť
- Autentifikácia API kľúčom - Jednoduchý HTTP Basic Auth s API kľúčom
- Iba HTTPS - Všetka API komunikácia vyžaduje TLS šifrovanie
- Whitelistovanie IP - Dostupné na plánoch Estate a Forest
- Prístup na základe rolí - Oprávnenia API kľúča viazané na rolu agenta
- SOC 2 Type II - Freshdesk je certifikovaný podľa SOC 2 Type II
- Súlad s GDPR - Podporuje žiadosti o export a zmazanie dát