curl -X GET "https://app.whattalk.ai/api/user/whatsapp/session-status?sender_id=12&recipient_phone=+1234567890" \
-H "Authorization: Bearer YOUR_API_KEY"
const params = new URLSearchParams({
sender_id: '12',
recipient_phone: '+1234567890'
});
const response = await fetch(
`https://app.whattalk.ai/api/user/whatsapp/session-status?${params}`,
{
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
}
);
const data = await response.json();
if (data.session_status.can_send_freeform) {
console.log('Session is active — freeform messages allowed');
} else {
console.log('Session expired — use a template message');
}
import requests
response = requests.get(
'https://app.whattalk.ai/api/user/whatsapp/session-status',
headers={'Authorization': 'Bearer YOUR_API_KEY'},
params={
'sender_id': 12,
'recipient_phone': '+1234567890'
}
)
data = response.json()
session = data['session_status']
if session['can_send_freeform']:
print('Session is active — freeform messages allowed')
else:
print('Session expired — use a template message')
{
"success": true,
"has_conversation": true,
"conversation_id": 1234,
"customer_name": "John Doe",
"last_customer_message_at": "2026-02-24T10:30:00+00:00",
"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"
}
}
{
"success": true,
"has_conversation": true,
"conversation_id": 1234,
"customer_name": "John Doe",
"last_customer_message_at": "2026-02-22T14:00:00+00:00",
"session_status": {
"is_open": false,
"can_send_freeform": false,
"requires_template": true,
"message": "Session expired. Send a template or wait for customer to reply.",
"expired_at": "2026-02-23T14:00:00+00:00"
}
}
{
"success": true,
"has_conversation": false,
"session_status": {
"is_open": false,
"can_send_freeform": false,
"requires_template": true,
"message": "No conversation exists with this recipient. Send a template message first."
}
}
{
"success": false,
"error": "Sender not found",
"error_code": "SENDER_NOT_FOUND"
}
WhatsApp
Oturum Durumunu Getir
Bir WhatsApp konuşması için 24 saatlik mesajlaşma penceresi durumunu kontrol edin
GET
/
user
/
whatsapp
/
session-status
curl -X GET "https://app.whattalk.ai/api/user/whatsapp/session-status?sender_id=12&recipient_phone=+1234567890" \
-H "Authorization: Bearer YOUR_API_KEY"
const params = new URLSearchParams({
sender_id: '12',
recipient_phone: '+1234567890'
});
const response = await fetch(
`https://app.whattalk.ai/api/user/whatsapp/session-status?${params}`,
{
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
}
);
const data = await response.json();
if (data.session_status.can_send_freeform) {
console.log('Session is active — freeform messages allowed');
} else {
console.log('Session expired — use a template message');
}
import requests
response = requests.get(
'https://app.whattalk.ai/api/user/whatsapp/session-status',
headers={'Authorization': 'Bearer YOUR_API_KEY'},
params={
'sender_id': 12,
'recipient_phone': '+1234567890'
}
)
data = response.json()
session = data['session_status']
if session['can_send_freeform']:
print('Session is active — freeform messages allowed')
else:
print('Session expired — use a template message')
{
"success": true,
"has_conversation": true,
"conversation_id": 1234,
"customer_name": "John Doe",
"last_customer_message_at": "2026-02-24T10:30:00+00:00",
"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"
}
}
{
"success": true,
"has_conversation": true,
"conversation_id": 1234,
"customer_name": "John Doe",
"last_customer_message_at": "2026-02-22T14:00:00+00:00",
"session_status": {
"is_open": false,
"can_send_freeform": false,
"requires_template": true,
"message": "Session expired. Send a template or wait for customer to reply.",
"expired_at": "2026-02-23T14:00:00+00:00"
}
}
{
"success": true,
"has_conversation": false,
"session_status": {
"is_open": false,
"can_send_freeform": false,
"requires_template": true,
"message": "No conversation exists with this recipient. Send a template message first."
}
}
{
"success": false,
"error": "Sender not found",
"error_code": "SENDER_NOT_FOUND"
}
Bu endpoint, WhatsApp göndereniz ile belirli bir alıcı arasında aktif bir 24 saatlik mesajlaşma penceresinin olup olmadığını kontrol eder. Bunu serbest form mesajlar gönderip gönderemeyeceğinizi veya şablon mesajı kullanmanız gerekip gerekmediğini belirlemek için kullanın.
Sorgu Parametreleri
integer
gerekli
WhatsApp göndereninin kimliği (Gönderenleri Getir endpoint’inden elde edilir)
string
gerekli
Alıcının uluslararası formattaki telefon numarası (ör.
+1234567890)Yanıt Alanları
boolean
İsteğin başarılı olup olmadığı
boolean
Bu alıcıyla bir konuşmanın mevcut olup olmadığı
integer
Konuşma kimliği (yalnızca
has_conversation true olduğunda mevcuttur)string
Müşterinin adı (mevcutsa, yalnızca
has_conversation true olduğunda mevcuttur)string
Müşterinin son mesajının ISO 8601 zaman damgası (yalnızca
has_conversation true olduğunda mevcuttur)object
Göster Oturum durumu özellikleri
Göster Oturum durumu özellikleri
boolean
24 saatlik mesajlaşma penceresinin şu anda açık olup olmadığı
boolean
Şu anda serbest form (şablonsuz) mesajlar gönderilip gönderilemeyeceği
boolean
Bu alıcıya mesaj göndermek için şablon mesajı gerekip gerekmediği
string
Mevcut oturum durumunun okunabilir açıklaması
integer
24 saatlik pencerede kalan dakika sayısı (yalnızca oturum açık olduğunda mevcuttur)
string
Oturumun sona ereceği ISO 8601 zaman damgası (oturum açık olduğunda veya müşteri mesajı olmadığında mevcuttur)
string
Oturumun süresinin dolduğu ISO 8601 zaman damgası (yalnızca oturum süresi dolduğunda mevcuttur)
Hata Yanıtları
curl -X GET "https://app.whattalk.ai/api/user/whatsapp/session-status?sender_id=12&recipient_phone=+1234567890" \
-H "Authorization: Bearer YOUR_API_KEY"
const params = new URLSearchParams({
sender_id: '12',
recipient_phone: '+1234567890'
});
const response = await fetch(
`https://app.whattalk.ai/api/user/whatsapp/session-status?${params}`,
{
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
}
);
const data = await response.json();
if (data.session_status.can_send_freeform) {
console.log('Session is active — freeform messages allowed');
} else {
console.log('Session expired — use a template message');
}
import requests
response = requests.get(
'https://app.whattalk.ai/api/user/whatsapp/session-status',
headers={'Authorization': 'Bearer YOUR_API_KEY'},
params={
'sender_id': 12,
'recipient_phone': '+1234567890'
}
)
data = response.json()
session = data['session_status']
if session['can_send_freeform']:
print('Session is active — freeform messages allowed')
else:
print('Session expired — use a template message')
{
"success": true,
"has_conversation": true,
"conversation_id": 1234,
"customer_name": "John Doe",
"last_customer_message_at": "2026-02-24T10:30:00+00:00",
"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"
}
}
{
"success": true,
"has_conversation": true,
"conversation_id": 1234,
"customer_name": "John Doe",
"last_customer_message_at": "2026-02-22T14:00:00+00:00",
"session_status": {
"is_open": false,
"can_send_freeform": false,
"requires_template": true,
"message": "Session expired. Send a template or wait for customer to reply.",
"expired_at": "2026-02-23T14:00:00+00:00"
}
}
{
"success": true,
"has_conversation": false,
"session_status": {
"is_open": false,
"can_send_freeform": false,
"requires_template": true,
"message": "No conversation exists with this recipient. Send a template message first."
}
}
{
"success": false,
"error": "Sender not found",
"error_code": "SENDER_NOT_FOUND"
}
Tipik İş Akışı
Bu endpoint’i mesaj gönderme akışının bir parçası olarak kullanın:- Mesaj göndermeden önce oturum durumunu kontrol edin
can_send_freeformtrueise -> Serbest Form Mesaj Gönder kullanınrequires_templatetrueise -> Şablon Mesajı Gönder kullanın
Notlar
- 24 saatlik pencere, müşterinin son gelen mesaj zaman damgasına dayanır.
- Her yeni müşteri mesajı 24 saatlik zamanlayıcıyı sıfırlar.
- Bu endpoint bakiye tüketmez — yalnızca okuma amaçlı bir durum kontrolüdür.

