SendGrid Konektor
Povežite vaš SendGrid račun s Brevom putem Taja za migraciju e-mail infrastrukture, sinkronizaciju kontakata, prijenos podataka o kampanjama i ujedinjenu analitiku angažmana na obje platforme.
Pregled
| Svojstvo | Vrijednost |
|---|---|
| Platforma | SendGrid (Twilio) |
| Kategorija | Marketing |
| Složenost postavljanja | Jednostavno |
| Službena integracija | Da |
| Sinkronizirani podaci | Kontakti, Kampanje, Transakcijski e-mail, Događaji |
| Osnovni URL API-ja | https://api.sendgrid.com/v3 |
Značajke
- Migracija kontakata - Migracija SendGrid Marketing kontakata u Brevo s prilagođenim poljima
- Sinkronizacija transakcijskih e-mailova - Praćenje transakcijskih e-mail događaja za ujedinjeno izvješćivanje
- Podaci o kampanjama - Sinkronizacija podataka o performansama Single Send i Automation kampanja
- Webhook događaji - Prosljeđivanje e-mail događaja (dostavljeno, otvoreno, kliknuto, vraćeno) u Brevo
- Sinkronizacija supresija - Migracija popisa vraćenih, blokiranih i odjavljenih za usklađenost
- Migracija predložaka - Izvoz Dynamic Transactional Templates za korištenje u Brevo
- Verifikacija pošiljatelja - Sinkronizacija verificiranih identiteta pošiljatelja i autentifikacije domene
- Sinkronizacija statistika - Uvoz historijskih statistika angažmana u Brevo atribute
Preduvjeti
Prije nego što počnete, osigurajte da imate:
- SendGrid račun (Free, Essentials, Pro ili Premier)
- SendGrid API ključ s potrebnim dozvolama
- Brevo račun s API pristupom
- Tajo račun
Autentifikacija
Autentifikacija API ključem
SendGrid koristi autentifikaciju bearer tokenom.
curl https://api.sendgrid.com/v3/marketing/contacts \ -H "Authorization: Bearer SG.YOUR_API_KEY" \ -H "Content-Type: application/json"Kreirajte API ključeve u SendGrid Postavkama > API ključevi s određenim razinama dozvola:
- Puni pristup - Potpuni API pristup
- Ograničeni pristup - Granularna kontrola dozvola
- Pristup naplati - Operacije samo za naplatu
Potrebne dozvole
Marketing: Full Access - Contacts (read) - Single Sends (read) - Automations (read)Mail Send: Full Access - Mail Send (read)Stats: Read AccessSuppressions: Read AccessTracking: Read AccessSigurnost API ključa
SendGrid API ključevi prikazuju se samo jednom pri kreiranju. Pohranite ih sigurno. Ako izgubite ključ, morate kreirati novi.
Konfiguracija
Osnovna konfiguracija
connectors: sendgrid: enabled: true api_key: "${SENDGRID_API_KEY}"
# Opcije sinkronizacije podataka sync: contacts: true campaigns: true transactional: true suppressions: true statistics: true
# Mapiranje popisa na Brevo list_mapping: "All Contacts": 60 "Newsletter": 61 "Transactional": 62Mapiranje polja
Mapirajte polja kontakata SendGrida na Brevo atribute kontakata:
Zadana mapiranja
| Parameter | Type | Description |
|---|---|---|
email required | string | E-mail adresa kontakta (jedinstveni identifikator) |
first_name optional | string | Mapira se na atribut FIRSTNAME |
last_name optional | string | Mapira se na atribut LASTNAME |
phone_number optional | string | Mapira se na atribut SMS |
city optional | string | Grad kontakta |
country optional | string | Država kontakta |
custom_fields optional | object | Parovi ključ-vrijednost prilagođenih polja |
list_ids optional | array | Članstva na SendGrid popisima |
Mapiranje prilagođenih polja
field_mapping: # Standardna polja email: email first_name: FIRSTNAME last_name: LASTNAME phone_number: SMS
# Polja lokacije city: CITY state_province_region: STATE country: COUNTRY postal_code: POSTAL_CODE
# Metrike angažmana avg_open_rate: AVG_OPEN_RATE avg_click_rate: AVG_CLICK_RATE
# Prilagođena polja custom_fields.company: COMPANY_NAME custom_fields.plan: PLAN_TYPEAPI krajnje točke
Marketinški kontakti
| Metoda | Krajnja točka | Opis |
|---|---|---|
PUT | /v3/marketing/contacts | Dodaj ili ažuriraj kontakte |
POST | /v3/marketing/contacts/search | Pretraži kontakte |
GET | /v3/marketing/contacts/count | Dohvati broj kontakata |
POST | /v3/marketing/contacts/exports | Izvezi kontakte |
DELETE | /v3/marketing/contacts | Izbriši kontakte |
GET | /v3/marketing/lists | Popis svih popisa kontakata |
Transakcijski e-mail (Mail Send)
| Metoda | Krajnja točka | Opis |
|---|---|---|
POST | /v3/mail/send | Pošalji e-mail |
GET | /v3/templates | Popis Dynamic Templates |
GET | /v3/templates/{id} | Dohvati detalje predloška |
Kampanje (Single Sends)
| Metoda | Krajnja točka | Opis |
|---|---|---|
GET | /v3/marketing/singlesends | Popis Single Sends |
GET | /v3/marketing/singlesends/{id} | Dohvati detalje Single Senda |
GET | /v3/marketing/automations | Popis automatizacija |
Statistike
| Metoda | Krajnja točka | Opis |
|---|---|---|
GET | /v3/stats | Dohvati globalne statistike e-maila |
GET | /v3/categories/stats | Dohvati statistike kategorija |
GET | /v3/marketing/stats/singlesends | Dohvati Single Send statistike |
Supresije
| Metoda | Krajnja točka | Opis |
|---|---|---|
GET | /v3/suppression/bounces | Popis vraćenih e-mailova |
GET | /v3/suppression/blocks | Popis blokiranih e-mailova |
GET | /v3/suppression/spam_reports | Popis prijava spama |
GET | /v3/suppression/unsubscribes | Popis globalnih odjava |
Događaji
E-mail događaji (putem Event Webhookova)
| Događaj | Okidač | Slučaj upotrebe |
|---|---|---|
processed | E-mail prihvatio SendGrid | Potvrda slanja |
delivered | E-mail dostavljen primatelju | Praćenje dostave |
open | E-mail otvoren | Ocjenjivanje angažmana |
click | Kliknuta veza | Praćenje interesa |
bounce | E-mail vraćen | Higijena popisa |
dropped | E-mail supresian | Pregled usklađenosti |
deferred | Dostava odgođena | Praćenje ponovnih pokušaja |
spam_report | Označen kao spam | Upravljanje reputacijom |
unsubscribe | Odjavljen putem veze | Sinkronizacija preferencija |
Primjeri koda
Inicijalizacija konektora
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Povežite SendGridawait tajo.connectors.connect('sendgrid', { apiKey: process.env.SENDGRID_API_KEY});Migracija kontakata u Brevo
// Potpuna migracija kontakata iz SendGrida u Brevoawait tajo.connectors.sync('sendgrid', { type: 'full', resources: ['contacts', 'suppressions'], options: { includeCustomFields: true, migrateListMemberships: true, migrateSuppressions: true }});
// Provjera statusa migracijeconst status = await tajo.connectors.status('sendgrid');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// contactsMigrated: 45000,// suppressionsSynced: 3200,// listsMapped: 8// }Prosljeđivanje e-mail događaja
// Rukovanje SendGrid Event Webhookomapp.post('/webhooks/sendgrid', async (req, res) => { const signature = req.get('X-Twilio-Email-Event-Webhook-Signature');
// Verificirajte potpis webhookova (ECDSA) if (!verifySendGridSignature(req.body, signature)) { return res.status(401).send('Unauthorized'); }
// Obradite seriju događaja 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');});Ograničenja brzine
Ograničenja brzine SendGrid API-ja:
| Krajnja točka | Ograničenje | Detalji |
|---|---|---|
Mail Send (/v3/mail/send) | Ovisno o planu | Free: 100/dan, Essentials: na temelju plana |
| Marketing Contacts PUT | 3 zahtjeva/sekundi | Serija do 30.000 kontakata |
| Marketing Contacts Search | 50 zahtjeva/sekundi | Po API ključu |
| Opći API | 1.000 zahtjeva/sekundi | Po API ključu |
| Event Webhook | Skupna dostava | Do 1.000 događaja po POST-u |
Ograničenja Mail Send
Ograničenja Mail Senda ovise o vašem SendGrid planu. Free računi ograničeni su na 100 e-mailova/dan. Provjerite detalje vašeg plana za točna ograničenja slanja.
Rješavanje problema
Uobičajeni problemi
| Problem | Uzrok | Rješenje |
|---|---|---|
| 401 Unauthorized | Nevažeći API ključ | Verificirajte API ključ u SendGrid Postavkama |
| 403 Forbidden | Nedovoljne dozvole API ključa | Kreirajte novi ključ s potrebnim opsezima |
| Izvoz kontakata na čekanju | Obrada velikog skupa podataka | Anketirajte krajnju točku statusa izvoza dok ne dovršite |
| Nepotpuna sinkronizacija supresija | Potrebna paginacija | Implementirajte paginaciju s parametrom offset |
| Webhook nije primljen | URL nije verificiran | Dovršite verifikaciju URL-a webhookova u SendGridu |
Način otklanjanja grešaka
Omogućite detaljno zapisivanje:
connectors: sendgrid: debug: true log_level: verbose log_webhooks: trueTestiranje veze
tajo connectors test sendgrid# ✓ API veza uspješna# ✓ Kontakti čitljivi# ✓ Popisi dostupni# ✓ Statistike čitljive# ✓ Supresije dostupnePreporučene prakse
- Prvo migrirajte supresije - Osigurajte da su vraćene, blokirane i odjavljene adrese u Brevo prije slanja
- Koristite skupna učitavanja kontakata - PUT do 30.000 kontakata po zahtjevu za učinkovitost
- Verificirajte Event Webhook - Omogućite potpisane webhookove s ECDSA verifikacijom
- Mapirajte prilagođena polja - Kreirajte odgovarajuće Brevo atribute prije migracije kontakata
- Sinkronizirajte podatke o angažmanu - Uvezite historijske statistike za segmentaciju u Brevo
- Rukujte asinkronim izvozima - Izvozi kontakata su asinkroni; anketirajte za dovršetak
Sigurnost
- Autentifikacija API ključem - Bearer token s granularnim razinama dozvola
- Potpisivanje Event Webhookova - ECDSA verifikacija potpisa za webhook opterećenja
- TLS šifriranje - Sva API komunikacija šifrirana putem HTTPS-a
- Upravljanje IP pristupom - Ograničite Dashboard i API pristup po IP-u
- Dvofaktorska autentifikacija - 2FA dostupna za pristup računu