API के माध्यम से ईमेल कैसे भेजें: PHP, Node, Python, Go
/api/v1/messages पर Bearer कुंजी के साथ POST — कार्यशील curl और चार-SDK उदाहरणों के साथ त्रुटि प्रबंधन।
API के माध्यम से ईमेल कैसे भेजें
To send an email through the YourTrend API, make a POST request to https://yourtrend.online/api/v1/messages with an Authorization: Bearer YOUR_API_KEY header and a JSON body containing from, to, subject and html. The server responds 202 Accepted, queues the message and signs it with DKIM. Below are working examples in curl and four SDKs.
एक API कुंजी प्राप्त करें और अपने डोमेन की पुष्टि करें
"API कुंजी" के तहत पैनल में एक कुंजी बनाएं — प्रत्येक कुंजी में ऐसे स्कोप होते हैं जैसे messages:send। आप केवल एक सत्यापित डोमेन पर एक पते से भेज सकते हैं: डोमेन जोड़ें, SPF, DKIM और DMARC प्रकाशित करें, और verified स्थिति की प्रतीक्षा करें। दस्तावेज़ीकरण देखें, और deliverability lab में एक डोमेन की मुफ्त में जांच करें।
त्वरित प्रारंभ: curl
curl -X POST https://yourtrend.online/api/v1/messages \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from": "noreply@yourdomain.com",
"to": "user@example.com",
"subject": "Welcome!",
"html": "<h1>नमस्ते</h1><p>साइन अप करने के लिए धन्यवाद।</p>",
"stream": "transactional"
}'
सफल प्रतिक्रिया HTTP 202:
{
"data": {
"id": "9b1c7e2a-1f3d-4b8a-9c11-4a2f6e8d0c33",
"status": "queued",
"stream": "transactional",
"from": "noreply@yourdomain.com",
"to": "user@example.com",
"subject": "Welcome!"
}
}
PHP
एकल-फाइल SDK को /sdk/yourtrend.php से प्राप्त करें — कोई निर्भरता नहीं, केवल cURL एक्सटेंशन।
<?php
require 'yourtrend.php';
$yt = new YourTrend('YOUR_API_KEY');
$res = $yt->sendEmail(
'noreply@yourdomain.com',
'user@example.com',
'Welcome!',
'<h1>नमस्ते</h1>'
);
if ($res['status'] === 202) {
echo 'Queued: ' . $res['data']['data']['id'];
} else {
echo 'Error: ' . ($res['data']['error']['message'] ?? 'unknown');
}
Node.js
/sdk/yourtrend.js SDK अंतर्निहित fetch (Node 18+) का उपयोग करता है और किसी बाहरी पैकेज की आवश्यकता नहीं है।
const YourTrend = require('./yourtrend');
const yt = new YourTrend('YOUR_API_KEY');
const { status, data } = await yt.sendEmail(
'noreply@yourdomain.com',
'user@example.com',
'Welcome!',
'<h1>नमस्ते</h1>'
);
if (status === 202) console.log('Queued:', data.data.id);
else console.error('Error:', data.error?.message);
पायथन
यह /sdk/yourtrend.py SDK शुद्ध मानक पुस्तकालय (urllib) है — कुछ भी स्थापित करने की आवश्यकता नहीं।
from yourtrend import YourTrend
yt = YourTrend('YOUR_API_KEY')
res = yt.send_email(
'noreply@yourdomain.com',
'user@example.com',
'स्वागत है!',
'<h1>नमस्ते</h1>',
)
if res['status'] == 202:
print('क्यू में:', res['data']['data']['id'])
else:
print('त्रुटि:', res['data']['error']['message'])
जाओ
पैकेज मुख्य
import (
"fmt"
"log"
"yourtrend"
)
func main() {
c := yourtrend.New("YOUR_API_KEY")
resp, err := c.SendEmail(
"noreply@yourdomain.com",
"user@example.com",
"स्वागत है!",
"<h1>नमस्ते</h1>",
)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
fmt.Println("HTTP", resp.StatusCode) // 202 = स्वीकार किया गया
}
अतिरिक्त फ़ील्ड
अनुरोध शरीर चार मूल बातें से अधिक स्वीकार करता है:
पाठ— एक साधारण पाठ विकल्प (htmlके साथ अनुशंसित)।cc,bcc,reply_to— पते के ऐरे या एक अल्पविराम से अलग स्ट्रिंग।स्ट्रीम—लेनदेनात्मकयाबुल्क: स्ट्रीम को विभाजित करना आपके आईपी की प्रतिष्ठा की रक्षा करता है।अटैचमेंट्स— एक ऐरे जिसमें{फाइलनाम, सामग्री, सामग्री_प्रकार}ऑब्जेक्ट्स हैं, जिसमेंसामग्रीबेस64-कोडित है।टेम्पलेट_आईडी+चर— मर्ज प्रतिस्थापन के साथ एक संग्रहीत टेम्पलेट भेजें।भेजें_पर— अनुसूचित डिलीवरी के लिए एक ISO-8601 टाइमस्टैम्प।
इडेम्पोटेंसी और परीक्षण मोड
एक इडेम्पोटेंसी-की: <uuid> हेडर जोड़ें — एक ही अनुरोध (मान लीजिए, टाइमआउट के बाद) के पुनः प्रयास पर YourTrend पहली प्रतिक्रिया लौटाता है बजाय डुप्लिकेट भेजने के। X-Test-Mode: true हेडर वास्तविक डिलीवरी के बिना और कोटा का उपभोग किए बिना अनुरोध चलाता है — CI में सहायक।
त्रुटियों को संभालना
हर API त्रुटि एक लिफाफे में आती है:
{
"error": {
"code": "quota_exceeded",
"message": "दैनिक भेजने की सीमा पहुंच गई।",
"request_id": "0f9d…"
}
}
HTTP स्थिति की जांच करें, केवल शरीर नहीं। सामान्य कोड: 401 — खराब कुंजी; 422 — मान्यता त्रुटि (एक त्रुटियों फ़ील्ड प्रत्येक फ़ील्ड के लिए समस्या सूचीबद्ध करता है); 429 — दर सीमित, पुनः प्रयास करें एक्सपोनेंशियल बैकऑफ के साथ; 402/quota_exceeded — योजना कोटा समाप्त। बल्क कार्यों के लिए POST /api/v1/messages/batch का उपयोग करें (1000 संदेशों तक, एक 207 प्रतिक्रिया के साथ प्रति-संदेश स्थिति)।
क्या आप अपने स्टैक के लिए एक रैपर चाहते हैं? PHP, Node, Python और Go के लिए YourTrend SDKs प्रत्येक एक निर्भरता-मुक्त फ़ाइल हैं — उन्हें सीधे अपने प्रोजेक्ट में कॉपी करें। एंडपॉइंट्स और फ़ील्ड्स की पूरी सूची API दस्तावेज़ीकरण में है, और वॉल्यूम टियर मूल्य निर्धारण पृष्ठ पर हैं।
स्थिति और वेबहुक की जांच करना
एक बार कतारबद्ध होने पर, आप एक संदेश की स्थिति को GET /api/v1/messages/{id} के साथ पढ़ सकते हैं — प्रतिक्रिया में स्थिति (कतारबद्ध, भेजा गया, वितरित, बाउंस, शिकायत) के साथ-साथ ओपन और शिकायत की गिनती होती है। प्रति संदेश API को पोल करना व्यर्थ है, इसलिए डिलीवरी इवेंट के लिए वेबहुक सेट करें: YourTrend एक POST आपके URL पर भेजता है जब वितरित, खोला गया, क्लिक किया गया, बाउंस और शिकायत की गई। प्रत्येक कॉल एक हेडर में HMAC-हस्ताक्षरित होती है — धोखाधड़ी को अस्वीकार करने के लिए हस्ताक्षर की पुष्टि करें, और कुछ सेकंड के भीतर 2xx का उत्तर दें; विफलता पर वेबहुक को बढ़ते बैकऑफ के साथ पुनः प्रयास किया जाता है (एक पुनः प्रयास कतार)। यही है कि आप मजबूत विफलता हैंडलिंग कैसे बनाते हैं: हार्ड बाउंस को दमन सूची में भेजा जाता है, शिकायतों को तत्काल प्रतिक्रिया मिलती है, और आपकी अपनी एनालिटिक्स बिना मैनुअल पोलिंग के भर जाती है। इवेंट प्रकारों और पेलोड आकार की पूरी सूची दस्तावेज़ीकरण में है, और भेजने के टियर मूल्य निर्धारण पृष्ठ पर हैं।
इस पृष्ठ पर
← सभी लेखएक क्लिक। यह हमें बताता है कि अगला क्या लिखना है।
अभी तक कोई रेटिंग नहीं — आपकी पहली होगी।
टिप्पणियाँ
टिप्पणियाँ दिखाई देने से पहले पढ़ी जाती हैं।