Ana içeriğe geç

Harici Bir API'yi Çağırın

Botlar, dış dünyaya ulaşabildiklerinde gerçekten kullanışlı hale gelir — bir siparişi aramak, envanteri kontrol etmek, bir talep oluşturmak. Flowera size giden bir istek yapmanın iki yolunu sunar ve bu eğitim her ikisini de kapsar:

  • HTTP node'u — bir isteğin ne zaman ateşleneceğine, akıştaki sabit bir adım olarak tam olarak siz karar verirsiniz.
  • Bir Agent üzerindeki HTTP Requests aracı — AI'ın çağırıp çağırmayacağına ve nasıl çağıracağına kendi başına karar vermesi.

Ne kuracaksınız: bir sipariş durumu botu. Önce bir HTTP node'u ile deterministik yol, sonra bir HTTP aracına sahip bir Agent ile esnek yol.

Kullanacağınız node'lar:

Bilmeniz gereken kavramlar:

  • Değişkenler{{ }} ile istek query param'ları ve gövdeleri oluşturma
  • Flow state — yakalanan değerleri isteğe aktarma

Bölüm A — Deterministik yol: bir HTTP node'u

İstek her seferinde, akıştaki bilinen bir noktada gerçekleşmesi gerektiğinde bunu kullanın.

Adım 1 — Girdiyi yakalayın

Bir Başlangıç (Sohbet Girişi) node'u olan bir akış oluşturun. Ziyaretçiden sipariş numarasını isteyen ve onu orderId gibi bir anahtar altında flow state'e yazan bir Agent ekleyin (state'e yazma deseni için Lead toplayıcı bot sayfasına bakın).

Adım 2 — HTTP node'unu ekleyin

Bir HTTP node'u ekleyin ve Agent'ı ona bağlayın. İsteği yapılandırın:

  • Method: GET

  • URL: uç noktayı düz bir metin olarak yazın (URL alanı {{ }} çözümlemez — aşağıya bakın):

    https://api.acme.com/orders
  • Query Params: yakalanan değeri, değişkenlerin çözümlendiği burada geçirin — değeri {{$flow.state.orderId}} olan bir id parametresi ekleyin, bu ?id=<yakalanan sipariş numarası> verir.

  • Headers: API'nizin ihtiyaç duyduğu her başlığı ekleyin, örneğin application/json değerinde bir Content-Type.

  • HTTP Credential: uç nokta kimlik doğrulaması gerektiriyorsa bir kimlik bilgisi ekleyin, böylece URL'ye asla bir sır kodlamazsınız.

Bir siparişi aramak için GET yapan bir HTTP node&#39;u

Değişkenleri URL'ye değil, Query Params veya Body'ye koyun

URL alanı düz gönderilir, bu yüzden yolun (path) içindeki {{$flow.state.orderId}} çözümlenmez. Flow değerlerine Query Params içinde (id{{$flow.state.orderId}}) ya da bir POST için JSON Body içinde ({{$question}}, {{$flow.state.orderId}}) referans verin. Değişkenler sayfasına bakın.

Adım 3 — Yanıtı kullanın

HTTP node'unun sonucu, çıktısı olarak kullanılabilir. Ham yanıtı güler yüzlü bir cümleye dönüştüren bir Agent ve ardından onu göndermek için bir Doğrudan Yanıt ekleyin:

{{ HTTP }}

Mesaj alanına {{ yazıp listeden HTTP node'unu seçerek label'ı ekleyin — buradaki node'un adı HTTP, süslü parantezlerin arasına giren de bu.

Bu, yanıtı ham hâliyle gönderir. Bunun yerine kendi üslubunuzla ifade etmek isterseniz, HTTP node'u ile Doğrudan Yanıt arasına bir Agent koyun ve aynı label'a onun System mesajında referans verin:

Ziyaretçinin sorduğu durum şu: {{ HTTP }}. Bunu açık, tek bir cümlede özetleyin.

Yanıt derinlemesine iç içe geçmiş JSON ise, JSON Path Extractor aracı yalnızca ihtiyacınız olan alanı çekebilir.

Bir HTTP node ile harici bir API çağıran akış

Bölüm B — Esnek yol: bir HTTP aracına sahip bir Agent

Bir aramanın ne zaman gerektiğine AI'ın karar vermesini ve parametreleri kendisinin bulmasını tercih ettiğinizde bunu kullanın.

Adım 1 — Agent'a bir araç verin

Bir Agent node'unda, Araçlar bölümünü açın ve HTTP Requests aracını ekleyin. (Araçlar, bağımsız Araç node'unun kullandığı aynı katalogdur.) Aracı API'nize yönlendirin ve yapılandırmasında ne döndürdüğünü açıklayın.

Bir Agent&#39;ın çağırabileceği aracı seçtiğiniz araç kataloğu

Adım 2 — Agent'a onu ne zaman kullanacağını söyleyin

Agent'ın Sistem mesajında, aracın amacını açıklayın:

Müşterilerin sipariş durumunu kontrol etmelerine yardımcı olursunuz. Bir müşteri bir sipariş numarası verdiğinde, onu aramak için sipariş durumu aracını çağırın, ardından sonucu açıkça açıklayın. Arama başarısız olursa, özür dileyin ve onları desteğe bağlamayı teklif edin.

Artık Agent, API'yi yalnızca mantıklı olduğunda çağırır — ve sipariş numarası eksikse önce takip soruları sorabilir.

Adım 3 — Yanıt verin

Agent'ı, Mesaj'ı Agent'ın label'ı ({{ Agent }}) olan bir Doğrudan Yanıt'a bağlayın. Yanıtın iki kez gönderilmemesi için Agent'ta Çıktıyı Sohbette Göster'i kapatın (bkz. Çıktıyı Sohbette Göster). Tüm akış bu: Başlangıç → Agent (HTTP aracıyla) → Doğrudan Yanıt.

Hangi yaklaşımı kullanmalıyım?

Şu durumda bir HTTP node'u kullanın…Şu durumda bir Agent üzerindeki HTTP aracı kullanın…
Çağrının her çalıştırmada gerçekleşmesi gerekirÇağrı isteğe bağlı / koşulludur
Tam zamanlamayı ve parametreleri siz kontrol edersinizAI'ın parametreleri toplamasını ve karar vermesini istersiniz
Akış sabit bir işlem hattıdırEtkileşim konuşma tabanlıdır

Birçok gerçek akış her ikisini de kullanır — konuşmak için bir Agent, garantili bir adım için bir HTTP node'u.

Öğrendikleriniz

  • HTTP node'u, ayarladığınız method, URL, başlıklar ve gövdeyle sabit bir adım olarak bir istek yapar.
  • İstekleri Query Params ve Body içinde {{$flow.state.orderId}} gibi {{ }} değişkenleriyle oluşturun — değerleri asla sabit kodlamayın ve URL alanının düz olduğunu unutmayın.
  • Sırları gömmek yerine bir kimlik bilgisi ekleyin.
  • Bir Agent'a HTTP Requests aracını vermek, AI'ın ne zaman ve nasıl çağıracağına karar vermesini sağlar.

Sonraki adımlar