SendGrid Connector

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

LastnostVrednost
PlatformaSendGrid (Twilio)
KategorijaMarketing
Zahtevnost nastavitveEnostavna
Uradna integracijaDa
Sinhronizirani podatkiStiki, kampanje, transakcijski e-mail, dogodki
Osnovni URL APIhttps://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.

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

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

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

MetodaKončna točkaOpis
PUT/v3/marketing/contactsDodaj ali posodobi stike
POST/v3/marketing/contacts/searchIskanje stikov
GET/v3/marketing/contacts/countPridobi število stikov
POST/v3/marketing/contacts/exportsIzvoz stikov
DELETE/v3/marketing/contactsBrisanje stikov
GET/v3/marketing/listsSeznam vseh seznamov stikov

Transakcijski e-mail (Mail Send)

MetodaKončna točkaOpis
POST/v3/mail/sendPošlji e-mail
GET/v3/templatesSeznam Dynamic Templates
GET/v3/templates/{id}Pridobi podrobnosti predloge

Kampanje (Single Sends)

MetodaKončna točkaOpis
GET/v3/marketing/singlesendsSeznam Single Sends
GET/v3/marketing/singlesends/{id}Pridobi podrobnosti Single Send
GET/v3/marketing/automationsSeznam avtomatizacij

Statistike

MetodaKončna točkaOpis
GET/v3/statsPridobi globalne e-mailne statistike
GET/v3/categories/statsPridobi statistike kategorij
GET/v3/marketing/stats/singlesendsPridobi statistike Single Send

Zaustavljanje

MetodaKončna točkaOpis
GET/v3/suppression/bouncesSeznam odbite pošte
GET/v3/suppression/blocksSeznam blokirane pošte
GET/v3/suppression/spam_reportsSeznam poročil o neželeni pošti
GET/v3/suppression/unsubscribesSeznam globalnih odjav

Dogodki

E-mailni dogodki (prek Event Webhook)

DogodekSprožilecPrimer uporabe
processedE-mail sprejet pri SendGridPotrditev pošiljanja
deliveredE-mail dostavljen prejemnikuSledenje dostave
openE-mail odprtOcenjevanje angažiranosti
clickKliknjena povezavaSledenje zanimanja
bounceE-mail odbijenHigiena seznama
droppedE-mail zaustavljenPregled skladnosti
deferredDostava odloženaNadzor ponovnih poskusov
spam_reportOznačen kot neželena poštaUpravljanje ugleda
unsubscribeOdjavil prek povezaveSinhronizacija nastavitev

Primeri kode

Inicializacija konektorja

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

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

// 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čkaOmejitevPodrobnosti
Mail Send (/v3/mail/send)Odvisno od planaFree: 100/dan, Essentials: glede na plan
Marketing Contacts PUT3 zahtevki/sekundoPaket do 30.000 stikov
Marketing Contacts Search50 zahtevkov/sekundoNa API ključ
Splošni API1.000 zahtevkov/sekundoNa API ključ
Event WebhookPaketna dostavaDo 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žavaVzrokRešitev
401 UnauthorizedNeveljaven API ključPreveri API ključ v nastavitvah SendGrid
403 ForbiddenNezadostna dovoljenja API ključaUstvari nov ključ z zahtevanimi obsegi
Izvoz stikov v tekuObdelava velikega nabora podatkovAnketiraj končno točko statusa izvoza do zaključka
Sinhronizacija zaustavljanja nepopolnaZahtevana paginacijaImplementiraj paginacijo s parametrom zamika
Event webhook ni prejetURL ni preverjenZaključi preverjanje URL-ja webhookov v SendGrid

Način odpravljanja napak

Omogoči podrobno beleženje:

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

Preizkus povezave

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

Subscribe to updates

developer-docs

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

auto-detect
AI pomočnik

Živjo! Vprašajte me o dokumentaciji.