Sipariş Listesi
Mağazaya ait ödenmiş sipariş paketlerini listeler. Tarih aralığı, sipariş numarası, ürün ve vendor filtreleri ile birlikte kullanılabilir.
Gerekli yetki:
order:read
Endpoint
GET /integration/order/sellers/{sellerId}/orders
Production
https://api.milagron.com/integration/order/sellers/{sellerId}/orders
Stage
https://stageapi.milagron.com/integration/order/sellers/{sellerId}/orders
Sorgu Parametreleri
| Parametre | Tip | Varsayılan | Açıklama |
|---|---|---|---|
page | integer | 0 | Sayfa numarası (sıfırdan başlar). page × size değeri 1.000.000'ı aşamaz. |
size | integer | 200 | Sayfa başına dönen kayıt (en fazla 200). |
startDate | long (ms) | endDate − 30 gün | Başlangıç tarihi, Unix milisaniye (GMT+3). |
endDate | long (ms) | şimdi | Bitiş tarihi, Unix milisaniye. Maksimum aralık 90 gündür. |
orderByField | string | PackageLastModifiedDate | PackageLastModifiedDate veya CreatedDate. |
orderByDirection | string | DESC | ASC veya DESC. |
status | string | — | Paket seviyesi durum filtresi. Geçerli değerler: Created, PartiallyShipped, Shipped, Cancelled, Returned. |
orderNumber | string | — | Sipariş numarası. # ile veya #'siz gönderilebilir. |
shipmentPackageIds | string | — | Virgülle ayrılmış paket ID listesi. |
vendor | string | — | Virgülle ayrılmış marka filtresi. Sadece belirtilen markaların line'larını içeren paketler döner. |
barcode | string | — | Belirli bir barkoda sahip line içeren paketler. |
stockCode | string | — | Belirli bir SKU'ya sahip line içeren paketler. |
Yanıt (200)
{
"totalElements": 68,
"totalPages": 1,
"page": 0,
"size": 200,
"content": [
{
"shipmentPackageId": 123456,
"orderNumber": "#1075399",
"status": "Created",
"orderDate": 1749416400000,
"lastModifiedDate": 1749502800000,
"supplierId": 123,
"customerFirstName": "Ahmet",
"customerLastName": "Yılmaz",
"customerEmail": "ahmet@example.com",
"shipments": [
{
"id": 456,
"source": "manual",
"cargoProviderName": "Yurtiçi Kargo",
"trackingNumber": "1234567890123",
"trackingUrl": "https://www.yurticikargo.com/tr/online-servisler/gonderi-sorgula?code=1234567890123",
"shipmentType": null,
"status": null,
"createdAt": 1749502800000,
"updatedAt": 1749502800000,
"cancelledAt": null,
"products": [
{ "barcode": "8690000000001", "quantity": 2 }
]
}
],
"currencyCode": "TRY",
"packageGrossAmount": 599.80,
"packageTotalDiscount": 0.00,
"packageTotalPrice": 599.80,
"discountDisplays": [],
"hasCampaignProducts": false,
"campaignNames": [],
"note": null,
"shipmentAddress": {
"firstName": "Ahmet",
"lastName": "Yılmaz",
"fullName": "Ahmet Yılmaz",
"company": null,
"address1": "Bağdat Caddesi No: 42",
"address2": "Daire 5",
"fullAddress": "Bağdat Caddesi No: 42 Daire 5",
"city": "İstanbul",
"province": "Kadıköy",
"postalCode": "34710",
"country": "Turkey",
"countryCode": "TR",
"phone": "+905XXXXXXXXX"
},
"lines": [
{
"productName": "Ürün Adı",
"vendor": "Marka",
"barcode": "8690000000001",
"stockCode": "SKU-001",
"productSize": "M",
"image": "https://cdn.milagron.com/...",
"quantity": 2,
"shippedQuantity": 0,
"remainingQuantity": 2,
"returnQuantity": 0,
"price": 299.90,
"originalPrice": 299.90,
"lineGrossAmount": 599.80,
"lineNetAmount": 599.80,
"lineTotalDiscount": 0,
"discountDetails": [],
"campaignInfo": null,
"vatRate": 20,
"status": "Created"
}
]
}
]
}
Alanlar
Paket Seviyesi
| Alan | Tip | Açıklama |
|---|---|---|
shipmentPackageId | integer | Paket tanımlayıcısı. |
orderNumber | string | Sipariş numarası (# prefix'i ile). |
status | string | Paket durumu: Created, PartiallyShipped, Shipped, Cancelled, Returned. |
orderDate | long | Sipariş oluşturulma zamanı, Unix milisaniye. |
lastModifiedDate | long | Son değişiklik zamanı, Unix milisaniye. |
supplierId | integer | Seller kimliği. |
customerFirstName | string | Müşteri adı. |
customerLastName | string | Müşteri soyadı. |
customerEmail | string \| null | Müşteri e-posta adresi. |
shipments | array | Kargo kayıtları (aşağıda). Paket henüz gönderilmediyse boş olabilir. |
currencyCode | string | Para birimi (ör. TRY). |
packageGrossAmount | number | İndirim öncesi brüt tutar. |
packageTotalDiscount | number | Toplam indirim tutarı (kampanya). |
packageTotalPrice | number | Ödenecek net tutar. |
hasCampaignProducts | boolean | Pakette kampanyalı line olup olmadığı. |
campaignNames | array | Eşleşen kampanya başlıkları. |
discountDisplays | array | Kampanya bazında toplulaştırılmış indirim listesi. |
note | string \| null | Sipariş notu. |
shipmentAddress | object | Teslimat adresi (aşağıda). |
lines | array | Sipariş kalemleri (aşağıda). |
Line (lines[])
| Alan | Tip | Açıklama |
|---|---|---|
productName | string | Ürün adı. |
vendor | string | Marka. |
barcode | string | Barkod. |
stockCode | string | SKU. |
productSize | string \| null | Varyant başlığı (beden, renk vb.). |
image | string \| null | Ürün görsel URL'si. |
quantity | integer | Sipariş edilen adet. |
shippedQuantity | integer | Kargoya verilen adet. |
remainingQuantity | integer | Kargoya verilmemiş kalan adet. |
returnQuantity | integer | İade edilen adet. |
price | number | Efektif birim fiyat (kampanya varsa indirimli fiyat). |
originalPrice | number | Kampanya öncesi orijinal fiyat. |
lineGrossAmount | number | Line brüt tutar (quantity × originalPrice). |
lineNetAmount | number | Line net tutar (indirim sonrası). |
lineTotalDiscount | number | Line bazında toplam indirim. |
campaignInfo | object \| null | Eşleşen kampanya bilgisi (yoksa null). |
vatRate | integer | KDV oranı. |
status | string | Line durumu: Created, Shipped, PartiallyShipped, Cancelled, Returned. |
Shipment (shipments[])
| Alan | Tip | Açıklama |
|---|---|---|
id | integer \| null | Kargo kayıt kimliği. |
source | string | manual veya hepsijet. |
cargoProviderName | string | Kargo firmasının adı. |
trackingNumber | string | Takip numarası. |
trackingUrl | string \| null | Takip sayfası URL'si (varsa). |
status | string \| null | Kargo durumu (HepsiJET kayıtlarında doludur). |
createdAt | long \| null | Kargo oluşturma zamanı, Unix milisaniye. |
updatedAt | long \| null | Son güncelleme zamanı. |
cancelledAt | long \| null | İptal zamanı (varsa). |
products | array | Bu kargoda gönderilen barkod/quantity çiftleri. |
Kullanım Örnekleri
curl -u "API_KEY:API_SECRET" \
-X GET "https://api.milagron.com/integration/order/sellers/123/orders?status=Created&size=25"<?php
$ch = curl_init('https://api.milagron.com/integration/order/sellers/123/orders?status=Created&size=25');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERPWD => 'API_KEY:API_SECRET',
CURLOPT_CUSTOMREQUEST => 'GET',
]);
$response = curl_exec($ch);
$data = json_decode($response, true);
curl_close($ch);const auth = Buffer.from('API_KEY:API_SECRET').toString('base64');
const res = await fetch('https://api.milagron.com/integration/order/sellers/123/orders?status=Created&size=25', {
method: 'GET',
headers: {
'Authorization': `Basic ${auth}`
}
});
const data = await res.json();import requests
response = requests.get(
'https://api.milagron.com/integration/order/sellers/123/orders?status=Created&size=25',
auth=('API_KEY', 'API_SECRET')
)
response.raise_for_status()
data = response.json()package main
import (
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.milagron.com/integration/order/sellers/123/orders?status=Created&size=25", nil)
req.SetBasicAuth("API_KEY", "API_SECRET")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
}import java.net.URI;
import java.net.http.*;
import java.util.Base64;
HttpClient client = HttpClient.newHttpClient();
String auth = Base64.getEncoder()
.encodeToString("API_KEY:API_SECRET".getBytes());
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.milagron.com/integration/order/sellers/123/orders?status=Created&size=25"))
.header("Authorization", "Basic " + auth)
.GET()
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());require 'net/http'
require 'uri'
require 'json'
uri = URI('https://api.milagron.com/integration/order/sellers/123/orders?status=Created&size=25')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri.request_uri)
request.basic_auth('API_KEY', 'API_SECRET')
response = http.request(request)
data = JSON.parse(response.body)using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
var client = new HttpClient();
var auth = Convert.ToBase64String(
Encoding.UTF8.GetBytes("API_KEY:API_SECRET"));
client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Basic", auth);
var response = await client.GetAsync("https://api.milagron.com/integration/order/sellers/123/orders?status=Created&size=25");
var data = await response.Content.ReadAsStringAsync();Hata Kodları
| Kod | Sebep |
|---|---|
| 400 | startDate > endDate, aralık 90 günü aşmış, geçersiz status değeri veya page sınırı aşılmış. |
| 401 / 403 | Kimlik doğrulama ya da yetki problemi. |
| 404 | Seller bulunamadı. |
Notlar
- Bu endpoint yalnızca ödenmiş siparişleri döner. Ödenmemiş, iptal edilmiş veya void edilmiş siparişler hiçbir zaman listelenmez.
statusfiltresi paket seviyesi aggregate üzerinde uygulanır; line durumları line-level'da ayrıca yer alır.vendorfiltresi, vendor dışında kalan line'ları paket yanıtından çıkarır. Bu sebeple toplam tutarlar gelen vendor setine göre farklılık gösterebilir.- Aynı sipariş birden fazla kargoya bölünmüş olabilir;
shipmentsdizisi hepsini içerir.