---
title: Siparişler
description: Siparişleri listeleyin, oluşturun, kargolayın, iptal ve iade edin.
full: true
---

<Callout type="info" title="START paketinde sipariş düzenleme">
Mağaza START paketindeyse uygulamalar yalnızca kendi satış kanallarından gelen siparişleri düzenleyebilir: satır güncelleme (v1), kargoya hazırlama, paket durumu güncelleme, kargo paketi iptali, satır iptali ve satır iadesi. Diğer siparişlerde `EDIT_ORDER_NOT_ALLOWED_FOR_MERCHANT_LICENCE` hatası döner.
</Callout>

## Order nesnesi [#Order]

**`Order`** (v1 · v2)

| Alan | Tip | Açıklama |
| --- | --- | --- |
| `abandonedCartFlows` | `[AbandonedCartFlow!]` |  |
| `archived` | `Boolean!` |  |
| `attributes` | `[OrderAttributeValue!]` |  |
| `availableShippingMethods` | `[AvailableShippingMethod!]` |  |
| `billingAddress` | `OrderAddress` | Siparişin fatura adresi. |
| `branch` | `OrderBranch` | ikasPOS üzerinden oluşturulan siparişlerin `branch` bilgisi. |
| `branchSession` | `OrderBranchSession` | ikasPOS üzerinden oluşturulan siparişlerin `branchSession` bilgisi. |
| `branchSessionId` | `String` |  |
| `campaignOffers` | `[CartV2CampaignOffer!]` |  |
| `cancelReason` | `OrderCancelledReasonEnum` | Siparişin iptal nedeni. Sipariş iptal edildiyse siparişin iptal nedenini belirtir. Değerler: `CUSTOMER`, `DECLINED`, `INVENTORY`, `OTHER`. |
| `cancelledAt` | `Timestamp` | Sipariş iptal edildiyse siparişin iptal tarihini belirtir. |
| `cartId` | `String` |  |
| `cartStatus` | `CartV2StatusEnum` | Siparişe bağlı sepetin durumunu gösterir. Değerler: `COMPLETED`, `FREEZE`, `KILLED`, `OPEN`. |
| `checkoutId` | `String` |  |
| `clientIp` | `String` | İstemcinin IP adresi. |
| `couponCode` | `String` |  |
| `createdAt` | `Timestamp` | Kaydın oluşturulma zamanı (milisaniye cinsinden Unix zaman damgası). |
| `createdBy` | `CartCreatedByEnum` | Siparişi kimin oluşturduğunu belirtir. Sipariş müşteri veya mağaza sahibi tarafından oluşturulabilir. Değerler: `ADMIN`, `CUSTOMER`, `UPSELL`. |
| `createdWithPayWithIkas` | `Boolean` |  |
| `currencyCode` | `String!` | Siparişin para birimi değeri. |
| `currencyRates` | `[OrderCurrencyRate!]!` | Döviz kuru nesnelerinin listesi. |
| `currencySymbol` | `String` |  |
| `customer` | `OrderCustomer` | Müşteriye ait bilgi. Siparişte müşteri bilgisi bulunması zorunlu değildir. Sipariş ikasPOS ile oluşturulduysa müşteri bilgisi null olabilir. |
| `customerGroups` | `[OrderCustomerGroup!]` |  |
| `customerId` | `String` |  |
| `customerOrderCount` | `Float` | İlgili müşterinin verdiği sipariş sayısını gösterir. |
| `customerSegments` | `[OrderCustomerSegment!]` |  |
| `customerSubscriptionPlans` | `[OrderCustomerSubscriptionPlan!]` |  |
| `deleted` | `Boolean!` | Kaydın silinmiş olup olmadığı. |
| `deliveredAt` | `Timestamp` | Siparişin tamamen teslim edildiği tarih. |
| `dueDate` | `Timestamp` |  |
| `edited` | `Boolean` |  |
| `giftCardLines` | `[OrderGiftCardLine!]` |  |
| `giftPackageLines` | `[OrderGiftPackageLine!]` | Siparişteki her bir hediye paketinin fiyat bilgisini içeren hediye paketi satırı nesnelerinin listesi. |
| `giftPackageNote` | `String` | Siparişe eklenebilen, isteğe bağlı hediye paketi notu. |
| `host` | `String` | Siparişin oluşturulduğu host. |
| `id` | `ID!` | Kaydın ID değeri. |
| `invoices` | `[Invoice!]` | Her biri bir faturaya ait bilgileri içeren fatura nesnelerinin listesi. |
| `isGiftPackage` | `Boolean` | Siparişte hediye paketi olup olmadığını belirtir. Siparişte hediye paketi varsa **isGiftPackage** `true` döner |
| `itemCount` | `Float` |  |
| `lastActivityDate` | `Timestamp` |  |
| `loyaltyLines` | `[OrderLoyaltyLine!]` |  |
| `marketingCampaignId` | `String` |  |
| `merchantId` | `String!` |  |
| `netTotalFinalPrice` | `Float` | İadelerin ve sonradan eklenen ürünlerin fiyatlarının nihai sipariş tutarına yansıması. |
| `note` | `String` | Siparişe eklenebilen, isteğe bağlı not. |
| `orderAdjustments` | `[OrderAdjustment!]` | Siparişteki her bir düzenlemeye (adjustment) ait bilgileri içeren adjustment nesnelerinin listesi. |
| `orderLineItems` | `[OrderLineItem!]!` | Siparişteki her bir ürüne ait bilgileri içeren satır nesnelerinin listesi. |
| `orderNumber` | `String` | Siparişin, mağazanın 1001'den başlayan sipariş sayacındaki sırası. Sipariş numaraları ardışıktır ve 1001'den başlar. |
| `orderPackageSequence` | `Float` | Paketlerin siparişteki sıra değeri. |
| `orderPackageStatus` | `OrderPackageStatusEnum` | Siparişin paket durumu enum'u. Değerler: `CANCELLED`, `CANCEL_REJECTED`, `CANCEL_REQUESTED`, `DELIVERED`, `FULFILLED`, `PARTIALLY_CANCELLED`, `PARTIALLY_DELIVERED`, `PARTIALLY_FULFILLED`, `PARTIALLY_READY_FOR_SHIPMENT`, `PARTIALLY_REFUNDED`, `PLANNED`, `READY_FOR_PICK_UP`, `READY_FOR_SHIPMENT`, `REFUNDED`, `REFUND_REJECTED`, `REFUND_REQUESTED`, `REFUND_REQUEST_ACCEPTED`, `RETURN_DELIVERED`, `RETURN_IN_TRANSIT`, `RETURN_PARCEL_WAITING`, `RETURN_REJECTED`, `UNABLE_TO_DELIVER`, `UNFULFILLED`, `WAITING_FOR_PACKAGING`. |
| `orderPackages` | `[OrderPackage!]` | Sipariş paketi nesnelerinin listesi. |
| `orderPaymentStatus` | `OrderPaymentStatusEnum` | Siparişin ödeme durumu enum'u. Değerler: `FAILED`, `OVER_PAID`, `PAID`, `PARTIALLY_PAID`, `REFUNDED`, `WAITING`. |
| `orderSequence` | `Float` | `order_number` alanının sıra değeri. Sıra değeri 1'den başlar; sipariş numarası 1001 olan bir siparişin sıra değeri 1'dir. |
| `orderTagIds` | `[String!]` | Siparişteki etiket ID'lerinin listesi. |
| `orderedAt` | `Timestamp` | Siparişin verildiği tarih. |
| `paidAt` | `Timestamp` | Sipariş ödemesinin tamamen tamamlandığı tarih. |
| `paymentMethods` | `[OrderPaymentMethod!]` | Siparişteki her bir ödeme yöntemine ait bilgileri içeren ödeme yöntemi nesnelerinin listesi. |
| `priceList` | `OrderPriceList` | Sipariş oluşturulurken kullanılan `priceList` bilgisi. |
| `priceListId` | `String` |  |
| `recoverEmailStatus` | `CheckoutRecoveryEmailStatusEnum` | Değerler: `NOT_SENT`, `SENT`. |
| `recoveryStatus` | `CheckoutRecoveryStatusEnum` | Değerler: `NOT_RECOVERED`, `RECOVERED`. |
| `salesChannel` | `OrderSalesChannel!` | Siparişin oluşturulduğu `salesChannel` bilgisi. |
| `salesChannelId` | `String` |  |
| `sessionId` | `String` |  |
| `sessionInfo` | `OrderSessionInfo` |  |
| `shippingAddress` | `OrderAddress` | Siparişin teslimat adresi. |
| `shippingLines` | `[OrderShippingLine!]` | Siparişteki her bir kargoya ait bilgileri içeren kargo satırı nesnelerinin listesi. |
| `shippingMethod` | `OrderShippingMethodEnum!` | Siparişin teslimat yöntemi enum'u. Değerler: `CLICK_AND_COLLECT`, `DIGITAL_DELIVERY`, `NO_SHIPMENT`, `SHIPMENT`. |
| `shippingSettingsId` | `String` |  |
| `shippingZoneRateId` | `String` |  |
| `sourceId` | `String` |  |
| `staff` | `OrderStaff` | ikasPOS üzerinden oluşturulan siparişlerin `staff` bilgisi. |
| `status` | `OrderStatusEnum!` | Siparişin durum enum'u. Değerler: `CANCELLED`, `CREATED`, `DRAFT`, `PARTIALLY_CANCELLED`, `PARTIALLY_REFUNDED`, `REFUNDED`, `REFUND_REJECTED`, `REFUND_REQUESTED`, `WAITING_UPSELL_ACTION`. |
| `stockLocation` | `OrderStockLocation` | Siparişlerin `stock location` bilgisi. |
| `stockLocationId` | `String` |  |
| `storefront` | `OrderStorefront` | Siparişin oluşturulduğu `storefront` bilgisi. |
| `storefrontId` | `String` |  |
| `storefrontRouting` | `OrderStorefrontRouting` | Sipariş oluşturulduğu sırada online mağazanın kullandığı `storefrontRouting` bilgisi. |
| `storefrontRoutingId` | `String` |  |
| `storefrontTheme` | `OrderStorefrontTheme` | Sipariş oluşturulduğu sırada online mağazanın kullandığı `storefrontTheme` bilgisi. |
| `storefrontThemeId` | `String` |  |
| `taxLines` | `[OrderTaxLine!]` | Vergi satırı nesnelerinin listesi. Bu nesneler shippingLines, orderLineItems ve giftPackageLines vergilerini içerir. |
| `terminalId` | `String` | ikasPOS üzerinden oluşturulan siparişlerin `terminalId` bilgisi. |
| `timezone` | `String` |  |
| `totalFinalPrice` | `Float!` | `orderAdjustments`, `shippingLines` ve `giftPackageLines` fiyatlandırmalarının sipariş toplam fiyatına uygulanmasıyla oluşan siparişin nihai toplam fiyatı. |
| `totalPrice` | `Float!` | Siparişteki satırların net fiyatlarının toplamı. |
| `updatedAt` | `Timestamp` | Kaydın son güncellenme zamanı (milisaniye cinsinden Unix zaman damgası). |
| `userAgent` | `String` | Yazılım ve işletim sistemi sürümleri dahil, ziyaretçinin kullandığı istemcinin detayları. |
| `workflowId` | `String` |  |
| `workflowName` | `String` |  |
| `workflowNodeId` | `String` |  |

