---
title: "SendGrid Konektor"
description: "Kompletan vodič za integraciju SendGrida za sinkronizaciju kontakata, transakcijskih e-mailova, marketinških kampanja i događaja angažmana s Brevom putem Taja."
url: https://tajo.io/hr/docs/connectors/marketing/sendgrid/
markdown: https://tajo.io/hr/docs/connectors/marketing/sendgrid.md
lang: hr-HR
robots: noindex
---

Zatražite rani pristup

Unesite ime i poslovnu adresu e-pošte. Poslat ćemo vam poveznicu za potvrdu zahtjeva za pristup Taju.

# SendGrid Konektor

Status konektora: U izradi Gradi se. Još nije provjereno.

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

Povežite vaš SendGrid račun s Brevom putem Taja za migraciju e-mail infrastrukture, sinkronizaciju kontakata, prijenos podataka o kampanjama i ujedinjenu analitiku angažmana na obje platforme.

## Pregled

| Svojstvo | Vrijednost |
| --- | --- |
| **Platforma** | SendGrid (Twilio) |
| **Kategorija** | Marketing |
| **Složenost postavljanja** | Jednostavno |
| **Službena integracija** | Ne |
| **Sinkronizirani podaci** | Kontakti, Kampanje, Transakcijski e-mail, Događaji |
| **Osnovni URL API-ja** | `https://api.sendgrid.com/v3` |

## Značajke

- **Migracija kontakata** - Migracija SendGrid Marketing kontakata u Brevo s prilagođenim poljima
- **Sinkronizacija transakcijskih e-mailova** - Praćenje transakcijskih e-mail događaja za ujedinjeno izvješćivanje
- **Podaci o kampanjama** - Sinkronizacija podataka o performansama Single Send i Automation kampanja
- **Webhook događaji** - Prosljeđivanje e-mail događaja (dostavljeno, otvoreno, kliknuto, vraćeno) u Brevo
- **Sinkronizacija supresija** - Migracija popisa vraćenih, blokiranih i odjavljenih za usklađenost
- **Migracija predložaka** - Izvoz Dynamic Transactional Templates za korištenje u Brevo
- **Verifikacija pošiljatelja** - Sinkronizacija verificiranih identiteta pošiljatelja i autentifikacije domene
- **Sinkronizacija statistika** - Uvoz historijskih statistika angažmana u Brevo atribute

## Preduvjeti

Prije nego što počnete, osigurajte da imate:

1. SendGrid račun (Free, Essentials, Pro ili Premier)
2. SendGrid API ključ s potrebnim dozvolama
3. Brevo račun s API pristupom
4. Tajo račun

## Autentifikacija

### Autentifikacija API ključem

SendGrid koristi autentifikaciju bearer tokenom.

```bash
curl https://api.sendgrid.com/v3/marketing/contacts \
  -H "Authorization: Bearer SG.YOUR_API_KEY" \
  -H "Content-Type: application/json"
```

Kreirajte API ključeve u SendGrid Postavkama > API ključevi s određenim razinama dozvola:

- **Puni pristup** - Potpuni API pristup
- **Ograničeni pristup** - Granularna kontrola dozvola
- **Pristup naplati** - Operacije samo za naplatu

#### Potrebne dozvole

```
Marketing: Full Access
  - Contacts (read)
  - Single Sends (read)
  - Automations (read)
Mail Send: Full Access
  - Mail Send (read)
Stats: Read Access
Suppressions: Read Access
Tracking: Read Access
```

Sigurnost API ključa

SendGrid API ključevi prikazuju se samo jednom pri kreiranju. Pohranite ih sigurno. Ako izgubite ključ, morate kreirati novi.

## Konfiguracija

### Osnovna konfiguracija

```yaml
connectors:
  sendgrid:
    enabled: true
    api_key: "${SENDGRID_API_KEY}"

    # Opcije sinkronizacije podataka
    sync:
      contacts: true
      campaigns: true
      transactional: true
      suppressions: true
      statistics: true

    # Mapiranje popisa na Brevo
    list_mapping:
      "All Contacts": 60
      "Newsletter": 61
      "Transactional": 62
```

### Mapiranje polja

Mapirajte polja kontakata SendGrida na Brevo atribute kontakata:

#### Zadana mapiranja

