SMS'i webhook API endpoint'ine nasıl yönlendirilir?

Kılavuz 5 dk okuma
Bağlantıyı Kopyala Paylaş

Hızlı Cevap: Forward SMS, metin mesajlarınızı JSON webhook olarak herhangi bir HTTP endpoint'ine gönderebilir. Uygulamada bir Webhook hedefi oluşturun, endpoint URL'nizi girin ve Shortcuts otomasyonu kurun. Endpoint'iniz mesaj içeriği, gönderen ve zaman damgası içeren bir POST isteği alacaktır.

Webhook SMS Yönlendirme Nedir?

Webhook SMS yönlendirme, metin mesajlarınızı kontrol ettiğiniz herhangi bir HTTP endpoint'ine otomatik olarak gönderir. Platforma özgü entegrasyonların (Slack, Discord, Teams) aksine, webhooks mesajların nasıl işleneceği konusunda tam kontrol sağlar. Bu, özel entegrasyonlar, loglama sistemleri veya otomasyon iş akışları oluşturan geliştiriciler için idealdir.

Bir mesaj geldiğinde, Forward SMS endpoint'inize mesaj içeriği, gönderen bilgisi ve meta veriler içeren yapılandırılmış bir JSON payload ile POST isteği gönderir.

Neden Webhooks Kullanmalısınız

Webhooks, hazır entegrasyonların sağlayamayacağı esneklik sunar:

  • Özel otomasyon: SMS aldığınızda herhangi bir iş akışını tetikleyin - veritabanlarını güncelleyin, bildirimler gönderin, scriptler çalıştırın veya herhangi bir hizmetle entegre edin
  • Veri loglama: Uyumluluk, analitik veya yedekleme amaçları için tüm gelen mesajları kendi veritabanınızda saklayın
  • Çoklu hizmet yönlendirme: Mesajları içerik veya gönderene göre farklı hedeflere yönlendirmek için kendi mantığınızla işleyin
  • Dahili araçlar: Dahili panolarınıza ve araçlarınıza SMS destekli özellikler ekleyin
  • IoT entegrasyonu: SMS uyarılarını IoT sistemlerinize, ev otomasyonunuza veya izleme altyapınıza bağlayın

Webhook Payload Formatı

Bir mesaj yönlendirildiğinde, endpoint'iniz aşağıdaki JSON payload ile bir POST isteği alır:

{
  "timestamp": "2025-01-31T14:30:00Z",
  "content": "Your verification code is 123456",
  "sender": "+1234567890",
  "contact": "Bank of Example"
}

Payload Alanları

| Alan | Tip | Açıklama | |-------|------|-------------| | timestamp | string | Mesajın yönlendirildiği zamanın ISO 8601 formatında zaman damgası | | content | string | Metin mesajı içeriği | | sender | string | Gönderenin telefon numarası (varsa) | | contact | string | Adres defterinizden kişi adı (eşleşirse) |

Webhook Yönlendirmesini Kurma

Adım 1: Forward SMS'i İndirin

Forward SMS'i App Store'dan indirin.

Adım 2: Webhook Hedefi Oluşturun

Uygulamayı açın, "Add Destination"a dokunun ve "Webhook" seçin. Endpoint URL'nizi girin. URL güvenlik için HTTPS olmalıdır.

Adım 3: Endpoint'inizi Test Edin

Endpoint'inizin webhook'u doğru şekilde aldığını doğrulamak için "Send test message" düğmesini kullanın. Payload'ın ulaştığını onaylamak için sunucu loglarınızı kontrol edin.

Adım 4: Shortcuts Otomasyonunu Kurun

Mesaj yönlendirmeyi tetikleyen otomasyonu oluşturmak için Shortcuts kurulum kılavuzumuzu takip edin.

Uygulama Örnekleri

Çeşitli dillerde webhook'u işleme örnekleri:

Node.js (Express)

const express = require('express');
const app = express();

app.use(express.json());

app.post('/webhook/sms', (req, res) => {
  const { timestamp, content, sender, contact } = req.body;

  console.log(`Received SMS from ${sender}: ${content}`);

  // Process the message (save to database, trigger automation, etc.)

  res.status(200).json({ received: true });
});

