> ## Documentation Index
> Fetch the complete documentation index at: https://docs.thunderphone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Hızlı başlangıç (API)

> Dört REST çağrısıyla ilk telefon aramanızı bir yapay zeka ajanıyla yanıtlayın.

Bu kılavuz, bir yapay zeka ajanıyla 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.
  Kaydolmak ücretsizdir ve bir dakikadan kısa sürer. Komut yazmak 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 ise
  her denetimi sizin için canlı olarak vurgulayabilir.
</Tip>

Bu kılavuz boyunca `sk_live_YOUR_API_KEY` ifadesini 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 theme={null}
  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 theme={null}
  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 theme={null}
  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 optimize edilmiştir;
  `storm-base` / `storm-extra` ise karmaşık istemlerde zekâ 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: Telefon numarası sağlayın

Bu çağrı, ThunderPhone'un demo havuzundan bir numara ister ve yeni
yapay zeka ajanınızı gelen aramaları işleyen ajan 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) sayfasına bakın.)

<CodeGroup>
  ```bash cURL theme={null}
  # 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 theme={null}
  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 başlangıçta `status="provisioning"` durumundadır ve
birkaç saniye içinde `active` durumuna geçer; tarayıcınızı kapattığınızda
numara arama almaya hazır olur.

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

Gerçek zamanlı etkinlikler (dinamik arama yönlendirme, arama sonrası
işleme) için bir webhook uç noktası ekleyin. Yalnızca ihtiyacınız olan
etkinliklere abone olun.

```bash theme={null}
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`
ü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.

Arama sona erdikten sonra inceleyin:

```bash theme={null}
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 aramanın ayrıntılarını görüntüleyin:

```bash theme={null}
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="Fonksiyon araçları ekleyin" icon="screwdriver-wrench" href="/tr/tools/overview">
    Ajanınızın bir görüşme 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ı işleyin" icon="bolt" href="/tr/webhooks/overview">
    Arama etkinliklerine gerçek zamanlı olarak yanıt verin.
  </Card>

  <Card title="Eksiksiz API referansı" icon="book" href="/api-reference/introduction">
    Belgelenmiş tüm herkese açık uç noktalar.
  </Card>
</CardGroup>
