---
title: "Zendesk конектор"
description: "Пълно ръководство за интеграция със Zendesk за синхронизация на тикети, потребители, организации и support събития с Brevo чрез Tajo."
url: https://tajo.io/bg/docs/connectors/support/zendesk/
markdown: https://tajo.io/bg/docs/connectors/support/zendesk.md
lang: bg-BG
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 инстанция с Brevo чрез Tajo за унифицирани данни за клиентска поддръжка, сегментация на базата на тикети, satisfaction scoring и маркетингова автоматизация, задействана от поддръжка.

## Преглед

| Свойство | Стойност |
| --- | --- |
| **Платформа** | Zendesk |
| **Категория** | Поддръжка |
| **Сложност на настройка** | Средна |
| **Официална интеграция** | Не |
| **Синхронизирани данни** | Тикети, потребители, организации, събития |
| **Base URL на API** | `https://{subdomain}.zendesk.com/api/v2` |

## Функции

- **Синхронизация на потребители** – Синхронизирай Zendesk end-users и агенти с контактите в Brevo
- **Проследяване на тикети** – Синхронизирай данни за тикети за маркетингова сегментация, наясно с support
- **Мапване на организации** – Асоциирай контактите с организации за B2B работни потоци
- **Скорове за удовлетвореност** – Синхронизирай CSAT и NPS данни към атрибути в Brevo
- **Събития от тикети** – Проследявай създаване, решаване и ескалация на тикети за automation тригери
- **Интеграция с Help center** – Проследявай преглед на статии и поведение при търсене
- **Поддръжка на множество канали** – Синхронизирай данни от имейл, chat, voice и messaging канали
- **Персонализирани полета** – Мапвай персонализирани полета на тикети и потребители от Zendesk към Brevo

## Предварителни условия

Преди да започнеш, увери се, че имаш:

1. Zendesk Support акаунт (Team, Professional или Enterprise)
2. Администраторски достъп до твоята Zendesk инстанция
3. API token или конфигурирано OAuth приложение
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 за мулти-инстанция интеграции с делегиран потребителски достъп.

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

#### Необходими обхвати

```
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 | Имейл адрес на потребителя (уникален идентификатор) |
| `name` optional | string | Пълно име, разделено на FIRSTNAME/LASTNAME |
| `phone` optional | string | Мапва към атрибут SMS за WhatsApp/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:
  # 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 крайни точки

### 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` | Списък с satisfaction оценки |
| `GET` | `/api/v2/satisfaction_ratings/{id}` | Показване на оценка |

## Събития

### Събития от тикети

| Събитие | Тригер | Случай на употреба |
| --- | --- | --- |
| `ticket.created` | Подаден нов тикет | Потвърждение на поддръжка |
| `ticket.updated` | Променен статус на тикет | Известие за статус |
| `ticket.solved` | Тикетът е маркиран като решен | Тригер за CSAT анкета |
| `ticket.reopened` | Решен тикет е отворен отново | Alert за ескалация |

### Потребителски събития

| Събитие | Тригер | Случай на употреба |
| --- | --- | --- |
| `user.created` | Регистриран нов потребител | Welcome в поддръжка |
| `user.updated` | Променен потребителски профил | Синхронизация на атрибути |
| `user.merged` | Потребители обединени | Дедупликация |

### Събития за удовлетвореност

| Събитие | Тригер | Случай на употреба |
| --- | --- | --- |
| `satisfaction_rating.created` | Подаден CSAT | Обработка на обратна връзка |
| `satisfaction_rating.bad` | Отрицателна оценка | Recovery outreach |
| `satisfaction_rating.good` | Положителна оценка | Advocacy кампании |

## Примери с код

### Инициализация на конектора

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

### Синхронизация на потребители и тикети

```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 уебхуци

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

## Ограничения на заявките

Zendesk rate limits варират според плана:

| План | Rate Limit | Детайли |
| --- | --- | --- |
| Team | 200 заявки/минута | На API token |
| Professional | 400 заявки/минута | На API token |
| Enterprise | 700 заявки/минута | На API token |
| High Volume Add-on | 2 500 заявки/минута | На API token |

Допълнителни лимити:

- **Search API**: 6 заявки/минута за анонимни, 100/минута за автентикирани
- **Инкрементални експорти**: 10 заявки/минута
- **Batch API**: 100 записа на batch заявка
- **Доставка на уебхуци**: Автоматичен retry с exponential backoff

Хедъри за rate limit

Мониторирай хедърите `X-Rate-Limit-Remaining` и `Retry-After`, за да управляваш използването на API.

## Отстраняване на проблеми

### Чести проблеми

| Проблем | Причина | Решение |
| --- | --- | --- |
| 401 Unauthorized | Невалиден API token | Регенерирай token в Zendesk Admin |
| 403 Forbidden | Недостатъчни разрешения | Провери изискванията за роля на агент или admin |
| Потребителят не е синхронизиран | Потребителят е агент, не end-user | Филтрирай по role в конфигурацията за синхронизация |
| Уебхукът не се получава | Триггер/target не е конфигуриран | Настрой webhook target в Zendesk Admin |
| Search връща празно | Забавяне на индексиране | Изчакай 1-2 минути за обновяване на search индекса |

### Режим за дебъг

Активирай подробно логване:

```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 API за синхронизация на големи обеми данни
2. **Филтрирай само end-users** – Изключи агентите и admins от Brevo contact синхронизация
3. **Синхронизирай CSAT данни** – Използвай скорове за удовлетвореност за сегментация по здраве на клиенти
4. **Мапвай организации** – Използвай данни за организации за B2B маркетингови кампании
5. **Внедри retry за уебхуци** – Обработвай временни неуспехи gracefully
6. **Използвай side-loading** – Включвай свързани записи в API отговорите, за да намалиш броя на заявките

## Сигурност

- **Автентикация с API token** – Token-базиран достъп, обвързан с admin email
- **OAuth 2.0** – Token-базиран делегиран достъп с scope контроли
- **Подписване на уебхуци** – HMAC верификация на подпис за webhook payloads
- **TLS криптиране** – Цялата API комуникация е криптирана чрез HTTPS
- **IP whitelisting** – Ограничаване на API достъп по IP диапазон

## Свързани ресурси

- [Zendesk API документация](https://developer.zendesk.com/api-reference)
- [Zendesk Webhooks Guide](https://developer.zendesk.com/api-reference/webhooks/introduction/)
- [Intercom конектор](https://tajo.io/bg/docs/connectors/support/intercom)
- [Customer Sync скил](https://tajo.io/bg/docs/skills/data-sync/customer-sync)
- [Brevo Contacts API](https://tajo.io/bg/docs/contact-management)