Örnek (temsili):

```json
{
  "abandonedCartFlows": [
    {
      "authorizedAppId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "campaignId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "canApplicable": true,
      "couponId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "customerFilters": null,
      "flowId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "mailSendDate": 1735725600000,
      "mailTemplateId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "mailTranslationId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "messageType": "EMAIL",
      "recoverEmailStatus": "NOT_SENT",
      "sendAfter": 1,
      "smsTranslationId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21"
    }
  ],
  "archived": false,
  "attributes": [
    {
      "orderAttributeId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "orderAttributeOptionId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "value": "string"
    }
  ],
  "availableShippingMethods": [
    {
      "cargoCompanyId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "estimatedDeliveryTime": null,
      "price": 129.9,
      "rateName": "Örnek",
      "shippingMethod": "CLICK_AND_COLLECT",
      "shippingSettingsId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "shippingZoneRateId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21"
    }
  ],
  "billingAddress": {
    "addressLine1": "Örnek Mah. 1. Sok. No: 1",
    "addressLine2": "Örnek Mah. 1. Sok. No: 1",
    "city": null,
    "company": "Örnek Şirket",
    "country": null,
    "district": null,
    "firstName": "Ayşe",
    "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
    "identityNumber": "11111111111",
    "isDefault": true,
    "lastName": "Yılmaz",
    "phone": "+905551112233",
    "postalCode": "34000",
    "region": null,
    "state": null,
    "taxNumber": "1234567890",
    "taxOffice": "Kadıköy"
  },
  "branch": {
    "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
    "name": "Örnek"
  },
  "branchSession": {
    "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
    "name": "Örnek"
  },
  "branchSessionId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
  "campaignOffers": [
    {
      "appliedOrderLineId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "campaignOffer": null,
      "campaignOfferId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "campaignOfferProductId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "offerEndDate": 1735725600000,
      "offerStartDate": 1735725600000,
      "status": "ACCEPTED",
      "targetPageTypes": [
        "CHECKOUT"
      ],
      "triggerSourceOrderLineId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21"
    }
  ],
  "cancelReason": "CUSTOMER",
  "cancelledAt": 1735725600000,
  "cartId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
  "cartStatus": "COMPLETED",
  "checkoutId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
  "clientIp": "127.0.0.1",
  "couponCode": "string",
  "createdAt": 1735725600000,
  "createdBy": "ADMIN",
  "createdWithPayWithIkas": true,
  "currencyCode": "TRY",
  "currencyRates": [
    {
      "code": "string",
      "originalRate": 20,
      "rate": 20
    }
  ],
  "currencySymbol": "₺",
  "customer": {
    "email": "musteri@ornek.com",
    "firstName": "Ayşe",
    "fullName": "Örnek",
    "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
    "isGuestCheckout": true,
    "lastName": "Yılmaz",
    "notificationsAccepted": true,
    "phone": "+905551112233",
    "preferredLanguage": "string"
  },
  "customerGroups": [
    {
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "name": "Örnek"
    }
  ],
  "customerId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
  "customerOrderCount": 1,
  "customerSegments": [
    {
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "name": "Örnek"
    }
  ],
  "customerSubscriptionPlans": [
    {
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21"
    }
  ],
  "deleted": false,
  "deliveredAt": 1735725600000,
  "dueDate": 1735725600000,
  "edited": true,
  "giftCardLines": [
    {
      "amount": 129.9,
      "appliedTransactions": null,
      "code": "string",
      "giftCardId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "type": "GIFT_CARD"
    }
  ],
  "giftPackageLines": [
    {
      "isRefunded": true,
      "price": 129.9,
      "priceListId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "taxValue": 129.9
    }
  ],
  "giftPackageNote": "string",
  "host": "ornek.myikas.com",
  "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
  "invoices": [
    {
      "appId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "appName": "Örnek",
      "createdAt": 1735725600000,
      "hasPdf": true,
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "invoiceData": {},
      "invoiceNumber": "string",
      "storeAppId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "type": "COMPANY"
    }
  ],
  "isGiftPackage": true,
  "itemCount": 1,
  "lastActivityDate": 1735725600000,
  "loyaltyLines": [
    {
      "amount": 129.9,
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "isFinalized": true,
      "loyaltyProgramCustomerId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "loyaltyProgramId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "loyaltyProgramSpendingMethodType": "string",
      "loyaltySpendingMethodId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21"
    }
  ],
  "marketingCampaignId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
  "merchantId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
  "netTotalFinalPrice": 129.9,
  "note": "Örnek açıklama",
  "orderAdjustments": [
    {
      "amount": 129.9,
      "amountType": "AMOUNT",
      "appliedOrderLines": null,
      "campaignId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "campaignType": "BUY_X_THEN_GET_Y",
      "couponId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "createdFor": "ABANDONED_CHECKOUT",
      "name": "Örnek",
      "order": 1,
      "transactionId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "type": "DECREMENT",
      "usedLoyaltyPoints": 1
    }
  ],
  "orderLineItems": [
    {
      "bundleProductSettings": null,
      "createdAt": 1735725600000,
      "currencyCode": "TRY",
      "currencySymbol": "₺",
      "customerSubscriptionPlan": null,
      "deleted": false,
      "discount": null,
      "discountPrice": 129.9,
      "edited": true,
      "finalPrice": 129.9,
      "finalUnitPrice": 129.9,
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "options": null,
      "originalOrderLineItemId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "price": 129.9,
      "quantity": 1,
      "sourceId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "status": "CANCELLED",
      "statusUpdatedAt": 1735725600000,
      "stockLocationId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "subscriptionPlan": null,
      "taxValue": 129.9,
      "unitPrice": 129.9,
      "updatedAt": 1735725600000,
      "variant": null
    }
  ],
  "orderNumber": "1001",
  "orderPackageSequence": 1,
  "orderPackageStatus": "CANCELLED",
  "orderPackages": [
    {
      "appId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "createdAt": 1735725600000,
      "deleted": false,
      "errorMessage": "string",
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "note": "Örnek açıklama",
      "orderLineItemIds": [
        "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21"
      ],
      "orderPackageFulfillStatus": "CANCELLED",
      "orderPackageNumber": "string",
      "previousOrderPackageFulfillStatus": "CANCELLED",
      "refundReasonId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "returnShippingMethod": "AUTO",
      "sourceId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "stockLocationId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "subscriptionPlanOrder": null,
      "trackingInfo": null,
      "updatedAt": 1735725600000
    }
  ],
  "orderPaymentStatus": "FAILED",
  "orderSequence": 1,
  "orderTagIds": [
    "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21"
  ],
  "orderedAt": 1735725600000,
  "paidAt": 1735725600000,
  "paymentMethods": [
    {
      "isAlternativeGateway": true,
      "paymentGatewayCode": "string",
      "paymentGatewayId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "paymentGatewayName": "Örnek",
      "price": 129.9,
      "type": "APP_PAYMENT"
    }
  ],
  "priceList": {
    "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
    "name": "Örnek"
  },
  "priceListId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
  "recoverEmailStatus": "NOT_SENT",
  "recoveryStatus": "NOT_RECOVERED",
  "salesChannel": {
    "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
    "name": "Örnek",
    "type": 1
  },
  "salesChannelId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
  "sessionId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
  "sessionInfo": {
    "countryCode": "TR",
    "durationMS": 1,
    "end": 1735725600000,
    "host": "ornek.myikas.com",
    "ip": "127.0.0.1",
    "journeyId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
    "referer": "string",
    "salesChannelId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
    "sessionId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
    "start": 1735725600000,
    "storefrontId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
    "userAgent": null,
    "utm": null,
    "visitorId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21"
  },
  "shippingAddress": {
    "addressLine1": "Örnek Mah. 1. Sok. No: 1",
    "addressLine2": "Örnek Mah. 1. Sok. No: 1",
    "city": null,
    "company": "Örnek Şirket",
    "country": null,
    "district": null,
    "firstName": "Ayşe",
    "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
    "identityNumber": "11111111111",
    "isDefault": true,
    "lastName": "Yılmaz",
    "phone": "+905551112233",
    "postalCode": "34000",
    "region": null,
    "state": null,
    "taxNumber": "1234567890",
    "taxOffice": "Kadıköy"
  },
  "shippingLines": [
    {
      "cargoCompanyId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "finalPrice": 129.9,
      "isRefunded": true,
      "paymentMethod": "APP_PAYMENT",
      "price": 129.9,
      "priceListId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "shippingSettingsId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "shippingZoneRateId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "taxValue": 129.9,
      "title": "Örnek",
      "transactionId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21"
    }
  ],
  "shippingMethod": "CLICK_AND_COLLECT",
  "shippingSettingsId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
  "shippingZoneRateId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
  "sourceId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
  "staff": {
    "email": "musteri@ornek.com",
    "firstName": "Ayşe",
    "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
    "lastName": "Yılmaz"
  },
  "status": "CANCELLED",
  "stockLocation": {
    "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
    "name": "Örnek"
  },
  "stockLocationId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
  "storefront": {
    "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
    "name": "Örnek"
  },
  "storefrontId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
  "storefrontRouting": {
    "domain": "string",
    "dynamicCurrencySettings": null,
    "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
    "locale": "tr",
    "path": "string",
    "priceListId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
    "salesChannelId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21"
  },
  "storefrontRoutingId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
  "storefrontTheme": {
    "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
    "name": "Örnek",
    "themeId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
    "themeVersionId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21"
  },
  "storefrontThemeId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
  "taxLines": [
    {
      "price": 129.9,
      "rate": 20
    }
  ],
  "terminalId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
  "timezone": "string",
  "totalFinalPrice": 129.9,
  "totalPrice": 129.9,
  "updatedAt": 1735725600000,
  "userAgent": "Mozilla/5.0",
  "workflowId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
  "workflowName": "Örnek",
  "workflowNodeId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21"
}
```

