OBJECT

Mutation

link GraphQL Schema definition

  • type Mutation {
  • # To add a product line to a current basket
  • #
  • # Arguments
  • # name: [Not documented]
  • # product_code: [Not documented]
  • # quantity: [Not documented]
  • # unit_price: [Not documented]
  • # line_reference: [Not documented]
  • addbasketline(
  • name: String,
  • product_code: String!,
  • quantity: Int,
  • unit_price: Float,
  • line_reference: String
  • ): Basket!
  • # To edit a product line in a current basket
  • #
  • # Arguments
  • # name: [Not documented]
  • # product_code: [Not documented]
  • # quantity: [Not documented]
  • # unit_price: [Not documented]
  • # line_reference: [Not documented]
  • editbasketline(
  • name: String,
  • product_code: String!,
  • quantity: Int!,
  • unit_price: Float,
  • line_reference: String
  • ): Basket!
  • # To create a current basket, with a given initial product
  • #
  • # Arguments
  • # name: [Not documented]
  • # product_code: [Not documented]
  • # quantity: [Not documented]
  • # unit_price: [Not documented]
  • # line_reference: [Not documented]
  • createbasket(
  • name: String,
  • product_code: String,
  • quantity: Int,
  • unit_price: Float,
  • line_reference: String
  • ): Basket!
  • # To delete a current basket
  • #
  • # Arguments
  • # name: [Not documented]
  • deletebasket(name: String): String!
  • # To save a current basket
  • #
  • # Arguments
  • # name: [Not documented]
  • savebasket(name: String): Basket!
  • # To delete a saved basket
  • #
  • # Arguments
  • # name: [Not documented]
  • # id: [Not documented]
  • deletesavedbasket(name: String, id: ID): String!
  • # To load a saved basket and make it current
  • #
  • # Arguments
  • # name: [Not documented]
  • # id: [Not documented]
  • loadbasket(name: String, id: ID): Basket!
  • # To add Shipping and invoice details to a current basket, prior to ordering
  • #
  • # Arguments
  • # name: [Not documented]
  • # basket_shipping_info: [Not documented]
  • addbasketdeliverydetails(
  • name: String,
  • basket_shipping_info: BasketDeliveryDetails!
  • ): Basket!
  • # To place an order using a session basket
  • #
  • # Arguments
  • # name: The name of the basket
  • # auto_select_bigbox_delivery_slot: If the basket contains
  • # bigbox items, should a delivery slot be automatically selected (default: false)
  • # allow_other_slots_to_be_selected: Allow automatic selection of
  • # other delivery slots outside any specified preferences. If this option is
  • # chosen,
  • # all other slots will be considered at the standard preference level. If it is
  • # not chosen, then they will never be selected.
  • orderbasketonaccount(
  • name: String,
  • auto_select_bigbox_delivery_slot: Boolean,
  • allow_other_slots_to_be_selected: Boolean
  • ): [Order]
  • # To cancel a previous placed order. Orders can only be cancelled if their status
  • # is currently "queued".
  • #
  • # Arguments
  • # id: The id of the order
  • # cancellation_reason: [Not documented]
  • cancelorder(id: ID!, cancellation_reason: String): String!
  • # refresh, or start, bigbox service and delivery selection.
  • # You would normally call this on a new basket if has_bigbox_lines is true
  • # but bigbox is null, but also if bigbox is not null, but
  • # bigbox.delivery_options.timestamp indicates it's too old.
  • # Returns the bigbox data directly, but it can be read at any time
  • # by selecting it on a normal basket query.
  • # You follow this either with selectbigboxservices or clearbigboxservices
  • # before placing the order.
  • # May return null, if no bigbox products in order.
  • #
  • # Arguments
  • # name: The name of the basket
  • refreshbigbox(name: String): BigBox
  • # Clear all information relating to bigbox services and delivery options from
  • # a current basket
  • #
  • # Arguments
  • # name: The name of the basket
  • clearbigbox(name: String): Basket
  • # Select one or more services for bigbox. Use the 'path' field from the
  • # BigBoxService
  • # type to specify which services you're selecting. Untested, but I think an empty
  • # list will clear any current selection.
  • #
  • # Arguments
  • # name: The name of the basket
  • # services: the list of services to select
  • selectbigboxservices(name: String, services: [String]!): Basket!
  • # Select one or more services for bigbox. Use the 'service_code' field from the
  • # BigBoxService
  • # type to specify which services you're selecting, in combination with the SKU of
  • # the product
  • # you wish to apply the service to.
  • #
  • # Arguments
  • # name: The name of the basket
  • # services: the list of services to select
  • selectbigboxservicesbycodes(
  • name: String,
  • services: [BigBoxServiceSelection]!
  • ): Basket!
  • # Select a single delivery slot. Use the 'slot' field from the BigBoxDelivery
  • # type to specify the slot.
  • #
  • # Arguments
  • # name: The name of the basket
  • # slot: The delivery slot
  • selectbigboxdelivery(name: String, slot: String!): Basket!
  • # Provide preferences for a delivery slot. This can be used if a specific delivery
  • # date and time is not available, such as if
  • # a requested item is not currently in stock, and thus the order will not be
  • # immediately booked in for delivery. For example, if
  • # an order should never be delivered on the weekends, or if Wednesday mornings are
  • # preferable, these options can be set here.
  • #
  • # Arguments
  • # name: The name of the basket
  • # preferences: A list of preferences to apply to this order when
  • # auto-selecting a delivery slot, i.e. when a specific date and time slot
  • # is not being selected.
  • # A preference consists of a day of the week, a time slot within a day, and a
  • # weight to assign to that slot.
  • # Either the day or time slot option can be omitted, and the preference will be
  • # applied equally to the slot on all days or
  • # to all time slots within a single day.
  • setbigboxdeliverypreferences(
  • name: String,
  • preferences: [BigBoxDeliveryPreferenceSelection]!
  • ): Basket!
  • }

link Require by

This element is not required by anyone