SendGrid Bağlayıcısı

E-posta altyapısı taşıma, kişi senkronizasyonu, kampanya verisi aktarımı ve her iki platformda birleşik etkileşim analitiği için SendGrid hesabınızı Tajo aracılığıyla Brevo’ya bağlayın.

Genel Bakış

ÖzellikDeğer
PlatformSendGrid (Twilio)
KategoriPazarlama
Kurulum KarmaşıklığıKolay
Resmi EntegrasyonEvet
Senkronize Edilen VeriKişiler, Kampanyalar, İşlemsel E-posta, Olaylar
API Temel URL’sihttps://api.sendgrid.com/v3

Özellikler

  • Kişi taşıma - SendGrid Marketing kişilerini özel alanlarla Brevo’ya taşıyın
  • İşlemsel e-posta senkronizasyonu - Birleşik raporlama için işlemsel e-posta olaylarını takip edin
  • Kampanya verileri - Single Send ve Automation kampanya performans verilerini senkronize edin
  • Olay webhook’ları - E-posta olaylarını (teslim edildi, açıldı, tıklandı, geri döndü) Brevo’ya iletin
  • Bastırma senkronizasyonu - Uyumluluk için geri dönme, engelleme ve abonelikten çıkma listelerini taşıyın
  • Şablon taşıma - Brevo kullanımı için Dynamic Transactional Templates dışa aktarın
  • Gönderici doğrulama - Doğrulanmış gönderici kimliklerini ve alan adı kimlik doğrulamasını senkronize edin
  • İstatistik senkronizasyonu - Geçmiş etkileşim istatistiklerini Brevo özniteliklerine içe aktarın

Ön Koşullar

Başlamadan önce sahip olmanız gerekenler:

  1. Bir SendGrid hesabı (Free, Essentials, Pro veya Premier)
  2. Gerekli izinlere sahip bir SendGrid API anahtarı
  3. API erişimi olan bir Brevo hesabı
  4. Bir Tajo hesabı

Kimlik Doğrulama

API Anahtar Kimlik Doğrulaması

SendGrid bearer belirteç kimlik doğrulaması kullanır.

Terminal window
curl https://api.sendgrid.com/v3/marketing/contacts \
-H "Authorization: Bearer SG.YOUR_API_KEY" \
-H "Content-Type: application/json"

SendGrid Settings > API Keys’te belirli izin seviyeleriyle API anahtarları oluşturun:

  • Full Access - Tam API erişimi
  • Restricted Access - Ayrıntılı izin kontrolü
  • Billing Access - Yalnızca faturalama işlemleri

Gerekli İzinler

Marketing: Full Access
- Contacts (read)
- Single Sends (read)
- Automations (read)
Mail Send: Full Access
- Mail Send (read)
Stats: Read Access
Suppressions: Read Access
Tracking: Read Access

API Anahtar Güvenliği

SendGrid API anahtarları yalnızca oluşturma sırasında gösterilir. Bunları güvenli bir şekilde saklayın. Kaybolursa, yeni bir anahtar oluşturmanız gerekir.

Yapılandırma

Temel Kurulum

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": 62

Alan Eşleme

SendGrid kişi alanlarını Brevo kişi özniteliklerine eşleyin:

Varsayılan Eşlemeler

Parameter Type Description
email required
string

Kişi e-posta adresi (benzersiz tanımlayıcı)

first_name optional
string

FIRSTNAME özniteliğine eşlenir

last_name optional
string

LASTNAME özniteliğine eşlenir

phone_number optional
string

SMS özniteliğine eşlenir

city optional
string

Kişi şehri

country optional
string

Kişi ülkesi

custom_fields optional
object

Özel alan anahtar-değer çiftleri

list_ids optional
array

SendGrid liste üyelikleri

Özel Alan Eşleme

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_TYPE

API Uç Noktaları

Marketing Kişileri

YöntemUç NoktaAçıklama
PUT/v3/marketing/contactsKişileri ekle veya güncelle
POST/v3/marketing/contacts/searchKişileri ara
GET/v3/marketing/contacts/countKişi sayısını al
POST/v3/marketing/contacts/exportsKişileri dışa aktar
DELETE/v3/marketing/contactsKişileri sil
GET/v3/marketing/listsTüm kişi listelerini listele

İşlemsel E-posta (Mail Send)

YöntemUç NoktaAçıklama
POST/v3/mail/sendBir e-posta gönder
GET/v3/templatesDynamic Templates’i listele
GET/v3/templates/{id}Şablon detaylarını al

Kampanyalar (Single Sends)

YöntemUç NoktaAçıklama
GET/v3/marketing/singlesendsSingle Sends’i listele
GET/v3/marketing/singlesends/{id}Single Send detaylarını al
GET/v3/marketing/automationsAutomations’ı listele

İstatistikler

YöntemUç NoktaAçıklama
GET/v3/statsGenel e-posta istatistiklerini al
GET/v3/categories/statsKategori istatistiklerini al
GET/v3/marketing/stats/singlesendsSingle Send istatistiklerini al

Bastırmalar

