---
title: "Trình Kết Nối Freshdesk"
description: "Hướng dẫn tích hợp Freshdesk đầy đủ để đồng bộ support tickets, contacts và agent data với Brevo qua Tajo."
url: https://tajo.io/vi/docs/connectors/support/freshdesk/
markdown: https://tajo.io/vi/docs/connectors/support/freshdesk.md
lang: vi-VN
robots: noindex
---

Đăng ký quyền truy cập sớm

Nhập tên và địa chỉ email công việc của bạn. Chúng tôi sẽ gửi liên kết để xác nhận yêu cầu truy cập Tajo.

# Trình Kết Nối Freshdesk

Trạng thái trình kết nối: Dự kiến Chưa được xây dựng. Hiện Tajo chưa chạy trình kết nối này.

| Trường nguồn | Trường đích | Giá trị mẫu |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Kết nối Freshdesk với Brevo qua Tajo để hợp nhất dữ liệu support và marketing. Đồng bộ customer support tickets, contact profiles và satisfaction scores để tạo ra các thông tin liên lạc có mục tiêu dựa trên tương tác hỗ trợ.

## Tổng Quan

| Thuộc Tính | Giá Trị |
| --- | --- |
| **Nền Tảng** | Freshdesk |
| **Danh Mục** | Support |
| **Độ Phức Tạp Thiết Lập** | Dễ |
| **Tích Hợp Chính Thức** | Không |
| **Dữ Liệu Đồng Bộ** | Tickets, Contacts, Agents, Companies |
| **Skills Có Sẵn** | 6 |

## Tính Năng

- **Đồng bộ contact** - Đồng bộ hai chiều Freshdesk contacts sang danh sách contacts Brevo
- **Theo dõi ticket events** - Forward ticket creation, update và resolution events sang Brevo
- **Đồng bộ CSAT** - Đồng bộ customer satisfaction scores như thuộc tính liên hệ Brevo
- **Đồng bộ company** - Ánh xạ Freshdesk companies sang phân đoạn liên hệ Brevo
- **Dữ liệu agent** - Theo dõi agent assignments cho internal workflow automation
- **Custom fields** - Ánh xạ Freshdesk custom ticket và contact fields sang thuộc tính Brevo

## Yêu Cầu

Trước khi bắt đầu, hãy đảm bảo bạn có:

1. Tài khoản Freshdesk với quyền admin
2. Freshdesk API Key (tìm trong Profile Settings)
3. Domain Freshdesk của bạn (ví dụ: `yourcompany.freshdesk.com`)
4. Tài khoản Brevo với quyền truy cập API
5. Tài khoản Tajo với API credentials

## Xác Thực

### Xác Thực API Key

Freshdesk sử dụng API key authentication qua HTTP Basic Auth. API key được dùng làm username với bất kỳ chuỗi nào (thường là `X`) làm password.

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

Hoặc dùng Base64 encoding trong Authorization header:

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

### Tìm API Key

1. Đăng nhập vào tài khoản Freshdesk của bạn
2. Nhấp vào ảnh hồ sơ ở góc trên bên phải
3. Vào **Profile Settings**
4. API Key được hiển thị ở bên phải

## Cấu Hình

### Thiết Lập Cơ Bản

```yaml
connectors:
  freshdesk:
    enabled: true
    domain: "yourcompany.freshdesk.com"
    api_key: "your-freshdesk-api-key"

    # Tùy chọn đồng bộ dữ liệu
    sync:
      contacts: true
      tickets: true
      companies: true
      satisfaction_ratings: true

    # Gán danh sách Brevo
    lists:
      all_support_contacts: 30
      open_tickets: 31
      resolved_tickets: 32
```

### Ánh Xạ Trường Contact

Ánh xạ trường contact Freshdesk sang thuộc tính Brevo:

```yaml
contact_mapping:
  email: email
  name: FULLNAME
  phone: SMS
  company_id: COMPANY
  job_title: JOB_TITLE
  twitter_id: TWITTER
  language: LANGUAGE
  time_zone: TIMEZONE

  # Số liệu support
  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
```

### Ánh Xạ Ticket Event

Ánh xạ Freshdesk ticket events sang Brevo automation triggers:

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

| Phương Thức | Endpoint | Mô Tả |
| --- | --- | --- |
| `GET` | `/api/v2/tickets` | Liệt kê tất cả tickets |
| `POST` | `/api/v2/tickets` | Tạo ticket |
| `GET` | `/api/v2/tickets/{id}` | Lấy ticket cụ thể |
| `PUT` | `/api/v2/tickets/{id}` | Cập nhật ticket |
| `DELETE` | `/api/v2/tickets/{id}` | Xóa ticket |
| `GET` | `/api/v2/contacts` | Liệt kê tất cả contacts |
| `POST` | `/api/v2/contacts` | Tạo contact |
| `PUT` | `/api/v2/contacts/{id}` | Cập nhật contact |
| `GET` | `/api/v2/companies` | Liệt kê tất cả companies |
| `GET` | `/api/v2/agents` | Liệt kê tất cả agents |
| `GET` | `/api/v2/surveys/satisfaction_ratings` | Liệt kê CSAT ratings |
| `GET` | `/api/v2/search/tickets?query=` | Tìm kiếm tickets |

