DEV Community

Cover image for Sent.dm API ile Daha Hızlı SMS ve WhatsApp Mesajları Nasıl Gönderilir?
Tobias Hoffmann
Tobias Hoffmann

Posted on • Originally published at apidog.com

Sent.dm API ile Daha Hızlı SMS ve WhatsApp Mesajları Nasıl Gönderilir?

TL;DR / Hızlı Cevap

Sent.dm API'si, SMS ve WhatsApp üzerinden iş mesajlaşması için tek bir entegrasyon noktası sunar. Sent'i Apidog ile entegre ederek kimlik bilgilerinizi ortamlarda yönetebilir, betik yazmadan istekleri test edebilir, webhook yüklerini doğrulayabilir ve mesajlaşma iş akışınızı tek noktada belgeleyebilirsiniz.

Apidog'u hemen deneyin

Giriş

Çoğu mesajlaşma projesinde yavaşlama noktası API'nin karmaşıklığından değil, operasyonel detayların birikmesinden kaynaklanır. API anahtarları, gönderen kimliği, şablon kimlikleri, webhook güvenliği ve kanal kuralları gibi unsurların yanı sıra, gerçek mesajları göndermeden önce test edilebilecek temiz bir yol gereklidir.

Sent.dm, SMS ve WhatsApp gibi kanallar için birleşik bir mesajlaşma API'si sunar. Yönlendirme ve teslimat mantığı tek bir geliştirici arayüzüyle yönetilir. Platform; hesap doğrulaması, kanal kurulumu, şablon tabanlı gönderim, kişiler, webhook olayları ve test için bir gösterge paneli içerir.

💡 Daha az sorunla kurulum yapmak için Apidog kullanabilirsiniz. Sent API referansını içe aktarın, x-api-key ve x-sender-id için ortamlar oluşturun, mesaj oluşturma ve webhook işlemleri için test senaryoları geliştirin, koleksiyonları ekibinizle paylaşın.

Sent.dm API'si Ne Çözüyor?

Sent.dm ile ayrı entegrasyonlar yönetmek zorunda kalmadan birden fazla mesajlaşma kanalında kullanıcılarınıza ulaşabilirsiniz. SMS API'leri, WhatsApp katılımı, kanal tabanlı yükler ve teslimat takibini tek platformda konsolide eder.

resim

Resmi belgelere göre öne çıkanlar:

  • Mesajlaşma iş akışları için tek bir API temel URL'si
  • x-api-key ile başlık tabanlı kimlik doğrulama
  • x-sender-id içeren gönderen kimliği modeli
  • Şablon tabanlı mesaj gönderimi
  • Kişi ve hedef kitle yönetimi
  • Teslimat/şablon olayları için webhook'lar
  • Akıllı yönlendirme ve hata durumunda yedekleme

Bu kombinasyon, mesajlaşma sistemlerinin sadece "mesaj gönder"den ibaret olmadığını gösterir. Ayrıca:

  • Tutarlı payload yapısı,
  • Şablonları güvenli şekilde tekrar kullanma,
  • Teslimat/başarısızlık/kuyruklanma olaylarının takibi,
  • Sırların ön uçtan izole edildiği test iş akışı,
  • Geliştiriciler ve QA için gerçek belgeler

gerekir.

Birçok parçanın farklı araçlarda olması hata ayıklamayı zorlaştırır. Tüm akışı baştan itibaren Apidog gibi bir API platformunda modellemek bu riski azaltır.

Sent.dm API'si Nasıl Çalışır?

Sent, uygulamanız ile mesajlaşma kanalları arasında akıllı bir ara katman olarak çalışır. Uygulamanız bir istek gönderir, Sent en uygun teslimat yolunu seçer.

Geliştirici için kritik noktalar:

1. Hesap ve Uyumluluk Kurulumu

İlk adımda hesap açılır, KYC doğrulaması yapılır ve işletme kurulumu tamamlanır. Mesajlaşma ürünlerinde uyumluluk ve gönderen itibarı kritik olduğundan bu adımlar zorunludur.

2. Kanal Kurulumu

Telefon numarası seçme ve WhatsApp Business bağlama işlemleri yapılır. Belgeler, marka tutarlılığı için aynı numaranın kullanılmasını önerir.

3. Şablonlar

Şablonlar zorunludur; ilk API isteğinden önce şablon oluşturmalısınız.

4. API Kimlik Bilgileri

Gerekli başlıklar:

x-sender-id: YOUR_SENDER_ID
x-api-key: YOUR_API_KEY
Enter fullscreen mode Exit fullscreen mode

v3 API'de x-api-key zorunludur, örneklerde ayrıca x-sender-id de geçer. Uç noktaların sürümünü ve başlık gereksinimlerini Sent panelinden doğrulayın.

