İçeriğe geç
siparis.app geliştiriciAnahtarları yönet ↗

Değişiklik günlüğü

19 Ekim 2026 — payment_pending artık üretilmez

Ödeme sipariş durumundan ayrıldı: havale veya kart ödemesi beklenen sipariş pending (vitrin) ya da confirmed (elle açılan) durumundadır, ödeme payment_state (awaiting, partial) alanındadır. payment_pending hiçbir yanıtta yeni değer olarak gelmez; yalnız eski olaylarda (previous_status, webhook changes) görülür. Girdi daralmadı: status=payment_pending süzgeci ve dışa aktarma süzgeci kabul edilir, boş sonuç verir; durum düzeltmede payment_pending hedefi 409 döner. Kodlar ve durumlar.

19 Ekim 2026 — Gönderide firmadan bağımsız durum

Gönderiye state (ortak gönderi durumu: draft, ready, in_transit, delivered, returning, returned, lost, cancelled) ve cod_state (kapıda ödeme tahsilatı: pending, collected, settled, settled_direct, not_collected) alanları eklendi; shipment.created, shipment.status_changed ve shipment.cod_changed olaylarının changes alanı da aynı değerleri taşır. Açılış beklerken, başarısızlıkta ve tanınmayan kodda null gelir. Mevcut alanlar değişmedi: status ve olaydaki cod_status kargo firmasının kodunu aynen taşır; gönderinin cod_status alanı önceden de ortak değeri veriyordu, belgesi düzeltildi (önceki belge firmanın kodlarını listeliyordu). Yeni entegrasyonlarda state ve cod_state kullanın. Kodlar ve durumlar.

17 Ekim 2026 — Belge düzeni: her uç kendi sayfasında

Belge sitesi işe göre düzenlendi. Menü Başlangıç, kaynaklar (Siparişler, Müşteriler, Ürünler, Stok, Kargo, İade, Fatura, Başka kanaldaki satış, Toplu işler, Kuponlar, Olaylar ve Webhook, Dışa aktarma, Uygulamalar ve MCP, Hesap), Rehberler ve Referans olarak gruplandı; menüde arama (⌘K/Ctrl+K) var. Her uç kendi adresinde: ör. Sipariş oluştur; alan tablosu (önce zorunlular), cURL/Python/TypeScript örneği, yanıt ve yalnız o uca özgü hatalar. Ortak hatalar Hata kodları, her yanıttaki başlıklar Genel bakış'tadır. Kodların Türkçe karşılıkları Kodlar ve durumlar sayfasında. Postman koleksiyonu eklendi. Eski /uc-basvurusu#... bağlantıları ucun yeni sayfasına yönlenir. OpenAPI işlemlerinin summary alanı kısa Türkçe eylem adıdır; tags grubu, x-purpose ne zaman kullanılacağını, x-notes kuralları verir. İsteğe bağlı kapsamın ne zaman gerektiği x-scope-conditions alanındadır; koşulu olmayan okuma kapsamı yalnız yanıttaki alanları açar. Ürün arşivleme, geri getirme ve marka fiyatı uçlarında hiç gerekmeyen costs:write ve inventory:write isteğe bağlı kapsam listesinden çıktı. Kodlu alanların açıklaması değer listesini içerir; payment_state açıklamasındaki yanlış unpaid örneği kalktı (değerler: none, awaiting, partial, paid, refund_due, refunded, test). Kodlar sayfası sipariş açarken gönderilebilen ödeme ve teslim kodlarını ayrıca gösterir: marketplace yalnız okunur. Uçların davranışı değişmedi.

17 Ekim 2026 — Stok belgesi olayları; başka kanal satışı açık

inventory.document_created ve inventory.document_reversed artık yayımlanıyor: panelden, AI ile veya API'den yapılan mal girişi, sayım, fire, depolar arası taşıma ve ters kayıt olay akışına ve webhook'lara düşer. Olay belge kimliği, türü ve varsa ters kayıt bağını taşır; not, tedarikçi ve maliyet taşımaz. Bu tarihten önceki belgeler için olay üretilmez; belgeyi GET /v1/inventory/documents/{id} ile okuyun. Stok yazmak.