## Ví Dụ Code

### Khởi Tạo Trình Kết Nối Freshdesk

```javascript
import { TajoClient } from '@tajo/sdk';

const tajo = new TajoClient({
  apiKey: process.env.TAJO_API_KEY,
  brevoApiKey: process.env.BREVO_API_KEY
});

// Kết nối tài khoản Freshdesk
await tajo.connectors.connect('freshdesk', {
  domain: 'yourcompany.freshdesk.com',
  apiKey: process.env.FRESHDESK_API_KEY
});
```

### Đồng Bộ Contacts Sang Brevo

```javascript
// Lấy Freshdesk contacts và đồng bộ sang 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();
// Mỗi 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"
// }
```

### Theo Dõi Ticket Events

```javascript
// Thiết lập Freshdesk webhook để forward ticket events
// Cấu hình trong 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');
});
```

### Tìm Kiếm Tickets Theo Khách Hàng

```javascript
// Tìm tất cả tickets từ một khách hàng cụ thể
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();
```

## Giới Hạn Tốc Độ

| Gói | Giới Hạn | Chi Tiết |
| --- | --- | --- |
| **Sprout** | 50 yêu cầu/phút | Gói miễn phí |
| **Blossom** | 200 yêu cầu/phút | Gói Starter |
| **Garden** | 400 yêu cầu/phút | Gói Growth |
| **Estate** | 700 yêu cầu/phút | Gói Pro |
| **Forest** | 1.000 yêu cầu/phút | Gói Enterprise |

Giới hạn bổ sung:

| Tài Nguyên | Giới Hạn |
| --- | --- |
| **List endpoints** | 30 trang mỗi truy vấn |
| **Mỗi trang** | Tối đa 100 bản ghi |
| **Search API** | 2 yêu cầu/giây |
| **Bulk operations** | 10 bản ghi/yêu cầu |

Header Giới Hạn Tốc Độ

Freshdesk trả về thông tin giới hạn tốc độ trong response headers. Theo dõi `X-RateLimit-Remaining` và triển khai backoff khi gần đạt giới hạn.

## Khắc Phục Sự Cố

| Sự Cố | Nguyên Nhân | Giải Pháp |
| --- | --- | --- |
| `401 Unauthorized` | API key không hợp lệ | Xác minh API key trong Freshdesk Profile Settings |
| `403 Forbidden` | Quyền không đủ | Đảm bảo API key thuộc tài khoản admin |
| Contacts không đồng bộ | Thiếu trường email | Freshdesk contacts yêu cầu địa chỉ email |
| Tickets không hiển thị | Domain sai | Xác minh URL domain Freshdesk đúng |
| Tìm kiếm trả về trống | Lỗi cú pháp truy vấn | Sử dụng cú pháp truy vấn Freshdesk với dấu ngoặc kép |
| `429 Too Many Requests` | Vượt giới hạn tốc độ | Triển khai rate limiting dựa theo gói |
| Custom fields thiếu | Trường chưa được bật | Đảm bảo custom fields được bật trong Freshdesk admin |

## Thực Hành Tốt Nhất

1. **Dùng webhooks để đồng bộ thời gian thực** - Cấu hình Freshdesk Automations để kích hoạt webhooks trên ticket events
2. **Đồng bộ điểm CSAT** - Theo dõi customer satisfaction ratings như thuộc tính Brevo để phân đoạn
3. **Ánh xạ ticket status sang danh sách** - Tự động chuyển contacts giữa danh sách Brevo dựa trên ticket status
4. **Theo dõi support metrics** - Đồng bộ ticket count, thời gian phản hồi trung bình và tỷ lệ giải quyết mỗi contact
5. **Dùng search API hạn chế** - Search API có giới hạn tốc độ nghiêm ngặt hơn; cache kết quả khi có thể
6. **Phân trang exports lớn** - Sử dụng phân trang với tham số `page` và `per_page` cho lần đồng bộ đầu tiên

## Bảo Mật

- **Xác thực API key** - HTTP Basic Auth đơn giản với API key
- **Chỉ HTTPS** - Tất cả giao tiếp API yêu cầu mã hóa TLS
- **IP whitelisting** - Có sẵn trên gói Estate và Forest
- **Truy cập dựa trên vai trò** - Quyền API key gắn với vai trò agent
- **SOC 2 Type II** - Freshdesk được chứng nhận SOC 2 Type II
- **Tuân thủ GDPR** - Hỗ trợ yêu cầu xuất và xóa dữ liệu

## Tài Nguyên Liên Quan

- [Trình Kết Nối Brevo](https://tajo.io/vi/docs/connectors/marketing/brevo)
- [Customer Sync Skill](https://tajo.io/vi/docs/skills/data-sync/customer-sync)
- [Trình Kết Nối Shopify](https://tajo.io/vi/docs/connectors/ecommerce/shopify)
- [Brevo Contacts API](https://tajo.io/vi/docs/contact-management)