5. Mesaj İsteği

Başlangıç için örnek:

POST https://api.sent.dm/v2/messages/phone
Enter fullscreen mode Exit fullscreen mode

JSON yükü:

{
 "phoneNumber": "RECIPIENT_PHONE_NUMBER",
 "templateId": "TEMPLATE_ID"
}
Enter fullscreen mode Exit fullscreen mode

İlk hedef; şablon tabanlı gönderimi kurmak, sonra istek/teslimat davranışını gözlemleyerek iş akışını genişletmektir.

İlk Sent.dm API İsteğinizi Gönderin

İşte temel örnekler:

cURL

curl -X POST "https://api.sent.dm/v2/messages/phone" \
 -H "x-sender-id: YOUR_SENDER_ID" \
 -H "x-api-key: YOUR_API_KEY" \
 -H "Content-Type: application/json" \
 -d '{
 "phoneNumber": "RECIPIENT_PHONE_NUMBER",
 "templateId": "TEMPLATE_ID"
 }'
Enter fullscreen mode Exit fullscreen mode

JavaScript

const response = await fetch("https://api.sent.dm/v2/messages/phone", {
 method: "POST",
 headers: {
   "x-sender-id": process.env.SENT_SENDER_ID,
   "x-api-key": process.env.SENT_API_KEY,
   "Content-Type": "application/json"
 },
 body: JSON.stringify({
   phoneNumber: process.env.TEST_PHONE_NUMBER,
   templateId: process.env.SENT_TEMPLATE_ID
 })
});

if (!response.ok) {
 throw new Error(`Sent request failed: ${response.status}`);
}

const data = await response.json();
console.log(data);
Enter fullscreen mode Exit fullscreen mode

Python

import os
import requests

response = requests.post(
 "https://api.sent.dm/v2/messages/phone",
 headers={
   "x-sender-id": os.environ["SENT_SENDER_ID"],
   "x-api-key": os.environ["SENT_API_KEY"],
   "Content-Type": "application/json",
 },
 json={
   "phoneNumber": os.environ["TEST_PHONE_NUMBER"],
   "templateId": os.environ["SENT_TEMPLATE_ID"],
 },
 timeout=30,
)

response.raise_for_status()
print(response.json())
Enter fullscreen mode Exit fullscreen mode

Başarılı bir yanıt HTTP 200 ve bir messageId döndürür. Bu messageId; Apidog testleri, uygulama logları ve webhook eşleştirmede kullanılmalıdır.

Sent.dm API'sini Apidog'da Test Edin

Apidog, mesajlaşma API'leri için sadece istek gönderici değil; değişkenler, test iddiaları, dokümantasyon ve ekip devri imkanı sunar.

resim

Adım 1: Sent Ortamı Oluşturun

Apidog'da ortam değişkenleri oluşturun:

base_url = https://api.sent.dm
sender_id = YOUR_SENDER_ID
api_key = YOUR_API_KEY
template_id = YOUR_TEMPLATE_ID
test_phone = RECIPIENT_PHONE_NUMBER
Enter fullscreen mode Exit fullscreen mode

Böylece:

  1. Üretim sırlarını kodda sabit tutmazsınız.
  2. Farklı ortamlar arası hızla geçiş yaparsınız.
  3. Ekip arkadaşlarınız koleksiyonu kendi değerleriyle kullanabilir.

Adım 2: İsteği Oluşturun

Yeni bir istek:

  • Metot: POST
  • URL: {{base_url}}/v2/messages/phone
  • Headerlar:
    • x-sender-id: {{sender_id}}
    • x-api-key: {{api_key}}
    • Content-Type: application/json
  • Gövde:
{
 "phoneNumber": "{{test_phone}}",
 "templateId": "{{template_id}}"
}
Enter fullscreen mode Exit fullscreen mode

Bu yapı, tek seferlik terminal testlerinden daha sürdürülebilirdir.

Adım 3: İddialar Ekleyin

Başarı kontrolü için örnekler:

pm.test("Status is 200", function () {
 pm.response.to.have.status(200);
});

pm.test("Response contains a messageId", function () {
 const json = pm.response.json();
 pm.expect(json.messageId).to.exist;
});
Enter fullscreen mode Exit fullscreen mode

API'de bir değişiklik veya kimlik bilgisi hatası sonrası anında sonuç alırsınız.

Adım 4: Senaryo Oluşturun

Çok adımlı iş akışı:

  1. Mesaj gönderin
  2. Dönen messageId'yi saklayın
  3. Alt akış durumunu sorgulayın (mümkünse)
  4. Webhook olaylarını karşılaştırın

Yalnızca POST'un başarılı olması yeterli değildir; teslimat, onay, olay tutarlılığı da izlenmelidir.

