SendGrid konnektor
Csatlakoztasd a SendGrid fiókodat a Brevóhoz a Tajo segítségével e-mail infrastruktúra migrációhoz, kapcsolat-szinkronizáláshoz, kampányadat-átvitelhez és egységesített elköteleződési analitikához mindkét platformon.
Áttekintés
| Tulajdonság | Érték |
|---|---|
| Platform | SendGrid (Twilio) |
| Kategória | Marketing |
| Telepítés bonyolultsága | Könnyű |
| Hivatalos integráció | Igen |
| Szinkronizált adatok | Kapcsolatok, Kampányok, Tranzakciós e-mail, Események |
| API alap URL | https://api.sendgrid.com/v3 |
Funkciók
- Kapcsolat migráció – SendGrid Marketing kapcsolatok migrálása a Brevóba egyéni mezőkkel
- Tranzakciós e-mail szinkronizáció – Tranzakciós e-mail események követése egységesített riportoláshoz
- Kampányadatok – Single Send és Automation kampány-teljesítményadatok szinkronizálása
- Esemény webhookok – E-mail események (kézbesített, megnyitott, kattintott, visszapattant) továbbítása a Brevóba
- Letiltási lista szinkronizáció – Visszapattanás, blokk és leiratkozás listák migrálása megfelelőségért
- Sablon migráció – Dinamikus Tranzakciós Sablonok exportálása Brevo-ban való felhasználásra
- Feladó ellenőrzés – Ellenőrzött feladó azonosítók és domain hitelesítés szinkronizálása
- Statisztika szinkronizáció – Korábbi elköteleződési statisztikák importálása Brevo attribútumokba
Előfeltételek
Mielőtt elkezdenéd, győződj meg róla, hogy rendelkezel:
- Egy SendGrid fiókkal (Ingyenes, Essentials, Pro vagy Premier csomag)
- Egy SendGrid API kulccsal a szükséges jogosultságokkal
- Egy Brevo fiókkal API-hozzáféréssel
- Egy Tajo fiókkal
Hitelesítés
API kulcs hitelesítés
A SendGrid bearer token hitelesítést használ.
curl https://api.sendgrid.com/v3/marketing/contacts \ -H "Authorization: Bearer SG.YOUR_API_KEY" \ -H "Content-Type: application/json"Hozz létre API kulcsokat a SendGrid Beállítások > API kulcsok menüben meghatározott jogosultsági szintekkel:
- Teljes hozzáférés – Teljes API hozzáférés
- Korlátozott hozzáférés – Részletes jogosultság-vezérlés
- Számlázási hozzáférés – Csak számlázási műveletek
Szükséges jogosultságok
Marketing: Full Access - Contacts (read) - Single Sends (read) - Automations (read)Mail Send: Full Access - Mail Send (read)Stats: Read AccessSuppressions: Read AccessTracking: Read AccessAPI kulcs biztonság
A SendGrid API kulcsok csak a létrehozáskor jelennek meg. Tárold őket biztonságosan. Ha elveszíted, új kulcsot kell létrehoznod.
Konfiguráció
Alapbeállítás
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": 62Mezőleképezés
Képezd le a SendGrid kapcsolat-mezőket Brevo kapcsolat-attribútumokhoz:
Default Mappings
| Parameter | Type | Description |
|---|---|---|
email required | string | Contact email address (unique identifier) |
first_name optional | string | Maps to FIRSTNAME attribute |
last_name optional | string | Maps to LASTNAME attribute |
phone_number optional | string | Maps to SMS attribute |
city optional | string | Contact city |
country optional | string | Contact country |
custom_fields optional | object | Custom field key-value pairs |
list_ids optional | array | SendGrid list memberships |
Egyéni mezőleképezés
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_TYPEAPI végpontok
Marketing kapcsolatok
| Módszer | Végpont | Leírás |
|---|---|---|
PUT | /v3/marketing/contacts | Kapcsolatok hozzáadása vagy frissítése |
POST | /v3/marketing/contacts/search | Kapcsolatok keresése |
GET | /v3/marketing/contacts/count | Kapcsolatok számának lekérése |
POST | /v3/marketing/contacts/exports | Kapcsolatok exportálása |
DELETE | /v3/marketing/contacts | Kapcsolatok törlése |
GET | /v3/marketing/lists | Összes kapcsolatlista listázása |
Tranzakciós e-mail (Levélküldés)
| Módszer | Végpont | Leírás |
|---|---|---|
POST | /v3/mail/send | E-mail küldése |
GET | /v3/templates | Dinamikus Sablonok listázása |
GET | /v3/templates/{id} | Sablon részleteinek lekérése |
Kampányok (Single Sendek)
| Módszer | Végpont | Leírás |
|---|---|---|
GET | /v3/marketing/singlesends | Single Sendek listázása |
GET | /v3/marketing/singlesends/{id} | Single Send részleteinek lekérése |
GET | /v3/marketing/automations | Automatizálások listázása |
Statisztikák
| Módszer | Végpont | Leírás |
|---|---|---|
GET | /v3/stats | Globális e-mail statisztikák lekérése |
GET | /v3/categories/stats | Kategória-statisztikák lekérése |
GET | /v3/marketing/stats/singlesends | Single Send statisztikák lekérése |
Letiltások
| Módszer | Végpont | Leírás |
|---|---|---|
GET | /v3/suppression/bounces | Visszapattant e-mailek listázása |
GET | /v3/suppression/blocks | Blokkolt e-mailek listázása |
GET | /v3/suppression/spam_reports | Spam bejelentések listázása |
GET | /v3/suppression/unsubscribes | Globális leiratkozások listázása |
Események
E-mail események (Event Webhookon keresztül)
| Esemény | Kiváltó ok | Használati eset |
|---|---|---|
processed | E-mail elfogadva a SendGrid által | Küldési megerősítés |
delivered | E-mail kézbesítve a címzettnek | Kézbesítés-követés |
open | E-mail megnyitva | Elköteleződési pontozás |
click | Linkre kattintottak | Érdeklődés-követés |
bounce | E-mail visszapattant | Lista-higiénia |
dropped | E-mail letiltva | Megfelelőségi felülvizsgálat |
deferred | Kézbesítés elhalasztva | Újrapróbálkozás figyelése |
spam_report | Spamként jelölték | Reputáció-kezelés |
unsubscribe | Leiratkozott linken keresztül | Preferencia-szinkronizáció |
Kódpéldák
A konnektor inicializálása
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect SendGridawait tajo.connectors.connect('sendgrid', { apiKey: process.env.SENDGRID_API_KEY});Kapcsolatok migrálása a Brevóba
// Full contact migration from SendGrid to Brevoawait tajo.connectors.sync('sendgrid', { type: 'full', resources: ['contacts', 'suppressions'], options: { includeCustomFields: true, migrateListMemberships: true, migrateSuppressions: true }});
// Check migration statusconst status = await tajo.connectors.status('sendgrid');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// contactsMigrated: 45000,// suppressionsSynced: 3200,// listsMapped: 8// }E-mail események továbbítása
// Handle SendGrid Event Webhookapp.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');});Ráta-korlátok
A SendGrid API ráta-korlátjai:
| Végpont | Korlát | Részletek |
|---|---|---|
Levélküldés (/v3/mail/send) | Csomag-függő | Ingyenes: 100/nap, Essentials: csomag alapján |
| Marketing kapcsolatok PUT | 3 kérés/mp | Kötegelj legfeljebb 30 000 kapcsolatot |
| Marketing kapcsolatok keresése | 50 kérés/mp | API kulcsonként |
| Általános API | 1 000 kérés/mp | API kulcsonként |
| Event Webhook | Kötegelt kézbesítés | Legfeljebb 1 000 esemény POST-onként |
Levélküldési korlátok
A levélküldési korlátok a SendGrid csomagtól függnek. Az ingyenes fiókok napi 100 e-mailre korlátozódnak. Ellenőrizd a csomag részleteit a pontos küldési korlátokért.
Hibaelhárítás
Gyakori problémák
| Probléma | Ok | Megoldás |
|---|---|---|
| 401 Unauthorized | Érvénytelen API kulcs | Ellenőrizd az API kulcsot a SendGrid Beállításokban |
| 403 Forbidden | Elégtelen API kulcs jogosultságok | Hozz létre új kulcsot a szükséges hatókörökkel |
| Kapcsolat exportálás függőben | Nagy adatmennyiség feldolgozása | Kérdezd le az exportálási státusz végpontot a befejezésig |
| Letiltási szinkronizáció hiányos | Lapozás szükséges | Implementálj lapozást az offset paraméterrel |
| Event webhook nem érkezett | URL nincs ellenőrizve | Végezd el a webhook URL ellenőrzését a SendGridben |
Hibakeresési mód
Engedélyezd a részletes naplózást:
connectors: sendgrid: debug: true log_level: verbose log_webhooks: trueKapcsolat tesztelése
tajo connectors test sendgrid# ✓ API connection successful# ✓ Contacts readable# ✓ Lists accessible# ✓ Statistics readable# ✓ Suppressions accessibleLegjobb gyakorlatok
- Először migráld a letiltásokat – Győződj meg róla, hogy a visszapattanások, blokkolt és leiratkozott listák a Brevóban vannak küldés előtt
- Használj kötegelt kapcsolat-feltöltéseket – PUT-tal legfeljebb 30 000 kapcsolatot kérésenként a hatékonyságért
- Ellenőrizd az Event Webhookot – Engedélyezz aláírt webhookokat ECDSA ellenőrzéssel
- Képezd le az egyéni mezőket – Hozd létre a megfelelő Brevo attribútumokat a kapcsolat migráció előtt
- Szinkronizálj elköteleződési adatokat – Importálj korábbi statisztikákat a Brevóban való szegmentáláshoz
- Kezelj aszinkron exportálásokat – A kapcsolat exportálások aszinkronok; kérdezd le a befejezésig
Biztonság
- API kulcs hitelesítés – Bearer token részletes jogosultsági szintekkel
- Event Webhook aláírás – ECDSA aláírás-ellenőrzés webhook terhelésekhez
- TLS titkosítás – Minden API kommunikáció HTTPS-en keresztül titkosítva
- IP hozzáférés-kezelés – Dashboard és API hozzáférés IP alapján korlátozható
- Kétfaktoros hitelesítés – 2FA elérhető a fiókhoz való hozzáféréshez