Trình Kết Nối Zendesk

Kết nối Zendesk Support instance của bạn với Brevo qua Tajo để unified customer support data, ticket-based segmentation, satisfaction scoring và support-triggered marketing automation.

Tổng Quan

Thuộc TínhGiá Trị
Nền TảngZendesk
Danh MụcSupport
Độ Phức Tạp Thiết LậpTrung Bình
Tích Hợp Chính Thức
Dữ Liệu Đồng BộTickets, Users, Organizations, Sự Kiện
URL API Cơ Sởhttps://{subdomain}.zendesk.com/api/v2

Tính Năng

  • Đồng bộ user - Đồng bộ Zendesk end-users và agents với contacts Brevo
  • Theo dõi ticket - Đồng bộ dữ liệu ticket để phân đoạn marketing dựa trên support
  • Ánh xạ organization - Liên kết contacts với organizations cho B2B workflows
  • Satisfaction scores - Đồng bộ dữ liệu CSAT và NPS sang thuộc tính Brevo
  • Ticket events - Theo dõi ticket creation, resolution và escalation cho automation triggers
  • Tích hợp help center - Theo dõi lượt xem bài viết và hành vi tìm kiếm
  • Hỗ trợ đa kênh - Đồng bộ dữ liệu từ email, chat, voice và messaging channels
  • Custom fields - Ánh xạ Zendesk custom ticket và user fields sang Brevo

Yêu Cầu

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

  1. Tài khoản Zendesk Support (Team, Professional, hoặc Enterprise)
  2. Quyền admin vào Zendesk instance của bạn
  3. API token hoặc OAuth app được cấu hình
  4. Tài khoản Brevo với quyền truy cập API
  5. Tài khoản Tajo

Xác Thực

Xác Thực API Token

Dùng email/token authentication để thiết lập nhanh.

Terminal window
curl https://{subdomain}.zendesk.com/api/v2/users.json \
-u {email}/token:{api_token} \
-H "Content-Type: application/json"

Tạo API token từ Zendesk Admin > Apps and Integrations > APIs > Zendesk API.

OAuth 2.0

Dùng OAuth cho multi-instance integrations với delegated user access.

Terminal window
# Authorization URL
https://{subdomain}.zendesk.com/oauth/authorizations/new?
response_type=code&
client_id={client_id}&
redirect_uri={redirect_uri}&
scope=read%20write

Phạm Vi Cần Thiết

read # Quyền đọc tất cả tài nguyên
write # Quyền ghi tất cả tài nguyên
tickets:read # Đọc tickets (chi tiết)
users:read # Đọc users (chi tiết)
organizations:read # Đọc organizations (chi tiết)

Cấu Hình

Thiết Lập Cơ Bản

connectors:
zendesk:
enabled: true
subdomain: "yourcompany"
auth:
api_token: "${ZENDESK_API_TOKEN}"
# Tùy chọn đồng bộ dữ liệu
sync:
users: true
tickets: true
organizations: true
satisfaction_ratings: true
# Gán danh sách Brevo
lists:
all_customers: 30
active_tickets: 31
satisfied_customers: 32

Ánh Xạ Trường

Ánh xạ trường user Zendesk sang thuộc tính liên hệ Brevo:

Ánh Xạ Mặc Định

Parameter Type Description
email required
string

Địa chỉ email user (định danh duy nhất)

name optional
string

Tên đầy đủ, tách thành FIRSTNAME/LASTNAME

phone optional
string

Ánh xạ sang thuộc tính SMS cho WhatsApp/SMS

organization_id optional
integer

Organization liên kết cho B2B mapping

role optional
string

Vai trò user (end-user, agent, admin)

tags optional
array

User tags từ Zendesk

ticket_restriction optional
string

Cấp độ truy cập ticket

custom_fields optional
object

Giá trị custom user field

Ánh Xạ Custom Field

field_mapping:
# Trường tiêu chuẩn
email: email
name: FULLNAME
phone: SMS
# Số liệu support
open_tickets: OPEN_TICKETS
total_tickets: TOTAL_TICKETS
avg_satisfaction: CSAT_SCORE
last_ticket_date: LAST_SUPPORT_DATE
# Trường organization
organization.name: COMPANY_NAME
organization.tags: COMPANY_TAGS
# Custom fields
user_fields.customer_type: CUSTOMER_TYPE
user_fields.account_tier: ACCOUNT_TIER

API Endpoints

Ticketing API

Phương ThứcEndpointMô Tả
GET/api/v2/ticketsLiệt kê tickets
POST/api/v2/ticketsTạo ticket
PUT/api/v2/tickets/{id}Cập nhật ticket
GET/api/v2/tickets/{id}Xem ticket
GET/api/v2/search.json?query={query}Tìm kiếm tickets

Users API

Phương ThứcEndpointMô Tả
GET/api/v2/usersLiệt kê users
POST/api/v2/usersTạo user
PUT/api/v2/users/{id}Cập nhật user
GET/api/v2/users/{id}Xem user
GET/api/v2/users/search.json?query={query}Tìm kiếm users

Organizations API

Phương ThứcEndpointMô Tả
GET/api/v2/organizationsLiệt kê organizations
POST/api/v2/organizationsTạo organization
GET/api/v2/organizations/{id}/usersLiệt kê thành viên organization

Satisfaction Ratings API

