BroadNet
जर्नलइंजीनियरिंग
इंजीनियरिंग

कोड से SMS कैसे भेजें: Python, PHP, Node.js, Java, Go और C# के साथ एक REST कॉल

कोड से SMS भेजना एक प्रमाणित HTTPS POST है: एक Bearer टोकन, सेंडर ID, डेस्टिनेशन नंबर, मैसेज और मैसेज टाइप के साथ एक JSON बॉडी, और एक मैसेज ID वापस। यहाँ Python, PHP, Node.js, Java, Go और C# में वही रिक्वेस्ट, साथ ही एरर हैंडलिंग और प्रोडक्शन सलाह दी गई है।

9 मिनट की रीडिंग
इंजीनियरिंग · अंक 28
9 मिनट की रीडिंग

ोड से SMS भेजने के लिए, Authorization: Bearer हेडर और senderId, destinationNumber, मैसेज और messageType वाली JSON बॉडी के साथ https://api.broadnet.me/sms/sendSms पर एक HTTPS POST करें। एक सफल कॉल रिस्पॉन्स बॉडी के रूप में मैसेज ID के साथ HTTP 200 लौटाती है; डिलीवरी का परिणाम बाद में आपके webhook पर एक डिलीवरी रिपोर्ट (DLR) के रूप में आता है। नीचे दी गई प्रत्येक भाषा केवल अपने मानक HTTP लाइब्रेरी का उपयोग करती है; एकमात्र आधिकारिक SDK TypeScript और Node.js के लिए है।

मुख्य बातें

  • एंडपॉइंट: POST https://api.broadnet.me/sms/sendSms, JSON बॉडी, Bearer टोकन।
  • आवश्यक फ़ील्ड्स: senderId, destinationNumber (प्लस साइन के बिना इंटरनेशनल फॉर्मेट), मैसेज, messageType (TEXT)।
  • रिस्पॉन्स: मैसेज ID के साथ 200; डिलीवरी रिपोर्ट से मिलान करने के लिए इसे सुरक्षित रखें।
  • एरर्स: टोकन गायब होने या अमान्य होने पर गेटवे से 401 मिलता है; API एरर्स status, error, message, errorCode और requestUri लौटाते हैं।
  • एक आधिकारिक SDK: TypeScript/Node.js के लिए @broadnet/cpaas-sdk; OpenAPI spec से अन्य भाषाओं के लिए क्लाइंट जनरेट करें।

भेजने से पहले आपको किस चीज़ की आवश्यकता है?

  • आपके BroadNet अकाउंट से एक access token, जिसे environment variable (नीचे BROADNET_TOKEN) में रखा जाए, इसे कभी भी source code या मोबाइल ऐप में न रखें।
  • एक sender ID जिसे गंतव्य देश के लिए अनुमति दी गई हो; कुछ देशों में पहले रजिस्ट्रेशन की आवश्यकता होती है।
  • इंटरनेशनल फॉर्मेट में एक गंतव्य नंबर, उदाहरण के लिए 447700900123 (एक काल्पनिक UK नंबर)।

टेस्ट एक्सेस हमारे इंजीनियरों से मिलता है: इसका अनुरोध करें और आपको एक कार्य दिवस के भीतर टेस्ट क्रेडेंशियल्स मिल जाएंगे, और पहला टेस्ट मैसेज आमतौर पर उसके लगभग पांच मिनट बाद चला जाता है। quickstart इसमें आपका मार्गदर्शन करेगा।

रिक्वेस्ट कैसी दिखती है?

यहाँ cURL के साथ अनुरोध दिया गया है। नीचे दिया गया प्रत्येक उदाहरण एक ही JSON बॉडी भेजता है।

snippet
curl -X POST https://api.broadnet.me/sms/sendSms \
-H "Authorization: Bearer $BROADNET_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"senderId": "BroadNet",
"destinationNumber": "447700900123",
"message": "Your verification code is 482913",
"messageType": "TEXT"
}'
# 200 OK → response body is the message ID, e.g. 2603121407537573731

Python से SMS कैसे भेजें?

requests लाइब्रेरी के साथ, json= आर्गुमेंट आपके लिए Content-Type हेडर सेट कर देता है।

snippet
import os, requests
r = requests.post(
"https://api.broadnet.me/sms/sendSms",
headers={"Authorization": f"Bearer {os.environ['BROADNET_TOKEN']}"},
json={
"senderId": "BroadNet",
"destinationNumber": "447700900123",
"message": "Your verification code is 482913",
"messageType": "TEXT",
},
)
print(r.status_code, r.text) # message ID

PHP से SMS कैसे भेजें?

PHP का curl एक्सटेंशन पर्याप्त है; किसी पैकेज की आवश्यकता नहीं है।