## Siparişleri listele [#listOrder]

**`listOrder`** (query, v1 · v2)

Parametreler:

| Alan | Tip | Açıklama |
| --- | --- | --- |
| `branchId` | `StringFilterInput` |  |
| `branchSessionId` | `StringFilterInput` |  |
| `closedAt` | `DateFilterInput` |  |
| `customerEmail` | `StringFilterInput` |  |
| `customerId` | `StringFilterInput` |  |
| `id` | `StringFilterInput` | Kaydın ID değeri. |
| `invoicesStoreAppId` | `StringFilterInput` |  |
| `orderNumber` | `StringFilterInput` |  |
| `orderPackageStatus` | `OrderPackageStatusEnumInputFilter` |  |
| `orderPaymentStatus` | `OrderPaymentStatusEnumInputFilter` |  |
| `orderTagIds` | `StringFilterInput` |  |
| `orderedAt` | `DateFilterInput` |  |
| `pagination` | `PaginationInput` | Sayfalama özelliği, yanıt verisinin belirli bölümlerini filtrelemenizi ve görüntülemenizi sağlar. |
| `paymentMethodType` | `OrderPaymentMethodEnumFilterInput` |  |
| `salesChannelId` | `StringFilterInput` |  |
| `search` | `String` | Listeleme API'lerinde belirtilen alanlarda arama yapılmasını sağlar. Örnek: searchableFields=['name', 'description'] ve search='AAA' ise, API name veya description alanında 'AAA' içeren kayıtları döndürür. |
| `shippingMethod` | `OrderShippingMethodEnumFilterInput` |  |
| `sort` | `String` | Yanıt verisinin belirtilen alanlara göre sıralanmasını sağlar. Örnek: sortableFields=['updatedAt'] ise yanıt verisi updatedAt alanına göre sıralanır. |
| `sourceId` | `StringFilterInput` |  |
| `status` | `OrderStatusEnumInputFilter` |  |
| `stockLocationId` | `StringFilterInput` |  |
| `terminalId` | `StringFilterInput` |  |
| `updatedAt` | `DateFilterInput` | Kaydın son güncellenme zamanı (milisaniye cinsinden Unix zaman damgası). |

Dönen değer: `OrderPaginationResponse!`

Örnek istek - Sipariş Listeleme (`POST https://api.myikas.com/api/v2/admin/graphql`):

listOrder Query'si ile, ikas sistemindeki oluşan siparişleri çekebilirsiniz. Bir sonraki örnekte, çeşitli filtrelerle atılan listOrder isteğini görebilirsiniz.

```graphql
query listOrder($branchId: StringFilterInput, $branchSessionId: StringFilterInput, $customerEmail: StringFilterInput, $customerId: StringFilterInput, $id: StringFilterInput, $invoicesStoreAppId: StringFilterInput, $orderNumber: StringFilterInput, $orderPackageStatus: OrderPackageStatusEnumInputFilter, $orderPaymentStatus: OrderPaymentStatusEnumInputFilter, $orderTagIds: StringFilterInput, $orderedAt: DateFilterInput, $pagination: PaginationInput, $paymentMethodType: OrderPaymentMethodEnumFilterInput, $salesChannelId: StringFilterInput, $search: String, $shippingMethod: OrderShippingMethodEnumFilterInput, $sort: String, $status: OrderStatusEnumInputFilter, $stockLocationId: StringFilterInput, $terminalId: StringFilterInput, $updatedAt: DateFilterInput) {
  listOrder(
    branchId: $branchId
    branchSessionId: $branchSessionId
    customerEmail: $customerEmail
    customerId: $customerId
    id: $id
    invoicesStoreAppId: $invoicesStoreAppId
    orderNumber: $orderNumber
    orderPackageStatus: $orderPackageStatus
    orderPaymentStatus: $orderPaymentStatus
    orderTagIds: $orderTagIds
    orderedAt: $orderedAt
    pagination: $pagination
    paymentMethodType: $paymentMethodType
    salesChannelId: $salesChannelId
    search: $search
    shippingMethod: $shippingMethod
    sort: $sort
    status: $status
    stockLocationId: $stockLocationId
    terminalId: $terminalId
    updatedAt: $updatedAt
  ) {
    count
    hasNext
    limit
    page
    data {
      archived
      createdAt
      currencyCode
      id
      orderNumber
      status
      totalFinalPrice
      updatedAt
    }
  }
}
```

