---
title: "Zendesk Connector"
description: "คู่มือการผสานรวม Zendesk ฉบับสมบูรณ์สำหรับการซิงค์ tickets ผู้ใช้ organizations และเหตุการณ์ support กับ Brevo ผ่าน Tajo"
url: https://tajo.io/th/docs/connectors/support/zendesk/
markdown: https://tajo.io/th/docs/connectors/support/zendesk.md
lang: th-TH
robots: noindex
---

ขอสิทธิ์ใช้งานล่วงหน้า

กรอกชื่อและที่อยู่อีเมลที่ทำงานของคุณ เราจะส่งลิงก์เพื่อยืนยันคำขอเข้าใช้งาน Tajo ทางอีเมล

# Zendesk Connector

สถานะตัวเชื่อม: วางแผนไว้ ยังไม่ได้สร้าง ปัจจุบัน Tajo ยังไม่ได้ใช้งานตัวเชื่อมนี้

| ฟิลด์ต้นทาง | ฟิลด์ปลายทาง | ค่าตัวอย่าง |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

เชื่อมต่อ Zendesk Support instance ของคุณกับ Brevo ผ่าน Tajo เพื่อข้อมูล customer support ที่รวมกัน การแบ่ง segment ตาม ticket การให้คะแนนความพึงพอใจ และ marketing automation ที่ triggered จาก support

## ภาพรวม

| คุณสมบัติ | ค่า |
| --- | --- |
| **แพลตฟอร์ม** | Zendesk |
| **หมวดหมู่** | Support |
| **ความซับซ้อนในการตั้งค่า** | ปานกลาง |
| **การผสานรวมอย่างเป็นทางการ** | ไม่ |
| **ข้อมูลที่ซิงค์** | Tickets ผู้ใช้ Organizations เหตุการณ์ |
| **API Base URL** | `https://{subdomain}.zendesk.com/api/v2` |

## ฟีเจอร์

- **การซิงค์ผู้ใช้** - ซิงค์ Zendesk end-users และ agents กับ Brevo contacts
- **การติดตาม Ticket** - ซิงค์ข้อมูล ticket สำหรับการแบ่ง segment การตลาดที่ตระหนักถึง support
- **การแมป Organization** - เชื่อมผู้ติดต่อกับ organizations สำหรับ B2B workflows
- **คะแนนความพึงพอใจ** - ซิงค์ข้อมูล CSAT และ NPS ไปยัง Brevo attributes
- **เหตุการณ์ Ticket** - ติดตามการสร้าง การแก้ไข และการยกระดับ ticket สำหรับ automation triggers
- **การผสานรวม Help center** - ติดตามการดูบทความและพฤติกรรมการค้นหา
- **รองรับหลายช่องทาง** - ซิงค์ข้อมูลจากอีเมล แชท เสียง และ messaging channels
- **Custom fields** - แมป Zendesk custom ticket และ user fields ไปยัง Brevo

## ข้อกำหนดเบื้องต้น

ก่อนเริ่มต้น ตรวจสอบให้แน่ใจว่าคุณมี:

1. บัญชี Zendesk Support (Team, Professional หรือ Enterprise)
2. สิทธิ์ admin สำหรับ Zendesk instance ของคุณ
3. API token หรือกำหนดค่า OAuth app
4. บัญชี Brevo ที่มีสิทธิ์เข้าถึง API
5. บัญชี Tajo

## การยืนยันตัวตน

### การยืนยันตัวตนด้วย API Token

ใช้การยืนยันตัวตนด้วย email/token สำหรับการตั้งค่าที่รวดเร็ว

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

สร้าง API token จาก Zendesk Admin > Apps and Integrations > APIs > Zendesk API

### OAuth 2.0

ใช้ OAuth สำหรับการผสานรวมหลาย instance พร้อม delegated user access

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

#### Scopes ที่จำเป็น

```
read          # Read access to all resources
write         # Write access to all resources
tickets:read  # Read tickets (granular)
users:read    # Read users (granular)
organizations:read  # Read organizations (granular)
```

## การกำหนดค่า

### การตั้งค่าพื้นฐาน

```yaml
connectors:
  zendesk:
    enabled: true
    subdomain: "yourcompany"
    auth:
      email: "admin@yourcompany.com"
      api_token: "${ZENDESK_API_TOKEN}"

    # Data sync options
    sync:
      users: true
      tickets: true
      organizations: true
      satisfaction_ratings: true

    # Brevo list assignment
    lists:
      all_customers: 30
      active_tickets: 31
      satisfied_customers: 32
```

### การแมปฟิลด์

แมปฟิลด์ผู้ใช้ Zendesk กับแอตทริบิวต์ผู้ติดต่อ Brevo:

#### การแมปเริ่มต้น

