Conector SendGrid
Starea conectorului: În lucru În construcție. Încă neverificat.
Ilustrație · date de exemplu
Exemplu de sincronizare
Sursă
SendGrid
Starea conectorului: În lucru
Destinație
Celălalt instrument al tău
Starea conectorului: Instrument personalizat
Maparea câmpurilor
| Câmp sursă | Câmp destinație | Valoare exemplu |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Ciornă
- Verifică o înregistrare
- Aprobă această versiune
Stările se referă la fiecare conector și nu garantează că această sincronizare este pregătită. Câmpurile sunt ilustrative. Verifică schema și permisiunile reale înainte de sincronizare.
Conectați contul SendGrid la Brevo prin Tajo pentru migrarea infrastructurii de e-mail, sincronizarea contactelor, transferul datelor de campanie și analize unificate de implicare pe ambele platforme.
Prezentare generală
| Proprietate | Valoare |
|---|---|
| Platformă | SendGrid (Twilio) |
| Categorie | Marketing |
| Complexitate configurare | Ușoară |
| Integrare oficială | Nu |
| Date sincronizate | Contacte, Campanii, E-mail tranzacțional, Evenimente |
| URL de bază API | https://api.sendgrid.com/v3 |
Funcționalități
- Migrare contacte - Migrați contactele de marketing SendGrid la Brevo cu câmpuri personalizate
- Sincronizare e-mail tranzacțional - Urmăriți evenimentele de e-mail tranzacțional pentru raportare unificată
- Date campanii - Sincronizați datele de performanță ale campaniilor Single Send și Automation
- Webhook-uri evenimente - Redirecționați evenimentele de e-mail (livrate, deschise, accesate, respinse) la Brevo
- Sincronizare supresii - Migrați listele de respingeri, blocări și dezabonări pentru conformitate
- Migrare șabloane - Exportați Șabloanele Tranzacționale Dinamice pentru utilizare în Brevo
- Verificare expeditor - Sincronizați identitățile de expeditor verificate și autentificarea domeniului
- Sincronizare statistici - Importați statisticile istorice de implicare în atributele Brevo
Cerințe preliminare
Înainte de a începe, asigurați-vă că aveți:
- Un cont SendGrid (Free, Essentials, Pro sau Premier)
- O cheie API SendGrid cu permisiunile necesare
- Un cont Brevo cu acces API
- Un cont Tajo
Autentificare
Autentificare cu cheie API
SendGrid utilizează autentificarea cu token bearer.
curl https://api.sendgrid.com/v3/marketing/contacts \ -H "Authorization: Bearer SG.YOUR_API_KEY" \ -H "Content-Type: application/json"Creați chei API în SendGrid Settings > API Keys cu niveluri specifice de permisiune:
- Acces complet - Acces complet la API
- Acces restricționat - Control granular al permisiunilor
- Acces facturare - Operații numai de facturare
Permisiuni necesare
Marketing: Full Access - Contacts (read) - Single Sends (read) - Automations (read)Mail Send: Full Access - Mail Send (read)Stats: Read AccessSuppressions: Read AccessTracking: Read AccessSecuritate cheie API
Cheile API SendGrid sunt afișate o singură dată la creare. Stocați-le în siguranță. Dacă sunt pierdute, trebuie să creați o cheie nouă.
Configurare
Configurare de bază
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": 62Mapare câmpuri
Mapați câmpurile de contact SendGrid la atributele de contact Brevo:
Mapări implicite
| Parameter | Type | Description |
|---|---|---|
email required | string | Adresa de e-mail a contactului (identificator unic) |
first_name optional | string | Mapează la atributul FIRSTNAME |
last_name optional | string | Mapează la atributul LASTNAME |
phone_number optional | string | Mapează la atributul SMS |
city optional | string | Orașul contactului |
country optional | string | Țara contactului |
custom_fields optional | object | Perechi cheie-valoare ale câmpurilor personalizate |
list_ids optional | array | Apartenența la listele SendGrid |
Mapare câmpuri personalizate
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_TYPEPuncte finale API
Contacte marketing
| Metodă | Punct final | Descriere |
|---|---|---|
PUT | /v3/marketing/contacts | Adaugă sau actualizează contacte |
POST | /v3/marketing/contacts/search | Caută contacte |
GET | /v3/marketing/contacts/count | Obține numărul de contacte |
POST | /v3/marketing/contacts/exports | Exportă contacte |
DELETE | /v3/marketing/contacts | Șterge contacte |
GET | /v3/marketing/lists | Listează toate listele de contacte |
E-mail tranzacțional (Mail Send)
| Metodă | Punct final | Descriere |
|---|---|---|
POST | /v3/mail/send | Trimite un e-mail |
GET | /v3/templates | Listează Șabloanele Dinamice |
GET | /v3/templates/{id} | Obține detalii șablon |
Campanii (Single Sends)
| Metodă | Punct final | Descriere |
|---|---|---|
GET | /v3/marketing/singlesends | Listează Single Sends |
GET | /v3/marketing/singlesends/{id} | Obține detalii Single Send |
GET | /v3/marketing/automations | Listează automatizările |
Statistici
| Metodă | Punct final | Descriere |
|---|---|---|
GET | /v3/stats | Obține statistici globale e-mail |
GET | /v3/categories/stats | Obține statistici pe categorii |
GET | /v3/marketing/stats/singlesends | Obține statisticile Single Send |
Supresii
| Metodă | Punct final | Descriere |
|---|---|---|
GET | /v3/suppression/bounces | Listează e-mailurile respinse |
GET | /v3/suppression/blocks | Listează e-mailurile blocate |
GET | /v3/suppression/spam_reports | Listează rapoartele de spam |
GET | /v3/suppression/unsubscribes | Listează dezabonările globale |
Evenimente
Evenimente e-mail (prin Event Webhook)
| Eveniment | Declanșator | Caz de utilizare |
|---|---|---|
processed | E-mail acceptat de SendGrid | Confirmare trimitere |
delivered | E-mail livrat destinatarului | Urmărire livrare |
open | E-mail deschis | Scorare implicare |
click | Link accesat | Urmărire interes |
bounce | E-mail respins | Igienă listă |
dropped | E-mail suprimat | Revizuire conformitate |
deferred | Livrare amânată | Monitorizare reîncercare |
spam_report | Marcat ca spam | Gestionare reputație |
unsubscribe | Dezabonat prin link | Sincronizare preferințe |
Exemple de cod
Inițializare conector
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});Migrare contacte la 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// }Redirecționare evenimente e-mail
// 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');});Limite de rată
Limite de rată API SendGrid:
| Punct final | Limită | Detalii |
|---|---|---|
Mail Send (/v3/mail/send) | Dependent de plan | Free: 100/zi, Essentials: bazat pe plan |
| Marketing Contacts PUT | 3 cereri/secundă | Lot de până la 30.000 de contacte |
| Marketing Contacts Search | 50 cereri/secundă | Per cheie API |
| API general | 1.000 cereri/secundă | Per cheie API |
| Event Webhook | Livrare în lot | Până la 1.000 de evenimente per POST |
Limite Mail Send
Limitele Mail Send depind de planul SendGrid. Conturile Free sunt limitate la 100 de e-mailuri/zi. Verificați detaliile planului pentru limitele exacte de trimitere.
Depanare
Probleme frecvente
| Problemă | Cauză | Soluție |
|---|---|---|
| 401 Neautorizat | Cheie API invalidă | Verificați cheia API în SendGrid Settings |
| 403 Interzis | Permisiuni insuficiente ale cheii API | Creați o cheie nouă cu scope-urile necesare |
| Export contacte în așteptare | Procesare set de date mare | Interogați punctul final de status export până la finalizare |
| Sincronizare supresii incompletă | Paginare necesară | Implementați paginarea cu parametrul offset |
| Webhook de eveniment neprimit | URL neverificat | Completați verificarea URL webhook în SendGrid |
Modul de depanare
Activați jurnalizarea verbosă:
connectors: sendgrid: debug: true log_level: verbose log_webhooks: trueTestare conexiune
tajo connectors test sendgrid# ✓ API connection successful# ✓ Contacts readable# ✓ Lists accessible# ✓ Statistics readable# ✓ Suppressions accessibleBune practici
- Migrați supresiile mai întâi - Asigurați că respingerile, blocările și dezabonările sunt în Brevo înainte de trimitere
- Utilizați încărcări de contacte în lot - PUT până la 30.000 de contacte per cerere pentru eficiență
- Verificați Event Webhook - Activați webhook-uri semnate cu verificare ECDSA
- Mapați câmpurile personalizate - Creați atributele Brevo corespunzătoare înainte de migrarea contactelor
- Sincronizați datele de implicare - Importați statisticile istorice pentru segmentare în Brevo
- Gestionați exporturile asincrone - Exporturile de contacte sunt asincrone; interogați pentru finalizare
Securitate
- Autentificare cu cheie API - Token bearer cu niveluri granulare de permisiune
- Semnare Event Webhook - Verificare semnătură ECDSA pentru payload-urile webhook
- Criptare TLS - Toate comunicațiile API criptate prin HTTPS
- Gestionare acces IP - Restricționați accesul la Tabloul de bord și API pe baza IP-ului
- Autentificare în doi pași - 2FA disponibil pentru accesul la cont