```json
{
  "pagination": {
    "limit": 20,
    "page": 1
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "listOrder": {
      "count": 1,
      "hasNext": true,
      "limit": 50,
      "page": 1,
      "data": [
        {
          "archived": false,
          "createdAt": 1735725600000,
          "currencyCode": "TRY",
          "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
          "orderNumber": "1001",
          "status": "CANCELLED",
          "totalFinalPrice": 129.9,
          "updatedAt": 1735725600000
        }
      ]
    }
  }
}
```

Örnek istek - Sipariş Listeleme - Filtre Örnekli (`POST https://api.myikas.com/api/v2/admin/graphql`):

Bu örnekte orderPackageStatus ve orderedAt filtrelerini görebilirsiniz. orderPackageStatus panelde gördüğünüz paketin durumuna denk gelmektedir.

**PLANNED**: Sipariş oluşturuldu ama henüz işleme alınmadı. Abonelik siparişlerinde kullanılmaktadır.

**UNFULFILLED**: Sipariş alındı ancak henüz hazırlanmadı veya sevk edilmedi. Siparişin içinde paket yok demektir.

**FULFILLED**: Siparişin tamamı gönderildi demektir.

**PARTIALLY_FULFILLED**: Siparişin bir kısmı gönderildi demektir.

**READY_FOR_SHIPMENT**: Siparişin kargoya hazır olduğu anlamına gelir.

**PARTIALLY_READY_FOR_SHIPMENT**: Siparişin bir kısmı kargoya hazır.

**READY_FOR_PICK_UP**: Müşteri tarafından mağazadan teslim alınmaya hazır.

**DELIVERED**: Sipariş başarıyla teslim edildi.

**PARTIALLY_DELIVERED**: Siparişin bir kısmı teslim edildi.

**CANCEL_REJECTED**: İptal talebi reddedildi.

**CANCELLED**: Sipariş tamamen iptal edildi.

**PARTIALLY_CANCELLED**: Siparişin sadece bir kısmı iptal edildi.

**REFUND_REQUESTED**: Müşteri iade talebi oluşturdu.

**REFUND_REQUEST_ACCEPTED**: İade talebi onaylandı.

**REFUND_REJECTED**: İade talebi reddedildi.

**REFUND_IN_TRANSIT**: İade edilen ürün kargo sürecinde.

**REFUND_DELIVERED**: İade edilen ürün satıcıya ulaştı.

**REFUNDED**: Siparişin tamamı için geri ödeme yapıldı.

**PARTIALLY_REFUNDED**: Siparişin bir kısmı için geri ödeme yapıldı.

Tarih için timestampt olarak filtre verilmeli, Unix epoch olarak örnek değer: 1757365200000

Diğer filtre değerlerine GraphQL arayüzünden listOrder query'sini bularak bakabilirsiniz: [https://api.myikas.com/api/v2/admin/graphql](https://api.myikas.com/api/v2/admin/graphql)

```graphql
query listOrder($branchId: StringFilterInput, $branchSessionId: StringFilterInput, $closedAt: DateFilterInput, $customerEmail: StringFilterInput, $customerId: StringFilterInput, $id: StringFilterInput, $invoicesStoreAppId: StringFilterInput, $orderNumber: StringFilterInput, $orderPackageStatus: OrderPackageStatusEnumInputFilter, $orderPaymentStatus: OrderPaymentStatusEnumInputFilter, $orderTagIds: StringFilterInput, $orderedAt: DateFilterInput, $pagination: PaginationInput, $paymentMethodType: OrderPaymentMethodEnumFilterInput, $salesChannelId: StringFilterInput, $search: String, $shippingMethod: OrderShippingMethodEnumFilterInput, $sort: String, $status: OrderStatusEnumInputFilter, $stockLocationId: StringFilterInput, $terminalId: StringFilterInput, $updatedAt: DateFilterInput) {
  listOrder(
    branchId: $branchId
    branchSessionId: $branchSessionId
    closedAt: $closedAt
    customerEmail: $customerEmail
    customerId: $customerId
    id: $id
    invoicesStoreAppId: $invoicesStoreAppId
    orderNumber: $orderNumber
    orderPackageStatus: $orderPackageStatus
    orderPaymentStatus: $orderPaymentStatus
    orderTagIds: $orderTagIds
    orderedAt: $orderedAt
    pagination: $pagination
    paymentMethodType: $paymentMethodType
    salesChannelId: $salesChannelId
    search: $search
    shippingMethod: $shippingMethod
    sort: $sort
    status: $status
    stockLocationId: $stockLocationId
    terminalId: $terminalId
    updatedAt: $updatedAt
  ) {
    count
    hasNext
    limit
    page
    data {
      archived
      createdAt
      currencyCode
      id
      orderNumber
      status
      totalFinalPrice
      updatedAt
    }
  }
}
```

```json
{
  "orderPackageStatus": {
    "in": "UNFULFILLED"
  },
  "orderedAt": {
    "gt": 0
  },
  "pagination": {
    "limit": 20,
    "page": 1
  },
  "sort": "-orderedAt"
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "listOrder": {
      "count": 1,
      "hasNext": true,
      "limit": 50,
      "page": 1,
      "data": [
        {
          "archived": false,
          "createdAt": 1735725600000,
          "currencyCode": "TRY",
          "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
          "orderNumber": "1001",
          "status": "CANCELLED",
          "totalFinalPrice": 129.9,
          "updatedAt": 1735725600000
        }
      ]
    }
  }
}
```

Örnek istek - Siparişleri listeleme (`POST https://api.myikas.com/api/v2/admin/graphql`):

```graphql
{
  listOrder {
    count
    hasNext
    limit
    page
    data {
      archived
      createdAt
      currencyCode
      id
      orderNumber
      status
      totalFinalPrice
      updatedAt
    }
  }
}
```

Örnek yanıt:

```json
{
  "data": {
    "listOrder": {
      "data": [
        {
          "createdAt": 1637759203328,
          "currencyCode": "TRY",
          "id": "0b588d7f-2fb0-4aa4-ad80-470562ebfcad",
          "orderNumber": "1028",
          "status": "CREATED",
          "totalFinalPrice": 170.5,
          "updatedAt": 1638189270536
        }
      ]
    }
  }
}
```

## Ödemeleriyle birlikte sipariş oluştur [#createOrderWithTransactions]

<Callout type="warning" title="Satış kanalı gerekir">
Bu işlem yalnızca satış kanalı olarak tanımlanmış uygulamalarla çalışır. Özel uygulamalar oluşturulurken satış kanalı olarak tanımlanabilir; App Store uygulamalarında bu ayarı ikas yapar. Uygulama satış kanalı değilse `APP_IS_NOT_A_SALES_CHANNEL` hatası döner.
</Callout>

**`createOrderWithTransactions`** (mutation, v1 · v2)

İşlemleriyle (transaction) birlikte yeni bir sipariş oluşturmak için bu mutation'ı kullanın.

Parametreler:

| Alan | Tip | Açıklama |
| --- | --- | --- |
| `input` (zorunlu, yalnızca v2) | `PublicCreateOrderWithTransactionsInput!` | İşlemin girdi nesnesi. |
| `input` (zorunlu, yalnızca v1) | `CreateOrderWithTransactionsInput!` | İşlemin girdi nesnesi. |

Dönen değer: `Order!`

Örnek istek - Ödeme bilgileriyle yeni sipariş oluşturma (`POST https://api.myikas.com/api/v2/admin/graphql`):

