Harici API

Kendi sistemlerinden gelen olayları gelen kutusuna gönder

Tek bir HTTP isteği, bir metin mesajını WhatsApp sohbetlerinin yanında kendi dizisine bırakır. WhatsApp üzerinden gönderilmez ve bir müşteri konuşmasına karışmaz.

Giriş yaptıktan sonra Ayarlar’dan bir belirteç oluştur. Gizli anahtar yalnızca bir kez gösterilir.

API ne yapar

İçe alır, dışarı göndermez

Bağladığın bir WhatsApp oturumuna metin mesajı gönderirsin. Chato bunu saklar ve panelde anında gösterir. WhatsApp mesajı göndermez ve sistemine geri dönüş kanalı yoktur.

Kaynak başına bir dizi

sourceId shopify her zaman aynı sohbete düşer: ext:shopify@external. website gibi ikinci bir kaynak, aynı oturumda ayrı bir dizidir.

Müşteri sohbetlerinin dışında

Dizi Harici olarak işaretlenir ve yazma alanı yalnızca görüntüleme içindir. Sipariş uyarıları ve formlar, müşteri geçmişinin içine değil gelen kutusunun yanına gelir.

Ekipler bunu nerede kullanır

WhatsApp mesajı olmadan WhatsApp’ın yanında durması gereken her şey.

Siparişler ve ödemeler

Yeni sipariş, ödendi, iade edildi. O mağazanın oturumu, sahte bir müşteri sohbeti yerine bir Shopify dizisi gösterir.

Web formları

İletişim veya rezervasyon formu gönderimi iletir. Ekip bunu WhatsApp ile aynı panelde okur.

CRM ve destek

Fırsat değişiklikleri, talep yükseltmeleri veya atama notları. Diziler karışmasın diye her araca kendi source id değerini ver.

İç araçlar

Stok, izleme veya bir operasyon betiği. Hesabın belirteci, o hesaba ait her oturuma yazabilir.

İlk mesaj nasıl gönderilir

  1. 01

    Bir belirteç oluştur

    Ayarlar’ı, ardından Harici API’yi aç. Entegrasyonun adını ver, örneğin Shopify. Gizli anahtarı hemen kopyala. Chato yalnızca bir özet saklar ve tam belirteç bir daha gösterilmez. Döndürürken veya durdururken oradan iptal et.

  2. 02

    Oturum kimliğini kopyala

    Panelde, diziyi alacak WhatsApp numarasının menüsünü aç ve Oturum kimliğini kopyala’yı seç. Bu oturum, belirteçle aynı hesaba ait olmalıdır.

  3. 03

    Mesajı gönder

    JSON’u, Authorization: Bearer ve belirtecinle POST /api/external/messages adresine gönder. sourceId diziyi seçer. externalMessageId, kopya oluşturmadan yeniden denemeni sağlar.

  4. 04

    Diziyi aç

    Kaynak, o oturumun sohbet listesinde kaynak adıyla görünür. Aynı externalMessageId tekrar gönderilirse özgün mesaj döner ve ikinci bir balon eklenmez.

Uç noktalar

Mesaj çağrıları API belirtecini kullanır. Belirteç oluşturma, listeleme ve iptal, Ayarlar gibi oturum açmış Chato oturumunu kullanır.

YöntemYolKimlikNe yapar
POST/api/external/messagesAPI belirteciBir oturuma metin mesajı kaydeder. Yeniyse 201, bu externalMessageId zaten varsa 200 döner.
GET/api/external/meAPI belirteciBelirtecin geçerli olduğunu kontrol eder. authenticated ve hesap kimliğini döner. Oturumları listelemez.
GET/api/external/tokensAçık oturumEtkin belirteçleri listeler: ad, önek, oluşturulma zamanı, son kullanım. Gizli anahtarlar yoktur.
POST/api/external/tokensAçık oturumBelirteç oluşturur. Gövde { "name": "Shopify" } şeklindedir. Gizli anahtar yanıtta bir kez gelir.
DELETE/api/external/tokens?id=TOKEN_IDAçık oturumBir belirteci iptal eder. Bu gizli anahtarla sonraki çağrılar 401 döner.

Temel adres: https://chato.pro. chato.pro dışında giriş yapıyorsan, giriş yaptığın adresi kullan.

