---
title: "Zendesk コネクタ"
description: "Tajo を介して Zendesk のチケット、ユーザー、組織、サポートイベントを Brevo と同期するための完全な Zendesk 統合ガイド。"
url: https://tajo.io/jp/docs/connectors/support/zendesk/
markdown: https://tajo.io/jp/docs/connectors/support/zendesk.md
lang: ja-JP
robots: noindex
---

先行利用を申し込む

お名前と会社のメールアドレスを入力してください。Tajoへのアクセス申請を確認するためのリンクをメールでお送りします。

# Zendesk コネクタ

コネクターのステータス: 予定 まだ構築されていません。Tajo は現在このコネクターを実行していません。

| 送信元フィールド | 送信先フィールド | サンプル値 |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Zendesk Support インスタンスを Tajo 経由で Brevo に接続し、統合された顧客サポートデータ、チケットベースのセグメンテーション、満足度スコアリング、サポートトリガーによるマーケティング自動化を実現します。

## 概要

| プロパティ | 値 |
| --- | --- |
| **プラットフォーム** | Zendesk |
| **カテゴリ** | サポート |
| **セットアップの複雑さ** | 中 |
| **公式統合** | いいえ |
| **同期データ** | チケット、ユーザー、組織、イベント |
| **API ベース URL** | `https://{subdomain}.zendesk.com/api/v2` |

## 機能

- **ユーザー同期** - Zendesk のエンドユーザーとエージェントを Brevo 連絡先と同期
- **チケットトラッキング** - サポート認識型マーケティングセグメンテーション用にチケットデータを同期
- **組織マッピング** - B2B ワークフロー用に連絡先を組織に関連付け
- **満足度スコア** - CSAT と NPS データを Brevo 属性に同期
- **チケットイベント** - 自動化トリガー用にチケット作成、解決、エスカレーションをトラッキング
- **ヘルプセンター統合** - 記事ビューと検索行動をトラッキング
- **マルチチャンネルサポート** - メール、チャット、音声、メッセージングチャンネルからデータを同期
- **カスタムフィールド** - Zendesk のカスタムチケットおよびユーザーフィールドを Brevo にマッピング

## 前提条件

開始する前に、以下を準備してください。

1. Zendesk Support アカウント(Team、Professional、または Enterprise)
2. Zendesk インスタンスへの管理者アクセス
3. 設定済みの API トークンまたは OAuth アプリ
4. API アクセス可能な Brevo アカウント
5. Tajo アカウント

## 認証

### API トークン認証

迅速なセットアップのためにメール/トークン認証を使用します。

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

Zendesk Admin > Apps and Integrations > APIs > Zendesk API から API トークンを生成します。

### OAuth 2.0

委任ユーザーアクセスを伴うマルチインスタンス統合には OAuth を使用します。

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

#### 必要なスコープ

```
read          # すべてのリソースへの読み取りアクセス
write         # すべてのリソースへの書き込みアクセス
tickets:read  # チケットを読み取る(細かい)
users:read    # ユーザーを読み取る(細かい)
organizations:read  # 組織を読み取る(細かい)
```

## 設定

### 基本セットアップ

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

    # データ同期オプション
    sync:
      users: true
      tickets: true
      organizations: true
      satisfaction_ratings: true

    # Brevo リストの割り当て
    lists:
      all_customers: 30
      active_tickets: 31
      satisfied_customers: 32
```

### フィールドマッピング

Zendesk ユーザーフィールドを Brevo 連絡先属性にマッピングします。

#### デフォルトマッピング

| Parameter | Type | Description |
| --- | --- | --- |
| `email` required | string | ユーザーのメールアドレス(一意識別子) |
| `name` optional | string | フルネーム、FIRSTNAME/LASTNAME に分割 |
| `phone` optional | string | WhatsApp/SMS 用の SMS 属性にマッピング |
| `organization_id` optional | integer | B2B マッピング用の関連組織 |
| `role` optional | string | ユーザーロール(end-user、agent、admin) |
| `tags` optional | array | Zendesk のユーザータグ |
| `ticket_restriction` optional | string | チケットアクセスレベル |
| `custom_fields` optional | object | カスタムユーザーフィールド値 |

#### カスタムフィールドマッピング

```yaml
field_mapping:
  # 標準フィールド
  email: email
  name: FULLNAME
  phone: SMS

  # サポートメトリクス
  open_tickets: OPEN_TICKETS
  total_tickets: TOTAL_TICKETS
  avg_satisfaction: CSAT_SCORE
  last_ticket_date: LAST_SUPPORT_DATE

  # 組織フィールド
  organization.name: COMPANY_NAME
  organization.tags: COMPANY_TAGS

  # カスタムフィールド
  user_fields.customer_type: CUSTOMER_TYPE
  user_fields.account_tier: ACCOUNT_TIER
```

## API エンドポイント

### Ticketing API

| メソッド | エンドポイント | 説明 |
| --- | --- | --- |
| `GET` | `/api/v2/tickets` | チケットを一覧取得 |
| `POST` | `/api/v2/tickets` | チケットを作成 |
| `PUT` | `/api/v2/tickets/{id}` | チケットを更新 |
| `GET` | `/api/v2/tickets/{id}` | チケットを表示 |
| `GET` | `/api/v2/search.json?query={query}` | チケットを検索 |

### Users API

| メソッド | エンドポイント | 説明 |
| --- | --- | --- |
| `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

