Ana içeriğe geç

Sipariş oluşturma

Kendi sisteminizdeki bir siparişi panele aktarmak için bu endpoint kullanılır. Sipariş bir satış kanalına bağlanır; panelde listelenir ve dilediğiniz anda (veya otomatik olarak) faturaya dönüştürülür.

İstek

POST /api/orders
Accept: application/json
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Siparişleri tek tek POST etmek zorunda değilsiniz

Siparişlerinizi bir JSON adresinde yayınlayıp platformun düzenli aralıklarla kendisinin çekmesini tercih ediyorsanız JSON Feed entegrasyonu sayfasına bakın. Bu endpoint, siparişi siz gönderdiğinizde (push) kullanılır.

Üst düzey alanlar

AlanTipZorunluAçıklama
sale_channel_idnumberEvetSiparişin bağlanacağı satış kanalı ID’si — bkz. satış kanalı listeleme. Hesabınıza ait olmayan bir kanal ID’si reddedilir.
platform_idstringEvetSiparişin kendi sisteminizdeki benzersiz numarası. Faturalaşmada mükerrer kontrolü bu değerle yapılır.
platform_d_idstringEvetMüşteriye gösterilen sipariş numarası (kısa numara).
platform_urlstringEvetSiparişin kendi panelinizdeki adresi. Faturaya dönüştürüldüğünde internet satışı web adresi olarak kullanılır.
platform_statusstringEvetSiparişin sizdeki durumu (serbest metin, örn. completed, Hazırlanıyor).
platform_datestringEvetSipariş tarihi (Y-m-d H:i:s veya ISO-8601).
totalnumberEvetSipariş genel toplamı.
currencystringEvetPara birimi (örn. TRY) — bkz. Sabitler.
payment_methodstringEvetÖdeme yöntemi; enum ile doğrulanır — bkz. Sabitler.
payment_platformstringEvetÖdeme altyapısı adı (örn. iyzico).
payment_statusstringEvetÖdeme durumu (örn. paid) — bkz. Sabitler.
payment_datestringEvetÖdeme tarihi.
platform_customer_idstringEvetMüşterinin sizdeki ID’si. Faturaya dönüşürken customer.id olarak kullanılır.
platform_customer_emailstringEvetMüşteri e-postası (geçerli format).
customer_notestringHayırMüşteri notu.
invoice_urlstringHayırSiparişin faturası sizde zaten kesildiyse faturanın adresi. Dolu gönderilirse otomatik faturalama tetiklenmez.
billingAddressobjectEvetFatura adresi — aşağıya bakın.
shippingAddressobjectHayırTeslimat adresi — gönderilirse alanları zorunlu hâle gelir.
linesarrayEvetEn az bir sipariş satırı.
shipmentobjectHayırKargo bilgisi.
Sipariş oluşturulur oluşturulmaz fatura kesilebilir

Hesabınızda otomatik faturalama açıksa, sipariş kaydedildikten sonra ayarlarınızdaki gecikme süresi (gün/saat/dakika) kadar beklenip fatura otomatik oluşturulur. Bu davranışı tek bir sipariş için devre dışı bırakmak istiyorsanız invoice_url alanını dolu gönderin.

billingAddress alanları

Fatura bu adresteki bilgilerle kesilir; alıcının VKN/TCKN’si burada bulunur.

AlanTipZorunluAçıklama
typestringEvetperson veya company — bkz. Sabitler.
tax_numberstringEvetVKN (10 hane) veya TCKN (11 hane). Nihai tüketici için 11111111111.
tax_officestringHayırVergi dairesi. Tüzel kişilerde doldurulması önerilir.
titlestringKoşullutype: "company" ise zorunlu (ünvan).
namestringKoşullutype: "person" ise zorunlu.
surnamestringKoşullutype: "person" ise zorunlu.
addressstringEvetAçık adres.
citystringEvetİl.
districtstringEvetİlçe.
countrystringEvetÜlke.
phonestringHayırTelefon.

