Freshdesk konektor

Poveži Freshdesk sa Brevo putem Tajo da ujednačiš podatke podrške i marketinga. Sinhronizuj tikete korisničke podrške, profile kontakata i ocene zadovoljstva da pokretaš ciljane komunikacije zasnovane na interakcijama podrške.

Pregled

SvojstvoVrednost
PlatformaFreshdesk
KategorijaPodrška
Složenost podešavanjaLako
Zvanična integracijaNe
Sinhronizovani podaciTiketi, Kontakti, Agenti, Kompanije
Dostupne veštine6

Karakteristike

  • Sinhronizacija kontakata - Dvosmerna sinhronizacija Freshdesk kontakata na Brevo liste kontakata
  • Praćenje događaja tiketa - Prosleđivanje događaja kreiranja, ažuriranja i rešavanja tiketa u Brevo
  • Sinhronizacija CSAT - Sinhronizacija ocena zadovoljstva kupaca kao Brevo atributa kontakta
  • Sinhronizacija kompanija - Mapiranje Freshdesk kompanija na Brevo segmentaciju kontakata
  • Podaci agenta - Praćenje dodela agenata za automatizaciju internih tokova rada
  • Prilagođena polja - Mapiranje prilagođenih polja tiketa i kontakta u Freshdesk na Brevo atribute

Preduslovi

Pre nego što započneš, proveri da imaš:

  1. Freshdesk nalog sa admin pristupom
  2. Freshdesk API ključ (nalazi se u Profile Settings)
  3. Freshdesk domenu (npr. yourcompany.freshdesk.com)
  4. Brevo nalog sa API pristupom
  5. Tajo nalog sa API akreditivima

Autentifikacija

Autentifikacija API ključem

Freshdesk koristi autentifikaciju API ključem putem HTTP Basic Auth. API ključ se koristi kao korisničko ime sa bilo kojim nizom (obično X) kao lozinkom.

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

Ili korišćenjem Base64 kodiranja u Authorization headeru:

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

Pronalaženje API ključa

  1. Prijavi se na Freshdesk nalog
  2. Klikni na sliku profila u gornjem desnom uglu
  3. Idi na Profile Settings
  4. Tvoj API ključ je prikazan sa desne strane

Konfiguracija

Osnovno podešavanje

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

Mapiranje polja kontakta

Mapiranje polja Freshdesk kontakta na Brevo atribute:

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

Mapiranje događaja tiketa

Mapiranje događaja tiketa u Freshdesk na okidače Brevo automatizacije:

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 endpointi

MetodaEndpointOpis
GET/api/v2/ticketsListanje svih tiketa
POST/api/v2/ticketsKreiranje tiketa
GET/api/v2/tickets/{id}Dohvatanje specifičnog tiketa
PUT/api/v2/tickets/{id}Ažuriranje tiketa
DELETE/api/v2/tickets/{id}Brisanje tiketa
GET/api/v2/contactsListanje svih kontakata
POST/api/v2/contactsKreiranje kontakta
PUT/api/v2/contacts/{id}Ažuriranje kontakta
GET/api/v2/companiesListanje svih kompanija
GET/api/v2/agentsListanje svih agenata
GET/api/v2/surveys/satisfaction_ratingsListanje CSAT ocena
GET/api/v2/search/tickets?query=Pretraga tiketa

Primeri koda

Inicijalizacija 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 account
await tajo.connectors.connect('freshdesk', {
domain: 'yourcompany.freshdesk.com',
apiKey: process.env.FRESHDESK_API_KEY
});

Sinhronizacija kontakata sa 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"
// }

Praćenje događaja tiketa

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

Pretraga tiketa po kupcu

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

Ograničenja brzine

PlanLimitDetalji
Sprout50 zahteva/minBesplatni plan
Blossom200 zahteva/minStarter plan
Garden400 zahteva/minGrowth plan
Estate700 zahteva/minPro plan
Forest1.000 zahteva/minEnterprise plan

Dodatni limiti:

ResursLimit
List endpointi30 stranica po upitu
Po straniciMaks 100 zapisa
Search API2 zahteva/sek
Bulk operacije10 zapisa/zahtev

Headeri ograničenja brzine

Freshdesk vraća informacije o ograničenju brzine u headers odgovora. Prati X-RateLimit-Remaining i implementiraj usporavanje kada se priblizuješ limitima.

Rešavanje problema

ProblemUzrokRešenje
401 UnauthorizedNevažeći API ključVerifikuj API ključ u Freshdesk Profile Settings
403 ForbiddenNedovoljne dozvoleOsiguraj da API ključ pripada admin nalogu
Kontakti se ne sinhronizujuNedostaje polje emailaFreshdesk kontakti zahtevaju email adresu
Tiketi se ne pojavljujuPogrešna domenaVerifikuj da je Freshdesk URL domene ispravan
Pretraga vraća praznoGreška u sintaksi upitaKoristi Freshdesk sintaksu upita za pretragu sa dvostrukim navodnicima
429 Too Many RequestsPrekoračen limit brzineImplementiraj ograničenje brzine na osnovu nivoa plana
Nedostaju prilagođena poljaPolje nije omogućenoOsiguraj da su prilagođena polja omogućena u Freshdesk adminu

Najbolje prakse

  1. Koristi webhook-ove za sinhronizaciju u realnom vremenu - Konfiguriši Freshdesk Automations da aktiviraju webhook-ove na događajima tiketa
  2. Sinhronizuj CSAT ocene - Prati ocene zadovoljstva kupaca kao Brevo atribute za segmentaciju
  3. Mapiraj status tiketa na liste - Automatski premesti kontakte između Brevo lista na osnovu statusa tiketa
  4. Prati metrike podrške - Sinhronizuj broj tiketa, prosečno vreme odgovora i stopu rešavanja po kontaktu
  5. Koristi Search API štedljivo - Search API ima strožija ograničenja brzine; kešuj rezultate kada je moguće
  6. Paginuj velike izvoze - Koristi paginaciju sa parametrima page i per_page za početnu sinhronizaciju

Bezbednost

  • Autentifikacija API ključem - Jednostavan HTTP Basic Auth sa API ključem
  • Samo HTTPS - Sva API komunikacija zahteva TLS enkripciju
  • Bela lista IP adresa - Dostupna na Estate i Forest planovima
  • Kontrola pristupa na osnovu uloge - Dozvole API ključa vezane za ulogu agenta
  • SOC 2 Type II - Freshdesk je SOC 2 Type II sertifikovan
  • GDPR usklađenost - Podržava zahteve za izvoz i brisanje podataka

Povezani resursi

Subscribe to updates

developer-docs

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

auto-detect
AI асистент

Здраво! Питајте ме о документацији.