SendGrid-kobling

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

EgenskapVerdi
PlattformSendGrid (Twilio)
KategoriMarkedsføring
OppsettskompleksitetEnkel
Offisiell integrasjonJa
Synkroniserte dataKontakter, kampanjer, transaksjonell e-post, hendelser
API Base URLhttps://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.

Terminal window
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

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

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

MetodeEndepunktBeskrivelse
PUT/v3/marketing/contactsLegg til eller oppdater kontakter
POST/v3/marketing/contacts/searchSøk etter kontakter
GET/v3/marketing/contacts/countHent kontaktantall
POST/v3/marketing/contacts/exportsEksporter kontakter
DELETE/v3/marketing/contactsSlett kontakter
GET/v3/marketing/listsList alle kontaktlister

Transaksjonell e-post (Mail Send)

MetodeEndepunktBeskrivelse
POST/v3/mail/sendSend en e-post
GET/v3/templatesList Dynamic Templates
GET/v3/templates/{id}Hent maldetaljer

Kampanjer (Single Sends)

MetodeEndepunktBeskrivelse
GET/v3/marketing/singlesendsList Single Sends
GET/v3/marketing/singlesends/{id}Hent Single Send-detaljer
GET/v3/marketing/automationsList Automations

Statistikk

MetodeEndepunktBeskrivelse
GET/v3/statsHent global e-poststatistikk
GET/v3/categories/statsHent kategoristatistikk
GET/v3/marketing/stats/singlesendsHent Single Send-statistikk

Undertrykkinger

MetodeEndepunktBeskrivelse
GET/v3/suppression/bouncesList returnerte e-poster
GET/v3/suppression/blocksList blokkerte e-poster
GET/v3/suppression/spam_reportsList spamrapporter
GET/v3/suppression/unsubscribesList globale avmeldinger

Hendelser

E-posthendelser (via Event Webhook)

HendelseUtløserBruksområde
processedE-post akseptert av SendGridSendebekreftelse
deliveredE-post levert til mottakerLeveringssporing
openE-post åpnetEngasjementsscoring
clickLenke klikketInteressesporing
bounceE-post returnertListehygiene
droppedE-post undertryktGjennomgang for etterlevelse
deferredLevering utsattRetry-overvåking
spam_reportMerket som spamOmdømmeforvaltning
unsubscribeMeldte seg av via lenkePreferansesynkronisering

Kodeeksempler

Initialiser kobling

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

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

// 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:

EndepunktGrenseDetaljer
Mail Send (/v3/mail/send)PlanavhengigFree: 100/dag, Essentials: basert på plan
Marketing Contacts PUT3 forespørsler/sekundBatch opptil 30 000 kontakter
Marketing Contacts Search50 forespørsler/sekundPer API-nøkkel
Generelt API1 000 forespørsler/sekundPer API-nøkkel
Event WebhookBatchleveringOpptil 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ÅrsakLøsning
401 UnauthorizedUgyldig API-nøkkelVerifiser API-nøkkel i SendGrid Settings
403 ForbiddenUtilstrekkelige API-nøkkelrettigheterOpprett ny nøkkel med nødvendige scopes
Kontakteksport venterBehandling av stort datasettPoll eksportstatusendepunkt til ferdig
Undertrykkingssynkronisering ufullstendigPaginering krevesImplementer paginering med offset-parameter
Event webhook ikke mottattURL ikke verifisertFullfør webhook-URL-verifisering i SendGrid

Feilsøkingsmodus

Aktiver utvidet logging:

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

Test tilkobling

Terminal window
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

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
AI-assistent

Hei! Spør meg om dokumentasjonen.