| Parameter | Type | Description |
| --- | --- | --- |
| `email` required | string | ที่อยู่อีเมลผู้ใช้ (unique identifier) |
| `name` optional | string | ชื่อเต็ม แยกเป็น FIRSTNAME/LASTNAME |
| `phone` optional | string | แมปกับแอตทริบิวต์ SMS สำหรับ WhatsApp/SMS |
| `organization_id` optional | integer | organization ที่เกี่ยวข้องสำหรับการแมป B2B |
| `role` optional | string | บทบาทผู้ใช้ (end-user, agent, admin) |
| `tags` optional | array | Tags ผู้ใช้จาก Zendesk |
| `ticket_restriction` optional | string | ระดับการเข้าถึง ticket |
| `custom_fields` optional | object | ค่า custom user field |

#### การแมป Custom Field

```yaml
field_mapping:
  # Standard fields
  email: email
  name: FULLNAME
  phone: SMS

  # Support metrics
  open_tickets: OPEN_TICKETS
  total_tickets: TOTAL_TICKETS
  avg_satisfaction: CSAT_SCORE
  last_ticket_date: LAST_SUPPORT_DATE

  # Organization fields
  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

| เมธอด | Endpoint | คำอธิบาย |
| --- | --- | --- |
| `GET` | `/api/v2/tickets` | แสดงรายการ tickets |
| `POST` | `/api/v2/tickets` | สร้าง ticket |
| `PUT` | `/api/v2/tickets/{id}` | อัปเดต ticket |
| `GET` | `/api/v2/tickets/{id}` | แสดง ticket |
| `GET` | `/api/v2/search.json?query={query}` | ค้นหา tickets |

### Users API

| เมธอด | Endpoint | คำอธิบาย |
| --- | --- | --- |
| `GET` | `/api/v2/users` | แสดงรายการผู้ใช้ |
| `POST` | `/api/v2/users` | สร้างผู้ใช้ |
| `PUT` | `/api/v2/users/{id}` | อัปเดตผู้ใช้ |
| `GET` | `/api/v2/users/{id}` | แสดงผู้ใช้ |
| `GET` | `/api/v2/users/search.json?query={query}` | ค้นหาผู้ใช้ |

### Organizations API

| เมธอด | Endpoint | คำอธิบาย |
| --- | --- | --- |
| `GET` | `/api/v2/organizations` | แสดงรายการ organizations |
| `POST` | `/api/v2/organizations` | สร้าง organization |
| `GET` | `/api/v2/organizations/{id}/users` | แสดงรายการสมาชิก organization |

### Satisfaction Ratings API

| เมธอด | Endpoint | คำอธิบาย |
| --- | --- | --- |
| `GET` | `/api/v2/satisfaction_ratings` | แสดงรายการคะแนนความพึงพอใจ |
| `GET` | `/api/v2/satisfaction_ratings/{id}` | แสดงคะแนน |

## เหตุการณ์

### เหตุการณ์ Ticket

| เหตุการณ์ | Trigger | กรณีการใช้งาน |
| --- | --- | --- |
| `ticket.created` | ส่ง ticket ใหม่แล้ว | การยืนยัน support |
| `ticket.updated` | สถานะ ticket เปลี่ยนแล้ว | การแจ้งเตือนสถานะ |
| `ticket.solved` | ทำเครื่องหมาย ticket ว่าแก้ไขแล้ว | Trigger การสำรวจ CSAT |
| `ticket.reopened` | เปิด ticket ที่แก้ไขแล้วใหม่ | การแจ้งเตือนการยกระดับ |

### เหตุการณ์ผู้ใช้

| เหตุการณ์ | Trigger | กรณีการใช้งาน |
| --- | --- | --- |
| `user.created` | ผู้ใช้ใหม่ลงทะเบียน | ยินดีต้อนรับสู่ support |
| `user.updated` | โปรไฟล์ผู้ใช้เปลี่ยนแล้ว | การซิงค์ attribute |
| `user.merged` | ผู้ใช้รวมกันแล้ว | Deduplication |

### เหตุการณ์ความพึงพอใจ

| เหตุการณ์ | Trigger | กรณีการใช้งาน |
| --- | --- | --- |
| `satisfaction_rating.created` | ส่ง CSAT แล้ว | การประมวลผล feedback |
| `satisfaction_rating.bad` | Rating เชิงลบ | การติดต่อเพื่อแก้ไข |
| `satisfaction_rating.good` | Rating เชิงบวก | แคมเปญ advocacy |

## ตัวอย่างโค้ด

### เริ่มต้น Connector

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

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

// Connect Zendesk
await tajo.connectors.connect('zendesk', {
  subdomain: 'yourcompany',
  email: 'admin@yourcompany.com',
  apiToken: process.env.ZENDESK_API_TOKEN
});
```

### ซิงค์ผู้ใช้และ Tickets

