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

ParametreTipVarsayılanAçıklama
pageinteger0Sayfa numarası (sıfırdan başlar). page × size değeri 1.000.000'ı aşamaz.
sizeinteger200Sayfa başına dönen kayıt (en fazla 200).
startDatelong (ms)endDate − 30 günBaşlangıç tarihi, Unix milisaniye (GMT+3).
endDatelong (ms)şimdiBitiş tarihi, Unix milisaniye. Maksimum aralık 90 gündür.
orderByFieldstringPackageLastModifiedDatePackageLastModifiedDate veya CreatedDate.
orderByDirectionstringDESCASC veya DESC.
statusstringPaket seviyesi durum filtresi. Geçerli değerler: Created, PartiallyShipped, Shipped, Cancelled, Returned.
orderNumberstringSipariş numarası. # ile veya #'siz gönderilebilir.
shipmentPackageIdsstringVirgülle ayrılmış paket ID listesi.
vendorstringVirgülle ayrılmış marka filtresi. Sadece belirtilen markaların line'larını içeren paketler döner.
barcodestringBelirli bir barkoda sahip line içeren paketler.
stockCodestringBelirli 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

AlanTipAçıklama
shipmentPackageIdintegerPaket tanımlayıcısı.
orderNumberstringSipariş numarası (# prefix'i ile).
statusstringPaket durumu: Created, PartiallyShipped, Shipped, Cancelled, Returned.
orderDatelongSipariş oluşturulma zamanı, Unix milisaniye.
lastModifiedDatelongSon değişiklik zamanı, Unix milisaniye.
supplierIdintegerSeller kimliği.
customerFirstNamestringMüşteri adı.
customerLastNamestringMüşteri soyadı.
customerEmailstring \| nullMüşteri e-posta adresi.
shipmentsarrayKargo kayıtları (aşağıda). Paket henüz gönderilmediyse boş olabilir.
currencyCodestringPara birimi (ör. TRY).
packageGrossAmountnumberİndirim öncesi brüt tutar.
packageTotalDiscountnumberToplam indirim tutarı (kampanya).
packageTotalPricenumberÖdenecek net tutar.
hasCampaignProductsbooleanPakette kampanyalı line olup olmadığı.
campaignNamesarrayEşleşen kampanya başlıkları.
discountDisplaysarrayKampanya bazında toplulaştırılmış indirim listesi.
notestring \| nullSipariş notu.
shipmentAddressobjectTeslimat adresi (aşağıda).
linesarraySipariş kalemleri (aşağıda).

Line (lines[])

AlanTipAçıklama
productNamestringÜrün adı.
vendorstringMarka.
barcodestringBarkod.
stockCodestringSKU.
productSizestring \| nullVaryant başlığı (beden, renk vb.).
imagestring \| nullÜrün görsel URL'si.
quantityintegerSipariş edilen adet.
shippedQuantityintegerKargoya verilen adet.
remainingQuantityintegerKargoya verilmemiş kalan adet.
returnQuantityintegerİade edilen adet.
pricenumberEfektif birim fiyat (kampanya varsa indirimli fiyat).
originalPricenumberKampanya öncesi orijinal fiyat.
lineGrossAmountnumberLine brüt tutar (quantity × originalPrice).
lineNetAmountnumberLine net tutar (indirim sonrası).
lineTotalDiscountnumberLine bazında toplam indirim.
campaignInfoobject \| nullEşleşen kampanya bilgisi (yoksa null).
vatRateintegerKDV oranı.
statusstringLine durumu: Created, Shipped, PartiallyShipped, Cancelled, Returned.

Shipment (shipments[])

AlanTipAçıklama
idinteger \| nullKargo kayıt kimliği.
sourcestringmanual veya hepsijet.
cargoProviderNamestringKargo firmasının adı.
trackingNumberstringTakip numarası.
trackingUrlstring \| nullTakip sayfası URL'si (varsa).
statusstring \| nullKargo durumu (HepsiJET kayıtlarında doludur).
createdAtlong \| nullKargo oluşturma zamanı, Unix milisaniye.
updatedAtlong \| nullSon güncelleme zamanı.
cancelledAtlong \| nullİptal zamanı (varsa).
productsarrayBu 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ı

KodSebep
400startDate > endDate, aralık 90 günü aşmış, geçersiz status değeri veya page sınırı aşılmış.
401 / 403Kimlik doğrulama ya da yetki problemi.
404Seller bulunamadı.

Notlar

  • Bu endpoint yalnızca ödenmiş siparişleri döner. Ödenmemiş, iptal edilmiş veya void edilmiş siparişler hiçbir zaman listelenmez.
  • status filtresi paket seviyesi aggregate üzerinde uygulanır; line durumları line-level'da ayrıca yer alır.
  • vendor filtresi, 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; shipments dizisi hepsini içerir.