POST /v1/external_orders her ortamda açık; 503 external_orders_unavailable yanıtı kalktı. Başka kanaldaki satışı bildirmek.

16 Ekim 2026 — AI asistanınızı bağlamak

https://api.siparis.app/mcp adresinde OAuth ile MCP bağlantısı hazır. Sipariş, müşteri, ürün, stok ve olay okumaları; sipariş/müşteri/stok/fiyat/gönderi yazmaları aynı API servislerini kullanır. Yazmadan önce 5 dakikalık tek kullanımlık onay gerekir; iade yalnız önizlenir. MCP ve REST OAuth belirteçlerinin kaynakları ayrıdır; mevcut kaynak belirtmeyen OAuth bağlantıları /v1'de çalışmayı sürdürür. Kalıcı API anahtarları MCP'ye kabul edilmez. AI asistanınızı bağlamak.

16 Ekim 2026 · Davetli OAuth uygulamaları

OAuth 2.1 Authorization Code + zorunlu PKCE S256, 60 saniyelik tek kullanımlık kod, bir saatlik sat_ erişim belirteci ve döndürülen srt_ yenileme belirteci eklendi. Yeniden kullanım bütün aileyi iptal eder; mutlak aile ömrü 30 gündür. /oauth/revoke ve RFC 8414 metadata hazırdır. /v1/me uygulama/kurulum bilgisini verir; kapsam, marka, tekrar anahtarı ve hız sınırı kurulum grant'ine bağlıdır. Sahip onayı, kırmızı kişisel veri başlığı, yurt dışı uyarısı, Bağlı uygulamalar ve kurucu davet/askı ekranı eklendi. Rehber.

16 Ekim 2026 · Başka kanaldaki satışın yönetimi

Başka kanalda bildirilen satış gerekçeyle iptal edilebilir, durumu düzeltilebilir ve teslimi kaydedilebilir; stok ve raporlar güncellenir, para işlemi kanalda kalır. Yerel para iadesi doğurmayan iptal/düzeltmede orders:write yeterlidir. Kanalın kargoladığı satış müşteri anonimleştirmesini engellemez. Bu satışlara otomatik fatura kesilmez; elle kesim öncesi ikinci belge uyarısı gösterilir.

16 Ekim 2026 — Başka kanaldaki satışı bildirmek

POST /v1/external_orders sözleşmesi hazır: kesinleşmiş birim fiyatı ve grant + kanal içinde tekil dış sipariş numarası gerekir. Stok pazaryeri kuralıyla düşer; tahsilat kanalda kalır, yerel kasaya ikinci kez yazılmaz. Müşteriye otomatik e-posta/SMS gitmez. Listeler ve dışa aktarma source=api_external ile kanal adını taşır; olaylar ve webhook mevcut sipariş yolundadır. Ortamda açılmadan önce 503 external_orders_unavailable döner. Başka kanaldaki satışı bildirmek.

16 Ekim 2026 — İade kararları ve para iadesi

Müşteri iade/değişim talebini okuma ve onay/ret, yan etkisiz iade önizlemesi, görülen tutarla iade oluşturma ve sonucu izleme hazırdır. Para iadesi returns:write money_out:write, zorunlu expected_amount ve Idempotency-Key ister; tutar değişirse 409 amount_changed güncel tutarı verir. Kodsuz karar ve önizleme returns:write ister. Geri gönderim kodu açık seçimle (return_code=true), ayrıca shipments:write ile açılır; BasitKargo bakiyenizden ücretlidir.

Panelin aynı iade, stok/fire, kargo ve ödeme kuruluşu servisleri kullanılır; stok seçimi belirtilmezse iade edilemez veya hasarlı ürün stoğa eklenmez, önizleme her kalemin seçimini gösterir. Kartta belirsiz sonuç ikinci iade başlatmaz. İade yanıtında payments:read varsa A2 para özeti vardır; elle verilen iade /refunds/{id}/money-returned ile kaydedilir. İade ve karar e-postası açık seçimle atlanabilir. İade almak ve para iadesi.