| Parameter | Type | Description |
| --- | --- | --- |
| `email` required | string | E-mail adresa kontakta (jedinstveni identifikator) |
| `first_name` optional | string | Mapira se na atribut FIRSTNAME |
| `last_name` optional | string | Mapira se na atribut LASTNAME |
| `phone_number` optional | string | Mapira se na atribut SMS |
| `city` optional | string | Grad kontakta |
| `country` optional | string | Država kontakta |
| `custom_fields` optional | object | Parovi ključ-vrijednost prilagođenih polja |
| `list_ids` optional | array | Članstva na SendGrid popisima |

#### Mapiranje prilagođenih polja

```yaml
field_mapping:
  # Standardna polja
  email: email
  first_name: FIRSTNAME
  last_name: LASTNAME
  phone_number: SMS

  # Polja lokacije
  city: CITY
  state_province_region: STATE
  country: COUNTRY
  postal_code: POSTAL_CODE

  # Metrike angažmana
  avg_open_rate: AVG_OPEN_RATE
  avg_click_rate: AVG_CLICK_RATE

  # Prilagođena polja
  custom_fields.company: COMPANY_NAME
  custom_fields.plan: PLAN_TYPE
```

## API krajnje točke

### Marketinški kontakti

| Metoda | Krajnja točka | Opis |
| --- | --- | --- |
| `PUT` | `/v3/marketing/contacts` | Dodaj ili ažuriraj kontakte |
| `POST` | `/v3/marketing/contacts/search` | Pretraži kontakte |
| `GET` | `/v3/marketing/contacts/count` | Dohvati broj kontakata |
| `POST` | `/v3/marketing/contacts/exports` | Izvezi kontakte |
| `DELETE` | `/v3/marketing/contacts` | Izbriši kontakte |
| `GET` | `/v3/marketing/lists` | Popis svih popisa kontakata |

### Transakcijski e-mail (Mail Send)

| Metoda | Krajnja točka | Opis |
| --- | --- | --- |
| `POST` | `/v3/mail/send` | Pošalji e-mail |
| `GET` | `/v3/templates` | Popis Dynamic Templates |
| `GET` | `/v3/templates/{id}` | Dohvati detalje predloška |

### Kampanje (Single Sends)

| Metoda | Krajnja točka | Opis |
| --- | --- | --- |
| `GET` | `/v3/marketing/singlesends` | Popis Single Sends |
| `GET` | `/v3/marketing/singlesends/{id}` | Dohvati detalje Single Senda |
| `GET` | `/v3/marketing/automations` | Popis automatizacija |

### Statistike

| Metoda | Krajnja točka | Opis |
| --- | --- | --- |
| `GET` | `/v3/stats` | Dohvati globalne statistike e-maila |
| `GET` | `/v3/categories/stats` | Dohvati statistike kategorija |
| `GET` | `/v3/marketing/stats/singlesends` | Dohvati Single Send statistike |

### Supresije

| Metoda | Krajnja točka | Opis |
| --- | --- | --- |
| `GET` | `/v3/suppression/bounces` | Popis vraćenih e-mailova |
| `GET` | `/v3/suppression/blocks` | Popis blokiranih e-mailova |
| `GET` | `/v3/suppression/spam_reports` | Popis prijava spama |
| `GET` | `/v3/suppression/unsubscribes` | Popis globalnih odjava |

## Događaji

### E-mail događaji (putem Event Webhookova)

| Događaj | Okidač | Slučaj upotrebe |
| --- | --- | --- |
| `processed` | E-mail prihvatio SendGrid | Potvrda slanja |
| `delivered` | E-mail dostavljen primatelju | Praćenje dostave |
| `open` | E-mail otvoren | Ocjenjivanje angažmana |
| `click` | Kliknuta veza | Praćenje interesa |
| `bounce` | E-mail vraćen | Higijena popisa |
| `dropped` | E-mail supresian | Pregled usklađenosti |
| `deferred` | Dostava odgođena | Praćenje ponovnih pokušaja |
| `spam_report` | Označen kao spam | Upravljanje reputacijom |
| `unsubscribe` | Odjavljen putem veze | Sinkronizacija preferencija |

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

// Povežite SendGrid
await tajo.connectors.connect('sendgrid', {
  apiKey: process.env.SENDGRID_API_KEY
});
```

### Migracija kontakata u Brevo

```javascript
// Potpuna migracija kontakata iz SendGrida u Brevo
await tajo.connectors.sync('sendgrid', {
  type: 'full',
  resources: ['contacts', 'suppressions'],
  options: {
    includeCustomFields: true,
    migrateListMemberships: true,
    migrateSuppressions: true
  }
});

