---
title: "SendGrid Connector"
description: "Popoln vodnik za integracijo SendGrid za sinhronizacijo stikov, transakcijskih e-mailov, marketinških kampanj in angažirnih dogodkov z Brevo prek Tajo."
url: https://tajo.io/sl/docs/connectors/marketing/sendgrid/
markdown: https://tajo.io/sl/docs/connectors/marketing/sendgrid.md
lang: sl-SI
robots: noindex
---

Zaprosite za zgodnji dostop

Vnesite svoje ime in službeni e-poštni naslov. Poslali vam bomo povezavo za potrditev zahteve za dostop do Taja.

# SendGrid Connector

Stanje konektorja: V razvoju V izdelavi. Še ni preverjeno.

| Izvorno polje | Ciljno polje | Vzorčna vrednost |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Poveži račun SendGrid z Brevo prek Tajo za migracijo e-mailne infrastrukture, sinhronizacijo stikov, prenos podatkov kampanj in enotno analitiko angažiranosti na obeh platformah.

## Pregled

| Lastnost | Vrednost |
| --- | --- |
| **Platforma** | SendGrid (Twilio) |
| **Kategorija** | Marketing |
| **Zahtevnost nastavitve** | Enostavna |
| **Uradna integracija** | Ne |
| **Sinhronizirani podatki** | Stiki, kampanje, transakcijski e-mail, dogodki |
| **Osnovni URL API** | `https://api.sendgrid.com/v3` |

## Funkcionalnosti

- **Migracija stikov** – prenesi marketinške stike SendGrid v Brevo s polji po meri
- **Sinhronizacija transakcijskega e-maila** – sledi transakcijskim e-mailnim dogodkom za enotno poročanje
- **Podatki kampanj** – sinhroniziraj podatke o uspešnosti kampanj Single Send in Automation
- **Webhooks za dogodke** – posreduj e-mailne dogodke (dostavljen, odprt, kliknjen, odbijen) v Brevo
- **Sinhronizacija zatavljanja** – prenesi sezname odbite, blokirane in odjavljene pošte za skladnost
- **Migracija predlog** – izvozi Dynamic Transactional Templates za uporabo v Brevo
- **Preverjanje pošiljatelja** – sinhroniziraj preverjene identitete pošiljatelja in avtentikacijo domene
- **Sinhronizacija statistik** – uvozi zgodovinske angažirne statistike v atribute Brevo

## Predpogoji

Preden začneš, se prepričaj, da imaš:

1. Račun SendGrid (Free, Essentials, Pro ali Premier)
2. API ključ SendGrid z zahtevanimi dovoljenji
3. Brevo račun z dostopom do API
4. Tajo račun

## Avtentikacija

### Avtentikacija z API ključem

SendGrid za avtentikacijo uporablja žetone prinosnika.

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

Ustvari API ključe v SendGrid Settings > API Keys s specifičnimi ravnmi dovoljenj:

- **Full Access** – popoln dostop do API
- **Restricted Access** – granularni nadzor dovoljenj
- **Billing Access** – samo operacije zaračunavanja

#### Zahtevana dovoljenja

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

Varnost API ključa

API ključi SendGrid se prikažejo samo enkrat pri ustvarjanju. Varno jih shrani. V primeru izgube moraš ustvariti nov ključ.

## Konfiguracija

### Osnovna nastavitev

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

    # Data sync options
    sync:
      contacts: true
      campaigns: true
      transactional: true
      suppressions: true
      statistics: true

    # List mapping to Brevo
    list_mapping:
      "All Contacts": 60
      "Newsletter": 61
      "Transactional": 62