snippet
<?php
$ch = curl_init("https://api.broadnet.me/sms/sendSms");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("BROADNET_TOKEN"),
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"senderId" => "BroadNet",
"destinationNumber" => "447700900123",
"message" => "Your verification code is 482913",
"messageType" => "TEXT",
]),
]);
$messageId = curl_exec($ch);
echo $messageId;

Node.js से SMS कैसे भेजें?

Node.js 18 और उसके बाद के वर्ज़न में fetch इन-बिल्ट है:

snippet
// Node.js 18+ (fetch)
const res = await fetch("https://api.broadnet.me/sms/sendSms", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.BROADNET_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
senderId: "BroadNet",
destinationNumber: "447700900123",
message: "Your verification code is 482913",
messageType: "TEXT",
}),
});
console.log(await res.text()); // message ID

या आधिकारिक TypeScript/Node.js SDK, @broadnet/cpaas-sdk का उपयोग करें:

snippet
// npm install @broadnet/cpaas-sdk axios
import { Configuration, SMSSMSApi } from "@broadnet/cpaas-sdk";
const sms = new SMSSMSApi(
new Configuration({
basePath: "https://api.broadnet.me",
accessToken: process.env.BROADNET_TOKEN!,
}),
);
const res = await sms.smsSendsmsPost({
sMSSmsRequest: {
senderId: "BroadNet",
destinationNumber: "447700900123",
message: "Your verification code is 482913",
messageType: "TEXT",
},
});
console.log(res.data); // message ID

आप Java के साथ SMS कैसे भेजते हैं?

Java 11 और उसके बाद के वर्ज़न में java.net.http.HttpClient शामिल है:

snippet
// Java 11+ — java.net.http is built in, nothing to install
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SendSms {
public static void main(String[] args) throws Exception {
String json = "{"
+ "\"senderId\": \"BroadNet\", "
+ "\"destinationNumber\": \"447700900123\", "
+ "\"message\": \"Your verification code is 482913\", "
+ "\"messageType\": \"TEXT\""
+ "}";
HttpRequest req = HttpRequest.newBuilder(URI.create("https://api.broadnet.me/sms/sendSms"))
.header("Authorization", "Bearer " + System.getenv("BROADNET_TOKEN"))
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(json))
.build();
HttpResponse<String> res = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(res.statusCode() + " " + res.body()); // 200 + message ID
}
}

आप Go के साथ SMS कैसे भेजते हैं?

snippet
package main
import (
"bytes"
"fmt"
"io"
"net/http"
"os"
)
func main() {
body := []byte(`{
"senderId": "BroadNet",
"destinationNumber": "447700900123",
"message": "Your verification code is 482913",
"messageType": "TEXT"
}`)
req, err := http.NewRequest(http.MethodPost, "https://api.broadnet.me/sms/sendSms", bytes.NewReader(body))
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer "+os.Getenv("BROADNET_TOKEN"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
id, _ := io.ReadAll(res.Body)
fmt.Println(res.StatusCode, string(id)) // 200 + message ID
}

आप C# और .NET के साथ SMS कैसे भेजते हैं?

.NET 6 और उसके बाद के वर्ज़न में किसी NuGet पैकेज की आवश्यकता नहीं है: HttpClient और System.Net.Http.Json पहले से ही बिल्ट-इन हैं।

snippet
// .NET 6+ console app (Program.cs) — HttpClient is built in, no NuGet package
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Net.Http.Json;
using var http = new HttpClient();
http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(
"Bearer", Environment.GetEnvironmentVariable("BROADNET_TOKEN"));
// PostAsJsonAsync sends Content-Type: application/json
var res = await http.PostAsJsonAsync("https://api.broadnet.me/sms/sendSms", new
{
senderId = "BroadNet",
destinationNumber = "447700900123",
message = "Your verification code is 482913",
messageType = "TEXT",
});
var id = await res.Content.ReadAsStringAsync();
Console.WriteLine($"{(int)res.StatusCode} {id}"); // 200 + message ID

क्या रिस्पॉन्स मिलता है, और आप एरर्स को कैसे हैंडल करते हैं?

रिस्पॉन्समतलबक्या करें
200 + मैसेज IDडिलीवरी के लिए स्वीकार किया गयाID को अपने रिकॉर्ड के साथ स्टोर करें; DLR का इंतज़ार करें
400वैलिडेशन एरर या फ़ील्ड गायब हैरिक्वेस्ट को ठीक करें; बिना बदलाव के दोबारा प्रयास न करें
401Bearer टोकन गायब है या अमान्य हैटोकन और Authorization हेडर की जाँच करें
500अनपेक्षित सर्वर त्रुटिबैकऑफ़ के साथ पुनः प्रयास करें; दोबारा भेजने से पहले मैसेज स्टेटस की जाँच करें

