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
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.
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.
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.
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öntem | Yol | Kimlik | Ne yapar |
|---|---|---|---|
| POST | /api/external/messages | API belirteci | Bir oturuma metin mesajı kaydeder. Yeniyse 201, bu externalMessageId zaten varsa 200 döner. |
| GET | /api/external/me | API belirteci | Belirtecin geçerli olduğunu kontrol eder. authenticated ve hesap kimliğini döner. Oturumları listelemez. |
| GET | /api/external/tokens | Açık oturum | Etkin belirteçleri listeler: ad, önek, oluşturulma zamanı, son kullanım. Gizli anahtarlar yoktur. |
| POST | /api/external/tokens | Açık oturum | Belirteç oluşturur. Gövde { "name": "Shopify" } şeklindedir. Gizli anahtar yanıtta bir kez gelir. |
| DELETE | /api/external/tokens?id=TOKEN_ID | Açık oturum | Bir 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.
| Alan | Zorunlu | Ne yapar |
|---|---|---|
| sessionId | Zorunlu | Diziyi gösterecek WhatsApp oturumu. Panelden kopyala. Bu hesapta yoksa 404 döner. |
| sourceId | Zorunlu | Dizi 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. |
| message | Zorunlu | Dizide 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