Mesaj alanları

POST /api/external/messages için JSON gövdesi.

AlanZorunluNe yapar
sessionIdZorunluDiziyi gösterecek WhatsApp oturumu. Panelden kopyala. Bu hesapta yoksa 404 döner.
sourceIdZorunluDizi anahtarı. 2–64 karakter: harf, rakam, tire, alt çizgi. Boşluklar tire olur ve değer küçük harfe çevrilir. Sohbet kimliği ext:<sourceId>@external şeklindedir.
messageZorunluDizide görünen metin. Boş olamaz ve en fazla 4096 karakter olabilir.
sourceNameİsteğe bağlıGörünen ad, örneğin Shopify Siparişleri. Verilmezse source id başlık biçimine çevrilir.
externalMessageIdİsteğe bağlıBu olay için senin kimliğin. Aynı oturum ve kaynak için yeniden gönderilirse özgün mesaj döner ve başka bir canlı güncelleme yayılmaz.
metadataİsteğe bağlıMesajla saklanan ek JSON nesnesi. Sohbet metni olarak gösterilmez.

Örnek istek

YOUR_TOKEN ve oturum kimliğini değiştir. Yeni bir mesaj created: true ve ext:shopify@external sohbet kimliğiyle yanıt verir.

Örnek yanıt

externalMessageId zaten kayıtlıysa created false olur ve HTTP 200 döner.

curl -X POST https://chato.pro/api/external/messages \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "sessionId": "your-session-id",
    "sourceId": "shopify",
    "sourceName": "Shopify Orders",
    "message": "New order #1234",
    "externalMessageId": "order-1234"
  }'
{
  "success": true,
  "created": true,
  "messageId": "ext_shopify_order-1234",
  "chatId": "ext:shopify@external",
  "sourceId": "shopify",
  "timestamp": 1710000000
}

Kimlik doğrulama

Her mesaj çağrısında belirteci gönder. Gizli anahtarın bir URL’ye veya vekil günlüğüne yazılmaması için Authorization başlığını tercih et.

  • Authorization: Bearer <token>
  • X-Api-Key: <token>
  • ?key=<token>

Belirteç bir hesap kimlik bilgisidir. Etkin her belirteç, o hesaptaki her oturuma yazabilir. Ayarlar’dan iptal etmek onu hemen durdurur. Her başarılı çağrı son kullanımı günceller. Gizli anahtar chato_ ve ardından 48 onaltılık karakterdir. Ayarlar daha sonra yalnızca belirtecin başını gösterir.

Başarılı bir çağrıdan sonra

  • Mesaj, kaynak external olarak saklanır. WhatsApp ile iletişim kurulmaz.
  • O oturumun açık paneli yeni mesajı anında alır.
  • Dizi kimliği ext:<sourceId>@external şeklindedir.
  • externalMessageId yinelenirse HTTP 200 ve created: false döner.
  • Okunmamış durumu Chato’ya özeldir. Diziyi açmak WhatsApp okundu bilgisi göndermez.
  • Harici bir mesajı silmek onu yalnızca Chato’dan kaldırır.

Yapmadığı şeyler

  • WhatsApp mesajı, medya veya şablon göndermez.
  • Diziden harici sisteme yanıt yazamazsın.
  • Meta Cloud API veya resmi WhatsApp Business API değildir.
  • Yalnızca metin kabul eder. Bu uç noktada medya yükleme yoktur.
  • Bir belirteç başka bir hesabın oturumlarına yazamaz.
  • Birisi diziyi okuduğunda Chato senin sunucunu çağırmaz.

Yanıtlar

  • 201 — Mesaj kaydedildi.
  • 200 — Bu externalMessageId zaten vardı. Mevcut mesaj döner.
  • 400 — sessionId eksik, sourceId geçersiz veya mesaj boş ya da çok uzun.
  • 401 — Belirteç yok, tanınmıyor veya iptal edilmiş.
  • 404 — sessionId bu hesapta değil.
  • 405 — Yanlış HTTP yöntemi.

Bir belirteç oluştur, bir sistemi bir oturuma bağla ve bu olayları kendi dizisinde tut.

Ücretsiz denemeyi başlat