Pazaryeri veya harici bir satış kanalından gelen, ödemesi alınmış siparişi ikas'a aktarır. `transactions` içindeki tutar, siparişin indirim ve kargo dahil son tutarıyla eşleşmelidir.

```graphql
mutation CreateOrderWithTransactions($input: PublicCreateOrderWithTransactionsInput!) {
  createOrderWithTransactions(input: $input) {
    id
    orderNumber
    status
    orderPaymentStatus
    currencyCode
    totalPrice
    totalFinalPrice
    customer {
      email
      fullName
    }
    orderLineItems {
      id
      quantity
      finalPrice
    }
  }
}
```

```json
{
  "input": {
    "disableAutoCreateCustomer": true,
    "order": {
      "salesChannelId": "179538f1-4d11-4b61-8384-b34c65601f97",
      "sourceId": "PZR-58213467",
      "orderedAt": 1791716700000,
      "currencyCode": "TRY",
      "customer": {
        "email": "ayse.yilmaz@ornek.com",
        "firstName": "Ayşe",
        "lastName": "Yılmaz"
      },
      "billingAddress": {
        "firstName": "Ayşe",
        "lastName": "Yılmaz",
        "addressLine1": "Caferağa Mah. Moda Cad. No:42 D:5",
        "district": {
          "name": "Kadıköy"
        },
        "city": {
          "name": "İstanbul"
        },
        "country": {
          "name": "Türkiye",
          "iso2": "TR",
          "iso3": "TUR"
        },
        "postalCode": "34710",
        "phone": "+905551112233",
        "isDefault": false
      },
      "shippingAddress": {
        "firstName": "Ayşe",
        "lastName": "Yılmaz",
        "addressLine1": "Caferağa Mah. Moda Cad. No:42 D:5",
        "district": {
          "name": "Kadıköy"
        },
        "city": {
          "name": "İstanbul"
        },
        "country": {
          "name": "Türkiye",
          "iso2": "TR",
          "iso3": "TUR"
        },
        "postalCode": "34710",
        "phone": "+905551112233",
        "isDefault": false
      },
      "orderLineItems": [
        {
          "price": 349.9,
          "quantity": 2,
          "variant": {
            "id": "195155a6-cda5-4ca9-8de4-127ac79d66af",
            "name": "Pamuklu Oversize Tişört - Siyah / M"
          }
        }
      ],
      "orderAdjustments": [
        {
          "name": "Sepette 100 TL indirim",
          "type": "DECREMENT",
          "amountType": "AMOUNT",
          "amount": 100,
          "order": 1
        }
      ],
      "shippingMethod": "SHIPMENT",
      "shippingLines": [
        {
          "title": "Standart kargo",
          "price": 39.9
        }
      ]
    },
    "transactions": [
      {
        "paymentGatewayId": "35280bb0-3c98-4fca-97d7-f49355f70d46",
        "amount": 639.7
      }
    ]
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "createOrderWithTransactions": {
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "orderNumber": "1001",
      "status": "CANCELLED",
      "orderPaymentStatus": "FAILED",
      "currencyCode": "TRY",
      "totalPrice": 129.9,
      "totalFinalPrice": 129.9,
      "customer": {
        "email": "musteri@ornek.com",
        "fullName": "Örnek"
      },
      "orderLineItems": [
        {
          "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
          "quantity": 1,
          "finalPrice": 129.9
        }
      ]
    }
  }
}
```

## Sipariş satırını güncelle [#updateOrderLine]

**`updateOrderLine`** (mutation, v1)

Siparişin henüz kargolanmamış satırlarının adedini değiştirmek veya siparişe yeni satır eklemek için bu mutation'ı kullanın. Adedi 0 yapılan satır iptal edilir; kargolanmış satırlar, iptal edilmiş ve taslak siparişler güncellenemez. Mevcut satırlarda `restockItems: true` ise adet farkı stoğa yansıtılır: azalan adet stoğa eklenir, artan adet stoktan düşülür. Yeni eklenen satırlar her zaman stoktan düşülür. `editReason` zorunludur.

Yalnızca v1 endpoint'inde: `https://api.myikas.com/api/v1/admin/graphql`.

Parametreler:

| Alan | Tip | Açıklama |
| --- | --- | --- |
| `input` (zorunlu) | `UpdateOrderInput!` | İşlemin girdi nesnesi. |

Dönen değer: `Order!`

Örnek istek - Sipariş satırını güncelleme (`POST https://api.myikas.com/api/v1/admin/graphql`):

Müşterinin talebiyle siparişteki bir satırın adedini düşürür; `restockItems` ile çıkarılan adet stoğa geri eklenir.

```graphql
mutation UpdateOrderLine($input: UpdateOrderInput!) {
  updateOrderLine(input: $input) {
    id
    orderNumber
    totalFinalPrice
    orderLineItems {
      id
      quantity
      price
      finalPrice
      status
    }
  }
}
```

```json
{
  "input": {
    "orderId": "83019c3a-47b7-4b56-bcd0-95399f3f7937",
    "editReason": "Müşteri talebiyle adet 2'den 1'e düşürüldü",
    "restockItems": true,
    "orderLineItems": [
      {
        "id": "55475b53-8f79-4533-b868-97c27f28f228",
        "price": 349.9,
        "quantity": 1,
        "variant": {
          "id": "195155a6-cda5-4ca9-8de4-127ac79d66af",
          "name": "Pamuklu Oversize Tişört - Siyah / M"
        }
      }
    ]
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "updateOrderLine": {
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "orderNumber": "1001",
      "totalFinalPrice": 129.9,
      "orderLineItems": [
        {
          "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
          "quantity": 1,
          "price": 129.9,
          "finalPrice": 129.9,
          "status": "CANCELLED"
        }
      ]
    }
  }
}
```

## Sipariş adreslerini güncelle [#updateOrderAddresses]

**`updateOrderAddresses`** (mutation, v1 · v2)

Sipariş adres bilgilerini değiştirmek için bu mutation'ı kullanın.

Parametreler:

| Alan | Tip | Açıklama |
| --- | --- | --- |
| `input` (zorunlu) | `UpdateOrderAddressesInput!` | İşlemin girdi nesnesi. |

Dönen değer: `Order!`

Örnek istek - Fatura adresini güncelleme (`POST https://api.myikas.com/api/v2/admin/graphql`):

Müşteri kurumsal fatura istediğinde siparişin fatura adresini şirket, vergi dairesi ve vergi numarası bilgileriyle günceller.

```graphql
mutation UpdateOrderAddresses($input: UpdateOrderAddressesInput!) {
  updateOrderAddresses(input: $input) {
    id
    orderNumber
    billingAddress {
      firstName
      lastName
      company
      taxOffice
      taxNumber
      addressLine1
      city {
        name
      }
    }
  }
}
```

```json
{
  "input": {
    "orderId": "aa1a60d5-a351-455c-b8ec-4ca329d2866b",
    "billingAddress": {
      "firstName": "Mehmet",
      "lastName": "Demir",
      "company": "Kuzey Tekstil Ltd. Şti.",
      "taxOffice": "Kozyatağı",
      "taxNumber": "4870125963",
      "addressLine1": "İçerenköy Mah. Değirmenyolu Cad. No:18 Kat:3",
      "district": {
        "name": "Ataşehir"
      },
      "city": {
        "name": "İstanbul"
      },
      "country": {
        "name": "Türkiye",
        "iso2": "TR",
        "iso3": "TUR"
      },
      "postalCode": "34752",
      "phone": "+905552223344",
      "isDefault": false
    }
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "updateOrderAddresses": {
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "orderNumber": "1001",
      "billingAddress": {
        "firstName": "Ayşe",
        "lastName": "Yılmaz",
        "company": "Örnek Şirket",
        "taxOffice": "Kadıköy",
        "taxNumber": "1234567890",
        "addressLine1": "Örnek Mah. 1. Sok. No: 1",
        "city": {
          "name": "Örnek"
        }
      }
    }
  }
}
```

## Siparişi kargoya hazırla [#fulfillOrder]

**`fulfillOrder`** (mutation, v1 · v2)

Sipariş satırlarını kargolamak (fulfill) için bu mutation'ı kullanın.

Parametreler:

