# Sipariş Verme

https://dev.wisecp.com/tr/siparis-verme

Sepeti hazırlayan ve siparişi kuran beş uç: ürün, alan adı, kupon ve oluşturma.

## Genel Bakış

Sipariş kurmak tek bir çağrı değildir. Sepetteki her satır ürünün fiyatına, ek hizmetlerine ve sorularına dayanır; alan adı satırı ayrıca kayıt kuruluşuna sorulmuş olmalıdır. Bu makale o hazırlığı ve sonundaki oluşturmayı kapsar.

Sıra şudur: ürün bilgisi ile satırı kurun, alan adı varsa müsaitliğini sorun, kupon seçecekseniz doğrulayın, sonra siparişi oluşturun. Her adım bir sonrakinin girdisini üretir.

Oluşturma çağrısı yalnız bir kayıt açmaz: **hizmetleri de doğurur** ve istenirse faturayı keser. Bu yüzden geri alması pahalıdır; hazırlığı atlamayın.

## Referans

### Sipariş Formu İçin Ürün Bilgisi

get/api/v1/admin/orders/product-info

`Orders/GetProductInfo` admin

Bir ürünün fiyatlarını, ek hizmetlerini, ölçümlerini ve sorularını döndürür.

Sorgu 3

product_idintreqÜrünün numarası.

client_idintMüşterinin numarası. Aktif hizmet sayıları bu müşteriye göre hesaplanır.

langstringAdların döneceği dil.

Dönen alanlar data — 10

productobject productÜrünün kendisi.

idintÜrünün numarası.

typestringÜrün türü.

type_idintÖzel ürünün bağlı olduğu özel grup. Diğer türlerde 0.

titlestringÜrün adı.

modulestringBağlı sağlayıcı modülü.

stockstringKalan stok. Sınırsızsa boş gelir.

additional_taxobjectEk vergi tanımı.

taxexemptintVergiden muaf mı.

optionsobjectÜrün ve modül seçenekleri. İçeriği modüle ve türe göre değişir.

categoryintKategori numarası.

category_chainint[]Kategori ve ardından her üst kategori, en yakından başlayarak. Bir kategoriyle sınırlı kupon, altındaki alt kategorileri de kapsar. Ürün bir kategoride değilse boştur.

groupstringGrup anahtarı.

pricesarray prices[]Dönem başına fiyatlar.

idintFiyat kaydının numarası.

cidintPara birimi numarası.

periodstringSüre birimi.

timeintSüre çarpanı. Ay birimiyle 3 yazmak üç aylık demektir.

cyclestringHesaplanan döngü adı.

amountstringSatış fiyatı. Dört ondalıklı metin.

setupstringKurulum ücreti.

coststringMaliyet.

cost_cidintMaliyetin para birimi numarası.

promotionstringKampanya fiyatı.

promotion_statusintKampanya açık mı.

statusintFiyat açık mı.

discountstringİndirim değeri.

rankintSırası.

addonsarray addons[]Ürüne bağlı ek hizmetler.

idintEk hizmetin numarası.

namestringAdı.

descriptionstringAçıklaması.

field_typestringGiriş türü: seçim, adet, kutu ya da tekli seçim.

statusstringAçık mı.

categoryintKategori numarası.

mcategorystringModül kategorisi.

rankintSırası.

taxexemptintVergiden muaf mı.

override_usrcurrencyintMüşterinin para birimini ezsin mi.

product_id_linkintBağlı ürün numarası.

product_type_linkstringBağlı ürün türü.

icon_typestringSimge türü.

iconstringSimge değeri.

list_templateintListe şablonu numarası.

propertiesobjectGiriş türüne göre kurallar: görünürlük, çoklu alım, zorunluluk ve adet sınırları.

optionsarraySeçenekler ve fiyatları. Fiyat ya düz alanlarda ya da para birimi başına gelir.

requirementsarrayEk hizmete özgü sorular. Aşağıdaki soru yapısının aynısıdır.

addon_active_servicesintMüşterinin bu ek hizmetten kaç aktif kaydı var.

metricsarray metrics[]Kullanıma göre ücretlenen ölçümler.

