Alokai

createMyOrderFromCart

Create an order from cart.

In turn, it creates an order in commercetools by sending a request to its GraphQL API.

By default, it uses the createMyOrderFromCartDefaultQuery GraphQL query

This method can only be called on a non-empty cart with a shipping address set.

Signature

declare function createMyOrderFromCart(
	context: CommercetoolsIntegrationContext,
	draft: CreateMyOrderFromCartParams,
	customQuery?: CustomQuery
): Promise<CreateMyOrderFromCartResponse>;

Parameters

NameRequiredTypeDescription
contextRequiredCommercetoolsIntegrationContext
draftRequiredCreateMyOrderFromCartParams
customQueryOptionalCustomQuery

Returns

Returns a representation of the CreateMyOrderFromCartResponse.

Referenced Types

Examples

Creating an order from cart.

const { order } = await sdk.commerce.createMyOrderFromCart({
  cartId: '6931b5d2-986f-4d2b-8cba-45007a26eb5e',
  cartVersion: 1
});

Creating a custom GraphQL query for the method in middleware.config.ts. We can use it to specify response fields as well as overwrite certain query variables.

export const integrations = {
    ct: {
      // ...
      customQueries: {
        'create-my-order-from-cart-custom-query': ({ query, variables, metadata }) => ({
          variables: Object.assign(variables, metadata?.variables),
          query: `
            mutation createMyOrderFromCart($draft: OrderMyCartCommand!, $storeKey: KeyReferenceInput) {
              order: createMyOrderFromCart(draft: $draft, storeKey: $storeKey) {
                ${metadata?.fields}
              }
            }
          `
        })
      }
    }
  }
};

Creating an order from cart and selecting response fields using the custom GraphQL query from the previous example.

const { order } = await sdk.commerce.createMyOrderFromCart({
  cartId: '6931b5d2-986f-4d2b-8cba-45007a26eb5e',
  cartVersion: 1
}, {
  updateCart: 'create-my-order-from-cart-custom-query',
  metadata: {
    fields: 'id, version'
  }
})

On this page