16 Ekim 2026 — Toplu fiyat ve stok güncelleme

  • En çok 10.000 satırlık fiyat ve depo sayımı, kalıcı job_ işi ve sayfalı satır hataları hazır.
  • Sayımda expected zorunlu; değişmiş stok satırı atlanır. Parçalar yeniden başlatmada iki kez uygulanmaz.
  • Ondalık tutarlar iki haneyle saklanır ("1.500" = 1,50 TL); fiyat geçmişinde “API toplu güncelleme” görünür.
  • Takılan satır row_timeout ile atlanır; 1 saat toplam süre veya art arda 20 zaman aşımında iş timeout ile biter.
  • job.completed işi açan bağlantı ve kaynak kapsamlarına bağlı; sahip paneli ve AI aynı iş listesini gösterir.
  • Gönderme, izleme ve hata düzeltme rehberi.

16 Ekim 2026 · Fatura kesme, iptal ve belge

Fatura önizleme, kesme, tek fatura okuma, iptal önizleme, iptal ve belge indirme açıldı. Panelin aynı alıcı, KDV ve uygunluk kuralları kullanılır. Kesme 202 pending ve kalıcı fatura kimliği döndürür; belirsiz sonuç aynı ETTN üzerinden sorgulanır. İptal invoices:write money_out:write; HTML belge invoices:read personal_data:read ister. Portal gereken iptaller açıklamayla belirtilir; muhasebe kaydı korunur. invoice.* olayları henüz yayımlanmaz; sonuç fatura okuma ucundan izlenir. Fatura kesmek ve iptal etmek.

16 Ekim 2026 — Deneme ortamı

  • sandbox.siparis.app panel/vitrin ve api.sandbox.siparis.app/v1 API adresleri eklendi; canlıdan ayrı sentetik veriler kullanılır.
  • spk_test_ anahtarları yalnız deneme ortamında geçer; /v1/me.environment değeri test olur. Yanlış ortam hataları: test_key_in_live, live_key_in_sandbox.
  • Deneme ortamında denemek rehberi, sahte servis davranışları ve sınırlar eklendi. OpenAPI sunucu listesinde canlı ilk, deneme ikinci sıradadır; deneme ortamının kendi /v1/openapi.json belgesinde deneme ilktir.

Bu sayfa https://api.siparis.app/v1 sözleşmesinin değişikliklerini izler. Güncel alanlar backend’den üretilen OpenAPI içindedir. Kırıcı sözleşme değişiklikleri yeni ana sürümle duyurulur; istemciler tanımadıkları ek yanıt alanlarını yok sayabilmelidir.

16 Ekim 2026 · Gönderi açma, iptal ve SVG etiket

Kargo fiyat sorgusu bütün bağlantı ve markalarda işletme başına 60 saniyede 20 sorguyla sınırlıdır; aşımda 429 quote_rate_limited ve Retry-After gelir. Sorgu bakiyeyi en çok 60 saniyelik önbellekten, gönderi açılışı taze okur; açılış bu sayacı tüketmez. Zaten açılmış birleşik grup için yeni API açılışı 409 shipment_not_allowed döner; ilk isteğin aynı tekrar anahtarıyla yinelenmesi aynı gönderiyi verir.

Kargo fiyatı sorma, gönderi açma ve iptal shipments:write ile hazırdır. Fiyat sorgusu yan etkisiz POST’tur; Idempotency-Key gerekmez. Açma ve iptal zorunlu tekrar anahtarıyla panelin aynı kalıcı işini kullanır. 202 yanıtını tek gönderi okumasından izleyin; belirsiz açılış aynı shp_ kimliğiyle bekler. Etiket image/svg+xml döner; çok kolide page ile her SVG ayrı indirilir, X-Label-Pages toplam etiket sayısını verir; shipments:read ve personal_data:read birlikte gerekir, önbelleklenmez. Birleştirme, bakiye, kapıda ödeme, depo ve koli kuralları panelle aynıdır. Kargoya vermek.

