BigCommerce · Schema

E-CommerceRetailCatalogOrdersCheckoutPaymentsSaaS
View JSON Schema on GitHub

JSON Schema

bigcommerce-itemdigital-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/ItemDigital",
  "title": "",
  "allOf": [
    {
      "title": "Base Item",
      "properties": {
        "id": {
          "type": "string",
          "description": "The line-item ID.",
          "example": "6e193ce6-f327-4dcc-b75e-72cf6738525e"
        },
        "variant_id": {
          "type": "number",
          "description": "The ID of the variant. Required in the /PUT or /POST request if the product has variants.",
          "example": 358
        },
        "product_id": {
          "type": "number",
          "description": "The ID of the product. Required in a /POST request.",
          "example": 12
        },
        "sku": {
          "type": "string",
          "example": "SMGREEN",
          "description": "SKU of the variant."
        },
        "name": {
          "type": "string",
          "description": "The item\u2019s product name.",
          "example": "T-Shirt"
        },
        "url": {
          "description": "The product URL.",
          "type": "string",
          "format": "uri",
          "example": "http://your-store-url.mybigcommerce.com/your-product/"
        },
        "quantity": {
          "type": "number",
          "example": 5,
          "description": "Quantity of this item in the cart."
        },
        "is_taxable": {
          "type": "boolean",
          "example": false,
          "description": "Boolean value that specifies whether the item is taxable."
        },
        "image_url": {
          "type": "string",
          "format": "uri",
          "example": "https://pathtoproductimage/ProductDefault.png",
          "description": "Image of the product or variant."
        },
        "discounts": {
          "type": "array",
          "items": {
            "type": "object",
            "title": "Applied Discount",
            "description": "Example as part of a cart response:\n\n```\n  \"discounts\": [\n    {\n      \"id\": 2,\n      \"discounted_amount\": 2\n    },\n    {\n      \"id\": \"coupon\",\n      \"discounted_amount\": 0.42\n    }\n  ]\n```",
            "properties": {
              "id": {
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  }
                ]
              },
              "discounted_amount": {
                "type": "number",
                "description": "The discounted amount."
              }
            }
          }
        },
        "coupons": {
          "type": "array",
          "items": {
            "type": "object",
            "title": "Applied Coupon",
            "properties": {
              "coupons": {
                "type": "object",
                "description": "Required in a /POST request.",
                "properties": {
                  "coupon_code": {
                    "type": "object",
                    "description": "The coupon code.",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "example": 6,
                        "description": "ID of the coupon."
                      },
                      "code": {
                        "type": "string",
                        "example": "KV56053388J",
                        "description": "The coupon code. Required in a /POST request."
                      },
                      "name": {
                        "type": "string",
                        "example": "Percentage off",
                        "description": "Name given to the coupon in the control panel."
                      },
                      "discountType": {
                        "type": "integer",
                        "description": "The discount type.\n\n- type 0: per_item_discount\n- type 1: percentage_discount\n- type 2: per_total_discount\n- type 3: shipping_discount\n- type 4: free_shipping",
                        "enum": [
                          0,
                          1,
                          2,
                          3,
                          4
                        ]
                      },
                      "discountAmount": {
                        "type": "integer",
                        "description": "The amount of the discount based on the coupon. For example, 3 percent off will show a 3.",
                        "example": 3
                      },
                      "expiresDate": {
                        "type": "integer",
                        "example": 0,
                        "description": "Returns 0 if no expiration date has been set."
                      },
                      "totalDiscount": {
                        "type": "number",
                        "example": 4.19,
                        "description": "The total amount of all discounts applied to the cart."
                      }
                    }
                  }
                },
                "required": [
                  "coupon_code"
                ]
              }
            }
          }
        },
        "discount_amount": {
          "type": "number",
          "description": "The total value of all discounts applied to this item. This includes coupons and cart-level discounts.",
          "example": 4
        },
        "coupon_amount": {
          "type": "number",
          "description": "The total value of all coupons applied to this item."
        },
        "original_price": {
          "type": "number",
          "description": "An item\u2019s original price is the same as the product default price in the admin panel."
        },
        "list_price": {
          "type": "number",
          "description": "The net item price before discounts and coupons. BigCommerce derives an item\u2019s list price from the product default price or, if applicable, the sale price configured in the admin panel."
        },
        "sale_price": {
          "type": "number",
          "description": "Item\u2019s price after all discounts are applied. (The final price before tax calculation.)"
        },
        "extended_list_price": {
          "type": "number",
          "description": "List price of the item multiplied by the quantity."
        },
        "extended_sale_price": {
          "type": "number",
          "description": "Sale price of the item multiplied by the quantity."
        },
        "options": {
          "description": "The list of selected options for this product.",
          "type": "array",
          "items": {
            "type": "object",
            "title": "Product Option",
            "properties": {
              "name": {
                "type": "string",
                "description": "The product option name; for example, Color or Size."
              },
              "nameId": {
                "type": "number",
                "description": "The product option identifier."
              },
              "value": {
                "type": "string",
                "description": "The product option value; for example, Red or Medium."
              },
              "valueId": {
                "type": "number",
                "description": "The product option value identifier in number format.",
                "example": 128
              }
            }
          }
        }
      },
      "required": [
        "variant_id",
        "product_id",
        "quantity"
      ]
    },
    {
      "properties": {
        "download_file_urls": {
          "description": "URLs to download all product files.",
          "type": "array",
          "items": {
            "type": "string",
            "format": "url"
          }
        },
        "download_page_url": {
          "description": "The URL for the combined downloads page.",
          "type": "string",
          "format": "url"
        },
        "download_size": {
          "description": "Specifies the combined download size of all files in human-readable style; for example, `30MB`.",
          "type": "string"
        }
      }
    }
  ],
  "type": "object"
}