Yazılım ve yapay zekâ
n8n ile Dinstar GSM Gateway Üzerinden SMS Gönderme
n8n, Dinstar GSM Gateway HTTP API'sine bağlanarak otomatik SMS gönderebilir. Bunun için gateway üzerinde yeni API açılır, n8n içinde Digest Auth kimlik bilgisi tanımlanır ve HTTP Request adımıyla /api/send_sms adresine istek gönderilir.
Bu rehberdeki akışı 32 portlu gerçek bir Dinstar GSM Gateway üzerinde test ettik. Mesaj cihaz üzerinde DELIVERED durumuna geçti.

n8n nedir?
n8n, farklı uygulamaları ve API'leri görsel akışlarla birbirine bağlayan otomasyon aracıdır. SMS API seçenekleri için SMS API Nedir? rehberine bakın. Kendi sunucunuza kurabilirsiniz. Böylece CRM, form, veritabanı ve GSM Gateway gibi sistemler arasında otomatik işlemler oluşturabilirsiniz.
Başlamadan önce gerekenler

- SIM kartı takılı ve şebekeye kayıtlı bir Dinstar GSM Gateway
- Gateway web arayüzü kullanıcı adı ve şifresi
- Gateway'e ağ erişimi olan bir n8n kurulumu
- Test için kendi telefon numaranız
1. Gateway üzerinde API'yi açın
Gateway web arayüzünde Mobile Configuration > Basic Configuration bölümüne gidin. API seçeneğini New Version olarak ayarlayın.

2. Akışı oluşturun
Akış dört adımdan oluşur:
- Start: Testi elle başlatır.
- Message: Numara, metin ve port bilgisini tutar.
- Safety check: Yalnızca izin verilen numara ve porta devam eder.
- Send SMS: İsteği gateway'e gönderir.
3. Mesaj bilgilerini girin
Edit Fields adımında number, text ve port alanlarını oluşturun. Port numaraları 0'dan başlar.

4. Güvenlik kontrolü ekleyin
Otomasyon hatası istemediğiniz numaralara SMS gitmesine neden olabilir. Bu nedenle gönderimden önce bir Code adımı kullanın:
const ALLOWED_NUMBERS = ['05XXXXXXXXX'];
const ALLOWED_PORTS = [13];
const { number, text, port } = $input.first().json;
if (!ALLOWED_NUMBERS.includes(number)) throw new Error('Number is not allowed');
if (!ALLOWED_PORTS.includes(port)) throw new Error('Port is not allowed');
if (!text || text.length > 300) throw new Error('Text must be 1 to 300 characters');
return [{
json: {
text,
port: [port],
encoding: 'unicode',
request_status_report: true,
param: [{ number, user_id: Date.now() % 2000000000 }],
},
}];
Türkçe karakter kullanılacaksa encoding değerini unicode bırakın. Mesajın kaç SMS edeceğini SMS karakter sayacı ile kontrol edebilirsiniz.

5. HTTP Request adımını ayarlayın
| Alan | Değer |
|---|---|
| Method | POST |
| URL | https://GATEWAY_IP/api/send_sms |
| Authentication | Generic Credential Type |
| Generic Auth Type | Digest Auth |
| Send Body | Açık |
| Body Content Type | JSON |
| Specify Body | Using JSON |
| JSON | {{ JSON.stringify($json) }} |
Gateway kendinden imzalı sertifika kullanıyorsa Options > Ignore SSL Issues seçeneğini açın.

6. Testi çalıştırın
Execute düğmesine basın. Başarılı bir istekte gateway error_code: 202 döndürür. Bu değer isteğin kabul edildiğini gösterir. Teslimatı doğrulamak için /api/query_sms_result adresindeki sonucu kontrol edin.
| Kod | Anlamı |
|---|---|
| 202 | İstek kabul edildi |
| 400 | İstek biçimi geçersiz |
| 413 | Numara sayısı veya metin çok fazla |
| 500 | Diğer hata |
| 550 | Gönderim için uygun port yok |
Gerçek testte öğrendiklerimiz
- Query string sorunu: Test ettiğimiz firmware, adresinde
?bulunan isteklerde n8n'in standart Digest Auth girişini kabul etmedi./api/send_smsetkilenmedi.get_port_infove gelen SMS sorgusu ise bu yöntemle çalışmadı. - Gelen SMS: Varsayılan sorgu mesajları okundu olarak işaretler. Mevcut durumu değiştirmek istemiyorsanız
flag=allkullanın. - Zaman bilgisi: Gönderim sonucu ve teslim raporu aynı cihazda farklı saat dilimleri gösterebilir. Zaman filtrelerini kontrol ederek kullanın.
Güvenlik önerileri
- Gateway arayüzünü internete açmayın.
- Varsayılan şifreyi değiştirin.
- n8n arayüzüne erişimi sınırlandırın.
- İzinli numara ve port listesi kullanın.
- Otomatik akışlar için günlük gönderim sınırı koyun.
- Gelen SMS metnini komut olarak çalıştırmayın.
Ticari ileti gönderecekseniz ilgili mevzuatı ve izin süreçlerini ayrıca kontrol edin.
Sıkça sorulan sorular
n8n Dinstar ile çalışır mı?
Evet. Standart HTTP Request adımıyla /api/send_sms üzerinden SMS gönderilebilir. Bu akışı gerçek cihazda test ettik.
Hangi şifre kullanılır?
Dinstar API belgelerinde gateway kullanıcı adı ve şifresi kullanılır. SIM PIN veya SMPP şifresi gerekmez.
Hangi portu seçmeliyim?
Şebekeye kayıtlı ve boş bir port seçin. Port numaraları API tarafında 0'dan başlar.
Türkçe karakterler çalışır mı?
encoding değerini unicode yaptığınızda çalışır. Unicode mesajlarda tek SMS için karakter sınırı daha düşüktür.
202 yanıtı SMS'in teslim edildiğini gösterir mi?
Hayır. 202 yalnızca isteğin kabul edildiğini gösterir. Sonuç için gönderim sonucu ve teslim raporunu kontrol edin.
Sonuç
n8n ile Dinstar GSM Gateway'i CRM, form veya başka sistemlere bağlayabilirsiniz. Önce izinli numarayla test edin, sonra sınırları koruyarak otomasyona geçin.
Dinstar GSM Gateway modelleri için ürünleri inceleyin.
Doğru cihazı birlikte seçelim
Kurulumunuza uygun Dinstar ürününü belirlemek için ekibimize ulaşın.