---
title: "Freshdesk konektor"
description: "Kompletan vodič za Freshdesk integraciju za sinhronizaciju tiketa podrške, kontakata i podataka agenata sa Brevo putem Tajo."
url: https://tajo.io/sr/docs/connectors/support/freshdesk/
markdown: https://tajo.io/sr/docs/connectors/support/freshdesk.md
lang: sr-Latn-RS
robots: noindex
---

Zatražite rani pristup

Unesite ime i poslovnu adresu e-pošte. Poslaćemo vam vezu za potvrdu zahteva za pristup Taju.

# Freshdesk konektor

Status konektora: Planirano Još nije izrađeno. Tajo danas ne pokreće ovaj konektor.

| Izvorno polje | Odredišno polje | Primer vrednosti |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

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

| Svojstvo | Vrednost |
| --- | --- |
| **Platforma** | Freshdesk |
| **Kategorija** | Podrška |
| **Složenost podešavanja** | Lako |
| **Zvanična integracija** | Ne |
| **Sinhronizovani podaci** | Tiketi, Kontakti, Agenti, Kompanije |
| **Dostupne veštine** | 6 |

## 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.

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

Ili korišćenjem Base64 kodiranja u Authorization headeru:

```bash
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

```yaml
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:

```yaml
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:

```yaml
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

| Metoda | Endpoint | Opis |
| --- | --- | --- |
| `GET` | `/api/v2/tickets` | Listanje svih tiketa |
| `POST` | `/api/v2/tickets` | Kreiranje 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/contacts` | Listanje svih kontakata |
| `POST` | `/api/v2/contacts` | Kreiranje kontakta |
| `PUT` | `/api/v2/contacts/{id}` | Ažuriranje kontakta |
| `GET` | `/api/v2/companies` | Listanje svih kompanija |
| `GET` | `/api/v2/agents` | Listanje svih agenata |
| `GET` | `/api/v2/surveys/satisfaction_ratings` | Listanje CSAT ocena |
| `GET` | `/api/v2/search/tickets?query=` | Pretraga tiketa |

## Primeri koda

### Inicijalizacija Freshdesk konektora

```javascript
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

```javascript
// 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": "jane@example.com",
//   "phone": "+15551234567",
//   "company_id": 678,
//   "job_title": "Product Manager",
//   "created_at": "2024-01-15T10:30:00Z"
// }
```

### Praćenje događaja tiketa

```javascript
// 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

```javascript
// Search for all tickets from a specific customer
const query = encodeURIComponent('"email:jane@example.com"');
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

| Plan | Limit | Detalji |
| --- | --- | --- |
| **Sprout** | 50 zahteva/min | Besplatni plan |
| **Blossom** | 200 zahteva/min | Starter plan |
| **Garden** | 400 zahteva/min | Growth plan |
| **Estate** | 700 zahteva/min | Pro plan |
| **Forest** | 1.000 zahteva/min | Enterprise plan |

Dodatni limiti:

| Resurs | Limit |
| --- | --- |
| **List endpointi** | 30 stranica po upitu |
| **Po stranici** | Maks 100 zapisa |
| **Search API** | 2 zahteva/sek |
| **Bulk operacije** | 10 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

| Problem | Uzrok | Rešenje |
| --- | --- | --- |
| `401 Unauthorized` | Nevažeći API ključ | Verifikuj API ključ u Freshdesk Profile Settings |
| `403 Forbidden` | Nedovoljne dozvole | Osiguraj da API ključ pripada admin nalogu |
| Kontakti se ne sinhronizuju | Nedostaje polje emaila | Freshdesk kontakti zahtevaju email adresu |
| Tiketi se ne pojavljuju | Pogrešna domena | Verifikuj da je Freshdesk URL domene ispravan |
| Pretraga vraća prazno | Greška u sintaksi upita | Koristi Freshdesk sintaksu upita za pretragu sa dvostrukim navodnicima |
| `429 Too Many Requests` | Prekoračen limit brzine | Implementiraj ograničenje brzine na osnovu nivoa plana |
| Nedostaju prilagođena polja | Polje nije omogućeno | Osiguraj 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

- [Brevo konektor](https://tajo.io/sr/docs/connectors/marketing/brevo)
- [Customer Sync veština](https://tajo.io/sr/docs/skills/data-sync/customer-sync)
- [Shopify konektor](https://tajo.io/sr/docs/connectors/ecommerce/shopify)
- [Brevo Contacts API](https://tajo.io/sr/docs/contact-management)
