BroadNet
DergiMühendislik
Mühendislik

Kod ile SMS nasıl gönderilir: Tek bir REST çağrısı ile Python, PHP, Node.js, Java, Go ve C#

Kod üzerinden SMS göndermek, tek bir kimlik doğrulamalı HTTPS POST işlemidir: bir Bearer token, gönderici adı, hedef numara, mesaj ve mesaj türünü içeren bir JSON gövdesi ve karşılığında alınan bir mesaj kimliği. İşte aynı isteğin Python, PHP, Node.js, Java, Go ve C# dillerindeki örnekleri, ayrıca hata yönetimi ve canlı ortam tavsiyeleri.

9 dk okuma
Mühendislik · Sayı 28
9 dk okuma

od üzerinden SMS göndermek için, Authorization: Bearer başlığı ve senderId, destinationNumber, mesaj ile messageType içeren bir JSON gövdesi ile https://api.broadnet.me/sms/sendSms adresine bir HTTPS POST isteği yapın. Başarılı bir çağrı, yanıt gövdesi olarak mesaj kimliği ile birlikte 200 HTTP döner; iletim sonucu daha sonra webhook'unuza bir iletim raporu (DLR) olarak ulaşır. Aşağıdaki her dil yalnızca kendi standart HTTP kütüphanesini kullanır; tek resmi SDK ise TypeScript ve Node.js içindir.

Önemli çıkarımlar

  • Uç nokta: POST https://api.broadnet.me/sms/sendSms, JSON gövdesi, Bearer token'ı.
  • Gerekli alanlar: senderId, destinationNumber (artı işareti olmadan uluslararası format), mesaj, messageType (TEXT).
  • Yanıt: Mesaj kimliği ile birlikte 200; iletim raporlarıyla eşleştirmek için bu kimliği saklayın.
  • Hatalar: Eksik veya geçersiz bir token için ağ geçidinden 401 hatası alınır; API hataları durum (status), hata (error), mesaj (message), errorCode ve requestUri bilgilerini döndürür.
  • Tek bir resmi SDK: TypeScript/Node.js için @broadnet/cpaas-sdk; diğer diller için istemcileri OpenAPI spesifikasyonundan oluşturun.

Gönderim yapmadan önce nelere ihtiyacınız var?

  • Bir ortam değişkeninde (aşağıdaki BROADNET_TOKEN) tutulan, asla kaynak kodunda veya bir mobil uygulamada bulundurulmaması gereken BroadNet hesabınızdan bir erişim belirteci.
  • Hedef ülke için izin verilen bir gönderici adı; bazı ülkeler önce kayıt yapılmasını gerektirir.
  • Uluslararası formatta bir hedef numara, örneğin 447700900123 (kurgusal bir Birleşik Krallık numarası).

Test erişimi mühendislerimiz tarafından sağlanır: test erişimi talep edin ve bir iş günü içinde test kimlik bilgilerini alın; ilk test mesajı genellikle bundan yaklaşık beş dakika sonra gönderilir. Hızlı başlangıç kılavuzu süreci adım adım açıklar.

İstek nasıl görünür?

İşte cURL içeren istek. Aşağıdaki her örnek aynı JSON gövdesini gönderir.

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 ile SMS nasıl gönderilir?

requests kütüphanesi ile json= argümanı, Content-Type başlığını sizin yerinize ayarlar.

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 ile SMS nasıl gönderilir?

PHP'ın curl uzantısı yeterlidir; herhangi bir pakete ihtiyaç duyulmaz.

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 ile SMS nasıl gönderilir?

Node.js 18 ve sonraki sürümlerde fetch yerleşik olarak bulunur:

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

Veya resmi TypeScript/Node.js SDK, @broadnet/cpaas-sdk kullanın:

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 ile SMS nasıl gönderilir?

Java 11 ve sonraki sürümler java.net.http.HttpClient içerir:

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 ile nasıl SMS gönderilir?

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# ve .NET ile nasıl SMS gönderilir?

.NET 6 ve sonraki sürümlerde NuGet paketine gerek yoktur: HttpClient ve System.Net.Http.Json yerleşik olarak bulunur.

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

Geri dönüş değeri nedir ve hatalar nasıl yönetilir?

