Konektor SendGrid
Propojte svůj účet SendGrid s Brevo přes Tajo pro migraci e-mailové infrastruktury, synchronizaci kontaktů, přenos dat kampaní a sjednocenou analytiku zapojení napříč oběma platformami.
Přehled
| Vlastnost | Hodnota |
|---|---|
| Platforma | SendGrid (Twilio) |
| Kategorie | Marketing |
| Složitost nastavení | Snadná |
| Oficiální integrace | Ano |
| Synchronizovaná data | Kontakty, Kampaně, Transakční e-mail, Události |
| Základní URL API | https://api.sendgrid.com/v3 |
Funkce
- Migrace kontaktů – Migrujte marketingové kontakty SendGrid do Brevo s vlastními poli
- Synchronizace transakčních e-mailů – Sledujte události transakčních e-mailů pro sjednocené reportování
- Data kampaní – Synchronizujte data výkonu kampaní Single Send a Automation
- Webhooky událostí – Přeposílejte e-mailové události (doručené, otevřené, kliknuté, odražené) do Brevo
- Synchronizace potlačení – Migrujte seznamy odrazů, blokování a odhlášení pro soulad
- Migrace šablon – Exportujte dynamické transakční šablony pro použití v Brevo
- Ověřování odesílatele – Synchronizujte ověřené identity odesílatele a ověřování domén
- Synchronizace statistik – Importujte historické statistiky zapojení do atributů Brevo
Předpoklady
Než začnete, ujistěte se, že máte:
- Účet SendGrid (Free, Essentials, Pro nebo Premier)
- API klíč SendGrid s požadovanými oprávněními
- Účet Brevo s přístupem k API
- Účet Tajo
Ověření
Ověření API klíčem
SendGrid používá ověřování bearer tokenem.
curl https://api.sendgrid.com/v3/marketing/contacts \ -H "Authorization: Bearer SG.YOUR_API_KEY" \ -H "Content-Type: application/json"Vytvářejte API klíče v SendGrid Nastavení > API Keys s konkrétními úrovněmi oprávnění:
- Plný přístup – Kompletní přístup k API
- Omezený přístup – Granulární řízení oprávnění
- Přístup k fakturaci – Pouze fakturační operace
Požadovaná oprávnění
Marketing: Full Access - Contacts (read) - Single Sends (read) - Automations (read)Mail Send: Full Access - Mail Send (read)Stats: Read AccessSuppressions: Read AccessTracking: Read AccessBezpečnost API klíče
API klíče SendGrid se zobrazí pouze jednou při vytvoření. Uchovávejte je bezpečně. Pokud je ztratíte, musíte vytvořit nový klíč.
Konfigurace
Základní nastavení
connectors: sendgrid: enabled: true api_key: "${SENDGRID_API_KEY}"
# Možnosti synchronizace dat sync: contacts: true campaigns: true transactional: true suppressions: true statistics: true
# Mapování seznamů na Brevo list_mapping: "All Contacts": 60 "Newsletter": 61 "Transactional": 62Mapování polí
Mapujte pole kontaktů SendGrid na atributy kontaktů Brevo:
Výchozí mapování
| Parameter | Type | Description |
|---|---|---|
email required | string | E-mailová adresa kontaktu (jedinečný identifikátor) |
first_name optional | string | Mapuje se na atribut FIRSTNAME |
last_name optional | string | Mapuje se na atribut LASTNAME |
phone_number optional | string | Mapuje se na atribut SMS |
city optional | string | Město kontaktu |
country optional | string | Země kontaktu |
custom_fields optional | object | Páry klíč-hodnota vlastních polí |
list_ids optional | array | Členství v seznamech SendGrid |
Mapování vlastních polí
field_mapping: # Standardní pole email: email first_name: FIRSTNAME last_name: LASTNAME phone_number: SMS
# Pole polohy city: CITY state_province_region: STATE country: COUNTRY postal_code: POSTAL_CODE
# Metriky zapojení avg_open_rate: AVG_OPEN_RATE avg_click_rate: AVG_CLICK_RATE
# Vlastní pole custom_fields.company: COMPANY_NAME custom_fields.plan: PLAN_TYPEKoncové body API
Marketingové kontakty
| Metoda | Koncový bod | Popis |
|---|---|---|
PUT | /v3/marketing/contacts | Přidání nebo aktualizace kontaktů |
POST | /v3/marketing/contacts/search | Vyhledávání kontaktů |
GET | /v3/marketing/contacts/count | Počet kontaktů |
POST | /v3/marketing/contacts/exports | Export kontaktů |
DELETE | /v3/marketing/contacts | Smazání kontaktů |
GET | /v3/marketing/lists | Výpis všech seznamů kontaktů |
Transakční e-mail (Mail Send)
| Metoda | Koncový bod | Popis |
|---|---|---|
POST | /v3/mail/send | Odeslání e-mailu |
GET | /v3/templates | Výpis dynamických šablon |
GET | /v3/templates/{id} | Podrobnosti šablony |
Kampaně (Single Sends)
| Metoda | Koncový bod | Popis |
|---|---|---|
GET | /v3/marketing/singlesends | Výpis Single Sends |
GET | /v3/marketing/singlesends/{id} | Podrobnosti Single Send |
GET | /v3/marketing/automations | Výpis automatizací |
Statistiky
| Metoda | Koncový bod | Popis |
|---|---|---|
GET | /v3/stats | Globální statistiky e-mailů |
GET | /v3/categories/stats | Statistiky kategorií |
GET | /v3/marketing/stats/singlesends | Statistiky Single Send |
Potlačení
| Metoda | Koncový bod | Popis |
|---|---|---|
GET | /v3/suppression/bounces | Výpis odražených e-mailů |
GET | /v3/suppression/blocks | Výpis blokovaných e-mailů |
GET | /v3/suppression/spam_reports | Výpis hlášení spamu |
GET | /v3/suppression/unsubscribes | Výpis globálních odhlášení |
Události
E-mailové události (přes Event Webhook)
| Událost | Spouštěč | Případ použití |
|---|---|---|
processed | E-mail přijat SendGridem | Potvrzení odeslání |
delivered | E-mail doručen příjemci | Sledování doručení |
open | E-mail otevřen | Skórování zapojení |
click | Kliknuto na odkaz | Sledování zájmu |
bounce | E-mail se odrazil | Hygiena seznamu |
dropped | E-mail potlačen | Kontrola souladu |
deferred | Doručení odloženo | Monitorování opakování |
spam_report | Označeno jako spam | Správa reputace |
unsubscribe | Odhlásil se přes odkaz | Synchronizace preferencí |
Příklady kódu
Inicializace konektoru
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Připojení SendGridawait tajo.connectors.connect('sendgrid', { apiKey: process.env.SENDGRID_API_KEY});Migrace kontaktů do Brevo
// Úplná migrace kontaktů ze SendGrid do Brevoawait tajo.connectors.sync('sendgrid', { type: 'full', resources: ['contacts', 'suppressions'], options: { includeCustomFields: true, migrateListMemberships: true, migrateSuppressions: true }});
// Kontrola stavu migraceconst status = await tajo.connectors.status('sendgrid');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// contactsMigrated: 45000,// suppressionsSynced: 3200,// listsMapped: 8// }Přeposílání e-mailových událostí
// Zpracování Event Webhooku SendGridapp.post('/webhooks/sendgrid', async (req, res) => { const signature = req.get('X-Twilio-Email-Event-Webhook-Signature');
// Ověření podpisu webhooku (ECDSA) if (!verifySendGridSignature(req.body, signature)) { return res.status(401).send('Unauthorized'); }
// Zpracování dávky událostí 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');});Omezení rychlosti
Limity rychlosti SendGrid API:
| Koncový bod | Limit | Podrobnosti |
|---|---|---|
Mail Send (/v3/mail/send) | Závisí na plánu | Free: 100/den, Essentials: na základě plánu |
| Marketing Contacts PUT | 3 požadavky/sekundu | Dávka až 30 000 kontaktů |
| Marketing Contacts Search | 50 požadavků/sekundu | Na API klíč |
| Obecné API | 1 000 požadavků/sekundu | Na API klíč |
| Event Webhook | Dávkové doručení | Až 1 000 událostí na POST |
Limity Mail Send
Limity Mail Send závisí na vašem plánu SendGrid. Bezplatné účty jsou omezeny na 100 e-mailů/den. Zkontrolujte podrobnosti svého plánu pro přesné limity odesílání.
Řešení problémů
Časté problémy
| Problém | Příčina | Řešení |
|---|---|---|
| 401 Unauthorized | Neplatný API klíč | Ověřte API klíč v SendGrid Nastavení |
| 403 Forbidden | Nedostatečná oprávnění API klíče | Vytvořte nový klíč s požadovanými rozsahy |
| Export kontaktů čeká | Zpracování velké datové sady | Pollujte koncový bod stavu exportu až do dokončení |
| Neúplná synchronizace potlačení | Vyžadováno stránkování | Implementujte stránkování s parametrem offset |
| Webhook události nebyl přijat | URL není ověřena | Dokončete ověřování URL webhooku v SendGrid |
Režim ladění
Povolte podrobné protokolování:
connectors: sendgrid: debug: true log_level: verbose log_webhooks: trueTest připojení
tajo connectors test sendgrid# ✓ Připojení API úspěšné# ✓ Kontakty čitelné# ✓ Seznamy přístupné# ✓ Statistiky čitelné# ✓ Potlačení přístupnáOsvědčené postupy
- Nejprve migrujte potlačení – Ujistěte se, že odrazy, blokování a odhlášení jsou v Brevo před odesíláním
- Používejte dávkové nahrávání kontaktů – PUT až 30 000 kontaktů na požadavek pro efektivitu
- Ověřte Event Webhook – Povolte podepsané webhooky s ověřením ECDSA
- Mapujte vlastní pole – Vytvořte odpovídající atributy Brevo před migrací kontaktů
- Synchronizujte data o zapojení – Importujte historické statistiky pro segmentaci v Brevo
- Zpracovávejte asynchronní exporty – Exporty kontaktů jsou asynchronní; pollujte pro dokončení
Zabezpečení
- Ověřování API klíčem – Bearer token s granulárními úrovněmi oprávnění
- Podepisování Event Webhooku – Ověření podpisu ECDSA pro payloady webhooků
- Šifrování TLS – Veškerá API komunikace šifrovaná přes HTTPS
- Správa přístupu IP – Omezení přístupu k Dashboard a API podle IP
- Dvoufaktorové ověřování – 2FA dostupné pro přístup k účtu