Ana içeriğe atla
POST
/
user
/
whatsapp
/
send-freeform
curl -X POST "https://app.whattalk.ai/api/user/whatsapp/send-freeform" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "sender_id": 12,
    "recipient_phone": "+1234567890",
    "message": "Thank you for your inquiry! Our team will review your request and get back to you within 2 hours."
  }'
{
  "success": true,
  "conversation_id": 1234,
  "message_id": 567,
  "whatsapp_message_id": 890,
  "message_sid": "SMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "session_status": {
    "is_open": true,
    "can_send_freeform": true,
    "requires_template": false,
    "message": "Session open (23 hr 45 min remaining). Unlimited free-form messages allowed.",
    "minutes_remaining": 1425,
    "expires_at": "2026-02-25T10:30:00+00:00"
  }
}
Bu endpoint, bir alıcıya serbest form (serbest metin) WhatsApp mesajı gönderir. Şablon mesajlarından farklı olarak, serbest form mesajlar herhangi bir metin içerebilir ancak aktif bir 24 saatlik mesajlaşma penceresi gerektirir — yani alıcının son 24 saat içinde WhatsApp gönderenize bir mesaj göndermiş olması gerekir.
Serbest form mesajlar yalnızca aktif bir 24 saatlik mesajlaşma penceresi süresince gönderilebilir. Oturum süresi dolduysa, konuşmayı yeniden başlatmak için önce bir şablon mesajı göndermeniz gerekir. Oturumun aktif olup olmadığını kontrol etmek için Oturum Durumu endpoint’ini kullanın.
Bu endpoint, kullanıcı başına saniyede 5 istek ile hız sınırlıdır.

İstek Gövdesi

sender_id
integer
gerekli
Mesajın gönderileceği WhatsApp göndereninin kimliği (Gönderenleri Getir endpoint’inden elde edilir)
recipient_phone
string
gerekli
Alıcının uluslararası formattaki telefon numarası (ör. +1234567890)
message
string
gerekli
Gönderilecek mesaj içeriği (maksimum 4096 karakter)

Yanıt Alanları

success
boolean
Mesajın başarıyla gönderilip gönderilmediği
conversation_id
integer
Bu mesajla ilişkili konuşma kimliği
message_id
integer
Konuşma mesajı kaydının kimliği
whatsapp_message_id
integer
WhatsApp mesaj kaydının kimliği
message_sid
string
Teslimat takibi için Twilio mesaj SID’i
session_status
object
Mesaj gönderildikten sonra güncellenen oturum durumu

Hata Yanıtları

402 Insufficient Balance
403 Session Expired
404 Not Found
503 Sender Offline
curl -X POST "https://app.whattalk.ai/api/user/whatsapp/send-freeform" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "sender_id": 12,
    "recipient_phone": "+1234567890",
    "message": "Thank you for your inquiry! Our team will review your request and get back to you within 2 hours."
  }'
{
  "success": true,
  "conversation_id": 1234,
  "message_id": 567,
  "whatsapp_message_id": 890,
  "message_sid": "SMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "session_status": {
    "is_open": true,
    "can_send_freeform": true,
    "requires_template": false,
    "message": "Session open (23 hr 45 min remaining). Unlimited free-form messages allowed.",
    "minutes_remaining": 1425,
    "expires_at": "2026-02-25T10:30:00+00:00"
  }
}

24 Saatlik Mesajlaşma Penceresi

WhatsApp 24 saatlik mesajlaşma penceresi politikası uygular:
  1. Bir müşteri WhatsApp Business numaranıza mesaj gönderdiğinde, 24 saatlik bir pencere açılır.
  2. Bu pencere süresince kısıtlama olmaksızın serbest form mesajlar gönderebilirsiniz.
  3. Pencere süresi dolduktan sonra, konuşmayı yeniden başlatmak için şablon mesajı kullanmanız gerekir.
  4. Her yeni müşteri mesajı 24 saatlik zamanlayıcıyı sıfırlar.
Serbest form mesaj göndermeye çalışmadan önce oturumun aktif olup olmadığını kontrol etmek için Oturum Durumu endpoint’ini kullanın.

Notlar

  • Maksimum mesaj uzunluğu 4.096 karakterdir (WhatsApp limiti).
  • Gönderen online olmalıdır. Çevrimdışı gönderenler 503 hatası döndürür.
  • Mesaj maliyetleri otomatik olarak hesap bakiyenizden düşülür.
  • Hız limiti: Kullanıcı başına saniyede 5 istek.