# Başlarken

> **Ne yaparsınız:** Anahtar oluşturur, bağlantınızı doğrular ve ilk sipariş listenizi yaklaşık 5 dakikada okursunuz.
> **Hangi uçlar:** [Bağlantıyı doğrula](https://developer.siparis.app/uc/baglantiyi-dogrula), [Siparişleri listele](https://developer.siparis.app/uc/siparisleri-listele)
> **Gereken izin:** `/me` için ek izin gerekmez; sipariş listesi için `orders:read`.

Önce [deneme ortamında deneyin](https://developer.siparis.app/deneme-ortami): ayrı hesap ve `spk_test_` anahtarıyla gerçek sipariş ve ödeme oluşturmadan bağlantınızı kurabilirsiniz.

API sipariş, müşteri, ürün, stok, kategori, ürün markası ve kupon bilgilerini okur ve yazar; kargo, iade ve fatura işlemlerini, dış satış bildirimini ve toplu güncellemeyi destekler. Değişiklikleri olay akışı ve webhook ile haber verir. Önce [API ile neler yapabilirim?](https://developer.siparis.app/neler-yapabilirim) tablosunda yapmak istediğiniz işi bulun.

API temel adresi `https://api.siparis.app/v1`; belge adresi `https://developer.siparis.app`. İstekleri kendi sunucunuzdan gönderin.

## 1. Anahtar oluşturun

İşletme sahibi hesabıyla [İşletme › Entegrasyonlar › Geliştirici](https://siparis.app/panel/developer) sayfasını açın. “Anahtar oluştur”a basın; bağlantınıza (anahtarı ve izinlerini tutan kayıt; anahtarı yenileseniz de aynı kalır) bir ad verin, erişilecek markayı ve ilk deneme için `orders:read`, `events:read` kapsamlarını seçin. Kapsam, anahtarın hangi bilgilere erişebildiğini belirleyen izindir. Bir kez gösterilen anahtarı sunucunuzda `SIPARIS_API_KEY` ortam değişkenine kaydedin.

Anahtar yalnız `Authorization: Bearer` başlığıyla gönderilir; panel oturumu veya çerez API kimliği değildir. Anahtarı tarayıcı koduna, URL’ye, kayıtlara veya AI sohbetine koymayın; AI’a anahtar yerine ortam değişkeninin adını verin. CORS ile tarayıcıdan doğrudan erişim açılmaz.

## 2. İlk istek: /v1/me

Bu blok `SIPARIS_API_KEY` tanımlıysa kopyalanıp çalışır. Yerel denemede yalnız `SIPARIS_API_URL=http://127.0.0.1:PORT/v1` değişkenini ayarlayın; örnek komut aynı kalır.

```bash
curl --fail-with-body --silent --show-error \
  "${SIPARIS_API_URL:-https://api.siparis.app/v1}/me" \
  -H "Authorization: Bearer $SIPARIS_API_KEY"
```

Yanıtta `scopes` etkin kapsamları, `stores` erişilebilen markaları, `environment` ortamı, `api_version` sürümü ve `api_url` bu ortamın API adresini gösterir; anahtar yanıtta bulunmaz. `401 invalid_api_key` alırsanız ortam değişkenini ve panelde bağlantının açık olduğunu kontrol edin.

Örnek HTTP 200 yanıtı (uydurma veri):

```json
{
  "api_url": "https://api.siparis.app/v1",
  "api_version": "v1",
  "environment": "live",
  "id": "grt_1234567890abcdef1234567890abcdef",
  "scopes": [
    "orders:read",
    "events:read"
  ],
  "stores": [
    {
      "id": "sto_1234567890abcdef1234567890abcdef",
      "name": "Örnek Marka"
    }
  ]
}
```



## 3. İlk sipariş listesini alın

Aşağıdaki istek en fazla 2 sipariş getirir; `data=[]` başarılı ama henüz görünür sipariş olmadığını, `403 insufficient_scope` ise `orders:read` kapsamının eksik olduğunu gösterir.

```bash
curl --fail-with-body --silent --show-error --get \
  "${SIPARIS_API_URL:-https://api.siparis.app/v1}/orders" \
  -H "Authorization: Bearer $SIPARIS_API_KEY" \
  --data-urlencode 'limit=2'
```

Örnek HTTP 200 yanıtı (uydurma veri):

```json
{
  "data": [
    {
      "channel": "whatsapp",
      "created_at": "2026-10-16T09:00:00Z",
      "currency": "TRY",
      "customer": null,
      "delivery_day": "2026-10-17",
      "delivery_method": "shipping",
      "discount_total": "0.00",
      "gift_wrap_fee": "0.00",
      "id": "ord_1234567890abcdef1234567890abcdef",
      "number": "48273910",
      "payment_fee": "0.00",
      "payment_method": "bank_transfer",
      "payment_state": "paid",
      "preorder_from": null,
      "shipping_total": "0.00",
      "source": "panel",
      "status": "confirmed",
      "store": "sto_1234567890abcdef1234567890abcdef",
      "subtotal": "120.00",
      "tax_status": "standard",
      "tax_total": "20.00",
      "total": "120.00",
      "updated_at": "2026-10-16T10:00:00Z"
    }
  ],
  "has_more": false,
  "next_cursor": null
}
```



`has_more=true` ise yanıttaki `next_cursor` (sonraki sayfanın yer imi) değerini aynı süzgeçlerle `cursor` parametresinde gönderin. Para alanları (`"120.00"`) ve miktarlar metindir; ondalık sayı kütüphanesi kullanın. Kimlikleri (`ord_…`) aynen saklayın. Kişisel veri kapsamı verilmediğinde müşteri adı, telefon ve adres gibi alanlar yanıtta yer almaz.

Bağlantı çalışınca [Siparişleri listelemek](https://developer.siparis.app/siparisleri-listelemek) veya [Müşterileri bulmak](https://developer.siparis.app/musterileri-bulmak) rehberiyle devam edin. Sürekli aktarım için [Siparişleri ERP’ye almak](https://developer.siparis.app/siparisleri-erpye-almak), [Stoku eşitlemek](https://developer.siparis.app/stoku-esitlemek) ve [İlk eşitleme](https://developer.siparis.app/ilk-esitleme) rehberleri var. Liste uçları değişen verinin kayıpsız ilk aktarımını garanti etmez; bunun için tutarlı dışa aktarmayı ([İlk eşitleme](https://developer.siparis.app/ilk-esitleme)) kullanın.