Adım 5: Webhook Örneklerini Ekleyin

Webhook olayları için Apidog koleksiyonunuza örnek yükler ekleyin:

{
 "field": "message.status",
 "messageId": "msg_123",
 "status": "delivered",
 "channel": "whatsapp"
}
Enter fullscreen mode Exit fullscreen mode

Bu, giden ve gelen iş akışlarını tek yerde toplar.

Adım 6: Dahili Belgeleri Yayınlayın

Arka uç, QA, destek ve ürün ekipleri için belge paylaşımı:

  • Gerekli başlıklar
  • Örnek yükler
  • Hata yanıtları
  • Webhook örnekleri
  • Ortam notları

Bu, sadece kod parçacığı paylaşmaktan çok daha verimlidir.

Şablonları, Kişileri ve Webhook'ları Doğru Yönetin

Şablonlar

  • Şablon kimliklerini ortam/yapılandırmada saklayın
  • Amaç, yerel ayar ve onay durumuna göre etiketleyin
  • Test ve canlı şablonları ayırın
  • Hangi şablonun hangi yolculuğa ait olduğunu belgeleyin

Apidog'da her şablon için örnek istekler oluşturun.

Kişiler

Kişiler, hedef kitle işlemleri ve iletişim geçmişi için gereklidir. Senkronizasyon mantığını net kurun:

  • Doğruluk kaynağı hangi sistem?
  • Telefonlar nasıl normalize ediliyor?
  • Onay durumu nerede tutuluyor?
  • Kişi kanal değiştirince ne oluyor?

Bu noktalar, teslimat ve uyumluluğu baştan etkiler.

Webhook'lar

Sent'in webhook'ları HMAC-SHA256 imzası ile doğrulanır:

  • x-webhook-signature
  • x-webhook-id
  • x-webhook-timestamp

İmza formatı: v1,{base64_signature}, tekrar oynatma koruması için beş dakikalık zaman damgası.

Express.js ile örnek doğrulama:

import crypto from "crypto";
import express from "express";

const app = express();

app.post("/webhooks/sent", express.raw({ type: "*/*" }), (req, res) => {
 const signature = req.header("x-webhook-signature");
 const webhookId = req.header("x-webhook-id");
 const timestamp = req.header("x-webhook-timestamp");
 const secret = process.env.SENT_WEBHOOK_SECRET;
 const rawBody = req.body.toString("utf8");

 const signedContent = `${webhookId}.${timestamp}.${rawBody}`;
 const expected = crypto
   .createHmac("sha256", Buffer.from(secret.replace(/^whsec_/, ""), "base64"))
   .update(signedContent)
   .digest("base64");

 if (signature !== `v1,${expected}`) {
   return res.status(401).send("Unauthorized");
 }

 const event = JSON.parse(rawBody);
 console.log("Received webhook event:", event.field);

 return res.sendStatus(200);
});
Enter fullscreen mode Exit fullscreen mode

Webhook yüklerini Apidog ile depolayın ve dokümante edin.

Apidog Bu İş Akışına Neden Uyar?

Sent.dm mesajlaşma katmanını sunarken, Apidog iş akışı katmanını tamamlar.

Görev Sent.dm Apidog
SMS ve WhatsApp mesajı gönderme Evet Hayır, ama API'yi test eder
Şablon ve gönderen yönetimi Evet Belge ve doğrulama
Kimliği doğrulanmış istek testi Sınırlı Ortamlar, iddialar, senaryolar ile güçlü
API belgelerini ekiple paylaşma Platform doküm. Ekip koleksiyonları, jenerik belgeler
İstek/yanıt hata ayıklama Kısmi Tekrarlanabilir ve işbirliğine açık
Uçtan uca test senaryoları Mesajlaşma odak Çok adımlı API iş akışı testi

Ekibinizde birden fazla geliştirici varsa, QA'nın özel betik yazmadan test yapmasını istiyorsanız veya sürüm/şablon değişikliklerini denemek istiyorsanız Apidog işbirliği ve otomasyon için avantaj sağlar.

Gelişmiş İpuçları ve Sık Yapılan Hatalar

En İyi Uygulamalar

  1. Kimlik bilgilerini yalnızca sunucu tarafında tutun.
  2. Uygulama loglarında messageId izleyin.
  3. Hazırlık ve canlı şablonları ayırın.
  4. Her webhook'u işlemeden önce doğrulayın.
  5. Apidog ortamları ile canlı/test kimlik bilgilerini ayırın.

