---
title: "Hızlı Başlangıç (API)"
description: "Bir yapay zeka ajanıyla ilk telefon çağrınızı yanıtlayın: API anahtarı alın, bir ajan oluşturun, bir telefon numarası sağlayın ve canlı bir test çağrısı yapın — tümü REST API üzerinden."
---

Bu kılavuz, yapay zeka ajanınızla ilk telefon çağrınızı yanıtlamak için gereken dört REST çağrısında size yol gösterir.

<Info>
  Bir [ThunderPhone hesabına](https://app.thunderphone.com) ihtiyacınız olacak.
  Kayıt ücretsizdir ve bir dakikadan kısa sürer. cURL kullanmak yerine tıklamayı mı tercih ediyorsunuz?
  [Pano hızlı başlangıcı](/tr/quickstart-dashboard), herhangi bir kod yazmadan
  aynı ilk çağrıya ulaşmanızı sağlar.
</Info>

## Adım 1: API anahtarı alın

<Steps>
  <Step title="Giriş yapın">
    [app.thunderphone.com](https://app.thunderphone.com) adresini açın.
  </Step>
  <Step title="Anahtarlara gidin">
    Panoda **Organizasyon → Anahtarlar** bölümüne gidin.
  </Step>
  <Step title="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 — hemen
    gizli anahtar yöneticinize kaydedin.
  </Step>
</Steps>

<Tip>
  Takıldınız mı? [Sunucu API anahtarı oluşturma](/tr/guides/api-keys) bu akışı
  adım adım ayrıntılı olarak açıklar; uygulama içi yardımcı pilot da
  her denetimi sizin için canlı olarak vurgulayabilir.
</Tip>

Bu kılavuz 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: 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.

<CodeGroup>
```bash cURL
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"
  }'
```

```python Python
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"])
```

```javascript Node.js
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);
```
</CodeGroup>

<Tip>
  Ürün katmanları: `spark` maliyet için, `bolt` hız için, `storm-base` / `storm-extra` ise
  karmaşık istemlerde zeka için optimize edilmiştir. Tam
  karşılaştırma için [Ajanlar](/api-reference/agents#product-tiers-at-a-glance) bölümüne bakın.
</Tip>

## Adım 3: Bir telefon numarası sağlayın

Bu çağrı, ThunderPhone'dan bir numara ister ve yeni
ajanınızı gelen aramalar için işleyici olarak atar. (Bir VoIP
sağlayıcısından kendi numaranızı getirmek için bunun yerine
[VoIP bağlantıları](/api-reference/voip-connections) bölümüne bakın.)

<CodeGroup>
```bash cURL
# 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}'
```

```python Python
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"])
```
</CodeGroup>

Yeni numaranız `status="provisioning"` durumunda başlar ve birkaç saniye
içinde `active` durumuna geçer; tarayıcınızı kapattığınızda numara
aramaları almaya hazır olur.

## Adım 4 (isteğe bağlı): Bir webhook ayarlayın

Gerçek zamanlı olaylar için (dinamik çağrı yönlendirme, çağrı sonrası işleme)
bir webhook uç noktası ekleyin. Yalnızca ihtiyacınız olan olaylara abone olun.

```bash
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-V2`
üst bilgisini doğrulamak için bu gizli anahtarı kullanın (bkz.
[Webhook'lara genel bakış](/tr/webhooks/overview)).

## Adım 5: Ajanınızı test edin

Az önce sağladığınız numarayı arayın. Ajan aramayı yanıtlar, kendini tanıtır
ve isteminizi izler.

Çağrı sona erdikten sonra inceleyin:

```bash
curl https://api.thunderphone.com/v1/calls \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"
```

Dökümü ve kayıt URL'sini almak için belirli bir çağrının ayrıntılarına gidin:

```bash
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"
```

---

## Sonraki adımlar

<CardGroup cols={2}>
  <Card title="İşlev araçları ekleyin" icon="screwdriver-wrench" href="/tr/tools/overview">
    Ajanınızın bir konuşma sırasında API'lerinizi çağırmasını sağlayın.
  </Card>
  <Card title="Giden aramalar yapın" icon="arrow-up-right" href="/api-reference/outbound-calls">
    Kendi kodunuzdan aramaları tetikleyin.
  </Card>
  <Card title="Webhook'ları yönetin" icon="bolt" href="/tr/webhooks/overview">
    Çağrı olaylarına gerçek zamanlı olarak yanıt verin.
  </Card>
  <Card title="Tam API referansı" icon="book" href="/api-reference/introduction">
    Belgelenmiş tüm herkese açık uç noktalar.
  </Card>
</CardGroup>
