---
title: "Zendesk konektor"
description: "Kompletan vodič za Zendesk integraciju za sinhronizaciju tiketa, korisnika, organizacija i događaja podrške sa Brevo putem Tajo."
url: https://tajo.io/sr/docs/connectors/support/zendesk/
markdown: https://tajo.io/sr/docs/connectors/support/zendesk.md
lang: sr-Latn-RS
robots: noindex
---

Zatražite rani pristup

Unesite ime i poslovnu adresu e-pošte. Poslaćemo vam vezu za potvrdu zahteva za pristup Taju.

# Zendesk konektor

Status konektora: Planirano Još nije izrađeno. Tajo danas ne pokreće ovaj konektor.

| Izvorno polje | Odredišno polje | Primer vrednosti |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Poveži Zendesk Support instancu sa Brevo putem Tajo za unifikovane podatke korisničke podrške, segmentaciju zasnovanu na tiketima, ocenjivanje zadovoljstva i marketing automatizaciju aktiviranu podrškom.

## Pregled

| Svojstvo | Vrednost |
| --- | --- |
| **Platforma** | Zendesk |
| **Kategorija** | Podrška |
| **Složenost podešavanja** | Srednje |
| **Zvanična integracija** | Ne |
| **Sinhronizovani podaci** | Tiketi, Korisnici, Organizacije, Događaji |
| **Osnovni URL API-ja** | `https://{subdomain}.zendesk.com/api/v2` |

## Karakteristike

- **Sinhronizacija korisnika** - Sinhronizacija Zendesk krajnjih korisnika i agenata sa Brevo kontaktima
- **Praćenje tiketa** - Sinhronizacija podataka tiketa za segmentaciju marketinga svesnog podrške
- **Mapiranje organizacija** - Povezivanje kontakata sa organizacijama za B2B tokove rada
- **Ocene zadovoljstva** - Sinhronizacija CSAT i NPS podataka na Brevo atribute
- **Događaji tiketa** - Praćenje kreiranja, rešavanja i eskalacije tiketa za okidače automatizacije
- **Integracija Help centra** - Praćenje pregleda članaka i ponašanja pretrage
- **Podrška za više kanala** - Sinhronizacija podataka iz emaila, chata, glasa i kanala za razmenu poruka
- **Prilagođena polja** - Mapiranje prilagođenih polja tiketa i korisnika u Zendesk-u na Brevo

## Preduslovi

Pre nego što započneš, proveri da imaš:

1. Zendesk Support nalog (Team, Professional ili Enterprise)
2. Admin pristup Zendesk instanci
3. Konfigurisani API token ili OAuth aplikaciju
4. Brevo nalog sa API pristupom
5. Tajo nalog

## Autentifikacija

### Autentifikacija API tokenom

Koristi email/token autentifikaciju za brzo podešavanje.

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

Generišu API token iz Zendesk Admin > Apps and Integrations > APIs > Zendesk API.

### OAuth 2.0

Koristi OAuth za integracije sa više instanci sa delegiranim korisničkim pristupom.

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

#### Potrebni skopovi

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

## Konfiguracija

### Osnovno podešavanje

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

### Mapiranje polja

Mapiranje polja Zendesk korisnika na Brevo atribute kontakta:

#### Default Mappings

| Parameter | Type | Description |
| --- | --- | --- |
| `email` required | string | Email adresa korisnika (jedinstveni identifikator) |
| `name` optional | string | Puno ime, podeljeno na FIRSTNAME/LASTNAME |
| `phone` optional | string | Mapira se na SMS atribut za WhatsApp/SMS |
| `organization_id` optional | integer | Povezana organizacija za B2B mapiranje |
| `role` optional | string | Uloga korisnika (end-user, agent, admin) |
| `tags` optional | array | Tagovi korisnika iz Zendesk-a |
| `ticket_restriction` optional | string | Nivo pristupa tiketima |
| `custom_fields` optional | object | Vrednosti prilagođenih polja korisnika |

#### Mapiranje prilagođenih polja

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

### Ticketing API

| Metoda | Endpoint | Opis |
| --- | --- | --- |
| `GET` | `/api/v2/tickets` | Listanje tiketa |
| `POST` | `/api/v2/tickets` | Kreiranje tiketa |
| `PUT` | `/api/v2/tickets/{id}` | Ažuriranje tiketa |
| `GET` | `/api/v2/tickets/{id}` | Prikazivanje tiketa |
| `GET` | `/api/v2/search.json?query={query}` | Pretraga tiketa |

### Users API

| Metoda | Endpoint | Opis |
| --- | --- | --- |
| `GET` | `/api/v2/users` | Listanje korisnika |
| `POST` | `/api/v2/users` | Kreiranje korisnika |
| `PUT` | `/api/v2/users/{id}` | Ažuriranje korisnika |
| `GET` | `/api/v2/users/{id}` | Prikazivanje korisnika |
| `GET` | `/api/v2/users/search.json?query={query}` | Pretraga korisnika |

### Organizations API

| Metoda | Endpoint | Opis |
| --- | --- | --- |
| `GET` | `/api/v2/organizations` | Listanje organizacija |
| `POST` | `/api/v2/organizations` | Kreiranje organizacije |
| `GET` | `/api/v2/organizations/{id}/users` | Listanje članova organizacije |