16 Ekim 2026 · KVKK müşteri anonimleştirmesi

POST /v1/customers/{id}/anonymize açıldı. customers:write, sahibin Özel şablonda ayrıca seçtiği hassas customers:erase ve personal_data:write kapsamları; zorunlu Idempotency-Key ve confirm="anonymize" gerekir. Panel/AI ile aynı anonimleştirme servisi kullanılır; açık sipariş engeli customer_anonymization_blocked döndürür. İşlem geri alınamaz; sipariş, kesilmiş fatura ve muhasebe kayıtları kalır. Zaten anonim müşteride 200 ve değişiklik yoktur. Mevcut customer.anonymized olayı ve webhook kişisel veri içermez; makbuzlar güncel anonim kaydı okur. Eski dışa aktarma dosyalarının erişimi oluşturulmalarından 7 gün sonra kapanır. KVKK silme isteği.

16 Ekim 2026 · Kategori, ürün markası ve kupon

Kategori ve ürün markası oluşturma, güncelleme, arşivleme ve geri getirme products:write ile açıldı; işletme genelindeki bu kayıtları marka sınırlı bağlantı değiştiremez. Kupon listesi ve ayrıntısı coupons:read, yazmaları coupons:write ister. Arşiv/geri getirme ayrıca archive:write gerektirir. Kupon kimlikleri cpn_ öneklidir; kod çakışması coupon_code_taken döndürür. Paneldeki kategori kapsamı ve kullanım sayıları korunur; kişisel alanlar yayımlanmaz. Üç kayıt türünde de revision/ETag, If-Match ve gövdesiz tekrar makbuzu kullanılır. Kategori, ürün markası ve kupon yazmak.

16 Ekim 2026 · Ürün, seçenek ve marka fiyatı yazmaları

Ürün oluşturma/güncelleme, seçenek ekleme/güncelleme, ürün ve seçenek arşivi, ürün geri getirme ve marka fiyatı yazımı açıldı. products:write; maliyet için costs:write, ilk stok için inventory:write, arşiv/geri getirme için archive:write gerekir. Ürün ve seçenek yanıtları ürün görünümünün içerik ETag’ini taşır; revision alanı bulunmaz. Seçenek, kategori ve marka fiyatı değişiklikleri etiketi değiştirir; stok miktarı/sayım durumu ve updated_at değişiklikleri değiştirmez. SKU/barkod çakışması code_taken ve görünür kod sahibinin kimliğini verir. Dış kimlik grant ad alanında tekildir; bütün yazmalarda gövdesiz tekrar makbuzu kullanılır. Seçenek yaşam döngüsü için dört variant.* olayı eklendi. Ürün eklemek ve güncellemek.

16 Ekim 2026 · Stok belgeleri

Mal girişi, sayım, fire/kayıp, depolar arası taşıma ve belge ters kaydı açıldı. inventory:write; alış fiyatı/KDV/tedarikçide ayrıca yeni costs:write kapsamı gerekir. Maliyet okumak ayrı costs:read kapsamıdır. Sayımda her satırın expected değeri zorunludur. Belge yanıtları, ETag, grant ad alanında dış numara ve gövdesiz tekrar makbuzu kullanılır; stok seviyesinin ayrı revision alanı vardır. inventory.document_created ve inventory.document_reversed olayları eklendi. Stok yazma rehberi.

16 Ekim 2026 · Müşteri yazmaları ve liste kolaylıkları

Müşteri oluşturma, güncelleme, arşivleme ve geri getirme açıldı. Bütün yazmalar Idempotency-Key kullanır; müşteri kartı revision/ETag taşır, If-Match ile korunabilir. Kişisel alanlar personal_data:write, iç not internal_notes:write, arşiv ve geri getirme archive:write ister. Eşleşen kartta customer_exists ve existing_customer döner. KVKK anonimleştirmesi aynı gün ayrı kapsamla açıldı (yukarıdaki kayıt).