app.listen(3000);

Python (Flask)

from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/webhook/sms', methods=['POST'])
def handle_sms():
    data = request.json

    sender = data['sender']
    content = data['content']

    print(f"Received SMS from {sender}: {content}")

    # Process the message

    return jsonify({'received': True}), 200

if __name__ == '__main__':
    app.run(port=3000)

PHP

<?php
$payload = json_decode(file_get_contents('php://input'), true);

$sender = $payload['sender'];
$content = $payload['content'];
$timestamp = $payload['timestamp'];

error_log("Received SMS from $sender: $content");

// Process the message

http_response_code(200);
echo json_encode(['received' => true]);
?>

Ruby (Sinatra)

require 'sinatra'
require 'json'

post '/webhook/sms' do
  payload = JSON.parse(request.body.read)

  sender = payload['sender']
  content = payload['content']

  puts "Received SMS from #{sender}: #{content}"

  # Process the message

  content_type :json
  { received: true }.to_json
end

Güvenlik Hususları

HTTPS Kullanın

Webhook payload'ını aktarım sırasında şifrelemek için her zaman HTTPS endpoint'leri kullanın. Forward SMS, webhook URL'leri için HTTPS gerektirir.

Hataları Düzgün Şekilde İşleyin

Endpoint'iniz alındığını onaylamak için 2xx durum kodu döndürmelidir. Forward SMS hata yanıtı alırsa, başarısızlığı loglar.

Sorun Giderme

Webhook Mesaj Almıyor

  • URL'yi kontrol edin: Endpoint URL'nizin doğru ve internetten erişilebilir olduğundan emin olun
  • HTTPS'yi doğrulayın: URL HTTP değil, HTTPS kullanmalıdır
  • Güvenlik duvarı kurallarını kontrol edin: Sunucunuz gelen POST isteklerini kabul etmelidir
  • Endpoint'i test edin: Bağlantıyı doğrulamak için uygulamadaki test düğmesini kullanın

Mesajlar Yavaş Geliyor

  • Shortcuts otomasyonunu kontrol edin: Otomasyonun onay gerektirmeden çalıştığından emin olun
  • Arka Plan Uygulama Yenilemesi: iOS Ayarlarında Forward SMS için bunu etkinleştirin
  • Ağ sorunları: Hem iPhone'unuz hem de sunucunuz kararlı internet bağlantısına ihtiyaç duyar

Payload Ayrıştırılamıyor

  • Content-Type: İstek Content-Type: application/json kullanır
  • JSON ayrıştırma: Sunucunuzun JSON gövdesini doğru şekilde ayrıştırdığından emin olun
  • Karakter kodlaması: Mesajlar UTF-8 kodludur

SSS

Birden fazla webhook endpoint'ine yönlendirebilir miyim?

Evet, Forward SMS'de birden fazla Webhook hedefi oluşturun. Her hedefin farklı bir endpoint URL'si olabilir ve tümü yönlendirilen mesajları alır.

Endpoint'im çöktüğünde ne olur?

Endpoint'iniz hata döndürürse veya erişilemezse, mesaj yönlendirme başarısız olur. Uygulama bu başarısızlıkları hata ayıklama için loglar. Yedek veya izleme sistemi uygulamayı düşünün.

Webhook'larda hız sınırı var mı?

Forward SMS'den yapay bir hız sınırı yoktur. Mesajlar geldikleri anda yönlendirilir ve endpoint'iniz bunları işleyebilir.

Hangi mesajların yönlendirileceğini filtreleyebilir miyim?

Şu anda, Shortcuts otomasyonunu tetikleyen tüm mesajlar yönlendirilir. İstenmeyen mesajları yok saymak için webhook endpoint'inizde filtreleme mantığı uygulayabilirsiniz.

HTTPS yerine HTTP kullanabilir miyim?

Hayır, güvenlik nedeniyle Forward SMS HTTPS endpoint'leri gerektirir. Bu, mesaj verilerinizin aktarım sırasında şifrelenmesini sağlar.

Forward SMS Simge

Forward SMS

SMS'leri otomatik olarak E-posta, Slack, Teams ve Discord'a yönlendirin

App Store'dan indir