---
title: "SendGrid-kobling"
description: "Fullstendig SendGrid-integrasjonsveiledning for synkronisering av kontakter, transaksjonelle e-poster, markedsføringskampanjer og engasjementshendelser med Brevo via Tajo."
url: https://tajo.io/no/docs/connectors/marketing/sendgrid/
markdown: https://tajo.io/no/docs/connectors/marketing/sendgrid.md
lang: no-NO
robots: noindex
---

Be om tidlig tilgang

Skriv inn fornavn og e-postadresse på jobb. Vi sender deg en lenke for å bekrefte forespørselen om tilgang til Tajo.

# SendGrid-kobling

Koblingsstatus: Under utvikling Under bygging. Ikke verifisert ennå.

| Kildefelt | Målfelt | Eksempelverdi |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Koble SendGrid-kontoen din til Brevo via Tajo for migrering av e-postinfrastruktur, kontaktsynkronisering, overføring av kampanjedata og enhetlig engasjementsanalyse på tvers av begge plattformene.

## Oversikt

| Egenskap | Verdi |
| --- | --- |
| **Plattform** | SendGrid (Twilio) |
| **Kategori** | Markedsføring |
| **Oppsettskompleksitet** | Enkel |
| **Offisiell integrasjon** | Nei |
| **Synkroniserte data** | Kontakter, kampanjer, transaksjonell e-post, hendelser |
| **API Base URL** | `https://api.sendgrid.com/v3` |

## Funksjoner

- **Kontaktmigrering** - Migrer SendGrid Marketing-kontakter til Brevo med egendefinerte felt
- **Synkronisering av transaksjonell e-post** - Spor transaksjonelle e-posthendelser for enhetlig rapportering
- **Kampanjedata** - Synkroniser ytelsesdata for Single Send- og Automation-kampanjer
- **Hendelses-webhooks** - Videresend e-posthendelser (levert, åpnet, klikket, returnert) til Brevo
- **Undertrykkingssynkronisering** - Migrer retur-, blokkerings- og avmeldingslister for etterlevelse
- **Malmigrering** - Eksporter Dynamic Transactional Templates for bruk i Brevo
- **Avsenderverifisering** - Synkroniser verifiserte avsenderidentiteter og domeneautentisering
- **Statistikksynkronisering** - Importer historisk engasjementsstatistikk til Brevo-attributter

## Forutsetninger

Før du begynner, sørg for at du har:

1. En SendGrid-konto (Free, Essentials, Pro eller Premier)
2. En SendGrid API-nøkkel med nødvendige rettigheter
3. En Brevo-konto med API-tilgang
4. En Tajo-konto

## Autentisering

### API-nøkkelautentisering

SendGrid bruker Bearer-tokenautentisering.

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

Opprett API-nøkler i SendGrid Settings > API Keys med spesifikke rettighetsnivåer:

- **Full Access** - Komplett API-tilgang
- **Restricted Access** - Granulær rettighetskontroll
- **Billing Access** - Kun faktureringsoperasjoner

#### Nødvendige rettigheter

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

API-nøkkelsikkerhet

SendGrid API-nøkler vises kun én gang ved opprettelse. Lagre dem sikkert. Hvis de mistes, må du opprette en ny nøkkel.

## Konfigurasjon

### Grunnleggende oppsett

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

    # Synkroniseringsalternativer
    sync:
      contacts: true
      campaigns: true
      transactional: true
      suppressions: true
      statistics: true

    # Listemapping til Brevo
    list_mapping:
      "All Contacts": 60
      "Newsletter": 61
      "Transactional": 62
```

### Feltmapping

Mapp SendGrid-kontaktfelt til Brevo-kontaktattributter:

#### Standardmappinger

| Parameter | Type | Description |
| --- | --- | --- |
| `email` required | string | Kontaktens e-postadresse (unik identifikator) |
| `first_name` optional | string | Mappes til FIRSTNAME-attributt |
| `last_name` optional | string | Mappes til LASTNAME-attributt |
| `phone_number` optional | string | Mappes til SMS-attributt |
| `city` optional | string | Kontaktens by |
| `country` optional | string | Kontaktens land |
| `custom_fields` optional | object | Nøkkel-verdi-par for egendefinerte felt |
| `list_ids` optional | array | SendGrid-listemedlemskap |

#### Mapping av egendefinerte felt

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

  # Plasseringsfelt
  city: CITY
  state_province_region: STATE
  country: COUNTRY
  postal_code: POSTAL_CODE

  # Engasjementsmålinger
  avg_open_rate: AVG_OPEN_RATE
  avg_click_rate: AVG_CLICK_RATE

  # Egendefinerte felt
  custom_fields.company: COMPANY_NAME
  custom_fields.plan: PLAN_TYPE
```

## API-endepunkter

### Marketing-kontakter

| Metode | Endepunkt | Beskrivelse |
| --- | --- | --- |
| `PUT` | `/v3/marketing/contacts` | Legg til eller oppdater kontakter |
| `POST` | `/v3/marketing/contacts/search` | Søk etter kontakter |
| `GET` | `/v3/marketing/contacts/count` | Hent kontaktantall |
| `POST` | `/v3/marketing/contacts/exports` | Eksporter kontakter |
| `DELETE` | `/v3/marketing/contacts` | Slett kontakter |
| `GET` | `/v3/marketing/lists` | List alle kontaktlister |

### Transaksjonell e-post (Mail Send)

| Metode | Endepunkt | Beskrivelse |
| --- | --- | --- |
| `POST` | `/v3/mail/send` | Send en e-post |
| `GET` | `/v3/templates` | List Dynamic Templates |
| `GET` | `/v3/templates/{id}` | Hent maldetaljer |