shippingAddress alanları

Bu nesne isteğe bağlıdır; gönderirseniz name, surname, address, city, district, country alanları zorunlu olur (title ve phone isteğe bağlıdır).

lines[] satır alanları

KDV %0 satırlarda istisna kodu sipariş gövdesinde gönderilmez

Sipariş satırlarında exemption_code / exemption_reason alanları yoktur. Sipariş faturaya dönüştürülürken tax_rate: 0 olan satırlara panelinizdeki varsayılan ayarlarda tanımlı istisna kodu ve gerekçesi otomatik uygulanır (Ayarlar → Varsayılanlar). KDV’siz satış yapıyorsanız bu varsayılanı mutlaka tanımlayın; aksi hâlde fatura oluşturma adımı KDV oranı 0 olan ürünlerde istisna kodu zorunludur. hatası verir.

İstisna kodunu satır bazında kendiniz belirlemek istiyorsanız faturayı siparişten fatura oluşturma ile, lines[].exemption_code alanlarını doldurarak gönderin.

AlanTipZorunluAçıklama
platform_idstringEvetSatırın sizdeki benzersiz ID’si.
namestringEvetÜrün/hizmet adı.
quantitynumberEvetMiktar.
unitstringEvetÖlçü birimi (örn. C62) — bkz. Sabitler.
unit_pricenumberEvetBirim fiyat ≥ 0.
tax_ratenumberEvetKDV oranı; enum ile doğrulanır (0, 1, 8, 10, 18, 20 …).
skustringHayırStok kodu.
discount_typestringHayıramount veya percentage.
discountnumberHayırİndirim tutarı ya da oranı (≥ 0).
descriptionstringHayırSatır açıklaması.

shipment alanları

Kargo bilgisi isteğe bağlıdır ve serbest yapıdadır; kaydedilen alanlar şunlardır:

AlanTipAçıklama
company_titlestringKargo firması ünvanı.
company_tax_numberstringKargo firması VKN’si.
courier_namestringKurye adı.
courier_tax_numberstringKurye VKN/TCKN’si.
delivery_datestringTeslim tarihi.

Örnek istek gövdesi

{
"sale_channel_id": 5,
"platform_id": "ORD-2026-1001",
"platform_d_id": "1001",
"platform_url": "https://ornek-magaza.com/siparis/ORD-2026-1001",
"platform_status": "completed",
"platform_date": "2026-07-30 14:30:00",
"total": 1250.50,
"currency": "TRY",
"payment_method": "credit_or_debit",
"payment_platform": "iyzico",
"payment_status": "paid",
"payment_date": "2026-07-30 14:35:00",
"platform_customer_id": "CUST-555",
"platform_customer_email": "musteri@example.com",
"customer_note": "Lütfen kargoyu kapıya bırakın.",
"billingAddress": {
"type": "person",
"name": "Ahmet",
"surname": "Yılmaz",
"tax_number": "11111111111",
"tax_office": null,
"address": "Örnek Mah. Test Sok. No:1 D:2",
"district": "Kadıköy",
"city": "İstanbul",
"country": "TÜRKİYE",
"phone": "+905551234567"
},
"shippingAddress": {
"name": "Ahmet",
"surname": "Yılmaz",
"address": "Örnek Mah. Test Sok. No:1 D:2",
"district": "Kadıköy",
"city": "İstanbul",
"country": "TÜRKİYE",
"phone": "+905551234567"
},
"lines": [
{
"platform_id": "ITEM-001",
"sku": "SKU-001",
"name": "Kablosuz Kulaklık",
"quantity": 2,
"unit": "C62",
"unit_price": 500,
"discount_type": "amount",
"discount": 50,
"tax_rate": 20,
"description": "Mavi renk seçeneği"
},
{
"platform_id": "ITEM-002",
"sku": "SKU-002",
"name": "Kulaklık Kılıfı",
"quantity": 1,
"unit": "C62",
"unit_price": 300.50,
"discount_type": "percentage",
"discount": 0,
"tax_rate": 20
}
],
"shipment": {
"company_title": "Yurtiçi Kargo",
"company_tax_number": "9860008925",
"delivery_date": "2026-08-02"
}
}