```javascript
// Full sync of users and ticket data
await tajo.connectors.sync('zendesk', {
  type: 'full',
  resources: ['users', 'tickets', 'organizations'],
  since: '2023-01-01'
});

// Check sync status
const status = await tajo.connectors.status('zendesk');
console.log(status);
// {
//   connected: true,
//   lastSync: '2024-01-15T10:30:00Z',
//   usersSynced: 8400,
//   ticketsSynced: 34200,
//   organizationsSynced: 1200
// }
```

### จัดการ Zendesk Webhooks

```javascript
app.post('/webhooks/zendesk', async (req, res) => {
  const signature = req.get('X-Zendesk-Webhook-Signature');

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

## ขีดจำกัดอัตรา

Rate limits ของ Zendesk แตกต่างกันตามแผน:

| แผน | ขีดจำกัดอัตรา | รายละเอียด |
| --- | --- | --- |
| Team | 200 คำขอ/นาที | ต่อ API token |
| Professional | 400 คำขอ/นาที | ต่อ API token |
| Enterprise | 700 คำขอ/นาที | ต่อ API token |
| High Volume Add-on | 2,500 คำขอ/นาที | ต่อ API token |

ขีดจำกัดเพิ่มเติม:

- **Search API**: 6 คำขอ/นาทีสำหรับ anonymous, 100/นาทีสำหรับการยืนยันตัวตน
- **Incremental exports**: 10 คำขอ/นาที
- **Batch API**: 100 records ต่อ batch request
- **Webhook delivery**: ลองใหม่อัตโนมัติพร้อม exponential backoff

ส่วนหัว Rate Limit

ตรวจสอบส่วนหัว `X-Rate-Limit-Remaining` และ `Retry-After` เพื่อจัดการการใช้งาน API ของคุณ

## การแก้ไขปัญหา

### ปัญหาทั่วไป

| ปัญหา | สาเหตุ | วิธีแก้ |
| --- | --- | --- |
| 401 Unauthorized | API token ไม่ถูกต้อง | สร้าง token ใหม่ใน Zendesk Admin |
| 403 Forbidden | สิทธิ์ไม่เพียงพอ | ตรวจสอบข้อกำหนดบทบาท agent หรือ admin |
| ผู้ใช้ไม่ซิงค์ | ผู้ใช้เป็น agent ไม่ใช่ end-user | กรองตาม role ในการกำหนดค่าการซิงค์ |
| ไม่ได้รับ Webhook | ไม่ได้กำหนดค่า trigger/target | ตั้งค่า webhook target ใน Zendesk Admin |
| การค้นหาว่างเปล่า | ความล่าช้าในการ indexing | รอ 1-2 นาทีเพื่ออัปเดต search index |

### โหมด Debug

เปิดใช้งาน verbose logging:

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

### ทดสอบการเชื่อมต่อ

```bash
tajo connectors test zendesk
# ✓ API connection successful
# ✓ Users readable
# ✓ Tickets readable
# ✓ Organizations readable
# ✓ Webhooks configured
```

## แนวทางปฏิบัติที่ดีที่สุด

1. **ใช้ incremental exports** - ใช้ Incremental API สำหรับการซิงค์ข้อมูลขนาดใหญ่
2. **กรองเฉพาะ end-users** - ยกเว้น agents และ admins จากการซิงค์ Brevo contact
3. **ซิงค์ข้อมูล CSAT** - ใช้คะแนนความพึงพอใจสำหรับการแบ่ง segment สุขภาพลูกค้า
4. **แมป organizations** - ใช้ข้อมูล organization สำหรับแคมเปญ B2B marketing
5. **ใช้ webhook retries** - จัดการความล้มเหลวชั่วคราวอย่างมีเกียรติ
6. **ใช้ side-loading** - รวม records ที่เกี่ยวข้องใน API responses เพื่อลดจำนวนคำขอ

## ความปลอดภัย

- **การยืนยันตัวตนด้วย API Token** - การเข้าถึงด้วย token ที่เชื่อมกับอีเมล admin
- **OAuth 2.0** - Delegated access ด้วย token พร้อมการควบคุม scope
- **Webhook signing** - การตรวจสอบ HMAC signature สำหรับ webhook payloads
- **การเข้ารหัส TLS** - การสื่อสาร API ทั้งหมดเข้ารหัสผ่าน HTTPS
- **IP whitelisting** - จำกัดการเข้าถึง API ตามช่วง IP

## แหล่งข้อมูลที่เกี่ยวข้อง

- [Zendesk API Documentation](https://developer.zendesk.com/api-reference)
- [Zendesk Webhooks Guide](https://developer.zendesk.com/api-reference/webhooks/introduction/)
- [Intercom Connector](https://tajo.io/th/docs/connectors/support/intercom)
- [Customer Sync Skill](https://tajo.io/th/docs/skills/data-sync/customer-sync)
- [Brevo Contacts API](https://tajo.io/th/docs/contact-management)