idintÖlçümün numarası.

owner_idintBağlı ürün numarası.

typestringÖlçüm anahtarı.

schemestringÜcretlendirme şeması.

labelstringGörünen adı.

unitstringBirimi.

max_valueintÜst sınırı.

includedstringPakete dahil miktar.

sort_orderintSırası.

pricingobjectKademeli fiyatlar. Her kademe başlangıç ve bitiş taşır, fiyatlar para birimi KODU altındadır.

requirementsarray requirements[]Siparişte müşteriye sorulacak alanlar.

idintSorunun numarası.

namestringSorunun adı.

descriptionstringAçıklaması.

field_typestringGiriş türü.

statusstringAçık mı.

categoryintKategori numarası.

mcategorystringModül kategorisi.

rankintSırası.

module_co_namesobjectModül başına karşılık gelen alan adı.

propertiesobjectKurallar. Zorunlu olup olmadığı burada yazar.

optionsarraySeçenekli alanlarda seçenekler.

product_active_servicesintMüşterinin bu üründen aktif hizmet sayısı.

category_active_servicesintBu kategorideki aktif hizmet sayısı.

group_active_servicesintBu gruptaki aktif hizmet sayısı.

total_active_servicesintMüşterinin toplam aktif hizmet sayısı.

resellerobject resellerBayi indiriminin arandığı hedefler. Yalnız müşteri aktif bir bayiyse gelir.

product_idintÜrün hedefi.

product_groupstringGrup hedefi. hosting, server, software, ssl ya da special-{id}.

product_categoriesint[]Kategori hedefleri, en yakından başlayarak. Ürün bir kategoride değilse boştur.

countsobjectMüşterinin her hedef düzeyindeki hizmet sayısı. Anahtar hedef:id biçimindedir, örneğin category:12. İptal edilmiş hizmet sayılmaz.

Hatalar 3

invalid_product422Ürün numarası verilmedi.

not_found404Ürün bulunamadı.

insufficient_scope403Anahtar gerekli kapsamı taşımıyor.

İstek cURL JavaScript PHP (HTTP) PHP (Dahili)

```bash
curl 'https://panel.ornek.com/api/v1/admin/orders/product-info?product_id=12&client_id=94' \
  -H "Authorization: Bearer $API_KEY"
```

```javascript
const url = new URL('https://panel.ornek.com/api/v1/admin/orders/product-info');
url.searchParams.set('product_id', productId);
url.searchParams.set('client_id', clientId);

const res  = await fetch(url, { headers: { Authorization: `Bearer ${apiKey}` } });
const { data } = await res.json();
const required = data.requirements.filter((r) => r.properties.compulsory);
```

```php
$qs = http_build_query(['product_id' => $productId, 'client_id' => $clientId]);
$ch = curl_init('https://panel.ornek.com/api/v1/admin/orders/product-info?' . $qs);
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer ' . $apiKey],
]);

$body = json_decode(curl_exec($ch), true);
curl_close($ch);
```

```php
// Zorunlu sorular BURADA yazar; siparisi kurmadan once bu listeyi doldurun.
$info = Api::Orders()->GetProductInfo([], ['product_id' => $pid, 'client_id' => $cid])['data'];
$must = array_filter($info['requirements'], fn ($r) => $r['properties']['compulsory'] ?? false);
```

### Alan Adı Müsaitliğini Sorma

post/api/v1/admin/orders/check-domain

`Orders/CheckDomain` admin kayıt kuruluşuna sorar

Alan adının alınabilirliğini ve uzantının fiyatlarını döndürür.

Gövde 2

domainstringreqTam alan adı.

client_idintMüşterinin numarası. Aktif hizmet sayıları için gerekir.

Dönen alanlar data — 9

domainstringSorulan alan adı.

sldstringAlan adının gövdesi.

tldstringUzantısı.

availableboolKayıt için müsait mi. Kayıt kuruluşuna canlı sorulur.

tld_infoobject tld_infoUzantının ayarları.

idintUzantının numarası.

namestringUzantı.

min_yearsintEn kısa kayıt süresi.

