2.0 Beta

Smootify 2.0 is in public beta. Your 1.x store keeps working. Move when you want.

What changed

Smootify.addToCart()

adds lines (through the `add_to_cart_lines` filters): resolves with the cart, or with Shopify's errors

v2.0 beta
Open .md
On this page
  1. Types
  2. Cart
  3. CartLineInput
  4. UserError

adds lines (through the add_to_cart_lines filters): resolves with the cart, or with Shopify’s errors Since 1.x.

addToCart(lines: CartLineInput[], goToCheckout?: boolean): Promise<Cart | UserError[]>

Types

Cart

export interface Cart {
  /** `gid://shopify/Cart/<id>` */
  id: string;
  checkoutUrl: string;
  totalQuantity: number;
  note: string | null;
  attributes: Attribute[];
  buyerIdentity: {
    countryCode: string | null;
    email: string | null;
    phone: string | null;
    customer: {
      id: string;
      email: string | null;
      firstName: string | null;
      lastName: string | null;
      displayName: string;
    } | null;
  };
  lines: { nodes: CartLine[] };
  cost: {
    subtotalAmount: Money;
    totalAmount: Money;
    totalDutyAmount: Money | null;
    totalTaxAmount: Money | null;
    subtotalAmountEstimated: boolean;
    totalTaxAmountEstimated: boolean;
  };
  discountCodes: { code: string; applicable: boolean }[];
  appliedGiftCards: { id: string; lastCharacters: string; amountUsed: Money; balance: Money }[];
  discountAllocations: DiscountAllocation[];
}

CartLineInput

/** A line to add: `merchandiseId` is the variant gid. */
export interface CartLineInput {
  merchandiseId: string;
  quantity?: number | null;
  attributes?: AttributeInput[] | null;
  sellingPlanId?: string | null;
  parent?: { lineId?: string | null; merchandiseId?: string | null } | null;
}

UserError

/** An error Shopify answers (a sold-out variant, an invalid code) or a filter throws. */
export interface UserError {
  message: string;
  field?: string[] | null;
  code?: string | null;
}

    ↑ ↓ to moveEnter to openEsc to close