| Alan | Tip | Açıklama |
| --- | --- | --- |
| `input` (zorunlu, yalnızca v2) | `PublicFulFillOrderInput!` | İşlemin girdi nesnesi. |
| `input` (zorunlu, yalnızca v1) | `FulFillOrderInput!` | İşlemin girdi nesnesi. |

Dönen değer: `Order!`

Örnek istek - Siparişi Kargoya Hazırlama - Tüm Sipariş (`POST https://api.myikas.com/api/v2/admin/graphql`):

fulfillOrder mutation'ı sayesinde, bir siparişin içerisindeki ürünleri kargoya hazırlayabilir ya da gönderildi yapabilirsiniz.

Eğer paket mantığı ile ilerlemek istiyorsanız, yani bazı ürünler farklı stok lokasyonlarından çıkabillirse / ya da farklı zamanlarda kargoya verilecekse, lines arrayini kullanmalısınız. Eğer bir siparişte farklı stok lokasyonlarına atanmış ürünler varsa, lines array'ini vermek zorundasınız. markAsReadyForShipment true gönderirseniz, sipariş Kargoya Hazır yani READY_FOR_SHIPMENT statüsüne alınacaktır.

trackingInfoDetails kısmında barcode kısmına kargoya verilecek barkodu yazabilirsiniz. Bu barkod, ikas'taki kargo etiketinin üzerinde yer alacaktır.

API'dan dönen orderPackages içindeki id'yi kendi tarafınızda kaydederek, daha sonra bu paketi GÖNDERİLDİ ya da TESLİM EDİLDİ olarak işaretlemek için Siparişin / Paketin Durumunu Güncelleme / Gönderildi veya Teslim Edildi örneğini kullanabilirsiniz.

Bir sonraki örnekte, lines üzerinden siparişi kargoya çekmeyi görebilirsiniz.

```graphql
mutation FulfillOrder($input: PublicFulFillOrderInput!) {
  fulfillOrder(input: $input) {
    archived
    createdAt
    currencyCode
    id
    orderNumber
    status
    totalFinalPrice
    updatedAt
  }
}
```

```json
{
  "input": {
    "orderId": "5fadb84d-7703-4151-81be-a7d3f2400df5",
    "markAsReadyForShipment": true,
    "lines": null,
    "sendNotificationToCustomer": true,
    "sourcePackageId": null,
    "trackingInfoDetail": {
      "barcode": "7165237",
      "cargoCompany": "MNG Kargo",
      "cargoCompanyId": "MNG_KARGO",
      "isSendNotification": true,
      "trackingLink": null,
      "trackingNumber": null
    }
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "fulfillOrder": {
      "archived": false,
      "createdAt": 1735725600000,
      "currencyCode": "TRY",
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "orderNumber": "1001",
      "status": "CANCELLED",
      "totalFinalPrice": 129.9,
      "updatedAt": 1735725600000
    }
  }
}
```

Örnek istek - Siparişi Kargoya Hazırlama - Satır Bazlı (`POST https://api.myikas.com/api/v2/admin/graphql`):

Eğer ürünleri farklı zamanlarda kargoya verecekseniz ya da farklı stok lokasyonlarından ürünleri gönderiyorsanız, bir siparişin içerisinde birden fazla paket olabilir. Bu yüzden satır bazlı / paket bazlı işlem yapmak oldukça kritik.

API'dan dönen orderPackages içindeki id'yi kendi tarafınızda kaydederek, daha sonra bu paketi GÖNDERİLDİ ya da TESLİM EDİLDİ olarak işaretlemek için Siparişin / Paketin Durumunu Güncelleme / Gönderildi veya Teslim Edildi örneğini kullanabilirsiniz.

```graphql
mutation FulfillOrder($input: PublicFulFillOrderInput!) {
  fulfillOrder(input: $input) {
    archived
    createdAt
    currencyCode
    id
    orderNumber
    status
    totalFinalPrice
    updatedAt
  }
}
```

```json
{
  "input": {
    "orderId": "2b97f179-f6ef-4b24-b188-8191df97892a",
    "markAsReadyForShipment": true,
    "lines": [
      {
        "quantity": 1,
        "orderLineItemId": "74096d6c-3069-4a37-adba-7d905db6cc05"
      },
      {
        "quantity": 1,
        "orderLineItemId": "08f64327-b03d-405f-86b2-1d8ecbf16df8"
      }
    ],
    "sendNotificationToCustomer": true,
    "sourcePackageId": null,
    "trackingInfoDetail": {
      "barcode": "7165237",
      "cargoCompany": "MNG Kargo",
      "cargoCompanyId": "MNG_KARGO",
      "isSendNotification": true,
      "trackingLink": null,
      "trackingNumber": null
    }
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "fulfillOrder": {
      "archived": false,
      "createdAt": 1735725600000,
      "currencyCode": "TRY",
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "orderNumber": "1001",
      "status": "CANCELLED",
      "totalFinalPrice": 129.9,
      "updatedAt": 1735725600000
    }
  }
}
```

Örnek istek - Sipariş satırlarını takip bilgisiyle kargolama (`POST https://api.myikas.com/api/v2/admin/graphql`):

Siparişteki satırları paketleyip kargoya verir ve takip bilgisini pakete ekler. `sendNotificationToCustomer` ile müşteriye kargo bildirimi gönderilir.

```graphql
mutation FulfillOrder($input: PublicFulFillOrderInput!) {
  fulfillOrder(input: $input) {
    id
    orderNumber
    orderPackageStatus
    orderPackages {
      id
      orderPackageNumber
      orderPackageFulfillStatus
      orderLineItemIds
      trackingInfo {
        cargoCompany
        trackingNumber
        trackingLink
      }
    }
  }
}
```

```json
{
  "input": {
    "orderId": "60ec6ebb-017f-44f6-88da-de17c59a981b",
    "lines": [
      {
        "orderLineItemId": "55475b53-8f79-4533-b868-97c27f28f228",
        "quantity": 2
      }
    ],
    "trackingInfoDetail": {
      "cargoCompany": "Aras Kargo",
      "trackingNumber": "7340021859",
      "barcode": "7340021859",
      "trackingLink": "https://kargotakip.ornek-magaza.com/7340021859"
    },
    "sendNotificationToCustomer": true
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "fulfillOrder": {
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "orderNumber": "1001",
      "orderPackageStatus": "CANCELLED",
      "orderPackages": [
        {
          "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
          "orderPackageNumber": "string",
          "orderPackageFulfillStatus": "CANCELLED",
          "orderLineItemIds": [
            "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21"
          ],
          "trackingInfo": {
            "cargoCompany": "string",
            "trackingNumber": "string",
            "trackingLink": "https://ornek.myikas.com"
          }
        }
      ]
    }
  }
}
```

## Paket durumunu güncelle [#updateOrderPackageStatus]

**`updateOrderPackageStatus`** (mutation, v1 · v2)

Bir siparişe bağlı paketlerin durumunu ve bu paketlerin durumuna göre siparişin durumunu güncellemek için bu mutation'ı kullanın.

Parametreler:

| Alan | Tip | Açıklama |
| --- | --- | --- |
| `input` (zorunlu) | `UpdateOrderPackageStatusInput!` | İşlemin girdi nesnesi. |

Dönen değer: `Order!`

Örnek istek - Siparişin / Paketin Durumunu Güncelleme / Gönderildi veya Teslim Edildi (`POST https://api.myikas.com/api/v2/admin/graphql`):

Bu API ile, gönderildi ya da kargoya hazır işaretlediğiniz siparişi / paketi teslim edildi olarak işaretleyebilirsiniz. Kargoya Hazır'dan GÖNDERİLDİ durumuna da bu API'den geçmesini sağlayabilirsiniz. Bu API sadece paket oluşumuş API'lerde kullanılabilir, eğer birden fazla paket ya da paketlenmemiş ürünler varsa, bu API kullanılamaz.

```graphql
mutation UpdateOrderPackageStatus($input: UpdateOrderPackageStatusInput!) {
  updateOrderPackageStatus(input: $input) {
    archived
    createdAt
    currencyCode
    id
    orderNumber
    status
    totalFinalPrice
    updatedAt
  }
}
```