200 का अर्थ है कि प्लेटफ़ॉर्म ने मैसेज स्वीकार कर लिया है, इसका मतलब यह नहीं है कि हैंडसेट तक यह पहुँच गया है। डिलीवरी की जानकारी डिलीवरी रिपोर्ट द्वारा दी जाती है; DLR क्या है और SMS डिलीवरी रिपोर्ट और एरर कोड देखें। API में कोई idempotency हेडर नहीं है, इसलिए डुप्लिकेट से बचने के लिए लौटाए गए मैसेज ID को सुरक्षित रखें और दोबारा भेजने से पहले उसका स्टेटस जाँचें। एरर कोड पेज पर बाकी जानकारी दी गई है।

आप इसे प्रोडक्शन-रेडी कैसे बनाते हैं?

  • टोकन को सर्वर-साइड पर रखें। SMS API को कभी भी ब्राउज़र या मोबाइल ऐप से कॉल न करें, जहाँ से टोकन निकाला जा सके; इसके बजाय अपने स्वयं के बैकएंड को कॉल करें।
  • जानबूझकर लंबे मैसेज भेजें: GSM-7 में प्रति SMS 160 कैरेक्टर, Unicode (UCS-2) के लिए 70 कैरेक्टर आते हैं, और लंबे टेक्स्ट को बिल किए गए सेगमेंट में विभाजित कर दिया जाता है। SMS कैरेक्टर लिमिट देखें।
  • बल्क SMS को कतार (queue) में रखें और अपने अकाउंट के थ्रूपुट का सम्मान करें; रेट लिमिट्स पढ़ें।
  • webhook पर डिलीवरी रिपोर्ट प्राप्त करें और अंतिम स्थिति को स्टोर करें।
  • नंबरों को पहले इंटरनेशनल फॉर्मेट में वैलिडेट करें; E.164 फोन नंबर वैलिडेशन देखें।

बहुत अधिक वॉल्यूम या मौजूदा टेलीकॉम स्टैक के लिए, REST की तुलना में SMPP अधिक उपयुक्त हो सकता है; SMPP बनाम REST देखें। BroadNet का प्लेटफ़ॉर्म प्रति नोड प्रति सेकंड 30,000 SMS हैंडल करता है।

अक्सर पूछे जाने वाले प्रश्न

कोड से SMS भेजने का सबसे सरल तरीका क्या है?

एक्सेस टोकन और JSON बॉडी के साथ SMS API पर एक HTTPS POST। BroadNet के साथ यह senderId, destinationNumber, मैसेज और messageType के साथ POST https://api.broadnet.me/sms/sendSms है।

क्या Python, PHP या Java के लिए कोई BroadNet SDK है?

नहीं। TypeScript और Node.js के लिए एक आधिकारिक SDK, @broadnet/cpaas-sdk उपलब्ध है। अन्य भाषाएँ सीधे REST API को कॉल करती हैं, जैसा कि यहाँ दिखाया गया है, या OpenAPI spec से एक क्लाइंट जनरेट करती हैं।

फ़ोन नंबर किस फ़ॉर्मेट में होना चाहिए?

कंट्री कोड के साथ इंटरनेशनल फ़ॉर्मेट, जिसमें प्लस साइन या स्पेस नहीं होना चाहिए, उदाहरण के लिए 447700900123।

क्या 200 रिस्पॉन्स का मतलब है कि SMS डिलीवर हो गया?

नहीं। इसका मतलब है कि मैसेज स्वीकार कर लिया गया है। डिलीवरी रिपोर्ट (DLR) यह बताती है कि क्या वह हैंडसेट तक पहुँच गया है।

क्या मैं सीधे Android या iOS ऐप से SMS भेज सकता हूँ?

सुरक्षित रूप से नहीं। API कॉल को अपने सर्वर पर रखें ताकि एक्सेस टोकन कभी भी ऐप के अंदर न जाए, और ऐप को अपने सर्वर को कॉल करने के लिए कहें।

मुझे पूरा API रेफरेंस कहाँ मिलेगा?

API रेफरेंस और OpenAPI spec में।

कोड सैम्पल्स हमारे डेवलपर पेजों पर दिए गए हैं, जिन्हें प्रकाशित OpenAPI spec के अनुसार जांचा गया है। 28 सितंबर 2026 को समीक्षा की गई। हमारे editorial standards देखें।

क्या यह उपयोगी था?

हम सामग्री कैसे लिखते और जाँचते हैं

द्वारा लिखित

BroadNet संपादकीय टीम

एडिटोरियल टीम BroadNet ब्लॉग प्रकाशित करती है। लेख BroadNet की रेगुलेटरी अफेयर्स, प्रोडक्ट, इंजीनियरिंग, इंडस्ट्री रिसर्च और ऑपरेटर सॉल्यूशंस टीमों के साथ मिलकर लिखे जाते हैं, और हमारे एडिटोरियल मानकों के तहत उनकी समीक्षा की जाती है।