```

### Preslikava polj

Preslikaj polja stikov SendGrid v atribute stikov Brevo:

#### Privzete preslikave

| Parameter | Type | Description |
| --- | --- | --- |
| `email` required | string | E-mailni naslov stika (enolični identifikator) |
| `first_name` optional | string | Preslika se v atribut FIRSTNAME |
| `last_name` optional | string | Preslika se v atribut LASTNAME |
| `phone_number` optional | string | Preslika se v atribut SMS |
| `city` optional | string | Mesto stika |
| `country` optional | string | Država stika |
| `custom_fields` optional | object | Pari ključ-vrednost polj po meri |
| `list_ids` optional | array | Članstva v seznamih SendGrid |

#### Preslikava polj po meri

```yaml
field_mapping:
  # Standard fields
  email: email
  first_name: FIRSTNAME
  last_name: LASTNAME
  phone_number: SMS

  # Location fields
  city: CITY
  state_province_region: STATE
  country: COUNTRY
  postal_code: POSTAL_CODE

  # Engagement metrics
  avg_open_rate: AVG_OPEN_RATE
  avg_click_rate: AVG_CLICK_RATE

  # Custom fields
  custom_fields.company: COMPANY_NAME
  custom_fields.plan: PLAN_TYPE
```

## Končne točke API

### Marketinški stiki

| Metoda | Končna točka | Opis |
| --- | --- | --- |
| `PUT` | `/v3/marketing/contacts` | Dodaj ali posodobi stike |
| `POST` | `/v3/marketing/contacts/search` | Iskanje stikov |
| `GET` | `/v3/marketing/contacts/count` | Pridobi število stikov |
| `POST` | `/v3/marketing/contacts/exports` | Izvoz stikov |
| `DELETE` | `/v3/marketing/contacts` | Brisanje stikov |
| `GET` | `/v3/marketing/lists` | Seznam vseh seznamov stikov |

### Transakcijski e-mail (Mail Send)

| Metoda | Končna točka | Opis |
| --- | --- | --- |
| `POST` | `/v3/mail/send` | Pošlji e-mail |
| `GET` | `/v3/templates` | Seznam Dynamic Templates |
| `GET` | `/v3/templates/{id}` | Pridobi podrobnosti predloge |

### Kampanje (Single Sends)

| Metoda | Končna točka | Opis |
| --- | --- | --- |
| `GET` | `/v3/marketing/singlesends` | Seznam Single Sends |
| `GET` | `/v3/marketing/singlesends/{id}` | Pridobi podrobnosti Single Send |
| `GET` | `/v3/marketing/automations` | Seznam avtomatizacij |

### Statistike

| Metoda | Končna točka | Opis |
| --- | --- | --- |
| `GET` | `/v3/stats` | Pridobi globalne e-mailne statistike |
| `GET` | `/v3/categories/stats` | Pridobi statistike kategorij |
| `GET` | `/v3/marketing/stats/singlesends` | Pridobi statistike Single Send |

### Zaustavljanje

| Metoda | Končna točka | Opis |
| --- | --- | --- |
| `GET` | `/v3/suppression/bounces` | Seznam odbite pošte |
| `GET` | `/v3/suppression/blocks` | Seznam blokirane pošte |
| `GET` | `/v3/suppression/spam_reports` | Seznam poročil o neželeni pošti |
| `GET` | `/v3/suppression/unsubscribes` | Seznam globalnih odjav |

## Dogodki

### E-mailni dogodki (prek Event Webhook)

| Dogodek | Sprožilec | Primer uporabe |
| --- | --- | --- |
| `processed` | E-mail sprejet pri SendGrid | Potrditev pošiljanja |
| `delivered` | E-mail dostavljen prejemniku | Sledenje dostave |
| `open` | E-mail odprt | Ocenjevanje angažiranosti |
| `click` | Kliknjena povezava | Sledenje zanimanja |
| `bounce` | E-mail odbijen | Higiena seznama |
| `dropped` | E-mail zaustavljen | Pregled skladnosti |
| `deferred` | Dostava odložena | Nadzor ponovnih poskusov |
| `spam_report` | Označen kot neželena pošta | Upravljanje ugleda |
| `unsubscribe` | Odjavil prek povezave | Sinhronizacija nastavitev |

## Primeri kode

### Inicializacija konektorja

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

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

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

### Migracija stikov v Brevo

```javascript
// Full contact migration from SendGrid to Brevo
await tajo.connectors.sync('sendgrid', {
  type: 'full',
  resources: ['contacts', 'suppressions'],
  options: {
    includeCustomFields: true,
    migrateListMemberships: true,
    migrateSuppressions: true
  }
});

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