```json
{
  "input": {
    "errorMessage": null,
    "orderId": "21f911ae-f9af-4d70-8c2e-892e8c22b4a1",
    "packageId": null,
    "sourceId": null,
    "status": "DELIVERED",
    "trackingInfo": {
      "barcode": null,
      "cargoCompany": null,
      "cargoCompanyId": null,
      "isSendNotification": null,
      "shippingLabelImageBase64": null,
      "trackingLink": null,
      "trackingNumber": null
    }
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "updateOrderPackageStatus": {
      "archived": false,
      "createdAt": 1735725600000,
      "currencyCode": "TRY",
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "orderNumber": "1001",
      "status": "CANCELLED",
      "totalFinalPrice": 129.9,
      "updatedAt": 1735725600000
    }
  }
}
```

Örnek istek - Siparişin / Paketin Durumunu Güncelleme / Gönderildi veya Teslim Edildi (Paket Bazlı) (`POST https://api.myikas.com/api/v2/admin/graphql`):

Paket bazlı sipariş yönetiminde, siparişteki tek bir paketin durumunu `packageId` ile güncelleyerek teslim edildi olarak işaretler.

```graphql
mutation UpdateOrderPackageStatus($input: UpdateOrderPackageStatusInput!) {
  updateOrderPackageStatus(input: $input) {
    id
    orderNumber
    orderPackageStatus
    orderPackages {
      id
      orderPackageNumber
      orderPackageFulfillStatus
    }
    deliveredAt
  }
}
```

```json
{
  "input": {
    "orderId": "3db952ca-2d48-4dee-8c42-d0f055acbbb1",
    "packageId": "4664ed8f-7f92-4c09-a420-c51d50b77b15",
    "status": "DELIVERED"
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "updateOrderPackageStatus": {
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "orderNumber": "1001",
      "orderPackageStatus": "CANCELLED",
      "orderPackages": [
        {
          "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
          "orderPackageNumber": "string",
          "orderPackageFulfillStatus": "CANCELLED"
        }
      ],
      "deliveredAt": 1735725600000
    }
  }
}
```

Örnek istek - Paketi kargoya hazır olarak işaretleme (`POST https://api.myikas.com/api/v2/admin/graphql`):

Kargo entegrasyonu gönderi kaydını oluşturduktan sonra paketi takip bilgisiyle birlikte kargoya hazır durumuna geçirir.

```graphql
mutation UpdateOrderPackageStatus($input: UpdateOrderPackageStatusInput!) {
  updateOrderPackageStatus(input: $input) {
    id
    orderNumber
    orderPackageStatus
    orderPackages {
      id
      orderPackageNumber
      orderPackageFulfillStatus
      trackingInfo {
        cargoCompany
        trackingNumber
        trackingLink
      }
    }
  }
}
```

```json
{
  "input": {
    "orderId": "60ec6ebb-017f-44f6-88da-de17c59a981b",
    "packageId": "60a01cd2-5326-4b1b-9997-fea32c885bfe",
    "status": "READY_FOR_SHIPMENT",
    "trackingInfo": {
      "cargoCompany": "Aras Kargo",
      "trackingNumber": "7340021859",
      "barcode": "7340021859",
      "trackingLink": "https://kargotakip.ornek-magaza.com/7340021859",
      "isSendNotification": true
    }
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "updateOrderPackageStatus": {
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "orderNumber": "1001",
      "orderPackageStatus": "CANCELLED",
      "orderPackages": [
        {
          "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
          "orderPackageNumber": "string",
          "orderPackageFulfillStatus": "CANCELLED",
          "trackingInfo": {
            "cargoCompany": "string",
            "trackingNumber": "string",
            "trackingLink": "https://ornek.myikas.com"
          }
        }
      ]
    }
  }
}
```

## Kargo paketini iptal et [#cancelFulfillment]

**`cancelFulfillment`** (mutation, v1 · v2)

Bir sipariş için önceden oluşturulmuş paketi iptal etmek için bu mutation'ı kullanın.

Parametreler:

| Alan | Tip | Açıklama |
| --- | --- | --- |
| `input` (zorunlu, yalnızca v2) | `PublicCancelFulfillmentInput!` | İşlemin girdi nesnesi. |
| `input` (zorunlu, yalnızca v1) | `CancelFulfillmentInput!` | İşlemin girdi nesnesi. |

Dönen değer: `Order!`

Örnek istek - Sipariş Paketini İptal Etme (`POST https://api.myikas.com/api/v2/admin/graphql`):

```graphql
mutation CancelFulfillment($input: PublicCancelFulfillmentInput!) {
  cancelFulfillment(input: $input) {
    archived
    createdAt
    currencyCode
    id
    orderNumber
    status
    totalFinalPrice
    updatedAt
  }
}
```

```json
{
  "input": {
    "orderPackageId": "e58c672c-3ba0-4fe5-9fa3-9363fa4819f1",
    "orderId": "5fadb84d-7703-4151-81be-a7d3f2400df5"
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "cancelFulfillment": {
      "archived": false,
      "createdAt": 1735725600000,
      "currencyCode": "TRY",
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "orderNumber": "1001",
      "status": "CANCELLED",
      "totalFinalPrice": 129.9,
      "updatedAt": 1735725600000
    }
  }
}
```

Örnek istek - Kargolanan paketi iptal etme (`POST https://api.myikas.com/api/v2/admin/graphql`):

Yanlış oluşturulan ya da kargo firmasına teslim edilmeyen bir paketi iptal eder; paketteki satırlar yeniden kargolanabilir hale gelir.

```graphql
mutation CancelFulfillment($input: PublicCancelFulfillmentInput!) {
  cancelFulfillment(input: $input) {
    id
    orderNumber
    orderPackageStatus
    orderPackages {
      id
      orderPackageNumber
      orderPackageFulfillStatus
    }
  }
}
```

```json
{
  "input": {
    "orderId": "60ec6ebb-017f-44f6-88da-de17c59a981b",
    "orderPackageId": "60a01cd2-5326-4b1b-9997-fea32c885bfe"
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "cancelFulfillment": {
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "orderNumber": "1001",
      "orderPackageStatus": "CANCELLED",
      "orderPackages": [
        {
          "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
          "orderPackageNumber": "string",
          "orderPackageFulfillStatus": "CANCELLED"
        }
      ]
    }
  }
}
```

## Sipariş satırını iptal et [#cancelOrderLine]

**`cancelOrderLine`** (mutation, v1 · v2)

Belirtilen sipariş satırlarını iptal etmek için bu mutation'ı kullanın.

Parametreler:

| Alan | Tip | Açıklama |
| --- | --- | --- |
| `input` (zorunlu) | `CancelOrderLineInput!` | İşlemin girdi nesnesi. |

Dönen değer: `Order!`

Örnek istek - Sipariş satırını iptal etme (`POST https://api.myikas.com/api/v2/admin/graphql`):

Stokta kalmayan bir ürünün siparişteki satırını iptal eder ve iptal edilen adedi stoğa geri ekler.

```graphql
mutation CancelOrderLine($input: CancelOrderLineInput!) {
  cancelOrderLine(input: $input) {
    id
    orderNumber
    status
    orderPaymentStatus
    orderPackageStatus
    totalFinalPrice
    updatedAt
    orderLineItems {
      id
      quantity
      status
    }
  }
}
```

```json
{
  "input": {
    "orderId": "83019c3a-47b7-4b56-bcd0-95399f3f7937",
    "orderLineItems": [
      {
        "orderLineItemId": "f8e61629-b209-4af2-80ad-f7807f748994",
        "price": 449.9,
        "quantity": 1,
        "restockItems": true
      }
    ]
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "cancelOrderLine": {
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "orderNumber": "1001",
      "status": "CANCELLED",
      "orderPaymentStatus": "FAILED",
      "orderPackageStatus": "CANCELLED",
      "totalFinalPrice": 129.9,
      "updatedAt": 1735725600000,
      "orderLineItems": [
        {
          "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
          "quantity": 1,
          "status": "CANCELLED"
        }
      ]
    }
  }
}
```

## Sipariş satırını iade et [#refundOrderLine]

**`refundOrderLine`** (mutation, v1 · v2)

Belirtilen sipariş satırlarını iade etmek için bu mutation'ı kullanın.

Parametreler:

| Alan | Tip | Açıklama |
| --- | --- | --- |
| `input` (zorunlu, yalnızca v2) | `PublicOrderRefundInput!` | İşlemin girdi nesnesi. |
| `input` (zorunlu, yalnızca v1) | `OrderRefundInput!` | İşlemin girdi nesnesi. |

