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.
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. 2603121407537573731Python ile SMS nasıl gönderilir?
requests kütüphanesi ile json= argümanı, Content-Type başlığını sizin yerinize ayarlar.
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 IDPHP ile SMS nasıl gönderilir?
PHP'ın curl uzantısı yeterlidir; herhangi bir pakete ihtiyaç duyulmaz.
<?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:
// 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 IDVeya resmi TypeScript/Node.js SDK, @broadnet/cpaas-sdk kullanın:
// npm install @broadnet/cpaas-sdk axiosimport { 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 IDJava ile SMS nasıl gönderilir?
Java 11 ve sonraki sürümler java.net.http.HttpClient içerir:
// Java 11+ — java.net.http is built in, nothing to installimport 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?
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.
// .NET 6+ console app (Program.cs) — HttpClient is built in, no NuGet packageusing 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/jsonvar 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 IDGeri dönüş değeri nedir ve hatalar nasıl yönetilir?
| Yanıt | Anlamı | Yapılması gerekenler |
|---|---|---|
| 200 + mesaj kimliği | İletim için kabul edildi | Kimliği kendi kaydınızla birlikte saklayın; DLR için bekleyin |
| 400 | Doğrulama hatası veya eksik alan | İsteği düzeltin; aynı şekilde tekrar denemeyin |
| 401 | Eksik veya geçersiz Bearer belirteci | Token'ı ve Authorization başlığını kontrol edin |
| 500 | Beklenmedik 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.
