Konektor Freshdesk
Propojte Freshdesk s Brevo přes Tajo pro sjednocení dat podpory a marketingu. Synchronizujte tikety zákaznické podpory, profily kontaktů a skóre spokojenosti pro cílené komunikace na základě interakcí podpory.
Přehled
| Vlastnost | Hodnota |
|---|---|
| Platforma | Freshdesk |
| Kategorie | Podpora |
| Složitost nastavení | Snadná |
| Oficiální integrace | Ne |
| Synchronizovaná data | Tikety, Kontakty, Agenti, Společnosti |
| Dostupné dovednosti | 6 |
Funkce
- Synchronizace kontaktů – Obousměrná synchronizace kontaktů Freshdesk se seznamy kontaktů Brevo
- Sledování událostí tiketů – Přeposílejte události vytvoření, aktualizace a vyřešení tiketů do Brevo
- Synchronizace CSAT – Synchronizujte skóre spokojenosti zákazníků jako atributy kontaktů Brevo
- Synchronizace společností – Mapujte společnosti Freshdesk na segmentaci kontaktů Brevo
- Data agentů – Sledujte přiřazení agentů pro automatizaci interních pracovních toků
- Vlastní pole – Mapujte vlastní pole tiketů a kontaktů Freshdesk na atributy Brevo
Předpoklady
Než začnete, ujistěte se, že máte:
- Účet Freshdesk s přístupem správce
- Váš API klíč Freshdesk (nalezený v Nastavení profilu)
- Vaši doménu Freshdesk (např.
vasespolecnost.freshdesk.com) - Účet Brevo s přístupem k API
- Účet Tajo s API přihlašovacími údaji
Ověření
Ověření API klíčem
Freshdesk používá ověřování API klíčem přes HTTP Basic Auth. API klíč se používá jako uživatelské jméno s libovolným řetězcem (typicky X) jako heslem.
curl -u "YOUR_API_KEY:X" \ https://vasespolecnost.freshdesk.com/api/v2/ticketsNebo pomocí kódování Base64 v autorizační hlavičce:
curl https://vasespolecnost.freshdesk.com/api/v2/tickets \ -H "Authorization: Basic BASE64_ENCODED_API_KEY:X" \ -H "Content-Type: application/json"Nalezení vašeho API klíče
- Přihlaste se ke svému účtu Freshdesk
- Klikněte na profilový obrázek v pravém horním rohu
- Přejděte do Nastavení profilu
- Váš API klíč je zobrazen na pravé straně
Konfigurace
Základní nastavení
connectors: freshdesk: enabled: true domain: "vasespolecnost.freshdesk.com" api_key: "your-freshdesk-api-key"
# Možnosti synchronizace dat sync: contacts: true tickets: true companies: true satisfaction_ratings: true
# Přiřazení seznamů Brevo lists: all_support_contacts: 30 open_tickets: 31 resolved_tickets: 32Mapování polí kontaktů
Mapujte pole kontaktů Freshdesk na atributy Brevo:
contact_mapping: email: email name: FULLNAME phone: SMS company_id: COMPANY job_title: JOB_TITLE twitter_id: TWITTER language: LANGUAGE time_zone: TIMEZONE
# Metriky podpory total_tickets: TICKET_COUNT open_tickets: OPEN_TICKETS avg_csat: CSAT_SCORE last_ticket_date: LAST_SUPPORT_DATE
# Vlastní pole custom_fields.account_type: ACCOUNT_TYPE custom_fields.subscription_tier: PLANMapování událostí tiketů
Mapujte události tiketů Freshdesk na spouštěče automatizací 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"Koncové body API
| Metoda | Koncový bod | Popis |
|---|---|---|
GET | /api/v2/tickets | Výpis všech tiketů |
POST | /api/v2/tickets | Vytvoření tiketu |
GET | /api/v2/tickets/{id} | Získání konkrétního tiketu |
PUT | /api/v2/tickets/{id} | Aktualizace tiketu |
DELETE | /api/v2/tickets/{id} | Smazání tiketu |
GET | /api/v2/contacts | Výpis všech kontaktů |
POST | /api/v2/contacts | Vytvoření kontaktu |
PUT | /api/v2/contacts/{id} | Aktualizace kontaktu |
GET | /api/v2/companies | Výpis všech společností |
GET | /api/v2/agents | Výpis všech agentů |
GET | /api/v2/surveys/satisfaction_ratings | Výpis hodnocení CSAT |
GET | /api/v2/search/tickets?query= | Vyhledávání tiketů |
Příklady kódu
Inicializace konektoru Freshdesk
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Připojení účtu Freshdeskawait tajo.connectors.connect('freshdesk', { domain: 'vasespolecnost.freshdesk.com', apiKey: process.env.FRESHDESK_API_KEY});Synchronizace kontaktů do Brevo
// Načtení kontaktů Freshdesk a synchronizace do Brevoconst response = await fetch( 'https://vasespolecnost.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();// Každý kontakt:// {// "id": 12345,// "name": "Jana Nováková",// "email": "[email protected]",// "phone": "+420551234567",// "company_id": 678,// "job_title": "Product Manager",// "created_at": "2024-01-15T10:30:00Z"// }Sledování událostí tiketů
// Nastavení webhooku Freshdesk pro přeposílání událostí tiketů// Nakonfigurujte v Freshdesk Admin > Automations > Webhook
// Obsluha webhookuapp.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');});Vyhledávání tiketů podle zákazníka
// Vyhledání všech tiketů konkrétního zákazníkaconst response = await fetch( `https://vasespolecnost.freshdesk.com/api/v2/search/tickets?query=${query}`, { headers: { 'Authorization': 'Basic ' + btoa(`${API_KEY}:X`) } });
const { results, total } = await response.json();Omezení rychlosti
| Plán | Limit | Podrobnosti |
|---|---|---|
| Sprout | 50 požadavků/min | Bezplatný plán |
| Blossom | 200 požadavků/min | Startovací plán |
| Garden | 400 požadavků/min | Plán Growth |
| Estate | 700 požadavků/min | Pro plán |
| Forest | 1 000 požadavků/min | Enterprise plán |
Další limity:
| Zdroj | Limit |
|---|---|
| Koncové body seznamu | 30 stránek na dotaz |
| Na stránku | Max. 100 záznamů |
| Search API | 2 požadavky/s |
| Hromadné operace | 10 záznamů/požadavek |
Hlavičky limitu rychlosti
Freshdesk vrací informace o limitu rychlosti v hlavičkách odpovědí. Sledujte X-RateLimit-Remaining a implementujte zpětné odběrání při přibližování se limitům.
Řešení problémů
| Problém | Příčina | Řešení |
|---|---|---|
401 Unauthorized | Neplatný API klíč | Ověřte API klíč v Nastavení profilu Freshdesk |
403 Forbidden | Nedostatečná oprávnění | Ujistěte se, že API klíč patří správcovskému účtu |
| Kontakty se nesynchronizují | Chybějící pole e-mail | Kontakty Freshdesk vyžadují e-mailovou adresu |
| Tikety se nezobrazují | Nesprávná doména | Ověřte URL domény Freshdesk |
| Vyhledávání vrací prázdné výsledky | Chyba syntaxe dotazu | Použijte syntaxi dotazu Freshdesk s dvojitými uvozovkami |
429 Too Many Requests | Překročen limit rychlosti | Implementujte omezení rychlosti podle úrovně plánu |
| Chybějící vlastní pole | Pole není povoleno | Ujistěte se, že vlastní pole jsou povolena v admin panelu Freshdesk |
Osvědčené postupy
- Používejte webhooky pro synchronizaci v reálném čase – Nakonfigurujte automatizace Freshdesk pro spouštění webhooků při událostech tiketů
- Synchronizujte skóre CSAT – Sledujte hodnocení spokojenosti zákazníků jako atributy Brevo pro segmentaci
- Mapujte stav tiketu na seznamy – Automaticky přesouvejte kontakty mezi seznamy Brevo na základě stavu tiketu
- Sledujte metriky podpory – Synchronizujte počet tiketů, průměrnou dobu odezvy a míru řešení na kontakt
- Používejte Search API střídmě – Search API má přísnější limity rychlosti; cachujte výsledky, když je to možné
- Stránkujte velké exporty – Používejte stránkování s parametry
pageaper_pagepro počáteční synchronizaci
Zabezpečení
- Ověřování API klíčem – Jednoduchý HTTP Basic Auth s API klíčem
- Pouze HTTPS – Veškerá komunikace API vyžaduje šifrování TLS
- Whitelisting IP – Dostupné na plánech Estate a Forest
- Přístup podle rolí – Oprávnění API klíče vázána na roli agenta
- SOC 2 Type II – Freshdesk je certifikován podle SOC 2 Type II
- Soulad s GDPR – Podporuje žádosti o export a smazání dat