Adım HTTP request, Chat Flows içinde
Bir akıştan HTTPS üzerinden harici bir sisteme soru sorun ve yanıtı sonraki adımlarda kullanın. İsteğin nereden yapıldığı, nelere erişebileceği ve yanıtın nasıl eşleneceği.
Bir Chat Flow, harici bir sisteme HTTPS üzerinden soru sorabilir ve yanıtı konuşmada kullanabilir: bir siparişi sorgulamak, bakiyeyi kontrol etmek, teslimat tarihini almak gibi. Adın adı HTTP request'tir (palet grubu Integrate) ve Bitrix24 içindeki WASync uygulamasının Chat Flows düzenleyicisinde bulunur.
Adımın yaptığı iş
- İsteği adımın ayarlarından oluşturur: yöntem (GET veya POST), URL, başlıklar
ve POST için bir gövde. Önceki adımlardan ve lead ya da deal kaydından gelen
{{VARIABLES}}değerleri yerine konur: URL içinde URL-encoded, JSON gövdesinde JSON-escaped olarak. - İsteği gönderir ve yanıt için en fazla 10 saniye bekler.
- JSON yanıtını response mapping ile akış değişkenlerine eşler: solda bir JSON
yolu (
data.order.status,items[0].id), sağda bir değişken adı (ESTADO). Sonraki adımlar bunları herhangi bir yanıt gibi kullanır: bir mesajda{{ESTADO}}, bir Branch içinde koşul, Fill in a field içinde değer.
Her çağrı ayrıca üç değişken belirler:
| Değişken | Değer |
|---|---|
HTTP_STATUS | Sistemin döndürdüğü HTTP durum kodu (200, 404, …); yanıt gelmediyse boş. |
HTTP_OK | 2xx yanıtı için true, aksi halde false. |
HTTP_ERROR | Başarıda boş; aksi halde kısa bir kod: http_404, timeout, blocked_url, upstream_unreachable, budget_exceeded, breaker_open. |
İki çıkış bağlantısı
Düğümün normal bir bağlantısı (başarı) ve kırmızı bir error bağlantısı vardır.
Çağrı zaman aşımına uğradığında, URL reddedildiğinde, sistem 4xx veya 5xx ile
yanıt verdiğinde ya da ağ başarısız olduğunda error bağlantısı izlenir. Error
bağlantısı bağlı değilse akış, HTTP_OK = false ile normal bağlantıdan devam
eder; böylece HTTP_OK üzerindeki bir Branch yine de tepki verebilir.
İsteğin yapıldığı yer
İstek WASync sunucularından yapılmaz. WASync'in iç sistemlerine erişimi olmayan,
ayrı bir Cloudflare Worker (egress.wasync.app) tarafından yapılır. İki sonucu
vardır:
- Çağrı sisteminize sabit bir WASync adresinden değil, Cloudflare'in IP aralıklarından ulaşır. API'niz yalnızca listelenmiş IP'lere izin veriyorsa bunun yerine bir API key veya imza kullanın; izin listesine eklenecek bir WASync IP'si yoktur.
- Yavaş veya hatalı bir API, WhatsApp mesajlarını asla geciktiremez ya da çoğaltamaz: çağrı mesaj hattının dışında çalışır ve akış, yanıt gelene veya zaman aşımı dolana kadar adımda bekler.
Adımın erişebildikleri
| Kural | Değer |
|---|---|
| Şema ve port | Yalnızca 443 portunda https |
| Host | Herkese açık bir alan adı. IP adresleri, localhost, .local, .internal, tek etiketli adlar ve WASync'in kendi alan adları reddedilir. |
| Yöntemler | GET, POST |
| Başlıklar | En fazla 16. Aktarım ve proxy başlıkları (Host, Transfer-Encoding, Proxy-*, Cookie, X-Forwarded-*, …) reddedilir; Authorization, X-Api-Key, Content-Type, Accept ve benzerleri kullanılabilir. |
| İstek gövdesi | En fazla 64 KB |
| Yanıt | En fazla 256 KB okunur; daha uzun gövdeler kesilir ve Test içinde truncated bildirilir. |
| Zaman aşımı | 10 saniye |
| Yönlendirmeler | En fazla 2; her biri aynı kurallara göre denetlenir |
| Bütçe | Çalışma alanı başına saatte 600 çağrı. Art arda 5 kez başarısız olan bir host 5 dakika duraklatılır (bu sürede error bağlantısı izlenir). |
| Lisans | Numaranın lisansı etkin olmalıdır; adım trial sürümünde çalışmaz. |
User agent her zaman WASync-Flows/1.0 (+https://wasync.app) değeridir.
Gizli bilgiler
Bir başlığı secret olarak işaretlerseniz (bir API key, bir bearer token) WASync onu şifreli saklar. Düzenleyicide bir daha gösterilmez, akışla birlikte dışa aktarılmaz, günlüklere ya da denetim kaydına yazılmaz. Değiştirmek için yeni bir değer girin; korumak için kaydederken alanı boş bırakın.
Kaydetmeden önce test edin
Adım panelindeki Test request, değişkenler için örnek değerlerle gerçek çağrıyı yapar ve durumu, geçen süreyi, eşlenen değişkenleri ve gövdeyi gösterir. Use as sample response bu gövdeyi adımda saklar: simülatör sistemi aramak yerine bunu kullanır, böylece tüm akış çevrimdışı önizlenebilir.
Örnek: sipariş durumu
- Question: "¿Cuál es tu número de pedido?" (
PEDIDOolarak kaydedilir) - HTTP request:
GET https://erp.example.com/api/orders/{{PEDIDO}}, başlıkX-Api-Key(secret), eşlemedata.status→ESTADO,data.eta→ENTREGA HTTP_OKüzerinde Branch:true→ MessageTu pedido está {{ESTADO}}, llega el {{ENTREGA}}.·false→ MessageNo pude consultar tu pedido ahora, un asesor te escribe en breve.→ Hand to a person
Bu sürümde olmayanlar
PUT, PATCH ve DELETE; harici sisteme yönelik OAuth; otomatik yeniden denemeler; dosya indirmeleri; sistemden bir geri çağrı (callback) beklemek. Bunlar için yardımcı tarifi kullanın: akış bir CRM alanına yazar, bir Bitrix24 otomasyon kuralı sisteminizi bilgilendirir, sisteminiz sonucu Bitrix24 REST API üzerinden geri yazar ve WASync: Send WhatsApp Message kuralı bunu gönderir.
Her çağrı çalışma alanının denetim kaydına işlenir (host ve yol, durum, süre, hangi değişkenlerin ayarlandığı; gövde ve başlıklar asla).
Başka bir sağlayıcıdan numara taşıyın
Başka bir sağlayıcıda kullandığınız WhatsApp Business API numarasını uygulama içindeki sihirbazla WASync'e taşıyın ve Meta nezdindeki itibarınızı koruyun.
WhatsApp sohbetlerinden lead'ler
WASync'in yeni bir WhatsApp görüşmesini nasıl bir Bitrix24 lead'ine dönüştürdüğü, lead'in kime atandığı, numara CRM'inizde zaten varsa ne olduğu ve kapanmış bir lead'den sonra geri yazan müşteriyi aynı kayıtta tutan yeniden iletişim penceresi.