Örnek istekler

<?php
$body = [
'sale_channel_id' => 5,
'platform_id' => 'ORD-2026-1001',
'platform_d_id' => '1001',
'platform_url' => 'https://ornek-magaza.com/siparis/ORD-2026-1001',
'platform_status' => 'completed',
'platform_date' => '2026-07-30 14:30:00',
'total' => 1250.50,
'currency' => 'TRY',
'payment_method' => 'credit_or_debit',
'payment_platform' => 'iyzico',
'payment_status' => 'paid',
'payment_date' => '2026-07-30 14:35:00',
'platform_customer_id' => 'CUST-555',
'platform_customer_email' => 'musteri@example.com',
'billingAddress' => [
'type' => 'person',
'name' => 'Ahmet',
'surname' => 'Yılmaz',
'tax_number' => '11111111111',
'address' => 'Örnek Mah. Test Sok. No:1 D:2',
'district' => 'Kadıköy',
'city' => 'İstanbul',
'country' => 'TÜRKİYE',
'phone' => '+905551234567',
],
'lines' => [
[
'platform_id' => 'ITEM-001',
'sku' => 'SKU-001',
'name' => 'Kablosuz Kulaklık',
'quantity' => 2,
'unit' => 'C62',
'unit_price' => 500,
'tax_rate' => 20,
],
],
];

$ch = curl_init('https://app.faturaentegrator.com/api/orders');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($body),
CURLOPT_HTTPHEADER => [
'Accept: application/json',
'Authorization: Bearer YOUR_API_KEY',
'Content-Type: application/json',
],
CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);

Örnek yanıt

Oluşturulan sipariş, ilişkileriyle (satırlar, adresler, kargo, satış kanalı) birlikte data sarmalayıcısı içinde döner.

{
"data": {
"id": 30,
"sale_channel_id": 5,
"platform_id": "ORD-2026-1001",
"platform_d_id": "1001",
"platform_url": "https://ornek-magaza.com/siparis/ORD-2026-1001",
"platform_status": "completed",
"platform_date": "2026-07-30T14:30:00.000000Z",
"total": "1250.50",
"currency": "TRY",
"payment_method": "credit_or_debit",
"payment_platform": "iyzico",
"payment_status": "paid",
"payment_date": "2026-07-30T14:35:00.000000Z",
"platform_customer_id": "CUST-555",
"platform_customer_email": "musteri@example.com",
"customer_note": "Lütfen kargoyu kapıya bırakın.",
"invoice_id": null,
"invoice_url": null,
"last_updated_at": "2026-07-31T09:12:44.000000Z",
"billing_address": { "type": "person", "name": "Ahmet", "surname": "Yılmaz", "...": "..." },
"shipping_address": { "name": "Ahmet", "surname": "Yılmaz", "...": "..." },
"lines": [
{ "id": 91, "platform_id": "ITEM-001", "name": "Kablosuz Kulaklık", "quantity": 2, "unit_price": "500.00", "...": "..." }
],
"shipment": { "company_title": "Yurtiçi Kargo", "delivery_date": "2026-08-02", "...": "..." },
"sale_channel": { "id": 5, "title": "Kendi Mağazam", "...": "..." },
"invoice": null,
"created_at": "2026-07-31T09:12:44.000000Z",
"updated_at": "2026-07-31T09:12:44.000000Z"
}
}
AlanAçıklama
idPanel sipariş ID’si. Güncelleme, silme ve faturalama isteklerinde bu değer kullanılır.
invoice_idSipariş faturalandığında dolar; siparişten fatura oluşturma sonrası güncellenir.
invoiceFatura oluşturulmuşsa workflow_status, formal_status ve pdf_url alanlarını içeren özet döner.