SendGrid कनेक्टर

ईमेल इन्फ्रास्ट्रक्चर माइग्रेशन, कॉन्टैक्ट सिंक्रनाइज़ेशन, कैंपेन डेटा स्थानांतरण, और दोनों प्लेटफ़ॉर्म्स में एकीकृत एंगेजमेंट एनालिटिक्स के लिए अपने SendGrid खाते को Tajo के माध्यम से Brevo से कनेक्ट करें।

अवलोकन

गुणमान
प्लेटफ़ॉर्मSendGrid (Twilio)
श्रेणीMarketing
सेटअप जटिलताआसान
आधिकारिक इंटीग्रेशनहां
सिंक किया गया डेटाकॉन्टैक्ट्स, कैंपेन, ट्रांज़ैक्शनल ईमेल, इवेंट्स
API Base URLhttps://api.sendgrid.com/v3

विशेषताएं

  • कॉन्टैक्ट माइग्रेशन - कस्टम फ़ील्ड्स के साथ SendGrid Marketing कॉन्टैक्ट्स को Brevo में माइग्रेट करें
  • Transactional ईमेल सिंक - एकीकृत रिपोर्टिंग के लिए transactional ईमेल इवेंट्स ट्रैक करें
  • कैंपेन डेटा - Single Send और Automation कैंपेन प्रदर्शन डेटा सिंक करें
  • Event webhooks - ईमेल इवेंट्स (delivered, opened, clicked, bounced) को Brevo में फ़ॉरवर्ड करें
  • Suppression सिंक - अनुपालन के लिए bounce, block, और unsubscribe lists माइग्रेट करें
  • Template माइग्रेशन - Brevo उपयोग के लिए Dynamic Transactional Templates निर्यात करें
  • Sender सत्यापन - सत्यापित sender identities और domain प्रमाणीकरण सिंक करें
  • आंकड़े सिंक - Brevo एट्रिब्यूट्स में ऐतिहासिक एंगेजमेंट आंकड़े आयात करें

पूर्वावश्यकताएं

शुरू करने से पहले, सुनिश्चित करें कि आपके पास है:

  1. एक SendGrid खाता (Free, Essentials, Pro, या Premier)
  2. आवश्यक अनुमतियों के साथ एक SendGrid API key
  3. API एक्सेस वाला एक Brevo खाता
  4. एक Tajo खाता

प्रमाणीकरण

API Key प्रमाणीकरण

SendGrid bearer token प्रमाणीकरण का उपयोग करता है।

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 में API keys बनाएं:

  • Full Access - संपूर्ण API एक्सेस
  • Restricted Access - Granular अनुमति नियंत्रण
  • Billing Access - केवल-billing operations

आवश्यक अनुमतियां

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 Key सुरक्षा

SendGrid API keys केवल creation के समय दिखाई जाती हैं। उन्हें सुरक्षित रूप से संग्रहीत करें। यदि खो गई, तो आपको एक नई 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 pairs

list_ids optional
array

SendGrid list memberships

कस्टम फ़ील्ड मैपिंग

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 एंडपॉइंट्स

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सभी कॉन्टैक्ट lists सूचीबद्ध करें

Transactional ईमेल (Mail Send)

मेथडएंडपॉइंटविवरण
POST/v3/mail/sendएक ईमेल भेजें
GET/v3/templatesDynamic Templates सूचीबद्ध करें
GET/v3/templates/{id}template विवरण प्राप्त करें

कैंपेन (Single Sends)

मेथडएंडपॉइंटविवरण
GET/v3/marketing/singlesendsSingle Sends सूचीबद्ध करें
GET/v3/marketing/singlesends/{id}Single Send विवरण प्राप्त करें
GET/v3/marketing/automationsAutomations सूचीबद्ध करें

आंकड़े

मेथडएंडपॉइंटविवरण
GET/v3/statsवैश्विक ईमेल आंकड़े प्राप्त करें
GET/v3/categories/statscategory आंकड़े प्राप्त करें
GET/v3/marketing/stats/singlesendsSingle Send आंकड़े प्राप्त करें

Suppressions

मेथडएंडपॉइंटविवरण
GET/v3/suppression/bouncesbounced ईमेल सूचीबद्ध करें
GET/v3/suppression/blocksblocked ईमेल सूचीबद्ध करें
GET/v3/suppression/spam_reportsspam reports सूचीबद्ध करें
GET/v3/suppression/unsubscribesवैश्विक unsubscribes सूचीबद्ध करें