पढ़ना जारी रखें

जर्नल से तीन और लेख।

सभी लेख देखें
ई
इंजीनियरिंग

ईमेल-टू-SMS: ईमेल-टू-SMS गेटवे कैसे काम करता है, इसका उपयोग कब करें और इसे सुरक्षित कैसे रखें

एक ईमेल-टू-SMS गेटवे फोन नंबर को संबोधित किए गए ईमेल को टेक्स्ट मैसेज में बदल देता है, जिससे मॉनिटरिंग टूल्स, हेल्पडेस्क और पुराने सिस्टम जो केवल ईमेल भेज सकते हैं, SMS के माध्यम से लोगों तक पहुँच सकते हैं। यहाँ बताया गया है कि यह कैसे काम करता है, यह API से बेहतर कब है, और स्पूफ किए गए मेल के खिलाफ इसे सुरक्षित कैसे बनाया जाए।

BroadNet संपादकीय टीम
7m
म
इंजीनियरिंग

मैसेजिंग के लिए MCP: AI एजेंट कैसे सुरक्षित रूप से SMS और WhatsApp भेज सकते हैं

एक MCP सर्वर मैसेजिंग API को ऐसे टूल्स में बदल देता है जिन्हें एक AI एजेंट कॉल कर सकता है। यह शक्तिशाली और जोखिम भरा है: एक 'सेंड टूल' वाला एजेंट वास्तविक ग्राहकों को मैसेज भेज सकता है। यहाँ बताया गया है कि SMS और WhatsApp के लिए MCP कैसे काम करता है, BroadNet के सर्वर से कैसे जुड़ें, और सबसे पहले कौन से सुरक्षा उपाय (guardrails) लागू करने चाहिए।

BroadNet इंजीनियरिंग
11m
M
प्रोडक्ट

MobileValidate का परिचय: कुछ भी भेजने से पहले फ़ोन नंबर और e-mail की जाँच करें, BroadNet की ओर से

MobileValidate एक नया BroadNet ब्रांड है: एक API जो कुछ भी भेजने से पहले फ़ोन नंबर के ऑपरेटर और लाइन टाइप की जाँच करता है, यह भी देखता है कि क्या वह मैसेजिंग ऐप्स पर रजिस्टर्ड है, और क्या कोई e-mail मेलबॉक्स मौजूद है। यह अभी प्राइवेट प्रिव्यू में है। यहाँ बताया गया है कि यह क्या जाँचता है, इसका बिलिंग कैसे होता है, यह व्यक्तिगत डेटा को कैसे संभालता है और यह BroadNet मैसेजिंग के साथ कैसे फिट बैठता है।

BroadNet संपादकीय टीम
7m
जर्नल, ईमेल द्वारा

महीने में एक लेख। और कुछ नहीं।

सब्सक्राइब करें और हम अगला हिस्सा — इंजीनियरिंग, रेगुलेशन, या इंडस्ट्री — जैसे ही वह जारी होगा, आपको भेज देंगे। कोई ड्रिप कैंपेन नहीं, कोई प्रोडक्ट पिच नहीं, और न ही किसी तीसरे पक्ष के साथ जानकारी साझा की जाएगी। एक क्लिक में अनसब्सक्राइब करें।

हम महीने में एक ईमेल भेजते हैं। किसी भी समय अनसब्सक्राइब करें। हमारी प्राइवेसी पॉलिसी.

आपको क्या मिलेगा
  • लंबे लेख, लिंक बेट नहीं
    एक ही विषय पर छह से ग्यारह मिनट का केंद्रित लेखन।
  • ऑपरेटरों द्वारा लिखित
    इंजीनियर्स, रेगुलेटरी लीड्स और इन-हाउस प्रोडक्ट राइटिंग।
  • क्षेत्र-आधारित
    रेगुलेटर्स, ऑपरेटर्स और चैनल मिक्स पर MENA-आधारित दृष्टिकोण।
  • महीने में एक बार
    कोई ड्रिप कैंपेन नहीं। जब कुछ साझा करने लायक हो, तब एक निबंध।
पढ़ना बंद करें। काम शुरू करें।

हम जो कुछ भी लिखते हैं, उसका अधिकांश हिस्सा हमने प्रोडक्शन के दौरान सीखा है।

अगर इस लेख ने आपको सहमत किया है, तो हमें शायद बात करनी चाहिए। अपना यूज़ केस, वॉल्यूम और मार्केट लेकर आएं — हम रूटिंग, कीमतों और एक रेफरेंस कस्टमर के साथ वापस आएंगे जिसे आप कॉल कर सकते हैं।

$ curl -X POST https://api.broadnet.me/sms/sendSms