### Kampanjer (Single Sends)

| Metode | Endepunkt | Beskrivelse |
| --- | --- | --- |
| `GET` | `/v3/marketing/singlesends` | List Single Sends |
| `GET` | `/v3/marketing/singlesends/{id}` | Hent Single Send-detaljer |
| `GET` | `/v3/marketing/automations` | List Automations |

### Statistikk

| Metode | Endepunkt | Beskrivelse |
| --- | --- | --- |
| `GET` | `/v3/stats` | Hent global e-poststatistikk |
| `GET` | `/v3/categories/stats` | Hent kategoristatistikk |
| `GET` | `/v3/marketing/stats/singlesends` | Hent Single Send-statistikk |

### Undertrykkinger

| Metode | Endepunkt | Beskrivelse |
| --- | --- | --- |
| `GET` | `/v3/suppression/bounces` | List returnerte e-poster |
| `GET` | `/v3/suppression/blocks` | List blokkerte e-poster |
| `GET` | `/v3/suppression/spam_reports` | List spamrapporter |
| `GET` | `/v3/suppression/unsubscribes` | List globale avmeldinger |

## Hendelser

### E-posthendelser (via Event Webhook)

| Hendelse | Utløser | Bruksområde |
| --- | --- | --- |
| `processed` | E-post akseptert av SendGrid | Sendebekreftelse |
| `delivered` | E-post levert til mottaker | Leveringssporing |
| `open` | E-post åpnet | Engasjementsscoring |
| `click` | Lenke klikket | Interessesporing |
| `bounce` | E-post returnert | Listehygiene |
| `dropped` | E-post undertrykt | Gjennomgang for etterlevelse |
| `deferred` | Levering utsatt | Retry-overvåking |
| `spam_report` | Merket som spam | Omdømmeforvaltning |
| `unsubscribe` | Meldte seg av via lenke | Preferansesynkronisering |

## Kodeeksempler

### Initialiser kobling

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

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

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

### Migrer kontakter til Brevo

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

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

### Videresend e-posthendelser

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

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

  // Behandle batch med hendelser
  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');
});
```

## Ratebegrensninger

SendGrid API-ratebegrensninger:

| Endepunkt | Grense | Detaljer |
| --- | --- | --- |
| Mail Send (`/v3/mail/send`) | Planavhengig | Free: 100/dag, Essentials: basert på plan |
| Marketing Contacts PUT | 3 forespørsler/sekund | Batch opptil 30 000 kontakter |
| Marketing Contacts Search | 50 forespørsler/sekund | Per API-nøkkel |
| Generelt API | 1 000 forespørsler/sekund | Per API-nøkkel |
| Event Webhook | Batchlevering | Opptil 1 000 hendelser per POST |

Mail Send-grenser

Mail Send-grensene avhenger av SendGrid-planen din. Gratiskontoer er begrenset til 100 e-poster/dag. Sjekk planen din for eksakte sendegrenser.

## Feilsøking

### Vanlige problemer

| Problem | Årsak | Løsning |
| --- | --- | --- |
| 401 Unauthorized | Ugyldig API-nøkkel | Verifiser API-nøkkel i SendGrid Settings |
| 403 Forbidden | Utilstrekkelige API-nøkkelrettigheter | Opprett ny nøkkel med nødvendige scopes |
| Kontakteksport venter | Behandling av stort datasett | Poll eksportstatusendepunkt til ferdig |
| Undertrykkingssynkronisering ufullstendig | Paginering kreves | Implementer paginering med offset-parameter |
| Event webhook ikke mottatt | URL ikke verifisert | Fullfør webhook-URL-verifisering i SendGrid |

### Feilsøkingsmodus

Aktiver utvidet logging:

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

### Test tilkobling

```bash
tajo connectors test sendgrid
# ✓ API-tilkobling vellykket
# ✓ Kontakter lesbare
# ✓ Lister tilgjengelige
# ✓ Statistikk lesbar
# ✓ Undertrykkinger tilgjengelige
```

## Beste praksis

1. **Migrer undertrykkinger først** - Sørg for at returer, blokkeringer og avmeldinger er i Brevo før sending
2. **Bruk batch-opplasting av kontakter** - PUT opptil 30 000 kontakter per forespørsel for effektivitet
3. **Verifiser Event Webhook** - Aktiver signerte webhooks med ECDSA-verifisering
4. **Mapp egendefinerte felt** - Opprett tilsvarende Brevo-attributter før kontaktmigrering
5. **Synkroniser engasjementsdata** - Importer historisk statistikk for segmentering i Brevo
6. **Håndter asynkrone eksporter** - Kontakteksport er asynkron; poll for fullføring

## Sikkerhet

- **API-nøkkelautentisering** - Bearer-token med granulære rettighetsnivåer
- **Event Webhook-signering** - ECDSA-signaturverifisering for webhook-payloads
- **TLS-kryptering** - All API-kommunikasjon kryptert via HTTPS
- **IP Access Management** - Begrens Dashboard- og API-tilgang etter IP
- **Tofaktorautentisering** - 2FA tilgjengelig for kontotilgang

## Relaterte ressurser

- [SendGrid API-dokumentasjon](https://docs.sendgrid.com/api-reference)
- [SendGrid Event Webhook-veiledning](https://docs.sendgrid.com/for-developers/tracking-events/event)
- [Brevo-kobling](https://tajo.io/no/docs/connectors/marketing/brevo)
- [Mailchimp-kobling](https://tajo.io/no/docs/connectors/marketing/mailchimp)
- [Customer Sync-ferdighet](https://tajo.io/no/docs/skills/data-sync/customer-sync)