Phương ThứcEndpointMô Tả
GET/api/v2/satisfaction_ratingsLiệt kê satisfaction ratings
GET/api/v2/satisfaction_ratings/{id}Xem một rating

Sự Kiện

Sự Kiện Ticket

Sự KiệnKích HoạtTrường Hợp Sử Dụng
ticket.createdTicket mới được gửiXác nhận support
ticket.updatedTicket status thay đổiThông báo trạng thái
ticket.solvedTicket được đánh dấu solvedKích hoạt CSAT survey
ticket.reopenedTicket đã giải quyết được mở lạiCảnh báo escalation

Sự Kiện User

Sự KiệnKích HoạtTrường Hợp Sử Dụng
user.createdUser mới đăng kýChào mừng đến support
user.updatedProfile user thay đổiĐồng bộ thuộc tính
user.mergedUsers được mergeLoại bỏ trùng lặp

Sự Kiện Satisfaction

Sự KiệnKích HoạtTrường Hợp Sử Dụng
satisfaction_rating.createdCSAT được gửiXử lý phản hồi
satisfaction_rating.badRating tiêu cựcOutreach phục hồi
satisfaction_rating.goodRating tích cựcAdvocacy campaigns

Ví Dụ Code

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

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 Zendesk
await tajo.connectors.connect('zendesk', {
subdomain: 'yourcompany',
apiToken: process.env.ZENDESK_API_TOKEN
});

Đồng Bộ Users Và Tickets

// Full sync users và dữ liệu ticket
await tajo.connectors.sync('zendesk', {
type: 'full',
resources: ['users', 'tickets', 'organizations'],
since: '2023-01-01'
});
// Kiểm tra trạng thái sync
const status = await tajo.connectors.status('zendesk');
console.log(status);
// {
// connected: true,
// lastSync: '2024-01-15T10:30:00Z',
// usersSynced: 8400,
// ticketsSynced: 34200,
// organizationsSynced: 1200
// }

Xử Lý Zendesk Webhooks

app.post('/webhooks/zendesk', async (req, res) => {
const signature = req.get('X-Zendesk-Webhook-Signature');
// Xác minh webhook signature
if (!verifyZendeskSignature(req.body, signature)) {
return res.status(401).send('Unauthorized');
}
await tajo.connectors.handleWebhook('zendesk', {
type: req.body.type,
ticketId: req.body.ticket_id,
userId: req.body.user_id,
payload: req.body
});
res.status(200).send('OK');
});

Giới Hạn Tốc Độ

Giới hạn tốc độ Zendesk thay đổi theo gói:

GóiGiới Hạn Tốc ĐộChi Tiết
Team200 yêu cầu/phútMỗi API token
Professional400 yêu cầu/phútMỗi API token
Enterprise700 yêu cầu/phútMỗi API token
High Volume Add-on2.500 yêu cầu/phútMỗi API token

Giới hạn bổ sung:

  • Search API: 6 yêu cầu/phút cho anonymous, 100/phút cho authenticated
  • Incremental exports: 10 yêu cầu/phút
  • Batch API: 100 bản ghi mỗi batch request
  • Webhook delivery: Tự động retry với exponential backoff

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

Theo dõi header X-Rate-Limit-RemainingRetry-After để quản lý mức sử dụng API của bạn.

Khắc Phục Sự Cố

Sự Cố Phổ Biến

Sự CốNguyên NhânGiải Pháp
401 UnauthorizedAPI token không hợp lệTạo lại token trong Zendesk Admin
403 ForbiddenQuyền không đủKiểm tra yêu cầu vai trò agent hoặc admin
User không đồng bộUser là agent, không phải end-userLọc theo role trong cấu hình sync
Webhook không nhậnTrigger/target chưa cấu hìnhThiết lập webhook target trong Zendesk Admin
Tìm kiếm trả về trốngĐộ trễ indexingChờ 1-2 phút để search index cập nhật

Chế Độ Debug

Bật verbose logging:

connectors:
zendesk:
debug: true
log_level: verbose
log_webhooks: true

Kiểm Tra Kết Nối

Terminal window
tajo connectors test zendesk
# ✓ API connection successful
# ✓ Users readable
# ✓ Tickets readable
# ✓ Organizations readable
# ✓ Webhooks configured

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

  1. Dùng incremental exports - Dùng Incremental API để đồng bộ dữ liệu quy mô lớn
  2. Chỉ lọc end-users - Loại trừ agents và admins khỏi đồng bộ contact Brevo
  3. Đồng bộ dữ liệu CSAT - Dùng satisfaction scores để phân đoạn customer health
  4. Ánh xạ organizations - Tận dụng dữ liệu organization cho B2B marketing campaigns
  5. Triển khai webhook retries - Xử lý temporary failures một cách tinh tế
  6. Dùng side-loading - Bao gồm related records trong API responses để giảm số lượng request

Bảo Mật

  • Xác Thực API Token - Truy cập dựa trên token gắn với admin email
  • OAuth 2.0 - Truy cập delegated dựa trên token với kiểm soát phạm vi
  • Webhook signing - Xác minh chữ ký HMAC cho webhook payloads
  • Mã hóa TLS - Tất cả giao tiếp API được mã hóa qua HTTPS
  • IP whitelisting - Hạn chế truy cập API theo dải IP

Tài Nguyên Liên Quan

Subscribe to updates

developer-docs

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

auto-detect
Trợ lý AI

Xin chào! Hãy hỏi tôi về tài liệu.