---
title: "Konektor Zendesk"
description: "Kompletny przewodnik integracji Zendesk do synchronizacji zgłoszeń, użytkowników, organizacji i zdarzeń wsparcia z Brevo przez Tajo."
url: https://tajo.io/pl/docs/connectors/support/zendesk/
markdown: https://tajo.io/pl/docs/connectors/support/zendesk.md
lang: pl-PL
robots: noindex
---

Poproś o wcześniejszy dostęp

Podaj imię i firmowy adres e-mail. Wyślemy Ci link potwierdzający prośbę o dostęp do Tajo.

# Konektor Zendesk

Status konektora: Planowany Jeszcze niezbudowany. Tajo nie uruchamia dziś tego konektora.

| Pole źródłowe | Pole docelowe | Przykładowa wartość |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Połącz swoją instancję Zendesk Support z Brevo przez Tajo dla ujednoliconych danych wsparcia klientów, segmentacji opartej na zgłoszeniach, scoringu satysfakcji i automatyzacji marketingu wyzwalanej wsparciem.

## Przegląd

| Właściwość | Wartość |
| --- | --- |
| **Platforma** | Zendesk |
| **Kategoria** | Support |
| **Poziom konfiguracji** | Średni |
| **Integracja oficjalna** | Nie |
| **Synchronizowane dane** | Zgłoszenia, Użytkownicy, Organizacje, Zdarzenia |
| **Bazowy URL API** | `https://{subdomain}.zendesk.com/api/v2` |

## Funkcje

- **Synchronizacja użytkowników** - Synchronizuj użytkowników końcowych i agentów Zendesk z kontaktami Brevo
- **Śledzenie zgłoszeń** - Synchronizuj dane zgłoszeń dla segmentacji marketingowej uwzględniającej wsparcie
- **Mapowanie organizacji** - Kojarz kontakty z organizacjami dla workflow B2B
- **Wyniki satysfakcji** - Synchronizuj dane CSAT i NPS z atrybutami Brevo
- **Zdarzenia zgłoszeń** - Śledź tworzenie, rozwiązywanie i eskalację zgłoszeń jako wyzwalacze automatyzacji
- **Integracja centrum pomocy** - Śledź wyświetlenia artykułów i zachowanie wyszukiwania
- **Wsparcie wielokanałowe** - Synchronizuj dane z kanałów e-mail, czat, głos i komunikatory
- **Niestandardowe pola** - Mapuj niestandardowe pola zgłoszeń i użytkowników Zendesk na Brevo

## Wymagania wstępne

Zanim zaczniesz, upewnij się, że masz:

1. Konto Zendesk Support (Team, Professional lub Enterprise)
2. Dostęp administratora do instancji Zendesk
3. Skonfigurowany token API lub aplikację OAuth
4. Konto Brevo z dostępem do API
5. Konto Tajo

## Uwierzytelnianie

### Uwierzytelnianie tokenem API

Używaj uwierzytelniania e-mail/token dla szybkiej konfiguracji.

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

Generuj token API w Zendesk Admin > Apps and Integrations > APIs > Zendesk API.

### OAuth 2.0

Używaj OAuth dla integracji wieloinstancyjnych z delegowanym dostępem użytkownika.

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

#### Wymagane zakresy

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

## Konfiguracja

### Podstawowa konfiguracja

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

### Mapowanie pól

Mapuj pola użytkowników Zendesk na atrybuty kontaktów Brevo:

#### Domyślne mapowania

| Parameter | Type | Description |
| --- | --- | --- |
| `email` required | string | Adres e-mail użytkownika (unikalny identyfikator) |
| `name` optional | string | Pełne imię i nazwisko, podzielone na FIRSTNAME/LASTNAME |
| `phone` optional | string | Mapuje na atrybut SMS dla WhatsApp/SMS |
| `organization_id` optional | integer | Powiązana organizacja dla mapowania B2B |
| `role` optional | string | Rola użytkownika (end-user, agent, admin) |
| `tags` optional | array | Tagi użytkownika z Zendesk |
| `ticket_restriction` optional | string | Poziom dostępu do zgłoszeń |
| `custom_fields` optional | object | Wartości niestandardowych pól użytkownika |

#### Mapowanie niestandardowych pól

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

## Endpointy API

### API Zgłoszeń

| Metoda | Endpoint | Opis |
| --- | --- | --- |
| `GET` | `/api/v2/tickets` | Lista zgłoszeń |
| `POST` | `/api/v2/tickets` | Utwórz zgłoszenie |
| `PUT` | `/api/v2/tickets/{id}` | Zaktualizuj zgłoszenie |
| `GET` | `/api/v2/tickets/{id}` | Pokaż zgłoszenie |
| `GET` | `/api/v2/search.json?query={query}` | Wyszukaj zgłoszenia |

### API Użytkowników

| Metoda | Endpoint | Opis |
| --- | --- | --- |
| `GET` | `/api/v2/users` | Lista użytkowników |
| `POST` | `/api/v2/users` | Utwórz użytkownika |
| `PUT` | `/api/v2/users/{id}` | Zaktualizuj użytkownika |
| `GET` | `/api/v2/users/{id}` | Pokaż użytkownika |
| `GET` | `/api/v2/users/search.json?query={query}` | Wyszukaj użytkowników |

### API Organizacji

| Metoda | Endpoint | Opis |
| --- | --- | --- |
| `GET` | `/api/v2/organizations` | Lista organizacji |
| `POST` | `/api/v2/organizations` | Utwórz organizację |
| `GET` | `/api/v2/organizations/{id}/users` | Lista członków organizacji |