YöntemUç NoktaAçıklama
GET/v3/suppression/bouncesGeri dönen e-postaları listele
GET/v3/suppression/blocksEngellenen e-postaları listele
GET/v3/suppression/spam_reportsSpam raporlarını listele
GET/v3/suppression/unsubscribesGenel abonelikten çıkmaları listele

Olaylar

E-posta Olayları (Event Webhook üzerinden)

OlayTetikleyiciKullanım Alanı
processedE-posta SendGrid tarafından kabul edildiGönderim onayı
deliveredE-posta alıcıya teslim edildiTeslimat takibi
openE-posta açıldıEtkileşim puanlaması
clickBağlantıya tıklandıİlgi takibi
bounceE-posta geri döndüListe hijyeni
droppedE-posta bastırıldıUyumluluk incelemesi
deferredTeslimat ertelendiYeniden deneme izleme
spam_reportSpam olarak işaretlendiİtibar yönetimi
unsubscribeBağlantı üzerinden abonelikten çıkıldıTercih senkronizasyonu

Kod Örnekleri

Bağlayıcıyı Başlat

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Connect SendGrid
await tajo.connectors.connect('sendgrid', {
apiKey: process.env.SENDGRID_API_KEY
});

Kişileri Brevo’ya Taşı

// Full contact migration from SendGrid to Brevo
await tajo.connectors.sync('sendgrid', {
type: 'full',
resources: ['contacts', 'suppressions'],
options: {
includeCustomFields: true,
migrateListMemberships: true,
migrateSuppressions: true
}
});
// Check migration status
const status = await tajo.connectors.status('sendgrid');
console.log(status);
// {
// connected: true,
// lastSync: '2024-01-15T10:30:00Z',
// contactsMigrated: 45000,
// suppressionsSynced: 3200,
// listsMapped: 8
// }

E-posta Olaylarını İlet

// Handle SendGrid Event Webhook
app.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');
});

Hız Limitleri

SendGrid API hız limitleri:

Uç NoktaLimitDetaylar
Mail Send (/v3/mail/send)Plana bağlıFree: 100/gün, Essentials: plana göre
Marketing Contacts PUT3 istek/saniye30.000 kişiye kadar toplu
Marketing Contacts Search50 istek/saniyeAPI anahtarı başına
Genel API1.000 istek/saniyeAPI anahtarı başına
Event WebhookToplu teslimatPOST başına 1.000’e kadar olay

Mail Send Limitleri

Mail Send limitleri SendGrid planınıza bağlıdır. Ücretsiz hesaplar 100 e-posta/gün ile sınırlıdır. Tam gönderim limitleri için plan detaylarınızı kontrol edin.

Sorun Giderme

Sık Karşılaşılan Sorunlar

SorunNedenÇözüm
401 UnauthorizedGeçersiz API anahtarıSendGrid Settings’te API anahtarını doğrulayın
403 ForbiddenYetersiz API anahtar izinleriGerekli kapsamlarla yeni anahtar oluşturun
Kişi dışa aktarımı bekliyorBüyük veri kümesi işleniyorTamamlanana kadar dışa aktarma durum uç noktasını sorgulayın
Bastırma senkronizasyonu eksikSayfalama gerekliOffset parametresi ile sayfalama uygulayın
Event webhook alınmıyorURL doğrulanmadıSendGrid’de webhook URL doğrulamasını tamamlayın

Hata Ayıklama Modu

Ayrıntılı günlüklemeyi etkinleştirin:

connectors:
sendgrid:
debug: true
log_level: verbose
log_webhooks: true

Bağlantıyı Test Et

Terminal window
tajo connectors test sendgrid
# ✓ API connection successful
# ✓ Contacts readable
# ✓ Lists accessible
# ✓ Statistics readable
# ✓ Suppressions accessible

En İyi Uygulamalar

  1. Önce bastırmaları taşıyın - Gönderim öncesinde geri dönmelerin, engellemelerin ve abonelikten çıkmaların Brevo’da olduğundan emin olun
  2. Toplu kişi yüklemeleri kullanın - Verimlilik için istek başına 30.000 kişiye kadar PUT yapın
  3. Event Webhook’u doğrulayın - ECDSA doğrulamasıyla imzalı webhook’ları etkinleştirin
  4. Özel alanları eşleyin - Kişi taşımadan önce karşılık gelen Brevo özniteliklerini oluşturun
  5. Etkileşim verilerini senkronize edin - Brevo’da segmentasyon için geçmiş istatistikleri içe aktarın
  6. Eşzamansız dışa aktarmaları yönetin - Kişi dışa aktarmaları eşzamansızdır; tamamlanma için sorgulayın

Güvenlik

  • API Anahtar Kimlik Doğrulaması - Ayrıntılı izin seviyeleri ile bearer belirteç
  • Event Webhook imzalama - Webhook yükleri için ECDSA imza doğrulaması
  • TLS şifrelemesi - Tüm API iletişimi HTTPS aracılığıyla şifrelenir
  • IP Erişim Yönetimi - Dashboard ve API erişimini IP’ye göre kısıtlayın
  • İki faktörlü kimlik doğrulama - Hesap erişimi için 2FA mevcuttur

İlgili Kaynaklar

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
AI Asistan

Merhaba! Belgeler hakkında her şeyi sorabilirsiniz.