| メソッド | エンドポイント | 説明 |
| --- | --- | --- |
| `GET` | `/api/v2/organizations` | 組織を一覧取得 |
| `POST` | `/api/v2/organizations` | 組織を作成 |
| `GET` | `/api/v2/organizations/{id}/users` | 組織メンバーを一覧取得 |

### Satisfaction Ratings API

| メソッド | エンドポイント | 説明 |
| --- | --- | --- |
| `GET` | `/api/v2/satisfaction_ratings` | 満足度評価を一覧取得 |
| `GET` | `/api/v2/satisfaction_ratings/{id}` | 評価を表示 |

## イベント

### チケットイベント

| イベント | トリガー | ユースケース |
| --- | --- | --- |
| `ticket.created` | 新しいチケットが送信 | サポート確認 |
| `ticket.updated` | チケットステータス変更 | ステータス通知 |
| `ticket.solved` | チケットが解決済みとしてマーク | CSAT 調査トリガー |
| `ticket.reopened` | 解決済みチケットが再開 | エスカレーションアラート |

### ユーザーイベント

| イベント | トリガー | ユースケース |
| --- | --- | --- |
| `user.created` | 新しいユーザー登録 | サポートへようこそ |
| `user.updated` | ユーザープロファイル変更 | 属性同期 |
| `user.merged` | ユーザーがマージ | 重複排除 |

### 満足度イベント

| イベント | トリガー | ユースケース |
| --- | --- | --- |
| `satisfaction_rating.created` | CSAT が送信 | フィードバック処理 |
| `satisfaction_rating.bad` | 否定的評価 | リカバリーアウトリーチ |
| `satisfaction_rating.good` | 肯定的評価 | 支持者キャンペーン |

## コード例

### コネクタの初期化

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

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

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

### ユーザーとチケットを同期

```javascript
// ユーザーとチケットデータのフル同期
await tajo.connectors.sync('zendesk', {
  type: 'full',
  resources: ['users', 'tickets', 'organizations'],
  since: '2023-01-01'
});

// 同期ステータスを確認
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 Webhook の処理

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

  // Webhook 署名を検証
  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');
});
```

## レート制限

Zendesk のレート制限はプランによって異なります。

| プラン | レート制限 | 詳細 |
| --- | --- | --- |
| Team | 200 リクエスト/分 | API トークン単位 |
| Professional | 400 リクエスト/分 | API トークン単位 |
| Enterprise | 700 リクエスト/分 | API トークン単位 |
| High Volume アドオン | 2,500 リクエスト/分 | API トークン単位 |

追加の制限:

- **Search API**: 匿名で 6 リクエスト/分、認証済みで 100/分
- **増分エクスポート**: 10 リクエスト/分
- **Batch API**: バッチリクエストあたり 100 レコード
- **Webhook 配信**: 指数バックオフによる自動リトライ

レート制限ヘッダー

`X-Rate-Limit-Remaining` と `Retry-After` ヘッダーを監視して API 使用量を管理してください。

## トラブルシューティング

### 一般的な問題

| 問題 | 原因 | 解決策 |
| --- | --- | --- |
| 401 Unauthorized | API トークンが無効 | Zendesk Admin でトークンを再生成 |
| 403 Forbidden | 権限不足 | エージェントまたは管理者ロール要件を確認 |
| ユーザーが同期されない | ユーザーがエンドユーザーではなくエージェント | 同期設定で role によりフィルタ |
| Webhook を受信できない | トリガー/ターゲットが未設定 | Zendesk Admin で Webhook ターゲットを設定 |
| 検索結果が空 | インデックス遅延 | 検索インデックス更新のため 1〜2 分待つ |

### デバッグモード

詳細ロギングを有効化:

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

### 接続テスト

```bash
tajo connectors test zendesk
# ✓ API 接続成功
# ✓ ユーザー読み取り可能
# ✓ チケット読み取り可能
# ✓ 組織読み取り可能
# ✓ Webhook 設定済み
```

## ベストプラクティス

1. **増分エクスポートを使用する** - 大規模データ同期には Incremental API を使用
2. **エンドユーザーのみフィルタリング** - Brevo 連絡先同期からエージェントと管理者を除外
3. **CSAT データを同期する** - 顧客健全性セグメンテーションに満足度スコアを使用
4. **組織をマッピングする** - B2B マーケティングキャンペーンに組織データを活用
5. **Webhook リトライを実装する** - 一時的な障害を適切に処理
6. **サイドローディングを使用する** - リクエスト数を減らすため API レスポンスに関連レコードを含める

## セキュリティ

- **API トークン認証** - 管理者メールに紐付けられたトークンベースアクセス
- **OAuth 2.0** - スコープ制御付きのトークンベース委任アクセス
- **Webhook 署名** - Webhook ペイロードの HMAC 署名検証
- **TLS 暗号化** - すべての API 通信は HTTPS で暗号化
- **IP 許可リスト** - IP 範囲で API アクセスを制限

## 関連リソース

- [Zendesk API ドキュメント](https://developer.zendesk.com/api-reference)
- [Zendesk Webhooks ガイド](https://developer.zendesk.com/api-reference/webhooks/introduction/)
- [Intercom コネクタ](https://tajo.io/jp/docs/connectors/support/intercom)
- [顧客同期スキル](https://tajo.io/jp/docs/skills/data-sync/customer-sync)
- [Brevo Contacts API](https://tajo.io/jp/docs/contact-management)
