Place an Order for products. Currently you can place an Order for products that share the same manufacturer.

Tip: We provide a URL configurable Checkout UI to make using these capabilities a breeze. We recommend using that for most use cases. If you need more control over the experience, we recommend you use the Order review and Order placement capabilities directly.

OrderingMutation.createOrder()

The response includes the orderId and a URL to view the order on the SIBI web app.

See OrderingQuery.reviewOrder() for a dry-run version of this mutation that can be used to validate the input and discover available parameter values.

Types

type OrderingMutation {
  createOrder(input: OrderingCreateOrderInput!): OrderingCreateOrderResponse!
}

OrderingCreateOrderInput

input OrderingCreateOrderInput {
  manufacturer: String
  address: OrderingAddressInput!
  products: [OrderingOrderProductInput!]!
  contactInfo: OrderingCustomerContactInfoInput
  fulfillmentMethod: OrderingFulfillmentMethod
  requestedDeliveryDate: String
  poNumber: String
  specialInstructions: String
  distributionCenterId: String
  paymentMethodId: String!
}

manufacturer

string | null - Defaults to ‘GE’ if not provided


address

OrderingAddressInput - The address should correspond to a valid property in the system. If there is no matching property and the address is valid, a new property will be created. If the address is not valid, the mutation will fail with an error.


products

OrderingOrderProductInput[] - At least one product must be specified


contactInfo

OrderingCustomerContactInfoInput | null


fulfillmentMethod

OrderingFulfillmentMethod | null - Fulfillment method for the order. If not provided, defaults to ‘DELIVERY’ if no value is provided and both are available. Possible values are DELIVERY and PICKUP.


requestedDeliveryDate

string | null - The date the customer wants the order delivered. If not provided, defaults to the earliest available. If the provided date is not available, the mutation will fail with an error.


poNumber

string | null - Can be anything you want. It doesn’t even need to be a number.


specialInstructions

string | null - E.g. the lock code is 1234


distributionCenterId

string | null - If omitted the order will be placed in the closest distribution center.


paymentMethodId

string - Note that unlike in OrderingReviewOrderInput, the paymentMethodId is required here.

OrderingCreateOrderResponse

type OrderingCreateOrderResponse {
  orderId: String!
  orderInSibiStoreUrl: String!
}

orderId

string - Internal SIBI order identifier.


orderInSibiStoreUrl

string - URL to the order in the SIBI web app.