Kaçınılması Gereken Yaygın Hatalar

  1. 200 cevabını nihai teslimat olarak değerlendirmek
  2. Şablon kimliklerini farklı sistemlerde sabit kodlamak
  3. Gönderen kimliği kurulumunu ertelemek
  4. Telefon numarası normalizasyonunu atlamak
  5. Geçici betiklerde gerçek kimlik bilgileriyle test yapmak

Sorun Giderme İpuçları

Bir istek başarısızsa şunları kontrol edin:

  1. x-api-key geçerli ve aktif mi?
  2. Kullandığınız uç nokta, Sent panelinizdeki sürümle uyuşuyor mu?
  3. x-sender-id bu yol için gerekli mi?
  4. Şablon onaylı ve doğru kanal için mi?
  5. Telefon numarası doğru formatta mı?

Apidog ile hatalı ve başarılı istekleri saniyeler içinde karşılaştırabilirsiniz.

Sent.dm Alternatifleri ve Karşılaştırmaları

Sent.dm dışında doğrudan sağlayıcılar, geniş iletişim platformları veya Postman gibi araçlar da seçeneklerinizdir. Temel fark; kontrol ile sadelik arasındadır. Test ve işbirliği katmanı, teslimat katmanı kadar önemlidir.

Seçenek Güçlü Yön Dezavantaj
Doğrudan SMS + WhatsApp İnce ayar kontrol Fazla entegrasyon ve bakım
Twilio tarzı iletişim yığını Geniş ekosistem Çok kanallı orkestrasyonda daha fazla hareketli parça
Sent.dm Kanal soyutlamalı birleşik iş akışı Platform kurallarına/benzersiz belgelere bağlılık
Sent.dm + Postman Tanıdık istek testi akışı Dokümantasyon ve iş akışı daha parçalı
Sent.dm + Apidog Güçlü API testi, dokümantasyon ve işbirliği Bir yerine iki araç kullanımı

En iyi çözüm; teslimat platformunu güçlü API işbirliği katmanıyla tamamlamaktır. Apidog'un avantajı; ortamlar, belgeler, iddialar, taklit planlama ve ekip devrini tek yerde toplamasıdır.

Sonuç

Sent.dm, SMS ve WhatsApp için birleşik mesajlaşma API'si isteyen ekipler için uygundur. En büyük avantajı, yalnızca mesaj göndermekle kalmayıp; şablon, gönderen kimliği, kişi ve webhook iş akışlarını yapılandırılmış şekilde test ve geliştirmeye olanak sağlamasıdır.

Daha hızlı ilerlemek için Apidog'da ilk Sent isteğinizi oluşturun, messageId için iddialar ekleyin, webhook sözleşmelerinizi aynı çalışma alanında belgeleyin. Böylece, dağınık betiklere bağımlılık olmadan prototipten üretime geçişinizi optimize edebilirsiniz.

SSS

Sent.dm API'si ne için kullanılır?

Sent.dm API'si; SMS ve WhatsApp gibi kanallar arasında tek entegrasyonla iş mesajlaşmasını yönetmek için kullanılır. Gönderen kurulumu, şablonlar, kişiler ve webhook tabanlı olay işleme desteklenir.

Sent.dm, WhatsApp ve SMS'i tek bir API'de destekliyor mu?

Evet. Sent, kanal bazlı karmaşıklığı tek entegrasyonun arkasında soyutlar. Aynı telefon numarasıyla SMS ve WhatsApp kullanımını önerir.

Sent.dm API istekleri için hangi başlıklara ihtiyacım var?

x-api-key zorunludur, örneklerde ayrıca x-sender-id yer alır. Üretime geçmeden önce Sent hesabınızdan uç nokta sürümünü teyit edin.

Sent.dm ile mesaj göndermeden önce şablonlara ihtiyacım var mı?

Evet, ilk mesaj için şablon oluşturmalı ve templateId ile göndermelisiniz.

Sent.dm API'sini özel betikler yazmadan nasıl test ederim?

Apidog ile kimlik bilgilerinizi ortam değişkeni olarak saklayabilir, mesaj isteklerini kaydedebilir, iddialar ekleyebilir, senaryolar oluşturabilir, webhook yüklerini belgeleyebilir ve ekibiniz için dahili API dokümantasyonu yayınlayabilirsiniz.

Sent.dm webhook'larını nasıl güvenli hale getirmeliyim?

HMAC imzasını doğrulayın, zaman damgasını kontrol edin ve olayları değişmez olarak işleyin. Gerekli başlıklar: x-webhook-signature, x-webhook-id, x-webhook-timestamp.

Sent.dm, ekip API iş akışları için tek başına yeterli mi?

Mesajlaşma platformunu kapsar, ancak çoğu ekip test, dokümantasyon ve tekrarlı doğrulama için işbirliğine açık bir API platformuna ihtiyaç duyar. Apidog burada devreye girer.

Top comments (0)