// Provjera statusa migracije
const status = await tajo.connectors.status('sendgrid');
console.log(status);
// {
//   connected: true,
//   lastSync: '2024-01-15T10:30:00Z',
//   contactsMigrated: 45000,
//   suppressionsSynced: 3200,
//   listsMapped: 8
// }
```

### Prosljeđivanje e-mail događaja

```javascript
// Rukovanje SendGrid Event Webhookom
app.post('/webhooks/sendgrid', async (req, res) => {
  const signature = req.get('X-Twilio-Email-Event-Webhook-Signature');

  // Verificirajte potpis webhookova (ECDSA)
  if (!verifySendGridSignature(req.body, signature)) {
    return res.status(401).send('Unauthorized');
  }

  // Obradite seriju događaja
  for (const event of req.body) {
    await tajo.connectors.handleWebhook('sendgrid', {
      type: event.event,
      email: event.email,
      timestamp: event.timestamp,
      payload: event
    });
  }

  res.status(200).send('OK');
});
```

## Ograničenja brzine

Ograničenja brzine SendGrid API-ja:

| Krajnja točka | Ograničenje | Detalji |
| --- | --- | --- |
| Mail Send (`/v3/mail/send`) | Ovisno o planu | Free: 100/dan, Essentials: na temelju plana |
| Marketing Contacts PUT | 3 zahtjeva/sekundi | Serija do 30.000 kontakata |
| Marketing Contacts Search | 50 zahtjeva/sekundi | Po API ključu |
| Opći API | 1.000 zahtjeva/sekundi | Po API ključu |
| Event Webhook | Skupna dostava | Do 1.000 događaja po POST-u |

Ograničenja Mail Send

Ograničenja Mail Senda ovise o vašem SendGrid planu. Free računi ograničeni su na 100 e-mailova/dan. Provjerite detalje vašeg plana za točna ograničenja slanja.

## Rješavanje problema

### Uobičajeni problemi

| Problem | Uzrok | Rješenje |
| --- | --- | --- |
| 401 Unauthorized | Nevažeći API ključ | Verificirajte API ključ u SendGrid Postavkama |
| 403 Forbidden | Nedovoljne dozvole API ključa | Kreirajte novi ključ s potrebnim opsezima |
| Izvoz kontakata na čekanju | Obrada velikog skupa podataka | Anketirajte krajnju točku statusa izvoza dok ne dovršite |
| Nepotpuna sinkronizacija supresija | Potrebna paginacija | Implementirajte paginaciju s parametrom offset |
| Webhook nije primljen | URL nije verificiran | Dovršite verifikaciju URL-a webhookova u SendGridu |

### Način otklanjanja grešaka

Omogućite detaljno zapisivanje:

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

### Testiranje veze

```bash
tajo connectors test sendgrid
# ✓ API veza uspješna
# ✓ Kontakti čitljivi
# ✓ Popisi dostupni
# ✓ Statistike čitljive
# ✓ Supresije dostupne
```

## Preporučene prakse

1. **Prvo migrirajte supresije** - Osigurajte da su vraćene, blokirane i odjavljene adrese u Brevo prije slanja
2. **Koristite skupna učitavanja kontakata** - PUT do 30.000 kontakata po zahtjevu za učinkovitost
3. **Verificirajte Event Webhook** - Omogućite potpisane webhookove s ECDSA verifikacijom
4. **Mapirajte prilagođena polja** - Kreirajte odgovarajuće Brevo atribute prije migracije kontakata
5. **Sinkronizirajte podatke o angažmanu** - Uvezite historijske statistike za segmentaciju u Brevo
6. **Rukujte asinkronim izvozima** - Izvozi kontakata su asinkroni; anketirajte za dovršetak

## Sigurnost

- **Autentifikacija API ključem** - Bearer token s granularnim razinama dozvola
- **Potpisivanje Event Webhookova** - ECDSA verifikacija potpisa za webhook opterećenja
- **TLS šifriranje** - Sva API komunikacija šifrirana putem HTTPS-a
- **Upravljanje IP pristupom** - Ograničite Dashboard i API pristup po IP-u
- **Dvofaktorska autentifikacija** - 2FA dostupna za pristup računu

## Povezani resursi

- [SendGrid API dokumentacija](https://docs.sendgrid.com/api-reference)
- [SendGrid vodič za Event Webhook](https://docs.sendgrid.com/for-developers/tracking-events/event)
- [Brevo Konektor](https://tajo.io/hr/docs/connectors/marketing/brevo)
- [Mailchimp Konektor](https://tajo.io/hr/docs/connectors/marketing/mailchimp)
- [Vještina sinkronizacije korisnika](https://tajo.io/hr/docs/skills/data-sync/customer-sync)
