Kontrol paneli, bu API’ye gerek kalmadan araç ihtiyaçlarının çoğunu karşılar:
Bağlantılar → Uygulamalar, Slack, HubSpot, Salesforce, Google Calendar,
Google Sheets ve Cal.com’u birkaç OAuth tıklamasıyla bağlar; Bağlantılar →
API’ler, herhangi bir HTTP API’sini bir ajan eylemine dönüştürür (bir cURL
komutu yapıştırın; bir yapay zeka sihirbazı, yerleşik bir Test İsteği ile
aracı taslak olarak oluşturur); Bağlantılar → MCP ise MCP sunucuları ekler.
Bkz. Bağlantılar. Bu kılavuz, API’ler
yüzeyinin altındaki ham API’yi açıklar.
Bir aracın yapısı
İki bölüm vardır:- Şema — LLM’ye aracın ne yaptığını ve hangi bağımsız değişkenleri aldığını
bildiren OpenAI tarzı bir işlev tanımı
(
{type: "function", function: {name, description, parameters}}). - Uç nokta — LLM aracı kullanmaya karar verdiğinde ThunderPhone sunucularının çağırdığı URL. İstek, gövde olarak LLM’nin seçtiği bağımsız değişkenleri içeren bir JSON POST isteğidir.
1. Depolama stratejisi seçin
Ajan üzerinde satır içi
Tek seferlik bir aracı ajanın
tools dizisine ekleyin. Basittir, ancak
yeniden kullanılamaz.Kaydedilmiş entegrasyon
Aracı yeniden kullanılabilir bir entegrasyon
olarak saklayın ve birçok ajana bağlayın. Birden fazla kez kullanılan her
şey için önerilir.
2. Entegrasyonu oluşturun
id değerini (bir UUID) kaydedin.
3. Uç noktayı korumalı alanda test edin
Entegrasyonu bir ajana bağlamadan önce, bağlantıyı doğrulamak için ThunderPhone sunucularından imzalı bir istek gönderin:Response
400 code=url_not_allowed döndürür.
4. Entegrasyonu bir ajana bağlayın
Bir ajan oluştururken veya güncellerkenintegration_ids aracılığıyla ekleyin:
get_weather kullanın” — veya şema
açıklamalarından bunları örtük olarak keşfedebilir.
5. Uç noktayı uygulayın
Ajan aracı çağırdığında ThunderPhone,endpoint_url adresinize imzalı bir POST gönderir:
6. Akışı test edin
Ajana karşı bir mikrofon oturumu çalıştırın ve aracınızın işlediği soruyu sorun (“94110’da hava nasıl?”). Aramanın transkripti tam gidiş dönüşü gösterir:GET /v1/calls/{call_id}/transcript
aracılığıyla alabilirsiniz; giriş başına zamanlama ve ses kaydırmaları
içeren ham olay akışı
GET /v1/calls/{call_id}/history
adresindedir.
Sık karşılaşılan sorunlar
Ajan aracı hiç çağırmıyor
Ajan aracı hiç çağırmıyor
LLM, aracın açıklamasına göre karar verir. Arayan kişinin sorusu
açıklamayla eşleşmiyorsa model aracı çağırmaz. Açıklamayı
netleştirin (yaygın eş anlamlılar ve ifadeler ekleyin) veya ajan
isteminde açıkça belirtin (“Arayan kişi hava durumunu sorduğunda
get_weather kullanın.”).Araç çok fazla veri döndürüyor
Araç çok fazla veri döndürüyor
6 kB üzerindeki yanıtlar transkript önizlemesinde kesilir. Tüm
satırınızı değil, yalnızca LLM’nin ihtiyaç duyduğu alanları döndürün.
Zaman aşımları
Zaman aşımları
Araç uç noktalarının varsayılan zaman aşımı 10 saniyedir. Daha uzun
bir süreye ihtiyacınız varsa bunu eşzamansız işleyin:
{"status": "pending", "request_id": "..."}
döndürün ve sonucu ayrı bir araç çağrısı aracılığıyla sunun.Sürüm oluşturma
Sürüm oluşturma
Her entegrasyon
PATCH işlemi yeni bir revizyon oluşturur.
Kimin neyi değiştirdiğini görmek için
GET /v1/integrations/{id}/versions
inceleyin. Bir aracın şemasını bozarsanız, eski bir anlık görüntüyü
PATCH ile geri uygulayarak manuel olarak geri alabilirsiniz.Sonraki adımlar
Entegrasyonlar referansı
CRUD, aktarım, sürüm geçmişi.
Function Tools spesifikasyonu
Tam JSON şeması dil bilgisi ve imzalı uç nokta sözleşmesi.
İmzaları doğrulama
Webhook imza modelini araç uç noktalarına uygulayın.
Transkript + geçmiş API'si
Bir araç çağrısının tam gidiş dönüşünü inceleyin.