Skip to content

Siparişler (Orders API) ​

Sipariş servisi, mağazanız üzerinden oluşturulan tüm siparişleri listelemenizi, filtrelemenizi ve kargo takip numarası ile güncellemenizi sağlar.

Metotlar ​

  • client.Orders.List(ctx, opts) -> (*PageResponse[Order], error)
  • client.Orders.All(ctx, opts) -> iter.Seq2[Order, error]
  • client.Orders.Get(ctx, id) -> (*Order, error)
  • client.Orders.Update(ctx, id, req) -> (*Order, error)
  • client.Orders.GetTransaction(ctx, orderID) -> (*OrderTransaction, error)

1. Siparişleri Listeleme ​

go
opts := &shopier.OrderListOptions{
	ListOptions: shopier.ListOptions{
		Page:  1,
		Limit: 20,
	},
	FulfillmentStatus: "unfulfilled", // "unfulfilled" veya "fulfilled"
	RefundType:        "none",        // "none", "partial", "full"
	DateStart:         "2026-01-01T00:00:00Z",
}

res, err := client.Orders.List(ctx, opts)
if err != nil {
	log.Fatal(err)
}

for _, ord := range res.Items {
	fmt.Printf("Sipariş #%s: Tutar %s %s\n", ord.ID, ord.Totals.Total, ord.Currency)
}

2. Tekil Sipariş Sorgulama ​

go
order, err := client.Orders.Get(ctx, "123456789")
if err != nil {
	log.Fatal(err)
}

fmt.Printf("Alıcı: %s %s (%s)\n", order.ShippingInfo.FirstName, order.ShippingInfo.LastName, order.ShippingInfo.Email)

3. Sipariş Güncelleme (Kargolama) ​

go
updated, err := client.Orders.Update(ctx, "123456789", &shopier.OrderUpdateRequest{
	Fulfillments: &shopier.OrderFulfillments{
		ShippingCompany: "yurtici", // yurtici, mng, ptt, aras, surat, ups, dhl vb.
		TrackingNumber:  "9876543210",
	},
})
if err != nil {
	log.Fatal(err)
}

fmt.Println("Yeni durum:", updated.Status) // "fulfilled"

4. Sipariş Finansal İşlemi (Transaction) ​

go
tx, err := client.Orders.GetTransaction(ctx, "123456789")
if err != nil {
	log.Fatal(err)
}

fmt.Printf("Brüt: %s %s | Komisyon: %s %s | Net: %s %s\n",
	tx.Gross.Amount, tx.Gross.Currency,
	tx.Fee.Amount, tx.Fee.Currency,
	tx.Net.Amount, tx.Net.Currency,
)

Veri Modelleri ve Tipler ​

Order (Sipariş Modeli) ​

Shopier mağazanız üzerinden verilen bir siparişi temsil eder.

Alan (Field)TipJSON EtiketiAçıklama
IDstringidBenzersiz Shopier sipariş numarası (örn. "123456789")
StatusstringstatusTeslimat/kargo durumu ("unfulfilled", "fulfilled", "cancelled")
PaymentStatusstringpaymentStatusÖdeme durumu ("success", "failed", "pending")
InstallmentsboolinstallmentsTaksitli ödeme yapıldıysa true döner
DateCreatedstringdateCreatedISO-8601 formatında sipariş oluşturulma tarihi
Currencystringcurrency3 haneli para birimi kodu ("TRY", "USD", "EUR")
PaymentMethodstringpaymentMethodÖdeme yöntemi ("credit_card")
TotalsOrderTotalstotalsSipariş tutar kırılımları
Discounts[]OrderDiscountdiscountsUygulanan indirim kodları veya otomatik indirimler
ShippingInfoOrderShippingInfoshippingInfoAlıcı bilgileri ve teslimat adresi
BillingInfo*OrderBillingInfobillingInfoFatura adresi ve kurumsal vergi bilgileri
NotestringnoteMüşterinin ödeme sırasında bıraktığı sipariş notu
LineItems[]OrderLineItemlineItemsSipariş edilen ürünler, varyantlar ve adetler

OrderTotals ​

Alan (Field)TipJSON EtiketiAçıklama
SubtotalstringsubtotalÜrünlerin indirim ve kargo öncesi ara toplamı (örn. "200.00")
ShippingstringshippingAlıcıya yansıtılan kargo ücreti (örn. "25.00")
DiscountstringdiscountToplam indirim tutarı (örn. "20.00")
TotalstringtotalAlıcının ödediği nihai toplam tutar (örn. "205.00")

OrderShippingInfo ​

Alan (Field)TipJSON EtiketiAçıklama
FirstNamestringfirstNameAlıcı adı
LastNamestringlastNameAlıcı soyadı
NationalIDstringnationalIdT.C. Kimlik Numarası veya pasaport no
EmailstringemailAlıcı e-posta adresi
PhonestringphoneAlıcı telefon numarası (örn. "05551234567")
CompanystringcompanyŞirket / firma adı (varsa)
AddressstringaddressAçık adres satırı
Districtstringdistrictİlçe / mahalle
Citystringcityİl / şehir
StatestringstateEyalet / bölge (yurtdışı siparişler için)
PostcodestringpostcodePosta kodu
Countrystringcountry2 haneli ISO ülke kodu ("TR", "US")

OrderBillingInfo ​

Alan (Field)TipJSON EtiketiAçıklama
FirstNamestringfirstNameFatura kesilecek kişi adı
LastNamestringlastNameFatura kesilecek kişi soyadı
TaxOfficestringtaxOfficeVergi dairesi adı
TaxNumberstringtaxNumberVergi kimlik numarası / TC
AddressstringaddressFatura adresi
CitystringcityFatura şehri
CountrystringcountryFatura ülkesi

OrderLineItem ​

Alan (Field)TipJSON EtiketiAçıklama
ProductIDstringproductIdSatın alınan Shopier ürün kimliği
TitlestringtitleÜrün başlığı
Typestringtype"physical" (fiziksel) veya "digital" (dijital)
QuantityintquantitySatın alınan adet
PricestringpriceBirim satış fiyatı
Selection[]OrderLineItemSelectionselectionSeçilen varyant bilgileri (beden, renk vb.)
Options[]OrderLineItemOptionoptionsÖzel ekstra seçenekler

OrderUpdateRequest ​

Alan (Field)TipJSON EtiketiAçıklama
Fulfillments*OrderFulfillmentsfulfillmentsKargo firması ("yurtici", "mng", "ptt", "aras", "surat", "ups", "dhl") ve takip numarası
ShippingInfo*OrderShippingInfoshippingInfoGüncellenen alıcı teslimat adresi

OrderTransaction ​

Alan (Field)TipJSON EtiketiAçıklama
OrderIDstringorderIdİlgili sipariş numarası
Typestringtypeİşlem türü ("sale", "refund")
DateCreatedstringdateCreatedMuhasebe işlem tarihi
GrossTransactionAmountgrossAlıcının ödediği brüt tutar
FeeTransactionFeefeeShopier komisyon ve işlem kesintisi
NetTransactionAmountnetSatıcı hesabına aktarılan net hakediş