Dönen değer: `Order!`

Örnek istek - Sipariş satırını iade etme (`POST https://api.myikas.com/api/v2/admin/graphql`):

İade gelen ürünü stoğa geri ekler ve ödenen tutarı ilgili ödeme işlemi üzerinden müşteriye iade eder.

```graphql
mutation RefundOrderLine($input: PublicOrderRefundInput!) {
  refundOrderLine(input: $input) {
    id
    orderNumber
    status
    orderPaymentStatus
    orderPackageStatus
    totalFinalPrice
    updatedAt
    orderLineItems {
      id
      quantity
      status
    }
  }
}
```

```json
{
  "input": {
    "orderId": "83019c3a-47b7-4b56-bcd0-95399f3f7937",
    "stockLocationId": "70c1591a-b34c-46ca-9b1e-8a453f4e1e4f",
    "reason": "Beden uymadı",
    "orderRefundLines": [
      {
        "orderLineItemId": "55475b53-8f79-4533-b868-97c27f28f228",
        "price": 349.9,
        "quantity": 1,
        "restockItems": true
      }
    ],
    "orderRefundTransactions": [
      {
        "transactionId": "bb4a3487-10a8-4ef1-b1a5-50c239f80f9a",
        "amount": 349.9
      }
    ],
    "refundShipping": false,
    "sendNotificationToCustomer": true
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "refundOrderLine": {
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "orderNumber": "1001",
      "status": "CANCELLED",
      "orderPaymentStatus": "FAILED",
      "orderPackageStatus": "CANCELLED",
      "totalFinalPrice": 129.9,
      "updatedAt": 1735725600000,
      "orderLineItems": [
        {
          "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
          "quantity": 1,
          "status": "CANCELLED"
        }
      ]
    }
  }
}
```

## Sipariş satırlarının stok lokasyonunu değiştir [#changeStockLocation]

**`changeStockLocation`** (mutation, v1)

Yalnızca v1 endpoint'inde: `https://api.myikas.com/api/v1/admin/graphql`.

Parametreler:

| Alan | Tip | Açıklama |
| --- | --- | --- |
| `input` (zorunlu) | `ChangeStockLocationInput!` | İşlemin girdi nesnesi. |

Dönen değer: `Order!`

Örnek istek - Sipariş satırlarının stok lokasyonunu değiştirme (`POST https://api.myikas.com/api/v1/admin/graphql`):

Siparişteki ürünler ana depoda tükendiğinde, ilgili satırları başka bir depodan veya mağazadan gönderilecek şekilde aktarmak için kullanılır.

```graphql
mutation ChangeStockLocation($input: ChangeStockLocationInput!) {
  changeStockLocation(input: $input) {
    id
    orderNumber
    stockLocationId
    orderLineItems {
      id
      quantity
      stockLocationId
      status
    }
    updatedAt
  }
}
```

```json
{
  "input": {
    "orderId": "252c6ec2-8579-4e40-8987-e166e330af01",
    "orderLineItemIds": [
      "fe74d681-0499-4e99-b0ca-5afa3be8b66f",
      "f5b002dd-f516-4ff7-86a7-5d5e77277fa3"
    ],
    "targetStockLocationId": "5f977ed3-1666-4585-9d8b-c3fe636ac241"
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "changeStockLocation": {
      "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "orderNumber": "1001",
      "stockLocationId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
      "orderLineItems": [
        {
          "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
          "quantity": 1,
          "stockLocationId": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
          "status": "CANCELLED"
        }
      ],
      "updatedAt": 1735725600000
    }
  }
}
```

## Siparişin ziyaret oturumlarını listele [#listOrderSession]

Siparişle ilişkilendirilen ziyaret oturumlarını (ilk tıklama, son tıklama gibi) trafik kaynağı ve UTM bilgileriyle birlikte döner. `orderId` zorunludur.

**`listOrderSession`** (query, v1 · v2)

Parametreler:

| Alan | Tip | Açıklama |
| --- | --- | --- |
| `includeDeleted` | `Boolean` | `true` gönderilirse silinmiş kayıtlar da listelenir. |
| `orderId` (zorunlu) | `StringFilterInput!` |  |

Dönen değer: `[OrderSession!]!`

Örnek istek - Sipariş oturumlarını listeleme (`POST https://api.myikas.com/api/v2/admin/graphql`):

Bir siparişe ait ziyaret oturumlarını trafik kaynağı ve UTM bilgileriyle döner; pazarlama raporlarında siparişin hangi kanaldan geldiğini bulmak için kullanılır.

```graphql
query ListOrderSession($orderId: StringFilterInput!) {
  listOrderSession(orderId: $orderId) {
    id
    start
    end
    durationMS
    url
    referer
    trafficSource {
      type
      source
    }
    utm {
      source
      medium
      campaign
    }
  }
}
```

```json
{
  "orderId": {
    "eq": "b8c07085-bd7d-42c0-8a14-fa216fdf8eff"
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "listOrderSession": [
      {
        "id": "0f9d2c3e-6b1a-4c7e-9a52-3d8e1f4b7c21",
        "start": 1735725600000,
        "end": 1735725600000,
        "durationMS": 1,
        "url": "https://ornek.myikas.com",
        "referer": "string",
        "trafficSource": {
          "type": "AFFILIATE",
          "source": "string"
        },
        "utm": {
          "source": "string",
          "medium": "string",
          "campaign": "string"
        }
      }
    ]
  }
}
```

## Bekleyen ödemeleri onayla [#approvePendingOrderTransactions]

**`approvePendingOrderTransactions`** (mutation, v1 · v2)

Parametreler:

| Alan | Tip | Açıklama |
| --- | --- | --- |
| `input` (zorunlu) | `ApproveOrderTransactionsInput!` | İşlemin girdi nesnesi. |

Dönen değer: `Boolean!`

Örnek istek - Havale ile gelen ödemeyi onaylama (`POST https://api.myikas.com/api/v2/admin/graphql`):

Havale/EFT ile ödenen bir siparişte para hesaba geçtiğinde, bekleyen ödeme işlemlerini onaylar. `paymentMethods` gönderilmezse hiçbir işlem onaylanmaz ve sonuç `false` döner.

```graphql
mutation ApprovePendingOrderTransactions($input: ApproveOrderTransactionsInput!) {
  approvePendingOrderTransactions(input: $input)
}
```

```json
{
  "input": {
    "orderId": "b8c07085-bd7d-42c0-8a14-fa216fdf8eff",
    "paymentMethods": [
      "MONEY_ORDER"
    ]
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "approvePendingOrderTransactions": true
  }
}
```

## Ödeme linki oluştur [#generateOrderPaymentLink]

**`generateOrderPaymentLink`** (mutation, v1)

Yalnızca v1 endpoint'inde: `https://api.myikas.com/api/v1/admin/graphql`.

Parametreler:

| Alan | Tip | Açıklama |
| --- | --- | --- |
| `input` (zorunlu) | `GenerateOrderPaymentLinkInput!` | İşlemin girdi nesnesi. |

Dönen değer: `String`

Örnek istek - Ödeme bağlantısı oluşturma (`POST https://api.myikas.com/api/v1/admin/graphql`):

Ödemesi henüz alınmamış bir sipariş için müşteriye gönderilecek ödeme bağlantısını üretir. Bağlantının oluşması için `salesChannelId`, `storefrontId`, `storefrontThemeId` ve `storefrontRoutingId` birlikte gönderilmelidir.

```graphql
mutation GenerateOrderPaymentLink($input: GenerateOrderPaymentLinkInput!) {
  generateOrderPaymentLink(input: $input)
}
```

```json
{
  "input": {
    "orderId": "b8c07085-bd7d-42c0-8a14-fa216fdf8eff",
    "salesChannelId": "179538f1-4d11-4b61-8384-b34c65601f97",
    "storefrontId": "66b6df07-1be0-46e9-9a97-36f912e33245",
    "storefrontThemeId": "3996f92f-0a6d-4177-bf50-74d86641c6b1",
    "storefrontRoutingId": "b5f287ec-dd10-48b8-b2fe-1d291ce3a370"
  }
}
```

Örnek yanıt (temsili):

```json
{
  "data": {
    "generateOrderPaymentLink": "https://ornek.myikas.com"
  }
}
```