YanıtAnlamıYapılması gerekenler
200 + mesaj kimliğiİletim için kabul edildiKimliği kendi kaydınızla birlikte saklayın; DLR için bekleyin
400Doğrulama hatası veya eksik alanİsteği düzeltin; aynı şekilde tekrar denemeyin
401Eksik veya geçersiz Bearer belirteciToken'ı ve Authorization başlığını kontrol edin
500Beklenmedik sunucu hatasıGecikmeli olarak tekrar deneyin; yeniden göndermeden önce mesaj durumunu kontrol edin

200 kodu, platformun mesajı kabul ettiği anlamına gelir, cihazın mesajı aldığı anlamına gelmez. İletim, iletim raporu ile bildirilir; DLR nedir ve SMS iletim raporları ve hata kodları bölümlerine göz atın. API yapısında idempotency başlığı bulunmamaktadır, bu nedenle mükerrer gönderimleri önlemek için dönen mesaj kimliğini (ID) saklayın ve yeniden göndermeden önce durumunu kontrol edin. Diğer tüm hata kodları sayfasında listelenmiştir.

Canlı ortama nasıl hazırlarsınız?

  • Token'ı sunucu tarafında tutun. Token'ın çekilebileceği bir tarayıcı veya mobil uygulamadan asla SMS API çağrısı yapmayın; bunun yerine kendi backend sisteminizi çağırın.
  • Uzun mesajları bilinçli olarak gönderin: GSM-7 her SMS için 160 karakter, Unicode (UCS-2) için ise 70 karakter kapasitesine sahiptir; daha uzun metinler ücretlendirilen segmentlere bölünür. SMS karakter sınırına göz atın.
  • Toplu gönderimleri kuyruğa alın ve hesabınızın iletim kapasitesine uyun; hız sınırlarını inceleyin.
  • Webhook üzerinden iletim raporlarını alın ve nihai durumu kaydedin.
  • Numaraları önce uluslararası formatta doğrulayın; E.164 telefon numarası doğrulaması hakkında bilgi alın.

Çok yüksek hacimli işlemler veya mevcut bir telekom altyapısı için SMPP, REST'den daha uygun olabilir; SMPP ile REST karşılaştırması için inceleyin. BroadNet platformu, düğüm başına saniyede 30.000 SMS işleyebilir.

Sıkça sorulan sorular

Kod üzerinden SMS göndermenin en basit yolu nedir?

Bir erişim belirteci ve JSON gövdesi ile bir SMS API'sine yapılacak tek bir HTTPS POST isteğidir. BroadNet ile bu; senderId, destinationNumber, message ve messageType içeren POST https://api.broadnet.me/sms/sendSms isteğidir.

Python, PHP veya Java için BroadNet SDK mevcut mu?

Hayır. TypeScript ve Node.js için @broadnet/cpaas-sdk adında tek bir resmi SDK bulunmaktadır. Diğer diller, burada gösterildiği gibi doğrudan REST API'yi çağırır veya OpenAPI spesifikasyonundan bir istemci oluşturur.

Telefon numarası hangi formatta olmalıdır?

Ülke kodu içeren, artı işareti veya boşluk içermeyen uluslararası format; örneğin 447700900123.

200 yanıtı SMS'in iletildiği anlamına mı gelir?

Hayır. Bu, mesajın kabul edildiği anlamına gelir. İletim raporu (DLR), mesajın cihaza ulaşıp ulaşmadığını bildirir.

SMS'i doğrudan bir Android veya iOS uygulamasından gönderebilir miyim?

Güvenli değil. Erişim jetonunun (access token) uygulama içinde yer almaması için API çağrısını sunucunuzda gerçekleştirin ve uygulamanın sunucunuzu çağırmasını sağlayın.

Tam API referansını nerede bulabilirim?

API referansında ve OpenAPI spesifikasyonunda.

Kod örnekleri, yayınlanmış OpenAPI spesifikasyonuna göre kontrol edilen geliştirici sayfalarımızdaki örneklerdir. 28 Eylül 2026 tarihinde gözden geçirilmiştir. Editörlük standartlarımıza göz atın.

Bu faydalı mıydı?

İçerikleri nasıl yazıyor ve gözden geçiriyoruz