### Satisfaction Ratings API

| Metoda | Endpoint | Opis |
| --- | --- | --- |
| `GET` | `/api/v2/satisfaction_ratings` | Listanje ocena zadovoljstva |
| `GET` | `/api/v2/satisfaction_ratings/{id}` | Prikazivanje ocene |

## Događaji

### Događaji tiketa

| Događaj | Okidač | Slučaj upotrebe |
| --- | --- | --- |
| `ticket.created` | Podnet novi tiket | Potvrda podrške |
| `ticket.updated` | Status tiketa promenjen | Obaveštenje o statusu |
| `ticket.solved` | Tiket označen kao rešen | Okidač CSAT ankete |
| `ticket.reopened` | Rešeni tiket ponovo otvoren | Upozorenje o eskalaciji |

### Korisnički događaji

| Događaj | Okidač | Slučaj upotrebe |
| --- | --- | --- |
| `user.created` | Novi korisnik registrovan | Dobrodošlica u podršku |
| `user.updated` | Profil korisnika promenjen | Sinhronizacija atributa |
| `user.merged` | Korisnici spojeni | Deduplikacija |

### Događaji zadovoljstva

| Događaj | Okidač | Slučaj upotrebe |
| --- | --- | --- |
| `satisfaction_rating.created` | CSAT podnet | Obrada povratnih informacija |
| `satisfaction_rating.bad` | Negativna ocena | Oporavak korisnika |
| `satisfaction_rating.good` | Pozitivna ocena | Kampanje zagovaranja |

## Primeri koda

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

### Sinhronizacija korisnika i tiketa

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

### Obrada Zendesk webhook-ova

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

## Ograničenja brzine

Ograničenja brzine Zendesk-a variraju po planu:

| Plan | Ograničenje brzine | Detalji |
| --- | --- | --- |
| Team | 200 zahteva/minuti | Po API tokenu |
| Professional | 400 zahteva/minuti | Po API tokenu |
| Enterprise | 700 zahteva/minuti | Po API tokenu |
| High Volume Add-on | 2.500 zahteva/minuti | Po API tokenu |

Dodatni limiti:

- **Search API**: 6 zahteva/minuti za anonimne, 100/minuti za autentifikovane
- **Inkrementalni izvozi**: 10 zahteva/minuti
- **Batch API**: 100 zapisa po batch zahtevu
- **Isporuka webhook-ova**: Automatski ponovni pokušaj sa eksponencijalnim usporavanjem

Headeri ograničenja brzine

Prati `X-Rate-Limit-Remaining` i `Retry-After` headere da upravljaš upotrebom API-ja.

## Rešavanje problema

### Česti problemi

| Problem | Uzrok | Rešenje |
| --- | --- | --- |
| 401 Unauthorized | Nevažeći API token | Regeneriši token u Zendesk Admin-u |
| 403 Forbidden | Nedovoljne dozvole | Proveri zahteve za ulogu agenta ili admina |
| Korisnik nije sinhronizovan | Korisnik je agent, ne krajnji korisnik | Filtriraj po ulozi u konfiguraciji sinhronizacije |
| Webhook nije primljen | Okidač/meta nije konfigurisana | Podesi webhook meta u Zendesk Admin-u |
| Pretraga vraća prazno | Kašnjenje indeksiranja | Sačekaj 1-2 minuta za ažuriranje indeksa pretrage |

### Debug režim

Uključi detaljno logovanje:

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

### Testiraj vezu

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

## Najbolje prakse

1. **Koristi inkrementalne izvoze** - Koristi Incremental API za sinhronizaciju podataka velikih razmera
2. **Filtriraj samo krajnje korisnike** - Isključi agente i admine iz sinhronizacije Brevo kontakata
3. **Sinhronizuj CSAT podatke** - Koristi ocene zadovoljstva za segmentaciju zdravlja kupaca
4. **Mapiraj organizacije** - Iskoristi podatke organizacija za B2B marketinške kampanje
5. **Implementiraj ponovne pokušaje webhook-ova** - Gracioizno obrađuj privremene neuspehe
6. **Koristi side-loading** - Uključi srodne zapise u API odgovore da smanjiš broj zahteva

## Bezbednost

- **Autentifikacija API tokenom** - Pristup zasnovan na tokenu vezan za email admina
- **OAuth 2.0** - Delegirani pristup zasnovan na tokenu sa kontrolama skopa
- **Potpisivanje webhook-ova** - HMAC verifikacija potpisa za webhook payloade
- **TLS enkripcija** - Sva API komunikacija enkriptovana putem HTTPS
- **Bela lista IP adresa** - Ograniči API pristup po IP opsegu

## Povezani resursi

- [Zendesk API dokumentacija](https://developer.zendesk.com/api-reference)
- [Zendesk Webhooks vodič](https://developer.zendesk.com/api-reference/webhooks/introduction/)
- [Intercom konektor](https://tajo.io/sr/docs/connectors/support/intercom)
- [Customer Sync veština](https://tajo.io/sr/docs/skills/data-sync/customer-sync)
- [Brevo Contacts API](https://tajo.io/sr/docs/contact-management)
