SendGrid کنیکٹر
ای میل بنیادی ڈھانچہ منتقلی، رابطہ سنکرونائزیشن، مہم ڈیٹا منتقلی، اور دونوں پلیٹ فارمز پر متحدہ engagement اینالیٹکس کے لیے Tajo کے ذریعے اپنے SendGrid اکاؤنٹ کو Brevo سے منسلک کریں۔
جائزہ
| خاصیت | قدر |
|---|---|
| پلیٹ فارم | SendGrid (Twilio) |
| زمرہ | مارکیٹنگ |
| سیٹ اپ کی پیچیدگی | آسان |
| آفیشل انٹیگریشن | ہاں |
| سنک شدہ ڈیٹا | رابطے، مہمات، ٹرانزیکشنل ای میل، ایونٹس |
| API بنیادی URL | https://api.sendgrid.com/v3 |
خصوصیات
- رابطہ منتقلی - SendGrid Marketing رابطوں کو کسٹم فیلڈز کے ساتھ Brevo میں منتقل کریں
- ٹرانزیکشنل ای میل سنک - متحدہ رپورٹنگ کے لیے ٹرانزیکشنل ای میل ایونٹس ٹریک کریں
- مہم ڈیٹا - Single Send اور Automation مہم کارکردگی ڈیٹا سنک کریں
- ایونٹ webhooks - ای میل ایونٹس (delivered, opened, clicked, bounced) کو Brevo کو فارورڈ کریں
- Suppression سنک - کمپلائنس کے لیے bounce, block, اور unsubscribe فہرستیں منتقل کریں
- Template منتقلی - Brevo استعمال کے لیے Dynamic Transactional Templates ایکسپورٹ کریں
- Sender تصدیق - تصدیق شدہ sender شناختیں اور domain تصدیق سنک کریں
- اعدادوشمار سنک - تاریخی engagement اعدادوشمار کو Brevo خصوصیات میں امپورٹ کریں
شرائط
شروع کرنے سے پہلے، یقینی بنائیں کہ آپ کے پاس ہے:
- SendGrid اکاؤنٹ (Free, Essentials, Pro, یا Premier)
- مطلوبہ اجازتوں کے ساتھ SendGrid API key
- API رسائی کے ساتھ Brevo اکاؤنٹ
- Tajo اکاؤنٹ
تصدیق
API Key تصدیق
SendGrid bearer token تصدیق استعمال کرتا ہے۔
curl https://api.sendgrid.com/v3/marketing/contacts \ -H "Authorization: Bearer SG.YOUR_API_KEY" \ -H "Content-Type: application/json"SendGrid Settings > API Keys میں مخصوص اجازت کی سطحوں کے ساتھ API keys بنائیں:
- Full Access - مکمل API رسائی
- Restricted Access - گرانولر اجازت کنٹرول
- Billing Access - صرف بلنگ آپریشنز
مطلوبہ اجازتیں
Marketing: Full Access - Contacts (read) - Single Sends (read) - Automations (read)Mail Send: Full Access - Mail Send (read)Stats: Read AccessSuppressions: Read AccessTracking: Read AccessAPI Key سیکیورٹی
SendGrid API keys صرف تخلیق کے وقت ایک بار دکھائی جاتی ہیں۔ انہیں محفوظ طریقے سے اسٹور کریں۔ اگر کھو جائے تو، آپ کو ایک نئی key بنانی ہوگی۔
تشکیل
بنیادی سیٹ اپ
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فیلڈ میپنگ
SendGrid رابطہ فیلڈز کو Brevo رابطہ خصوصیات پر میپ کریں:
طے شدہ میپنگز
| Parameter | Type | Description |
|---|---|---|
email required | string | رابطہ ای میل پتہ (منفرد شناخت کنندہ) |
first_name optional | string | FIRSTNAME خصوصیت پر میپ ہوتا ہے |
last_name optional | string | LASTNAME خصوصیت پر میپ ہوتا ہے |
phone_number optional | string | SMS خصوصیت پر میپ ہوتا ہے |
city optional | string | رابطہ شہر |
country optional | string | رابطہ ملک |
custom_fields optional | object | کسٹم فیلڈ key-value جوڑے |
list_ids optional | array | SendGrid فہرست رکنیتیں |
کسٹم فیلڈ میپنگ
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 اینڈ پوائنٹس
Marketing رابطے
| طریقہ | اینڈ پوائنٹ | تفصیل |
|---|---|---|
PUT | /v3/marketing/contacts | رابطے شامل یا اپ ڈیٹ کریں |
POST | /v3/marketing/contacts/search | رابطے تلاش کریں |
GET | /v3/marketing/contacts/count | رابطہ کی گنتی حاصل کریں |
POST | /v3/marketing/contacts/exports | رابطے ایکسپورٹ کریں |
DELETE | /v3/marketing/contacts | رابطے حذف کریں |
GET | /v3/marketing/lists | تمام رابطہ فہرستوں کی فہرست |
ٹرانزیکشنل ای میل (Mail Send)
| طریقہ | اینڈ پوائنٹ | تفصیل |
|---|---|---|
POST | /v3/mail/send | ای میل بھیجیں |
GET | /v3/templates | Dynamic Templates کی فہرست |
GET | /v3/templates/{id} | template کی تفصیلات حاصل کریں |
مہمات (Single Sends)
| طریقہ | اینڈ پوائنٹ | تفصیل |
|---|---|---|
GET | /v3/marketing/singlesends | Single Sends کی فہرست |
GET | /v3/marketing/singlesends/{id} | Single Send کی تفصیلات حاصل کریں |
GET | /v3/marketing/automations | Automations کی فہرست |
اعدادوشمار
| طریقہ | اینڈ پوائنٹ | تفصیل |
|---|---|---|
GET | /v3/stats | عالمی ای میل اعدادوشمار حاصل کریں |
GET | /v3/categories/stats | زمرہ کے اعدادوشمار حاصل کریں |
GET | /v3/marketing/stats/singlesends | Single Send اعدادوشمار حاصل کریں |
Suppressions
| طریقہ | اینڈ پوائنٹ | تفصیل |
|---|---|---|
GET | /v3/suppression/bounces | bounced ای میلز کی فہرست |
GET | /v3/suppression/blocks | blocked ای میلز کی فہرست |
GET | /v3/suppression/spam_reports | spam رپورٹس کی فہرست |
GET | /v3/suppression/unsubscribes | عالمی unsubscribes کی فہرست |
ایونٹس
ای میل ایونٹس (Event Webhook کے ذریعے)
| ایونٹ | ٹرگر | استعمال کا کیس |
|---|---|---|
processed | ای میل SendGrid نے قبول کی | تصدیق بھیجیں |
delivered | ای میل وصول کنندہ کو ڈیلیور ہوئی | ڈیلیوری ٹریکنگ |
open | ای میل کھولی گئی | Engagement اسکورنگ |
click | لنک پر کلک | دلچسپی ٹریکنگ |
bounce | ای میل bounce ہوئی | فہرست hygiene |
dropped | ای میل suppress ہوئی | کمپلائنس جائزہ |
deferred | ڈیلیوری مؤخر | Retry مانیٹرنگ |
spam_report | spam کے طور پر نشان زد | reputation انتظام |
unsubscribe | لنک کے ذریعے ان سبسکرائب | ترجیح سنک |
کوڈ کی مثالیں
کنیکٹر کو انیشیلائز کریں
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});رابطوں کو 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// }ای میل ایونٹس فارورڈ کریں
// 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');});شرح کی حدود
SendGrid API شرح کی حدود:
| اینڈ پوائنٹ | حد | تفصیلات |
|---|---|---|
Mail Send (/v3/mail/send) | پلان پر منحصر | Free: 100/دن, Essentials: پلان پر مبنی |
| Marketing Contacts PUT | 3 درخواستیں/سیکنڈ | 30,000 رابطوں تک بیچ |
| Marketing Contacts Search | 50 درخواستیں/سیکنڈ | فی API key |
| عام API | 1,000 درخواستیں/سیکنڈ | فی API key |
| Event Webhook | بیچ ڈیلیوری | فی POST 1,000 ایونٹس تک |
Mail Send کی حدود
Mail Send کی حدود آپ کے SendGrid پلان پر منحصر ہیں۔ Free اکاؤنٹس 100 ای میلز/دن تک محدود ہیں۔ exact بھیجنے کی حدود کے لیے اپنے پلان کی تفصیلات چیک کریں۔
ٹربل شوٹنگ
عام مسائل
| مسئلہ | وجہ | حل |
|---|---|---|
| 401 Unauthorized | غلط API key | SendGrid Settings میں API key کی تصدیق کریں |
| 403 Forbidden | ناکافی API key اجازتیں | مطلوبہ اسکوپس کے ساتھ نئی key بنائیں |
| رابطہ ایکسپورٹ زیر التواء | بڑا ڈیٹا سیٹ پروسیسنگ | مکمل ہونے تک export status اینڈ پوائنٹ کا polling کریں |
| Suppression sync نامکمل | Pagination درکار | offset پیرامیٹر کے ساتھ pagination نافذ کریں |
| Event webhook موصول نہیں ہوا | URL تصدیق شدہ نہیں | SendGrid میں webhook URL تصدیق مکمل کریں |
ڈیبگ موڈ
تفصیلی لاگنگ فعال کریں:
connectors: sendgrid: debug: true log_level: verbose log_webhooks: trueکنکشن ٹیسٹ کریں
tajo connectors test sendgrid# ✓ API connection successful# ✓ Contacts readable# ✓ Lists accessible# ✓ Statistics readable# ✓ Suppressions accessibleبہترین طرز عمل
- پہلے suppressions منتقل کریں - بھیجنے سے پہلے یقینی بنائیں کہ bounces, blocks, اور unsubscribes Brevo میں ہیں
- بیچ رابطہ اپ لوڈز استعمال کریں - کارکردگی کے لیے فی درخواست 30,000 رابطوں تک PUT کریں
- Event Webhook کی تصدیق کریں - ECDSA تصدیق کے ساتھ دستخط شدہ webhooks فعال کریں
- کسٹم فیلڈز میپ کریں - رابطہ منتقلی سے پہلے متعلقہ Brevo خصوصیات بنائیں
- Engagement ڈیٹا سنک کریں - Brevo میں segmentation کے لیے تاریخی stats امپورٹ کریں
- Async exports کو سنبھالیں - رابطہ exports asynchronous ہیں؛ مکمل ہونے کے لیے poll کریں
سیکیورٹی
- API Key تصدیق - گرانولر اجازت کی سطحوں کے ساتھ Bearer token
- Event Webhook دستخط - webhook payloads کے لیے ECDSA دستخط کی توثیق
- TLS انکرپشن - تمام API مواصلات HTTPS کے ذریعے انکرپٹڈ
- IP Access Management - IP کے ذریعے Dashboard اور API رسائی کو محدود کریں
- دو عنصر تصدیق - اکاؤنٹ رسائی کے لیے 2FA دستیاب