max_yearsintEn uzun kayıt süresi.

dns_manageintAlan adı yönetimi destekli mi.

forwardingintYönlendirme destekli mi.

whois_privacyintKayıt gizliliği destekli mi.

epp_codeintTransferde kod gerekiyor mu.

modulestringBağlı kayıt kuruluşu modülü.

pricesobject prices.[]Kayıt, transfer ve yenileme fiyatları. Her biri dönem başına bir fiyat satırı dizisidir.

idintFiyat kaydının numarası.

cidintPara birimi numarası.

periodstringSüre birimi.

timeintSüre çarpanı. Ay birimiyle 3 yazmak üç aylık demektir.

amountstringSatış fiyatı. Dört ondalıklı metin.

setupstringKurulum ücreti.

coststringMaliyet.

cost_cidintMaliyetin para birimi numarası.

promotionstringKampanya fiyatı.

promotion_statusintKampanya açık mı.

statusintFiyat açık mı.

discountstringİndirim değeri.

rankintSırası.

addonsobjectUzantının ek hizmet fiyatları. Fiyat satırları yukarıdaki şekilde gelir.

domain_active_servicesintMüşterinin bu uzantıdaki aktif hizmet sayısı.

total_active_servicesintMüşterinin toplam aktif hizmet sayısı.

Hatalar 3

invalid_domain422Alan adı eksik ya da geçersiz.

tld_not_found422Uzantı kurulumda tanımlı değil.

insufficient_scope403Anahtar gerekli kapsamı taşımıyor.

İstek cURL JavaScript PHP (HTTP) PHP (Dahili)

```bash
curl -X POST 'https://panel.ornek.com/api/v1/admin/orders/check-domain' \
  -H "Authorization: Bearer $API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"domain":"example.com","client_id":94}'
```

```javascript
const res = await fetch('https://panel.ornek.com/api/v1/admin/orders/check-domain', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${apiKey}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ domain, client_id: clientId }),
});

const { data } = await res.json();
if (! data.available) suggestAlternatives();
```

```php
$ch = curl_init('https://panel.ornek.com/api/v1/admin/orders/check-domain');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST           => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: Bearer ' . $apiKey,
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode(['domain' => $domain, 'client_id' => $cid]),
]);

$body = json_decode(curl_exec($ch), true);
curl_close($ch);
```

```php
// Transferde kod gerekip gerekmedigi uzantiya baglidir; siparisten ONCE burada ogrenin.
$d = Api::Orders()->CheckDomain(['domain' => $domain, 'client_id' => $cid])['data'];
$needsCode = (int) $d['tld_info']['epp_code'] === 1;
```

### Kuponları Listeleme

get/api/v1/admin/orders/coupons

`Orders/GetCoupons` admin

Siparişe uygulanabilecek kuponları kurallarıyla döndürür.

Sorgu 2

searchstringKupon kodunda arar.

client_idintMüşterinin numarası. Uygunluk gerekçeleri ancak bununla dolar.

Dönen alanlar data[] — 22

idintKuponun numarası.

codestringKupon kodu.

typestringİndirim türü: oransal ya da sabit tutar.

ratefloatİndirim yüzdesi.

amountfloatSabit indirim tutarı.

currency_idintSabit tutarın para birimi numarası.

pservicesstringKapsam dizgesi. Boşsa bütün hizmetlere geçerlidir.

min_amountfloatAsgari sepet tutarı.

min_amount_currencyintAsgari tutarın para birimi numarası.

recurringintYenilemelerde de geçerli mi.

recurring_numintKaç yenilemede geçerli.

taxfreeintVergiden önce mi uygulanır.

use_mergeintBaşka kuponla birleşebilir mi.

auto_applyintKendiliğinden uygulanır mı.

maxusesintKullanım sınırı. Sıfır sınırsız demektir.

usesintŞu ana kadarki kullanım.

validity_cyclesstring[]Geçerli olduğu ödeme döngüleri.

required_productsstringSepette bulunması gereken ürünler.

required_product_cyclesstring[]O ürünlerin döngüleri.

statusstringKupon açık mı.