### Posredovanje e-mailnih dogodkov

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

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

  // Process batch of events
  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');
});
```

## Omejitve hitrosti

Omejitve hitrosti SendGrid API:

| Končna točka | Omejitev | Podrobnosti |
| --- | --- | --- |
| Mail Send (`/v3/mail/send`) | Odvisno od plana | Free: 100/dan, Essentials: glede na plan |
| Marketing Contacts PUT | 3 zahtevki/sekundo | Paket do 30.000 stikov |
| Marketing Contacts Search | 50 zahtevkov/sekundo | Na API ključ |
| Splošni API | 1.000 zahtevkov/sekundo | Na API ključ |
| Event Webhook | Paketna dostava | Do 1.000 dogodkov na POST |

Omejitve Mail Send

Omejitve Mail Send so odvisne od tvojega plana SendGrid. Brezplačni računi so omejeni na 100 e-mailov/dan. Za natančne omejitve pošiljanja preveri podrobnosti plana.

## Odpravljanje težav

### Pogoste težave

| Težava | Vzrok | Rešitev |
| --- | --- | --- |
| 401 Unauthorized | Neveljaven API ključ | Preveri API ključ v nastavitvah SendGrid |
| 403 Forbidden | Nezadostna dovoljenja API ključa | Ustvari nov ključ z zahtevanimi obsegi |
| Izvoz stikov v teku | Obdelava velikega nabora podatkov | Anketiraj končno točko statusa izvoza do zaključka |
| Sinhronizacija zaustavljanja nepopolna | Zahtevana paginacija | Implementiraj paginacijo s parametrom zamika |
| Event webhook ni prejet | URL ni preverjen | Zaključi preverjanje URL-ja webhookov v SendGrid |

### Način odpravljanja napak

Omogoči podrobno beleženje:

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

### Preizkus povezave

```bash
tajo connectors test sendgrid
# ✓ API connection successful
# ✓ Contacts readable
# ✓ Lists accessible
# ✓ Statistics readable
# ✓ Suppressions accessible
```

## Najboljše prakse

1. **Najprej prenesi zaustavljanje** – zagotovi, da so odbitnice, blokade in odjave v Brevo pred pošiljanjem
2. **Paketni uvozi stikov** – za učinkovitost naloži do 30.000 stikov na zahtevek PUT
3. **Preveri Event Webhook** – omogoči podpisane webhooks s preverjanjem ECDSA
4. **Preslikaj polja po meri** – pred migracijo stikov ustvari ustrezne atribute Brevo
5. **Sinhroniziraj angažirne podatke** – uvozi zgodovinsko statistiko za segmentacijo v Brevo
6. **Obravnavaj asinhrone izvoze** – izvozi stikov so asinhroni; anketiraj za zaključek

## Varnost

- **Avtentikacija z API ključem** – žeton prinosnika z granularnimi ravnmi dovoljenj
- **Podpisovanje Event Webhook** – preverjanje podpisa ECDSA za koristne tovore webhookov
- **TLS šifriranje** – vsa komunikacija API šifrirana prek HTTPS
- **Upravljanje dostopa IP** – omeji dostop do nadzorne plošče in API po IP
- **Dvofaktorska avtentikacija** – 2FA na voljo za dostop do računa

## Povezani viri

- [SendGrid API dokumentacija](https://docs.sendgrid.com/api-reference)
- [Vodnik za SendGrid Event Webhook](https://docs.sendgrid.com/for-developers/tracking-events/event)
- [Brevo Connector](https://tajo.io/sl/docs/connectors/marketing/brevo)
- [Mailchimp Connector](https://tajo.io/sl/docs/connectors/marketing/mailchimp)
- [Customer Sync Skill](https://tajo.io/sl/docs/skills/data-sync/customer-sync)
