Hızlı Başlangıç (API)
İlk telefon çağrınızı yapay zeka ajanıyla yanıtlayın: API anahtarı alın, bir ajan oluşturun, telefon numarası sağlayın ve canlı test çağrısı yapın — tümü REST API üzerinden.
Bu rehber, ilk telefon çağrınızı bir yapay zeka ajanıyla yanıtlamak için gereken dört REST çağrısında size yol gösterir.
Adım 1: API anahtarı alın
- Giriş yapın
app.thunderphone.com adresini açın.
- Anahtarlar bölümüne gidin
Kontrol panelinde Organizasyon → Anahtarlar bölümüne gidin.
- Anahtar oluşturun
Anahtar oluştur seçeneğine tıklayın, anahtara bir ad verin ve
sk_live_...değerini kopyalayın. Ham anahtar yalnızca bir kez gösterilir; anahtarı hemen gizli anahtar yöneticinize kaydedin.
Bu rehber boyunca sk_live_YOUR_API_KEY değerini az önce kopyaladığınız
değerle değiştirin. Anahtar organizasyonunuzu otomatik olarak tanımlar;
bu nedenle URL'lere hiçbir zaman organizasyon kimliği eklemeniz gerekmez.
Adım 2: Bir ajan oluşturun
Bir ajan, yapay zekanın konuşmaları nasıl yöneteceğini tanımlar: istem, ses, ürün katmanı, araçlar ve widget uygunluğu.
curl -X POST https://api.thunderphone.com/v1/agents \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Customer Support",
"prompt": "You are a friendly support agent for Acme Corp. Help with orders, returns, and product info. Be concise and helpful.",
"voice": "john",
"product": "spark"
}'import os, requests
agent = requests.post(
"https://api.thunderphone.com/v1/agents",
headers={"Authorization": f"Bearer {os.environ['THUNDERPHONE_API_KEY']}"},
json={
"name": "Customer Support",
"prompt": "You are a friendly support agent for Acme Corp. Help with orders, returns, and product info. Be concise and helpful.",
"voice": "john",
"product": "spark",
},
).json()
print("Agent id:", agent["id"])const agent = await fetch("https://api.thunderphone.com/v1/agents", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.THUNDERPHONE_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
name: "Customer Support",
prompt: "You are a friendly support agent for Acme Corp. Help with orders, returns, and product info. Be concise and helpful.",
voice: "john",
product: "spark",
}),
}).then((r) => r.json());
console.log("Agent id:", agent.id);Adım 3: Bir telefon numarası sağlayın
Bu çağrı, ThunderPhone'un demo havuzundan bir numara ister ve yeni ajanınızı gelen çağrı işleyicisi olarak atar. (Bir VoIP sağlayıcısından kendi numaranızı getirmek için bunun yerine VoIP bağlantıları sayfasına bakın.)
# First provision
curl -X POST https://api.thunderphone.com/v1/phone-numbers \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"area_code": "415"}'
# Then assign the agent you created in Step 2
curl -X PATCH https://api.thunderphone.com/v1/phone-numbers/<id-from-previous> \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"inbound_agent_id": 12}'number = requests.post(
"https://api.thunderphone.com/v1/phone-numbers",
headers={"Authorization": f"Bearer {os.environ['THUNDERPHONE_API_KEY']}"},
json={"area_code": "415"},
).json()
requests.patch(
f"https://api.thunderphone.com/v1/phone-numbers/{number['id']}",
headers={"Authorization": f"Bearer {os.environ['THUNDERPHONE_API_KEY']}"},
json={"inbound_agent_id": agent["id"]},
)
print("Your ThunderPhone number:", number["number"])Yeni numaranız status="provisioning" durumunda başlar ve birkaç saniye
içinde active durumuna geçer; tarayıcınızı kapatana kadar numara çağrı
almaya hazır olur.
Adım 4 (isteğe bağlı): Bir webhook ayarlayın
Gerçek zamanlı etkinlikler için (dinamik çağrı yönlendirme, çağrı sonrası işleme) bir webhook uç noktası ekleyin. Yalnızca ihtiyacınız olan etkinliklere abone olun.
curl -X POST https://api.thunderphone.com/v1/developer/webhook-endpoints \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"label": "Prod webhook",
"url": "https://your-server.com/thunderphone-webhook",
"events": ["telephony.incoming", "telephony.complete"]
}'Yanıt, tek kullanımlık bir secret içerir — bunu gizli anahtar
yöneticinize kopyalayın. Gelen isteklerdeki X-ThunderPhone-Signature
başlığını doğrulamak için bu gizli anahtarı kullanın (bkz.
Webhook'lara genel bakış).
Adım 5: Ajanınızı test edin
Az önce sağladığınız numarayı arayın. Ajan çağrıyı yanıtlar, kendini tanıtır ve isteminizi izler.
Çağrı bittikten sonra inceleyin:
curl https://api.thunderphone.com/v1/calls \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"Transkripti ve kayıt URL'sini almak için belirli bir çağrının ayrıntılarına gidin:
curl https://api.thunderphone.com/v1/calls/{call_id}/transcript \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"
curl https://api.thunderphone.com/v1/calls/{call_id}/audio \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"