disabledboolBu bağlamda kullanılamaz mı.

disabled_reasonsstring[]Kullanılamama gerekçeleri. Süre dolmuş, sınır aşılmış, asgari tutar tutmamış gibi.

notesstringKupon notu.

Hatalar 1

insufficient_scope403Anahtar gerekli kapsamı taşımıyor.

İstek cURL JavaScript PHP (HTTP) PHP (Dahili)

```bash
curl 'https://panel.ornek.com/api/v1/admin/orders/coupons?client_id=94' \
  -H "Authorization: Bearer $API_KEY"
```

```javascript
const res = await fetch('https://panel.ornek.com/api/v1/admin/orders/coupons?client_id=' + clientId, {
  headers: { Authorization: `Bearer ${apiKey}` },
});

const { data } = await res.json();
const usable = data.filter((c) => ! c.disabled);
```

```php
$ch = curl_init('https://panel.ornek.com/api/v1/admin/orders/coupons?client_id=' . $cid);
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer ' . $apiKey],
]);

$body = json_decode(curl_exec($ch), true);
curl_close($ch);
```

```php
// Musteri numarasi GECMEZSENIZ 'disabled' alani eksik kalir ve kullanilamaz kupon acik gorunur.
$rows = Api::Orders()->GetCoupons([], ['client_id' => $cid])['data'];
$usable = array_filter($rows, fn ($c) => ! $c['disabled']);
```

### Kuponları Doğrulama

post/api/v1/admin/orders/validate-coupons

`Orders/ValidateCoupons` admin

Seçilen kuponların bu sepette geçerli olup olmadığını söyler.

Gövde 3

coupon_idsint[]reqDenenecek kupon numaraları.

client_idintMüşterinin numarası.

cartobject cartSepetin bağlamı. Asgari tutar ve ürün koşulları buradan denetlenir.

itemsarraySepet kalemleri. Her kalem tür, grup, ürün, kategori, uzantı, döngü ve tutar taşır.

subtotalfloatSepet ara toplamı.

user_currencyintMüşterinin para birimi numarası.

is_dealerboolMüşteri bayi mi.

Dönen alanlar data — 3

keptint[]Geçerli bulunan kupon numaraları.

invalidarrayReddedilenler. Her biri numara, kod ve gerekçe taşır.

auto_apply_candidatesarrayKendiliğinden uygulanabilecekler.

Hatalar 1

insufficient_scope403Anahtar gerekli kapsamı taşımıyor.

İstek cURL JavaScript PHP (HTTP) PHP (Dahili)

```bash
curl -X POST 'https://panel.ornek.com/api/v1/admin/orders/validate-coupons' \
  -H "Authorization: Bearer $API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"coupon_ids":[19],"client_id":94,"cart":{"subtotal":100,"user_currency":4}}'
```

```javascript
const res = await fetch('https://panel.ornek.com/api/v1/admin/orders/validate-coupons', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${apiKey}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    coupon_ids: picked,
    client_id: clientId,
    cart: { items, subtotal, user_currency: currencyId, is_dealer: false },
  }),
});

const { data } = await res.json();
data.invalid.forEach((c) => showReason(c.code, c.reason));
```

```php
$ch = curl_init('https://panel.ornek.com/api/v1/admin/orders/validate-coupons');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST           => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: Bearer ' . $apiKey,
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'coupon_ids' => $picked, 'client_id' => $cid, 'cart' => $cart,
    ]),
]);

$body = json_decode(curl_exec($ch), true);
curl_close($ch);
```

```php
// Sepeti GECMEZSENIZ asgari tutar ve urun kosullari denetlenemez; kupon burada gecer, siparista dusar.
$out = Api::Orders()->ValidateCoupons([
    'coupon_ids' => $picked, 'client_id' => $cid, 'cart' => $cart,
])['data'];

$use = $out['kept'];
```

### Sipariş Oluşturma

post/api/v1/admin/orders

`Orders/CreateOrder` admin hizmet üretir

Sepet kalemlerinden siparişi kurar ve hizmetleri doğurur.

Gövde 11