Sipariş ve müşteri listelerinde sort=-created_at en yeni kaydı başa getirir; varsayılan updated_at artan sırası korunur. Müşteri araması ham email/phone kabul eder; eski email_key/phone_key parametreleri sürer. orders?customer=cus_...&sort=-created_at müşteriye bağlı siparişleri süzer; customer ile başka sıra veya sort alanının atlanması 422 döndürür. Sıra değiştiğinde eski imleç kullanılamaz.

Müşteri eklemek, müşterileri bulmak, siparişleri listelemek ve neler yapabilirim rehberleri eklendi.

16 Ekim 2026 · Sipariş eklemek ve ilerletmek

POST /orders, PATCH /orders/{id} ve onaylama, hazırlama, hazır bilgisi, teslim, ödeme alındı, iptal ve gerekçeli durum düzeltme eylemleri açıldı. Siparişler source=api ile panelin mevcut ticari kurallarından geçer. Sipariş ayrıntısı ve yazma yanıtlarına içerik özetinden güçlü ETag eklendi; isteğe bağlı If-Match değişmiş siparişte 412 verir. Dış sipariş numarası bağlantıda tekildir. Sipariş eklemek ve ilerletmek rehberi kopyalanabilir örnekler içerir.

Bütün API yazmalarında Idempotency-Key zorunludur; webhook yazmaları da bu kurala dahildir. Tekrarda işlem yeniden yapılmaz; ilk HTTP durumu ve Location korunur, Idempotent-Replayed: true eklenir. Başarılı yanıt güncel kayıttan ve bağlantının güncel izinleriyle üretilir; dışa aktarma işinin güncel durumu döner. Makbuzda yanıt gövdesi ve kişisel veri tutulmaz; anonimleştirilmiş bilgi geri gelmez. Webhook sırrı A4 sözleşmesindeki gibi yalnız ilk oluşturma/döndürme yanıtında gösterilir; makbuzda saklanmaz ve tekrarda verilmez.

Aynı Idempotency-Key ile tekrarlanan istek, ilk isteğin sonucunu (hata dahil) döndürür; yeni deneme için yeni anahtar kullanın. Dışa aktarma dahil kaydedilen 4xx iş hatalarında makbuz yalnız hata kodunu ve sabit açıklamayı taşır. Anahtar döndürmek makbuzun veya dış numaranın ad alanını değiştirmez. Bağımsız iade uçları da açıldı; iptal panelin mevcut davranışını sürdürür.

16 Ekim 2026 · İnsan ve AI için belgeler

Başlangıç, ERP sipariş aktarımı, stok eşitlemesi, ilk dosya ve olay akışı rehberleri; alan açıklamaları ve örnekleri; hata kataloğu; curl/Python/TypeScript uç örnekleri eklendi. Her belge sayfasının .md hali, /llms.txt dizini ve /llms-full.txt tam başvurusu vardır. OpenAPI ve kod örnekleri aynı backend sözleşmesinden gelir.

16 Ekim 2026 · Başlangıç dosyaları

Beş kaynak için JSONL/CSV, aynı anın resume_cursor değeri, job.completed ve güncel yetkiyle dosya indirme açıldı. Dosya erişimi oluşturulmadan 7 gün sonra kapanır; iş ve olay geçmişi kalır.

16 Ekim 2026 · Olay akışı ve webhook

Kalıcı /events akışı; webhook adresleri, imzalı kurulum denemesi, teslim geçmişi, sır döndürme ve yeniden gönderim açıldı. Olayın kaynağına ait okuma kapsamı gerekir.

16 Ekim 2026 · Okuma uçları ve adresler

Sipariş, müşteri, katalog ve stok okuma uçları açıldı. API adresi https://api.siparis.app/v1, belge adresi https://developer.siparis.app. Platform ve marka adreslerinde /v1 kullanılmaz.

14 Ekim 2026 · İlk sürüm

API anahtarları, kapsam ve marka sınırları, anahtar döndürme/iptal ve /v1/me ile bağlantı kimliği açıldı. Deneme ortamı ve yazma uçları sonraki aşamadadır; mevcut sözleşmede sunulmaz.