curl -X GET "https://call.aiployees.com/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://call.aiployees.com/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://call.aiployees.com/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
Получаване на статус на сесията
Проверка на статуса на 24-часовия прозорец за съобщения за WhatsApp разговор
GET
/
user
/
whatsapp
/
session-status
curl -X GET "https://call.aiployees.com/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://call.aiployees.com/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://call.aiployees.com/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"
}
Този endpoint проверява дали съществува активен 24-часов прозорец за съобщения между вашия WhatsApp изпращач и конкретен получател. Използвайте го, за да определите дали можете да изпращате свободни съобщения или трябва да използвате шаблонно съобщение.
Query параметри
integer
required
ID на WhatsApp изпращача (получено от endpoint-а Получаване на изпращачи)
string
required
Телефонният номер на получателя в международен формат (например
+1234567890)Полета в отговора
boolean
Дали заявката е била успешна
boolean
Дали съществува разговор с този получател
integer
ID на разговора (присъства само когато
has_conversation е true)string
Името на клиента, ако е налично (присъства само когато
has_conversation е true)string
ISO 8601 timestamp на последното съобщение на клиента (присъства само когато
has_conversation е true)object
Show Свойства на статуса на сесията
Show Свойства на статуса на сесията
boolean
Дали 24-часовият прозорец за съобщения в момента е отворен
boolean
Дали свободни (не-шаблонни) съобщения могат да бъдат изпращани в момента
boolean
Дали е необходимо шаблонно съобщение за да се изпрати съобщение до този получател
string
Описание на текущото състояние на сесията, четимо от човек
integer
Оставащи минути в 24-часовия прозорец (присъства само когато сесията е отворена)
string
ISO 8601 timestamp кога сесията изтича (присъства когато сесията е отворена или не съществува съобщение от клиента)
string
ISO 8601 timestamp кога сесията е изтекла (присъства само когато сесията е изтекла)
Грешки в отговора
curl -X GET "https://call.aiployees.com/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://call.aiployees.com/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://call.aiployees.com/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"
}
Типичен работен процес
Използвайте този endpoint като част от процеса за изпращане на съобщения:- Проверете статуса на сесията преди да изпратите съобщение
- Ако
can_send_freeformеtrue→ използвайте Изпращане на свободно съобщение - Ако
requires_templateеtrue→ използвайте Изпращане на шаблонно съобщение
Забележки
- 24-часовият прозорец се базира на timestamp-а на последното входящо съобщение от клиента.
- Всяко ново съобщение от клиента нулира 24-часовия таймер.
- Този endpoint не консумира никакъв баланс — това е само проверка на статуса за четене.