client_idintreqSiparişin sahibi müşteri. Yeni hizmetlerdeki ve fatura kalemlerindeki ürün ve ek hizmet adları bu müşterinin dilinde yazılır.

productsarrayreq products[]Sepet kalemleri. Ürün kalemi ile alan adı kalemi farklı alanlar taşır.

groupstringKalemin grubu. Alan adı kaleminde bu değer uzantı grubudur.

product_idintÜrünün numarası.

billing_cyclestringÖdeme döngüsü.

quantityintAdet.

price_overridefloatFiyatı elle belirleme.

currencyintPara birimi numarası.

addonsobjectSeçilen ek hizmetler, ek hizmet id'sinden seçenek id'sine. Birden çok seçenekli adet ek hizmetinde seçenek id'si faturalanacak varyantı belirler. Ürünün ilk dönemi ücretsiz dahil ettiği ek hizmet gönderilmese ya da `none` gönderilse de siparişe eklenir. İlk dönem tutarı 0 olur, yenilemeler ek hizmet fiyatından faturalanır.

addons_qtyobjectAdet fiyatlı ek hizmetin adedi.

metricsobjectAçılan ölçümler.

requirementsobjectSoruların yanıtları.

requirement_filesobjectDosya isteyen soruların içeriği. Kodlanmış içerik ya da adres olarak gönderilir.

domain_namestringAlan adı.

domain_actionstringKayıt mı transfer mi.

domain_periodintKaç yıllık.

domain_addonsstring[]Alan adı ek hizmetleri.

epp_codestringTransfer kodu.

ns_modestringAd sunucusu seçimi, `default` ya da `custom`. Liste olmadan hiç gönderilmezse varsayılan zincir uygulanır: aynı alan adı için sipariş edilen hosting hizmeti, sonra müşterinin varsayılan ad sunucuları, sonra sizinkiler, sonra servis sağlayıcının kendi ad sunucuları. Onsuz gönderilen bir liste custom sayılır.

nsstring[]Özel ad sunucuları, iki ile dört arasında sunucu adı. Her biri kırpılır ve küçük harfe çevrilir, boş girdiler atılır. `default` ile yok sayılır.

statusstringBaşlangıç durumu. Oluşan hizmetlere göre yeniden hesaplanır.

payment_methodstringÖdeme yöntemi modülü.

promo_codesint[]Uygulanacak kupon numaraları.

tax_exemptionboolVergiden muaf mı.

billing_profile_idintFatura adresi profili. Vergi oranı buradan gelir.

generate_invoiceboolFatura da kesilsin mi.

invoice_statusstringFaturanın durumu.

send_notificationboolMüşteriye bildirim gitsin mi: sipariş alındı bildirimi ve siparişin oluşturulurken yaptığı durum geçişleri. Sonradan yapılan durum değişiklikleri her durumda bildirilir.

notesstringSipariş notu.

Dönen alanlar 201 — data

dataobjectOluşan siparişin detayı. Sipariş kayıtları makalesindeki okuma ucuyla aynı şekildedir.

Hatalar 9

invalid_client422Müşteri numarası verilmedi.

no_products422Sepette geçerli kalem yok.

not_found404Müşteri bulunamadı.

file_upload_failed422Soru dosyası çözülemedi.

coupon_exhausted422Bir kupon, sipariş verilirken kullanım sınırına ulaştı. Kodlar `details.codes` içindedir; hiçbir kayıt oluşmaz.

item_unpriced422Bir ürün kaleminin ödeme döngüsünde etkin fiyatı yok. Ürünler `details.products` içindedir; sipariş sıfır tutarla kesilmek yerine reddedilir.

nameservers_invalid422Bir alan adı kaleminin ad sunucuları reddedildi. Kip tanınmıyor, ikiden az ya da dörtten çok sunucu adı kalıyor ya da bir sunucu adı bozuk. `details.index` ile `details.domain` kalemi, `details.host` reddedilen sunucu adını gösterir. Hiçbir kayıt oluşmaz.

create_failed500Sipariş kurulamadı.

insufficient_scope403Anahtar gerekli kapsamı taşımıyor.