Yazan

BroadNet Editoryal Ekibi

Editoryal Ekip, BroadNet blogunu yayınlamaktadır. Makaleler; BroadNet'in mevzuat ve düzenleme, ürün, mühendislik, sektör araştırması ve operatör çözümleri ekipleriyle birlikte yazılmakta ve editoryal standartlarımız çerçevesinde incelenmektedir.

Okumaya devam edin

Dergiden üç yazı daha.

Tüm yazıları görüntüleyin
S
Mühendislik

SMS'e e-posta gönderimi: e-posta-SMS ağ geçidinin çalışma prensibi, kullanım alanları ve güvenliği

Bir e-posta-SMS ağ geçidi, bir telefon numarasına yönlendirilen e-postayı metin mesajına dönüştürür; böylece yalnızca e-posta gönderebilen izleme araçları, yardım masaları ve eski sistemler SMS üzerinden kişilere ulaşabilir. İşte bu sistemin nasıl çalıştığı, bir API'den ne zaman daha avantajlı olduğu ve sahte e-postalara karşı nasıl korunacağı.

BroadNet Editoryal Ekibi
7m
M
Mühendislik

Mesajlaşma için MCP: Yapay zeka ajanları SMS ve WhatsApp mesajlarını nasıl güvenli bir şekilde gönderebilir?

Bir MCP sunucusu, mesajlaşma API'sini bir yapay zeka ajanının çağırabileceği araçlara dönüştürür. Bu hem güçlü hem de risklidir: Gönderme aracına sahip bir ajan, gerçek müşterilere mesaj gönderebilir. İşte SMS ve WhatsApp için MCP'nin nasıl çalıştığı, BroadNet sunucusuna nasıl bağlanılacağı ve öncelikle uygulanması gereken güvenlik önlemleri.

BroadNet Mühendislik Ekibi
11m
M
Ürün

MobileValidate ile tanışın: BroadNet tarafından sunulan, gönderim öncesi telefon numarası ve e-posta kontrolleri

MobileValidate, BroadNet'in yeni bir markasıdır: Herhangi bir gönderim yapmadan önce bir telefon numarasının operatörünü ve hat tipini, mesajlaşma uygulamalarına kayıtlı olup olmadığını ve bir e-posta posta kutusunun mevcut olup olmadığını kontrol eden bir API'dir. Şu an özel ön izleme aşamasındadır. İşte neleri kontrol ettiği, nasıl faturalandırıldığı, kişisel verileri nasıl işlediği ve BroadNet mesajlaşma çözümleriyle nasıl entegre olduğu hakkında bilgiler.

BroadNet Editoryal Ekibi
7m
Dergi, e-posta ile

Ayda bir yazı. Başka hiçbir şey.

Abone olun; mühendislik, mevzuat veya sektörle ilgili bir sonraki içeriği yayınlandığı gün size gönderelim. Drip kampanyaları, ürün tanıtımları veya üçüncü taraflarla paylaşım yoktur. Tek tıkla abonelikten çıkabilirsiniz.

Ayda bir e-posta gönderiyoruz. İstediğiniz zaman abonelikten çıkabilirsiniz. Şuna göz atın: gizlilik politikası.

Neler alacaksınız?
  • Tık tuzağı olmayan, kapsamlı içerikler
    Tek bir konuya odaklanmış, altı ila on bir dakikalık okuma süreli yazılar.
  • Platformu işletenler yazıyor
    Mühendisler, mevzuat sorumluları ve kurum içi ürün yazarları tarafından hazırlanır.
  • Bölge odaklı
    Düzenleyici kurumlar, operatörler ve kanal karması üzerine MENA merkezli bir bakış açısı.
  • Ayda bir kez
    Drip kampanyası yok. Sadece paylaşacak bir şey olduğunda tek bir makale.
Okumayı bırakın. Uygulamaya başlayın.

Yazdıklarımızın çoğu, sahada edindiğimiz deneyimlere dayanıyor.

Eğer bu yazı size haklı geliyorsa, muhtemelen konuşmalıyız. Kullanım durumunu, hacimleri ve pazarları getirin; biz de size rota, fiyatlandırma ve arayabileceğiniz referans bir müşteri ile geri dönelim.

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