İçeriğe geç
Wbiztool

Mesajlaşma API'si

Mesaj geçmişi API'si

Çalışma alanınızdaki mesajların bir tarih aralığı için listesini, her birinin durumuyla birlikte alın. Gönderilenleri mutabakat için karşılaştırmak, raporlar oluşturmak veya yeniden denenecek başarısız mesajları bulmak için kullanın.

POSThttps://wbiztool.com/api/v1/report/

Gövde: JSON (ilk sayfadan sonraki sayfalar için gerekli) veya form alanları

Geçmiş, API anahtarınızın çalışma alanındaki her mesajı kapsar; API, panel veya bir kampanya üzerinden gönderilmiş olması fark etmez. Sonuçlar sayfa başına 200 adet, en eskiden başlayarak gelir. Aynı veriler Raporlar sayfasında da bulunur.

Hızlı örnek#

curl -X POST https://wbiztool.com/api/v1/report/ \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": 12345,
    "api_key": "YOUR_API_KEY",
    "start_date": "01-09-2026",
    "end_date": "08-09-2026",
    "page": 1
  }'

12345 ve YOUR_API_KEY değerlerini kendi değerlerinizle değiştirin. Bunları nerede bulacağınız için Kimlik doğrulama bölümüne bakın.

İstek parametreleri#

Kimlik doğrulama

client_idintegerzorunlu

Ayarlar → API anahtarları sayfasındaki API Client ID'niz.

api_keystringzorunlu

Aynı sayfadaki API anahtarınız.

Filtreler

start_datestringzorunlu

Dahil edilecek ilk gün, DD-MM-YYYY biçiminde; örneğin 01-09-2026.

end_datestringzorunlu

Aralığın sonu, DD-MM-YYYY biçiminde. Bu günün kendisi dahil değildir. Bkz. Tarih aralığı.

whatsapp_clientintegeristeğe bağlı

Yalnızca bu WhatsApp numarasından gönderilen mesajları döndürür; WhatsApp ayarları sayfasındaki ID'sini kullanın. Tüm numaralarınızdan gelen mesajları almak için göndermeyin.

pageintegeristeğe bağlı

Sayfa numarası, 1 (varsayılan) ile başlar. Her sayfa en fazla 200 mesaj içerir. JSON sayısı olarak gönderin. 0 veya negatif bir sayı, boş bir history ile total döndürür.

Tarih aralığı#

Tarihler, Hindistan Standart Saati'ne (IST, UTC+5:30) göre o günün başlangıcındaki gece yarısı olarak okunur ve mesajlar gönderildikleri zamana göre değil, oluşturuldukları (kuyruğa alındıkları veya zamanlandıkları) zamana göre eşleştirilir. Aralık start_date 00:00'dan end_date 00:00'a kadar sürer; yani:

  • "start_date": "01-09-2026", "end_date": "08-09-2026" 1–7 Eylül arasını döndürür. 8 Eylül dahil değildir.
  • Tek bir günü almak için end_date değerini bir sonraki gün yapın: "start_date": "15-09-2026", "end_date": "16-09-2026".
  • İki tarih aynıysa hiç mesaj almazsınız.

Sayfalama#

Her yanıt, tüm aralıktaki mesaj sayısı olan total değerini ve history içinde bunların en fazla 200'ünü içerir. page × 200 en az total olana kadar page 2, 3 vb. isteyin.

Yanıt#

Başarılı bir istek HTTP 200 döndürür:

{
  "message": "Success",
  "status": 0,
  "total": 3,
  "history": [
    { "id": 9817263, "msg_type": "Text", "contact": "919876543210", "message_status": "Sent" },
    { "id": 9817264, "msg_type": "File", "contact": "919812345670", "message_status": "Failed" },
    { "id": 9817265, "msg_type": "Image", "contact": "Sales Team Mumbai", "message_status": "Pending" }
  ]
}
AlanTürAçıklama
messagestringİstek başarılı olduğunda Success, aksi halde hata mesajı.
statusintegerHer zaman 0. Başarıyı anlamak için kullanmayın.
totalintegerTüm sayfalarda, tarih aralığındaki mesaj sayısı. Yalnızca başarıda bulunur.
historydiziBu sayfadaki en fazla 200 mesaj, en eskiden başlayarak. Hata olduğunda boştur.
history[].idintegerMesaj ID'si; gönderildiğinde dönen msg_id ile aynıdır.
history[].msg_typestringText, Image veya File.
history[].contactstringÜlke koduyla birlikte alıcının telefon numarası veya grup mesajlarında grup adı.
history[].message_statusstringAşağıdaki tabloya bakın.

Mesaj durumu değerleri#

message_statusAnlamı
PendingKuyrukta veya zamanlanmış, henüz gönderilmedi (durum 0).
SentWhatsApp numaranızdan gönderildi (durum 1).
DeliveredAyrılmış, şu anda döndürülmüyor.
ReadAyrılmış, şu anda döndürülmüyor.
FailedGönderilemedi veya gönderim yarıda kesildi (durum 2). error değerini görmek için Mesaj durumu kullanın.
CancelledGönderilmeden önce iptal edildi (durum 3).
Expiredexpire_after_seconds süresi dolmadan gönderilemedi (durum 4).

Teslim ve okundu tikleri şu anda kaydedilmiyor; bu yüzden gönderilen mesajlar her zaman Sent olarak görünür. Delivered ve Read ayrılmış değerlerdir; bir gün görünürlerse bunları Sent olarak değerlendirin.

Hatalar#

Aksi belirtilmedikçe hatalar, status değeri 0 olarak HTTP 200 döndürür:

{ "message": "Error", "status": 0, "history": [] }
MesajNasıl düzeltilir
Errorstart_date veya end_date eksik ya da DD-MM-YYYY biçiminde değil, JSON gövdesi geçerli değil (genellikle sondaki bir virgül) veya istek POST değil.
Auth Errorclient_id ve api_key değerlerinin ikisini de gönderin.
Invalid Client Idclient_id değerini sayı olarak gönderin. HTTP 403 ile, history olmadan döner.
Auth Error: invalid api keyAnahtarın mevcut olduğunu, silinmediğini ve bu client_id değerine ait olduğunu kontrol edin. HTTP 400 ile, history olmadan döner.
Demo Account can not access apisNormal bir hesap kullanın.

İpuçları#

  • Geçmişi küçük aralıklarla çekin: bir seferde bir gün veya bir hafta almak sayfa sayısını düşük tutar.
  • Başarısız mesajları bulun: history listesini Failed için filtreleyin, ardından nedenini görmek için her id ile Mesaj durumu endpoint'ini çağırın. Yeniden denemeden önce error değerini kontrol edin: Sending was interrupted and may have been delivered… alıcıda mesajın zaten olabileceği anlamına gelir.
  • Eski mesajlar temizlenir: son durumuna ulaşmış ve yaklaşık 90 gündür değişmemiş mesajlar temizlenebilir ve artık burada görünmez; bağlantısı kesik veya silinmiş bir numarada, oluşturulduktan veya zamanlandıktan 90 gün sonra hâlâ kuyrukta olan mesajlar da öyle.
  • Anlık takip: mesajlar gönderildikçe tepki vermek için bu endpoint'i sorgulamak yerine mesajı gönderirken bir webhook iletin.