### API Ocen satysfakcji

| Metoda | Endpoint | Opis |
| --- | --- | --- |
| `GET` | `/api/v2/satisfaction_ratings` | Lista ocen satysfakcji |
| `GET` | `/api/v2/satisfaction_ratings/{id}` | Pokaż ocenę |

## Zdarzenia

### Zdarzenia zgłoszeń

| Zdarzenie | Wyzwalacz | Przypadek użycia |
| --- | --- | --- |
| `ticket.created` | Złożono nowe zgłoszenie | Potwierdzenie wsparcia |
| `ticket.updated` | Zmieniono status zgłoszenia | Powiadomienie o statusie |
| `ticket.solved` | Zgłoszenie oznaczone jako rozwiązane | Wyzwalacz ankiety CSAT |
| `ticket.reopened` | Ponownie otwarto rozwiązane zgłoszenie | Alert o eskalacji |

### Zdarzenia użytkowników

| Zdarzenie | Wyzwalacz | Przypadek użycia |
| --- | --- | --- |
| `user.created` | Zarejestrował się nowy użytkownik | Witaj w wsparciu |
| `user.updated` | Zmieniono profil użytkownika | Synchronizacja atrybutów |
| `user.merged` | Scalono użytkowników | Deduplikacja |

### Zdarzenia satysfakcji

| Zdarzenie | Wyzwalacz | Przypadek użycia |
| --- | --- | --- |
| `satisfaction_rating.created` | Przesłano CSAT | Przetwarzanie opinii |
| `satisfaction_rating.bad` | Negatywna ocena | Działania naprawcze |
| `satisfaction_rating.good` | Pozytywna ocena | Kampanie rzecznicze |

## Przykłady kodu

### Inicjalizacja konektora

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

### Synchronizuj użytkowników i zgłoszenia

```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
// }
```

### Obsługuj webhooki 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');
});
```

## Limity API

Limity szybkości Zendesk zależą od planu:

| Plan | Limit szybkości | Szczegóły |
| --- | --- | --- |
| Team | 200 żądań/minutę | Na token API |
| Professional | 400 żądań/minutę | Na token API |
| Enterprise | 700 żądań/minutę | Na token API |
| Dodatek High Volume | 2 500 żądań/minutę | Na token API |

Dodatkowe limity:

- **Search API**: 6 żądań/minutę dla anonimowych, 100/minutę dla uwierzytelnionych
- **Eksporty przyrostowe**: 10 żądań/minutę
- **Batch API**: 100 rekordów na żądanie wsadowe
- **Dostarczanie webhooków**: Automatyczne ponowne próby z wykładniczym wycofaniem

Nagłówki limitów szybkości

Monitoruj nagłówki `X-Rate-Limit-Remaining` i `Retry-After`, aby zarządzać użyciem API.

## Rozwiązywanie problemów

### Typowe problemy

| Problem | Przyczyna | Rozwiązanie |
| --- | --- | --- |
| 401 Unauthorized | Nieprawidłowy token API | Wygeneruj ponownie token w Zendesk Admin |
| 403 Forbidden | Niewystarczające uprawnienia | Sprawdź wymagania roli agenta lub administratora |
| Użytkownik nie zsynchronizowany | Użytkownik jest agentem, nie użytkownikiem końcowym | Filtruj według roli w konfiguracji synchronizacji |
| Webhook nie odebrany | Trigger/target nie skonfigurowany | Skonfiguruj cel webhooka w Zendesk Admin |
| Wyszukiwanie zwraca puste wyniki | Opóźnienie indeksowania | Poczekaj 1-2 minuty na aktualizację indeksu wyszukiwania |

### Tryb debug

Włącz szczegółowe logowanie:

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

### Test połączenia

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

## Najlepsze praktyki

1. **Używaj eksportów przyrostowych** - Używaj Incremental API dla synchronizacji danych na dużą skalę
2. **Filtruj tylko użytkowników końcowych** - Wykluczaj agentów i administratorów z synchronizacji kontaktów Brevo
3. **Synchronizuj dane CSAT** - Używaj wyników satysfakcji dla segmentacji zdrowia klienta
4. **Mapuj organizacje** - Wykorzystuj dane organizacji dla kampanii marketingowych B2B
5. **Wdrożyj ponowne próby webhooków** - Obsługuj tymczasowe błędy bez zakłóceń
6. **Używaj side-loading** - Dołączaj powiązane rekordy w odpowiedziach API, aby zmniejszyć liczbę żądań

## Bezpieczeństwo

- **Uwierzytelnianie tokenem API** - Dostęp oparty na tokenie powiązanym z e-mailem administratora
- **OAuth 2.0** - Delegowany dostęp oparty na tokenie z kontrolą zakresów
- **Podpisywanie webhooków** - Weryfikacja podpisu HMAC dla ładunków webhooków
- **Szyfrowanie TLS** - Cała komunikacja API szyfrowana przez HTTPS
- **Allowlisting IP** - Ograniczanie dostępu do API według zakresu IP

## Powiązane zasoby

- [Dokumentacja Zendesk API](https://developer.zendesk.com/api-reference)
- [Przewodnik po webhookach Zendesk](https://developer.zendesk.com/api-reference/webhooks/introduction/)
- [Konektor Intercom](https://tajo.io/pl/docs/connectors/support/intercom)
- [Skill synchronizacji klientów](https://tajo.io/pl/docs/skills/data-sync/customer-sync)
- [Brevo Contacts API](https://tajo.io/pl/docs/contact-management)
