API referansı

Siparişler

get/orders

Siparişleri listele

Parametreler

AdKonumAçıklama
statussorguPENDING | PAID | SHIPPED | COMPLETED | REFUNDED | CANCELLED
emailsorguAlıcı e-postası
created_gtesorguBu tarihten sonra (ISO 8601)
created_ltesorguBu tarihten önce (ISO 8601)
limitsorguSayfa başına kayıt (1–100, varsayılan 25)
cursorsorguÖnceki yanıttaki nextCursor değeri

İstek

curl https://odecik.com/api/v1/orders \
  -H "Authorization: Bearer $ODECIK_API_KEY"

Yanıt

Başarılı: 200400 Geçersiz istek401 Geçersiz veya iptal edilmiş API anahtarı403 Anahtarda gerekli yetki (scope) yok404 Kaynak bulunamadı429 Hız sınırı aşıldı

AlanTürAçıklama
objectstring
hasMoreboolean
nextCursorstring?
200 — örnek yanıt
{
  "object": "list",
  "hasMore": false,
  "nextCursor": "string"
}
get/orders/{id}

Sipariş getir

`id` olarak sipariş kimliği veya sipariş numarası (`ODC-…`) kullanılabilir.

Parametreler

AdKonumAçıklama
idzorunluyol

İstek

curl https://odecik.com/api/v1/orders/ODC-M2K9X1-A4F2 \
  -H "Authorization: Bearer $ODECIK_API_KEY"

Yanıt

Başarılı: 200400 Geçersiz istek401 Geçersiz veya iptal edilmiş API anahtarı403 Anahtarda gerekli yetki (scope) yok404 Kaynak bulunamadı429 Hız sınırı aşıldı

AlanTürAçıklama
idstring
orderNostring
statusPENDING | PAID | SHIPPED | COMPLETED | REFUNDED | CANCELLED
currencystring
totalKurusinteger
commissionKurusinteger
netKurusinteger
buyerobject
buyer.namestring
buyer.emailstring
buyer.phonestring?
buyer.addressstring?
itemsobject[]
shippingobject?
shipping.carrierstring
shipping.trackingNostring
shipping.trackingUrlstring?
shipping.shippedAtstring (date-time)?
createdAtstring (date-time)
200 — örnek yanıt
{
  "id": "string",
  "orderNo": "ODC-M2K9X1-A4F2",
  "status": "PENDING",
  "currency": "string",
  "totalKurus": 0,
  "commissionKurus": 0,
  "netKurus": 0,
  "buyer": {
    "name": "string",
    "email": "string",
    "phone": "string",
    "address": "string"
  },
  "items": [
    {
      "productId": "string",
      "name": "string",
      "type": "string",
      "variantId": "string",
      "variantName": "string",
      "quantity": 0,
      "priceKurus": 0
    }
  ],
  "shipping": {
    "carrier": "string",
    "trackingNo": "string",
    "trackingUrl": "string",
    "shippedAt": "2026-01-15T10:30:00.000Z"
  },
  "createdAt": "2026-01-15T10:30:00.000Z"
}
post/orders/{id}/ship

Siparişi kargola

Siparişi `SHIPPED` yapar, alıcıya takip e-postası gönderir ve `order.shipped` webhook'unu tetikler. `write` yetkisi gerekir.

Parametreler

AdKonumAçıklama
idzorunluyol

Gövde (JSON)

AlanTürAçıklama
carrierzorunluyurtici | aras | mng | ptt | surat | hepsijet | trendyol | ups | dhl | fedex | diger
trackingNozorunlustring

İstek

curl -X POST https://odecik.com/api/v1/orders/ODC-M2K9X1-A4F2/ship \
  -H "Authorization: Bearer $ODECIK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "carrier": "yurtici",
    "trackingNo": "123456789012"
  }'

Yanıt

Başarılı: 200400 Geçersiz istek401 Geçersiz veya iptal edilmiş API anahtarı403 Anahtarda gerekli yetki (scope) yok404 Kaynak bulunamadı429 Hız sınırı aşıldı

AlanTürAçıklama
idstring
orderNostring
statusPENDING | PAID | SHIPPED | COMPLETED | REFUNDED | CANCELLED
currencystring
totalKurusinteger
commissionKurusinteger
netKurusinteger
buyerobject
buyer.namestring
buyer.emailstring
buyer.phonestring?
buyer.addressstring?
itemsobject[]
shippingobject?
shipping.carrierstring
shipping.trackingNostring
shipping.trackingUrlstring?
shipping.shippedAtstring (date-time)?
createdAtstring (date-time)
200 — örnek yanıt
{
  "id": "string",
  "orderNo": "ODC-M2K9X1-A4F2",
  "status": "PENDING",
  "currency": "string",
  "totalKurus": 0,
  "commissionKurus": 0,
  "netKurus": 0,
  "buyer": {
    "name": "string",
    "email": "string",
    "phone": "string",
    "address": "string"
  },
  "items": [
    {
      "productId": "string",
      "name": "string",
      "type": "string",
      "variantId": "string",
      "variantName": "string",
      "quantity": 0,
      "priceKurus": 0
    }
  ],
  "shipping": {
    "carrier": "string",
    "trackingNo": "string",
    "trackingUrl": "string",
    "shippedAt": "2026-01-15T10:30:00.000Z"
  },
  "createdAt": "2026-01-15T10:30:00.000Z"
}
post/orders/{id}/refund

Siparişi iade et

Net tutar satıcı bakiyesinden düşülür ve `order.refunded` webhook'u tetiklenir. Kart iadesi ödeme sağlayıcısı üzerinden ayrıca yapılır. Ödemesi IBAN'a aktarılmış siparişler `409 payout_completed` döner. `write` yetkisi gerekir.

Parametreler

AdKonumAçıklama
idzorunluyol

İstek

curl -X POST https://odecik.com/api/v1/orders/ODC-M2K9X1-A4F2/refund \
  -H "Authorization: Bearer $ODECIK_API_KEY"

Yanıt

Başarılı: 200400 Geçersiz istek401 Geçersiz veya iptal edilmiş API anahtarı403 Anahtarda gerekli yetki (scope) yok404 Kaynak bulunamadı429 Hız sınırı aşıldı

AlanTürAçıklama
idstring
orderNostring
statusPENDING | PAID | SHIPPED | COMPLETED | REFUNDED | CANCELLED
currencystring
totalKurusinteger
commissionKurusinteger
netKurusinteger
buyerobject
buyer.namestring
buyer.emailstring
buyer.phonestring?
buyer.addressstring?
itemsobject[]
shippingobject?
shipping.carrierstring
shipping.trackingNostring
shipping.trackingUrlstring?
shipping.shippedAtstring (date-time)?
createdAtstring (date-time)
200 — örnek yanıt
{
  "id": "string",
  "orderNo": "ODC-M2K9X1-A4F2",
  "status": "PENDING",
  "currency": "string",
  "totalKurus": 0,
  "commissionKurus": 0,
  "netKurus": 0,
  "buyer": {
    "name": "string",
    "email": "string",
    "phone": "string",
    "address": "string"
  },
  "items": [
    {
      "productId": "string",
      "name": "string",
      "type": "string",
      "variantId": "string",
      "variantName": "string",
      "quantity": 0,
      "priceKurus": 0
    }
  ],
  "shipping": {
    "carrier": "string",
    "trackingNo": "string",
    "trackingUrl": "string",
    "shippedAt": "2026-01-15T10:30:00.000Z"
  },
  "createdAt": "2026-01-15T10:30:00.000Z"
}