SendGrid konektor
Prepoj svoj SendGrid účet s Brevo cez Tajo pre migráciu e-mailovej infraštruktúry, synchronizáciu kontaktov, prenos dát kampaní a zjednotenú analytiku zapojenia naprieč oboma platformami.
Prehľad
| Vlastnosť | Hodnota |
|---|---|
| Platforma | SendGrid (Twilio) |
| Kategória | Marketing |
| Zložitosť nastavenia | Ľahké |
| Oficiálna integrácia | Áno |
| Synchronizované dáta | Kontakty, Kampane, Transakčný e-mail, Udalosti |
| API Base URL | https://api.sendgrid.com/v3 |
Funkcie
- Migrácia kontaktov - Migruj marketingové kontakty SendGrid do Brevo s vlastnými poľami
- Synchronizácia transakčných e-mailov - Sleduj udalosti transakčných e-mailov pre zjednotené reportovanie
- Dáta kampaní - Synchronizuj dáta výkonu kampaní Single Send a Automation
- Webhooky udalostí - Preposielaj e-mailové udalosti (doručené, otvorené, kliknuté, odrazené) do Brevo
- Synchronizácia potlačení - Migruj zoznamy odrazov, blokov a odhlásení pre súlad
- Migrácia šablón - Exportuj dynamické transakčné šablóny na použitie v Brevo
- Overenie odosielateľa - Synchronizuj overené identity odosielateľa a autentifikáciu domény
- Synchronizácia štatistík - Importuj historické štatistiky zapojenia do atribútov Brevo
Predpoklady
Predtým, než začneš, uisti sa, že máš:
- SendGrid účet (Free, Essentials, Pro alebo Premier)
- SendGrid API kľúč s požadovanými oprávneniami
- Brevo účet s API prístupom
- Tajo účet
Autentifikácia
Autentifikácia API kľúčom
SendGrid používa autentifikáciu bearer tokenom.
curl https://api.sendgrid.com/v3/marketing/contacts \ -H "Authorization: Bearer SG.YOUR_API_KEY" \ -H "Content-Type: application/json"Vytvor API kľúče v SendGrid Settings > API Keys so špecifickými úrovňami oprávnení:
- Full Access - Úplný prístup k API
- Restricted Access - Granulárna kontrola oprávnení
- Billing Access - Iba fakturačné operácie
Požadované oprávnenia
Marketing: Full Access - Contacts (read) - Single Sends (read) - Automations (read)Mail Send: Full Access - Mail Send (read)Stats: Read AccessSuppressions: Read AccessTracking: Read AccessBezpečnosť API kľúča
API kľúče SendGrid sa zobrazujú iba raz pri vytvorení. Ulož ich bezpečne. V prípade straty musíš vytvoriť nový kľúč.
Konfigurácia
Základné nastavenie
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": 62Mapovanie polí
Namapuj polia kontaktov SendGrid na atribúty kontaktov Brevo:
Predvolené mapovania
| Parameter | Type | Description |
|---|---|---|
email required | string | E-mailová adresa kontaktu (unikátny identifikátor) |
first_name optional | string | Mapuje sa na atribút FIRSTNAME |
last_name optional | string | Mapuje sa na atribút LASTNAME |
phone_number optional | string | Mapuje sa na atribút SMS |
city optional | string | Mesto kontaktu |
country optional | string | Krajina kontaktu |
custom_fields optional | object | Páry kľúč-hodnota vlastných polí |
list_ids optional | array | Členstvá v zoznamoch SendGrid |
Mapovanie vlastných polí
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 endpointy
Marketingové kontakty
| Metóda | Endpoint | Popis |
|---|---|---|
PUT | /v3/marketing/contacts | Pridanie alebo aktualizácia kontaktov |
POST | /v3/marketing/contacts/search | Vyhľadávanie kontaktov |
GET | /v3/marketing/contacts/count | Získanie počtu kontaktov |
POST | /v3/marketing/contacts/exports | Export kontaktov |
DELETE | /v3/marketing/contacts | Odstránenie kontaktov |
GET | /v3/marketing/lists | Zoznam všetkých zoznamov kontaktov |
Transakčný e-mail (Mail Send)
| Metóda | Endpoint | Popis |
|---|---|---|
POST | /v3/mail/send | Odoslanie e-mailu |
GET | /v3/templates | Zoznam dynamických šablón |
GET | /v3/templates/{id} | Detaily šablóny |
Kampane (Single Sends)
| Metóda | Endpoint | Popis |
|---|---|---|
GET | /v3/marketing/singlesends | Zoznam Single Sends |
GET | /v3/marketing/singlesends/{id} | Detaily Single Send |
GET | /v3/marketing/automations | Zoznam automatizácií |
Štatistiky
| Metóda | Endpoint | Popis |
|---|---|---|
GET | /v3/stats | Globálne štatistiky e-mailov |
GET | /v3/categories/stats | Štatistiky kategórií |
GET | /v3/marketing/stats/singlesends | Štatistiky Single Send |
Potlačenia
| Metóda | Endpoint | Popis |
|---|---|---|
GET | /v3/suppression/bounces | Zoznam odrazených e-mailov |
GET | /v3/suppression/blocks | Zoznam blokovaných e-mailov |
GET | /v3/suppression/spam_reports | Zoznam spamových hlásení |
GET | /v3/suppression/unsubscribes | Zoznam globálnych odhlásení |
Udalosti
E-mailové udalosti (cez Event Webhook)
| Udalosť | Trigger | Prípad použitia |
|---|---|---|
processed | E-mail prijatý SendGridom | Potvrdenie odoslania |
delivered | E-mail doručený príjemcovi | Sledovanie doručenia |
open | E-mail otvorený | Skórovanie zapojenia |
click | Kliknutý odkaz | Sledovanie záujmu |
bounce | E-mail odrazený | Hygiena zoznamu |
dropped | E-mail potlačený | Kontrola súladu |
deferred | Doručenie odložené | Monitorovanie opakovaných pokusov |
spam_report | Označený ako spam | Správa reputácie |
unsubscribe | Odhlásenie cez odkaz | Synchronizácia preferencií |
Ukážky kódu
Inicializácia konektora
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});Migrácia kontaktov do Brevo
// 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// }Preposielanie e-mailových udalostí
// 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');});Obmedzenia rýchlosti
Limity rýchlosti SendGrid API:
| Endpoint | Limit | Detaily |
|---|---|---|
Mail Send (/v3/mail/send) | Závisí od plánu | Free: 100/deň, Essentials: podľa plánu |
| Marketing Contacts PUT | 3 požiadavky/sekundu | Dávka až 30 000 kontaktov |
| Marketing Contacts Search | 50 požiadaviek/sekundu | Na API kľúč |
| Všeobecné API | 1 000 požiadaviek/sekundu | Na API kľúč |
| Event Webhook | Dávkové doručenie | Až 1 000 udalostí na POST |
Limity Mail Send
Limity Mail Send závisia od tvojho plánu SendGrid. Bezplatné účty sú obmedzené na 100 e-mailov/deň. Skontroluj detaily svojho plánu pre presné limity odosielania.
Riešenie problémov
Bežné problémy
| Problém | Príčina | Riešenie |
|---|---|---|
| 401 Unauthorized | Neplatný API kľúč | Overte API kľúč v SendGrid Settings |
| 403 Forbidden | Nedostatočné oprávnenia API kľúča | Vytvor nový kľúč s požadovanými scopmi |
| Export kontaktov čaká | Spracovanie veľkého datasetu | Polluj endpoint stavu exportu do dokončenia |
| Neúplná synchronizácia potlačení | Vyžaduje sa stránkovanie | Implementuj stránkovanie s parametrom offset |
| Webhook nebol prijatý | URL nie je overená | Dokonči overenie URL webhooku v SendGrid |
Debug režim
Zapni verbose logovanie:
connectors: sendgrid: debug: true log_level: verbose log_webhooks: trueTest pripojenia
tajo connectors test sendgrid# ✓ API connection successful# ✓ Contacts readable# ✓ Lists accessible# ✓ Statistics readable# ✓ Suppressions accessibleOdporúčané postupy
- Najprv migruj potlačenia - Uisti sa, že odrazy, bloky a odhlásenia sú v Brevo pred odosielaním
- Použi dávkové nahrávky kontaktov - PUT až 30 000 kontaktov na požiadavku pre efektivitu
- Overuj Event Webhook - Aktivuj podpísané webhooky s overením ECDSA
- Mapuj vlastné polia - Vytvor zodpovedajúce atribúty Brevo pred migráciou kontaktov
- Synchronizuj dáta zapojenia - Importuj historické štatistiky pre segmentáciu v Brevo
- Spracovávaj asynchrónne exporty - Exporty kontaktov sú asynchrónne; polluj do dokončenia
Bezpečnosť
- Autentifikácia API kľúčom - Bearer token s granulárnym riadením oprávnení
- Podpisovanie Event Webhooku - Overenie podpisu ECDSA pre payloady webhookov
- TLS šifrovanie - Všetka API komunikácia šifrovaná cez HTTPS
- Správa prístupu IP - Obmedzenie prístupu k dashboardu a API podľa IP
- Dvojfaktorová autentifikácia - 2FA dostupné pre prístup k účtu