इवेंट्स

ईमेल इवेंट्स (Event Webhook के माध्यम से)

इवेंटट्रिगरउपयोग मामला
processedईमेल SendGrid द्वारा स्वीकारभेजने की पुष्टि
deliveredईमेल recipient को डिलीवर हुआडिलीवरी ट्रैकिंग
openईमेल खोला गयाएंगेजमेंट स्कोरिंग
clickलिंक क्लिक कियारुचि ट्रैकिंग
bounceईमेल बाउंस हुआList हाइजीन
droppedईमेल suppress हुआअनुपालन समीक्षा
deferredडिलीवरी विलंबितरीट्राई निगरानी
spam_reportस्पैम के रूप में चिह्नितप्रतिष्ठा प्रबंधन
unsubscribeलिंक के माध्यम से unsubscribedवरीयता सिंक

कोड उदाहरण

कनेक्टर प्रारंभ करें

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
});

Brevo में कॉन्टैक्ट्स माइग्रेट करें

// 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
// }

ईमेल इवेंट्स फ़ॉरवर्ड करें

// 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');
});

दर सीमाएं

SendGrid API दर सीमाएं:

एंडपॉइंटसीमाविवरण
Mail Send (/v3/mail/send)प्लान-निर्भरFree: 100/दिन, Essentials: प्लान पर आधारित
Marketing Contacts PUT3 अनुरोध/सेकंड30,000 तक कॉन्टैक्ट्स बैच करें
Marketing Contacts Search50 अनुरोध/सेकंडप्रति API key
General API1,000 अनुरोध/सेकंडप्रति API key
Event Webhookबैच डिलीवरीप्रति POST 1,000 तक इवेंट्स

Mail Send सीमाएं

Mail Send सीमाएं आपके SendGrid प्लान पर निर्भर करती हैं। Free अकाउंट्स 100 ईमेल/दिन तक सीमित हैं। सटीक sending सीमाओं के लिए अपना प्लान विवरण जांचें।

समस्या निवारण

सामान्य समस्याएं

समस्याकारणसमाधान
401 Unauthorizedअमान्य API keySendGrid Settings में API key सत्यापित करें
403 Forbiddenअपर्याप्त API key अनुमतियांआवश्यक scopes के साथ नई key बनाएं
Contact export pendingबड़ा डेटासेट processingexport status एंडपॉइंट को complete होने तक poll करें
Suppression sync अधूराPagination आवश्यकoffset पैरामीटर के साथ pagination लागू करें
Event webhook प्राप्त नहीं हुआURL सत्यापित नहींSendGrid में webhook URL सत्यापन पूरा करें

डीबग मोड

विस्तृत लॉगिंग सक्षम करें:

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

कनेक्शन परीक्षण करें

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

सर्वोत्तम प्रथाएं

  1. पहले suppressions माइग्रेट करें - भेजने से पहले सुनिश्चित करें कि bounces, blocks, और unsubscribes Brevo में हैं
  2. batch contact uploads का उपयोग करें - दक्षता के लिए प्रति अनुरोध 30,000 तक कॉन्टैक्ट्स PUT करें
  3. Event Webhook सत्यापित करें - ECDSA सत्यापन के साथ हस्ताक्षरित webhooks सक्षम करें
  4. कस्टम फ़ील्ड्स मैप करें - कॉन्टैक्ट माइग्रेशन से पहले संबंधित Brevo एट्रिब्यूट्स बनाएं
  5. एंगेजमेंट डेटा सिंक करें - Brevo में सेगमेंटेशन के लिए ऐतिहासिक आंकड़े आयात करें
  6. async exports हैंडल करें - Contact exports asynchronous हैं; completion के लिए poll करें

सुरक्षा

  • API Key प्रमाणीकरण - granular अनुमति स्तरों के साथ Bearer token
  • Event Webhook signing - webhook payloads के लिए ECDSA सिग्नेचर सत्यापन
  • TLS एन्क्रिप्शन - सभी API संचार HTTPS के माध्यम से एन्क्रिप्टेड
  • IP Access Management - IP द्वारा Dashboard और API एक्सेस को प्रतिबंधित करें
  • Two-factor प्रमाणीकरण - खाता एक्सेस के लिए 2FA उपलब्ध

संबंधित संसाधन

Subscribe to updates

developer-docs

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

auto-detect
AI Assistant

Hi! Ask me anything about the docs.