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
| Egenskap | Verdi |
|---|---|
| Plattform | SendGrid (Twilio) |
| Kategori | Markedsføring |
| Oppsettskompleksitet | Enkel |
| Offisiell integrasjon | Ja |
| 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:
- En SendGrid-konto (Free, Essentials, Pro eller Premier)
- En SendGrid API-nøkkel med nødvendige rettigheter
- En Brevo-konto med API-tilgang
- En Tajo-konto
Autentisering
API-nøkkelautentisering
SendGrid bruker Bearer-tokenautentisering.
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 AccessSuppressions: Read AccessTracking: Read AccessAPI-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": 62Feltmapping
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_TYPEAPI-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
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Koble til SendGridawait tajo.connectors.connect('sendgrid', { apiKey: process.env.SENDGRID_API_KEY});Migrer kontakter til Brevo
// Full kontaktmigrering fra SendGrid til Brevoawait tajo.connectors.sync('sendgrid', { type: 'full', resources: ['contacts', 'suppressions'], options: { includeCustomFields: true, migrateListMemberships: true, migrateSuppressions: true }});
// Sjekk migrasjonsstatusconst 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 Webhookapp.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:
connectors: sendgrid: debug: true log_level: verbose log_webhooks: trueTest tilkobling
tajo connectors test sendgrid# ✓ API-tilkobling vellykket# ✓ Kontakter lesbare# ✓ Lister tilgjengelige# ✓ Statistikk lesbar# ✓ Undertrykkinger tilgjengeligeBeste praksis
- Migrer undertrykkinger først - Sørg for at returer, blokkeringer og avmeldinger er i Brevo før sending
- Bruk batch-opplasting av kontakter - PUT opptil 30 000 kontakter per forespørsel for effektivitet
- Verifiser Event Webhook - Aktiver signerte webhooks med ECDSA-verifisering
- Mapp egendefinerte felt - Opprett tilsvarende Brevo-attributter før kontaktmigrering
- Synkroniser engasjementsdata - Importer historisk statistikk for segmentering i Brevo
- 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