İstek cURL JavaScript PHP (HTTP) PHP (Dahili)

```bash
curl -X POST 'https://panel.ornek.com/api/v1/admin/orders' \
  -H "Authorization: Bearer $API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"client_id":94,"generate_invoice":true,"products":[{"group":"hosting","product_id":12,"billing_cycle":"monthly","quantity":1}]}'
```

```javascript
const res = await fetch('https://panel.ornek.com/api/v1/admin/orders', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${apiKey}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    client_id: clientId,
    status: 'waiting',
    generate_invoice: true,
    invoice_status: 'unpaid',
    products: [{
      group: 'hosting',
      product_id: 12,
      billing_cycle: 'monthly',
      quantity: 1,
      requirements: answers,
    }],
  }),
});

const { data } = await res.json();
```

```php
$ch = curl_init('https://panel.ornek.com/api/v1/admin/orders');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST           => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: Bearer ' . $apiKey,
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'client_id' => $cid,
        'generate_invoice' => true,
        'products' => $lines,
    ]),
]);

$body = json_decode(curl_exec($ch), true);
curl_close($ch);
```

```php
// Gonderdiginiz durum KORUNMAZ: olusan hizmetlere gore yeniden hesaplanir, yaniti okuyun.
$order = Api::Orders()->CreateOrder([
    'client_id' => $cid, 'status' => 'waiting', 'products' => $lines,
])['data'];

$real = $order['status'];
```

## Tuzaklar

> **Gönderdiğiniz durum korunmaz**
> 
> Sipariş durumunu gövdede belirtseniz bile oluşturma, **doğan hizmetlere göre** durumu yeniden hesaplar. Bekliyor diye gönderdiğiniz bir sipariş etkin dönebilir. Ne olduğunu yanıttaki durumdan okuyun, gönderdiğinizi varsaymayın.

> **Kupon listesi müşteri olmadan yarım gelir**
> 
> Kupon listesindeki kullanılamama gerekçeleri ancak müşteri numarası gönderildiğinde dolar. Müşterisiz çağrıda yalnız temel durum görünür ve o müşteriye **kapalı bir kupon açık sanılır**. Sepet koşulları için ayrıca doğrulama ucuna sepeti de geçin.

> **Sepetsiz doğrulama eksik doğrular**
> 
> Doğrulama ucu asgari tutar, gerekli ürünler ve döngü uyumunu **sepetten** okur. Sepeti geçmezseniz bu üç kural denetlenmez: kupon burada geçerli görünür, sipariş kurulurken düşer. Doğruladığınız sepetle sipariş verdiğiniz sepet aynı olmalıdır.

> **Transfer kodu her uzantıda gerekmez**
> 
> Alan adı transferinde kod gerekip gerekmediği **uzantının ayarında** yazar ve müsaitlik yanıtında gelir. Gereken yerde kodu göndermemek siparişi kurar ama transferi başlatmaz. Satırı hazırlamadan önce uzantı bilgisini okuyun.

> **Zorunlu sorular yalnız ürün bilgisinde görünür**
> 
> Bir ürünün hangi soruları zorunlu kıldığı ürün bilgisi ucundaki kurallar altında yazar. Oluşturma çağrısı eksik yanıtı **kendiliğinden yakalamayabilir** ve hizmet sağlayıcıya eksik veriyle gider. Satırı kurarken zorunlu listesini süzün.

> **Müsaitlik yanıtı anlık bir fotoğraftır**
> 
> Alan adı sorgusu kayıt kuruluşuna canlı gider ve yanıt o anın durumudur. Sorgu ile sipariş arasında geçen sürede ad başkasınca alınabilir; o durumda sipariş kurulur ama kayıt başarısız olur. Uzun süren sepetlerde siparişten hemen önce yeniden sorun.

## İlgili Makaleler

- [Sipariş Kayıtları](https://dev.wisecp.com/tr/siparis-kayitlari)
- [İndirim Kuponları](https://dev.wisecp.com/tr/indirim-kuponlari)
- [Başvuru Listeleri](https://dev.wisecp.com/tr/basvuru-listeleri)
