BigCommerce Checkout Gift Certificates API

The Checkout Gift Certificates API from BigCommerce — 2 operation(s) for checkout gift certificates.

Documentation

📖
Documentation
https://developer.bigcommerce.com/
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/abandoned-carts
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/carts
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/brands
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/categories
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/category-trees
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/product-modifiers
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/product-variant-options
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/product-variants
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/products
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/channels
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/checkouts
📖
APIReference
https://developer.bigcommerce.com/docs/rest-content/store-content
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/currencies
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/customers
📖
APIReference
https://developer.bigcommerce.com/docs/rest-content/email-templates
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/geography
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/orders
📖
APIReference
https://developer.bigcommerce.com/docs/rest-content/pages
📖
APIReference
https://developer.bigcommerce.com/docs/rest-payments/tokens
📖
APIReference
https://developer.bigcommerce.com/docs/rest-payments/methods-deprecated
📖
APIReference
https://developer.bigcommerce.com/docs/rest-payments/processing
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/settings
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/shipping-v2
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/channels/site
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/store-information
📖
APIReference
https://developer.bigcommerce.com/docs/rest-storefront/carts
📖
APIReference
https://developer.bigcommerce.com/docs/rest-storefront/checkouts
📖
APIReference
https://developer.bigcommerce.com/docs/rest-storefront/customers
📖
APIReference
https://developer.bigcommerce.com/docs/rest-storefront/orders
📖
APIReference
https://developer.bigcommerce.com/docs/rest-storefront/subscriptions
📖
APIReference
https://developer.bigcommerce.com/docs/integrations/webhooks
📖
APIReference
https://developer.bigcommerce.com/docs/rest-content/widgets

Specifications

Other Resources

OpenAPI Specification

bigcommerce-checkout-gift-certificates-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: BigCommerce Abandoned Cart Emails Checkout Gift Certificates API
  version: 3.0.0
  termsOfService: https://www.bigcommerce.com/terms
  description: Abandoned Cart Emails V3 API managing Handlebars-based emails.
  contact:
    name: BigCommerce
    url: https://www.bigcommerce.com
    email: support@bigcommerce.com
servers:
- url: https://api.bigcommerce.com/stores/{store_hash}/v3
  variables:
    store_hash:
      default: store_hash
      description: Permanent ID of the BigCommerce store.
  description: BigCommerce API Gateway
security:
- X-Auth-Token: []
tags:
- name: Checkout Gift Certificates
paths:
  /checkouts/{checkoutId}/gift-certificates:
    post:
      tags:
      - Checkout Gift Certificates
      summary: BigCommerce Add Gift Certificate to Checkout
      description: "Adds a *Gift Certificate Code* to *Checkout*.\n\n> #### Note\n> * *Gift Certificates* are treated as a payment methods.\n> * You are not able to purchase a gift certificate with a gift certificate.\n> * The rate limit is 20/hour (only for unique gift-certificate codes).\n> * Substitute your storefront domain for `yourstore.example.com`. \n> * The Send a Test Request feature is not currently supported for this endpoint.  "
      operationId: addCheckoutGiftCertificate
      parameters:
      - name: checkoutId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GiftCertificateRequest'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/checkout_Full'
              example:
                id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed
                cart:
                  id: 29eb9b44-8f33-4e4a-9429-d0e8e24641ed
                  customerId: 18
                  email: dwaynecole@testing.com
                  currency:
                    name: US Dollars
                    code: USD
                    symbol: $
                    decimalPlaces: 2
                  isTaxIncluded: true
                  baseAmount: 7.95
                  discountAmount: 0
                  cartAmount: 7.95
                  coupons: []
                  discounts:
                  - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52
                    discountedAmount: 0
                  lineItems:
                    physicalItems:
                    - id: 243c9ca2-22b4-417a-8b09-b3fc05778b52
                      parentId: {}
                      variantId: 345
                      productId: 174
                      sku: ''
                      name: 1L Le Parfait Jar
                      url: https://{store_domain}/all/1l-le-parfait-jar/
                      quantity: 1
                      brand: OFS
                      isTaxable: true
                      imageUrl: https://cdn11.bigcommerce.com/s-{store_hash}/products/174/images/425/leparfaitmedium3_1024x1024_1024x1024__37756__81924.1534344526.330.500.jpg?c=2
                      discounts: []
                      discountAmount: 0
                      couponAmount: 0
                      originalPrice: 7.95
                      listPrice: 7.95
                      salePrice: 7.95
                      extendedListPrice: 7.95
                      extendedSalePrice: 7.95
                      isShippingRequired: true
                      giftWrapping: {}
                      addedByPromotion: false
                    digitalItems: []
                    giftCertificates: []
                    customItems: []
                  createdTime: '2019-01-10T17:18:00+00:00'
                  updatedTime: '2019-01-10T17:19:47+00:00'
                billingAddress:
                  id: 5c377ead301c2
                  firstName: Dwayne
                  lastName: Cole
                  email: dwaynecole@testing.com
                  company: ''
                  address1: Mauna Kea Access Rd
                  address2: ''
                  city: Hilo
                  stateOrProvince: Hawaii
                  stateOrProvinceCode: HI
                  country: United States
                  countryCode: US
                  postalCode: '96720'
                  phone: '8081234567'
                  customFields: []
                consignments:
                - id: 5c377ead30ac1
                  shippingCost: 8
                  handlingCost: 0
                  couponDiscounts: []
                  discounts: []
                  lineItemIds:
                  - 243c9ca2-22b4-417a-8b09-b3fc05778b52
                  selectedShippingOption:
                    id: d09e05c0-3788-44df-a1bb-b6d3afdf6841
                    type: shipping_byweight
                    description: Ship by Weight
                    imageUrl: ''
                    cost: 8
                    transitTime: ''
                  address:
                    firstName: Dwayne
                    lastName: Cole
                    email: dwaynecole@testing.com
                    company: ''
                    address1: Mauna Kea Access Rd
                    address2: ''
                    city: Hilo
                    stateOrProvince: Hawaii
                    stateOrProvinceCode: HI
                    country: United States
                    countryCode: US
                    postalCode: '96720'
                    phone: '8081234567'
                    customFields: []
                orderId: null
                shippingCostTotal: 8
                shippingCostBeforeDiscount: 8
                handlingCostTotal: 0
                taxTotal: 1.22
                coupons: []
                taxes:
                - name: Tax
                  amount: 1.22
                subtotal: 7.95
                grandTotal: 15.95
                giftCertificates: []
                createdTime: '2019-01-10T17:18:00+00:00'
                updatedTime: '2019-01-10T17:19:47+00:00'
                customerMessage: ''
        '404':
          description: Gift certificate code not found
          content:
            application/json:
              schema:
                type: object
      x-codegen-request-body-name: body
  /checkouts/{checkoutId}/gift-certificates/{giftCertificateCode}:
    delete:
      tags:
      - Checkout Gift Certificates
      summary: BigCommerce Delete Gift Certificate
      description: "Deletes an existing *Gift Certificate*.\n\nThis removes the *Gift Certificate* payment method.\n\n> #### Note\n> * Substitute your storefront domain for `yourstore.example.com`. \n> * The Send a Test Request feature is not currently supported for this endpoint.  "
      operationId: deleteCheckoutGiftCertificate
      parameters:
      - name: checkoutId
        in: path
        required: true
        schema:
          type: string
      - name: giftCertificateCode
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/checkout_Full'
components:
  schemas:
    checkout_Full:
      title: checkout_Full
      type: object
      properties:
        id:
          type: string
          description: ''
          format: uuid
        cart:
          $ref: '#/components/schemas/checkoutCart'
        billingAddress:
          $ref: '#/components/schemas/address_Base'
        consignments:
          type: array
          description: ''
          items:
            $ref: '#/components/schemas/consignment_Full'
        coupons:
          type: array
          description: Coupons applied at the checkout level.
          items:
            $ref: '#/components/schemas/CheckoutCoupon'
        orderId:
          type: string
          description: ''
          nullable: true
        shippingCostTotal:
          type: number
          description: Shipping cost before any discounts are applied.
          format: float
        giftWrappingCostTotal:
          type: number
          description: Gift wrapping cost for all items, including or excluding tax.
        handlingCostTotal:
          type: number
          description: Handling cost for all consignments including or excluding tax.
          format: float
        taxTotal:
          type: number
          description: ''
          format: float
        taxes:
          type: array
          items:
            $ref: '#/components/schemas/checkoutTax'
        subtotal:
          type: number
          description: Subtotal of the checkout before applying item-level discounts. Tax inclusive based on the store settings.
          format: float
        grandTotal:
          type: number
          description: The total payable amount, before applying any store credit or gift certificate.
          format: float
        giftCertificates:
          type: array
          description: Applied gift certificate (as a payment method).
          items:
            $ref: '#/components/schemas/checkoutGiftCertificates'
        createdTime:
          type: string
          description: Time when the cart was created.
        updatedTime:
          type: string
          description: Time when the cart was last updated.
        customerMessage:
          type: string
          description: Shopperʼs message provided as details for the order to be created from this cart
        outstandingBalance:
          type: number
          description: '`grandTotal` subtract the store-credit amount

            '
        isStoreCreditApplied:
          type: boolean
          description: '`true` value indicates StoreCredit has been applied.

            '
      description: ''
      x-internal: false
    CheckoutCoupon:
      title: Checkout Coupon
      required:
      - code
      type: object
      properties:
        id:
          type: integer
          description: The coupon ID.
        code:
          type: string
          description: the coupon code
        displayName:
          type: string
          description: The coupon title based on different types provided in control panel section.
        couponType:
          type: integer
          description: '|Type `int`|Type Name|

            |-|-|

            |`0`|`per_item_discount`|

            |`1`|`percentage_discount`|

            |`2`|`per_total_discount`|

            |`3`|`shipping_discount`|

            |`4`|`free_shipping`|

            |`5`|`promotion`|'
        discountedAmount:
          type: number
          description: The discounted amount applied within a given context.
          format: double
      x-internal: false
    checkoutCart:
      title: checkoutCart
      type: object
      properties:
        id:
          type: string
          description: Cart ID, provided after creating a cart with a POST.
          format: uuid
        customer_id:
          type: integer
          description: ID of the customer to which the cart belongs.
          format: int32
        email:
          type: string
          description: The cartʼs email. This is the same email that is used in the billing address.
        currency:
          title: Currency
          type: object
          properties:
            name:
              type: string
              description: The currency name.
            code:
              type: string
              description: 'ISO-4217 currency code. (See: http://en.wikipedia.org/wiki/ISO_4217.)'
            symbol:
              type: string
              description: The currency symbol.
            decimalPlaces:
              type: number
              description: The number of decimal places for the currency. For example, the USD currency has two decimal places.
              format: double
          description: The currency in which prices are displayed; the store default currency.
        isTaxIncluded:
          type: boolean
          description: Boolean representing whether tax information is included.
        baseAmount:
          type: number
          description: Cost of cart’s contents, before applying discounts.
          format: double
        discountAmount:
          type: number
          description: Discounted amount.
          format: double
        cartAmount:
          type: number
          description: Sum of line-items amounts, minus cart-level discounts and coupons. This amount includes taxes, where applicable.
          format: double
        coupons:
          type: array
          description: ''
          items:
            $ref: '#/components/schemas/CartCoupon'
        discounts:
          type: array
          description: ''
          items:
            title: Applied Discount
            type: object
            properties:
              name:
                type: string
                description: The name provided by the merchant.
              discountedAmount:
                type: number
                description: The discounted amount applied within a given context.
                format: double
        lineItems:
          type: object
          description: ''
          items:
            title: Line Item
            required:
            - digitalItems
            - physicalItems
            type: object
            properties:
              physicalItems:
                type: array
                description: ''
                items:
                  title: Item Physical
                  required:
                  - quantity
                  type: object
                  properties:
                    id:
                      type: string
                      description: The line-item ID.
                    parentId:
                      type: string
                      description: The product is part of a bundle such as a product pick list, then the parentId or the main product ID will populate.
                    variantId:
                      type: integer
                      description: ID of the variant.
                    productId:
                      type: integer
                      description: ID of the product.
                    sku:
                      type: string
                      description: SKU of the variant.
                    name:
                      type: string
                      description: The itemʼs product name.
                    url:
                      type: string
                      description: The product URL.
                    quantity:
                      type: number
                      description: Quantity of this item.
                      format: double
                    isTaxable:
                      type: boolean
                      description: Whether the item is taxable.
                    imageUrl:
                      type: string
                      description: A publicly-accessible URL for an image of this item.
                    discounts:
                      type: array
                      description: A list of discounts applied to this item, as an array of AppliedDiscount objects.
                      items:
                        title: Applied Discount
                        type: object
                        properties:
                          name:
                            type: string
                            description: The name provided by the merchant.
                          discountedAmount:
                            type: number
                            description: The discounted amount applied within a given context.
                            format: double
                    discountAmount:
                      type: number
                      description: The total value of all discounts applied to this item (excluding coupon).
                      format: double
                    couponAmount:
                      type: number
                      description: The total value of all coupons applied to this item.
                      format: double
                    listPrice:
                      type: number
                      description: The item’s list price, as quoted by the manufacturer or distributor.
                      format: double
                    salePrice:
                      type: number
                      description: The itemʼs price after all discounts are applied. The final price before tax calculation.
                      format: double
                    extendedListPrice:
                      type: number
                      description: The itemʼs list price multiplied by the quantity.
                      format: double
                    extendedSalePrice:
                      type: number
                      description: The itemʼs sale price multiplied by the quantity.
                      format: double
                    comparisonPrice:
                      type: number
                      description: The itemʼs comparison price
                    extendedComparisonPrice:
                      type: number
                      description: The itemʼs comparison price multiplied by the quantity.
                    type:
                      type: string
                      description: the product type - physical or digital
                    addedByPromotion:
                      type: boolean
                      description: If the item was added automatically by a promotion, such as a coupon or buy one, get one.
                    isShippingRequired:
                      type: boolean
                      description: Whether this item requires shipping to a physical address.
                    isMutable:
                      type: boolean
                      description: ''
                    giftWrapping:
                      title: Gift Wrapping
                      type: object
                      properties:
                        name:
                          type: string
                          description: ''
                        message:
                          type: string
                          description: ''
                        amount:
                          type: number
                          description: ''
                          format: double
              digitalItems:
                type: array
                description: ''
                items:
                  title: Item Digital
                  required:
                  - quantity
                  type: object
                  properties:
                    id:
                      type: string
                      description: The line-item ID.
                    parentId:
                      type: string
                      description: Bundled items will have their parentʼs item ID.
                    variantId:
                      type: number
                      description: ID of the variant.
                      format: double
                    productId:
                      type: number
                      description: ID of the product.
                      format: double
                    sku:
                      type: string
                      description: SKU of the variant.
                    name:
                      type: string
                      description: The itemʼs product name.
                    url:
                      type: string
                      description: The product URL.
                    quantity:
                      type: number
                      description: Quantity of this item.
                      format: double
                    isTaxable:
                      type: boolean
                      description: Whether the item is taxable.
                    imageUrl:
                      type: string
                      description: A publicly-accessible URL for an image of this item.
                    discounts:
                      type: array
                      description: A list of discounts applied to this item, as an array of AppliedDiscount objects.
                      items:
                        title: Applied Discount
                        type: object
                        properties:
                          name:
                            type: string
                            description: The name provided by the merchant.
                          discountedAmount:
                            type: number
                            description: The discounted amount applied within a given context.
                            format: double
                    discountAmount:
                      type: number
                      description: The total value of all discounts applied to this item (excluding coupon).
                      format: double
                    couponAmount:
                      type: number
                      description: The total value of all coupons applied to this item.
                      format: double
                    listPrice:
                      type: number
                      description: The item’s list price, as quoted by the manufacturer or distributor.
                      format: double
                    salePrice:
                      type: number
                      description: The itemʼs price after all discounts are applied. The final price before tax calculation.
                      format: double
                    extendedListPrice:
                      type: number
                      description: The itemʼs list price multiplied by the quantity.
                      format: double
                    extendedSalePrice:
                      type: number
                      description: The itemʼs sale price multiplied by the quantity.
                      format: double
                    type:
                      type: string
                      description: The product type - physical or digital.
                    isShippingRequired:
                      type: boolean
                      description: Whether this item requires shipping to a physical address.
                    downloadFileUrls:
                      type: array
                      description: URLs to download all product files.
                      items:
                        type: string
                    downloadPageUrl:
                      type: string
                      description: The URL for the combined downloads page.
                    downloadSize:
                      type: string
                      description: Specifies the combined download size in human-readable style; for example, `30MB`.
              giftCertificate:
                type: array
                description: ''
                items:
                  title: Item Gift Certificate
                  required:
                  - amount
                  - recipient
                  - sender
                  - theme
                  type: object
                  properties:
                    id:
                      type: string
                      description: Gift certificate identifier
                    name:
                      type: string
                      description: The name of the purchased gift certificate; for example, `$20 Gift Certificate`.
                    theme:
                      type: string
                      description: Currently supports `Birthday`, `Boy`, `Celebration`, `Christmas`, `General`, and `Girl`.
                    amount:
                      type: number
                      description: Value must be between $1.00 and $1,000.00.
                      format: double
                    taxable:
                      type: boolean
                      description: ''
                    sender:
                      title: Contact Entity
                      type: object
                      properties:
                        name:
                          type: string
                          description: ''
                        email:
                          type: string
                          description: ''
                    recipient:
                      title: Contact Entity
                      type: object
                      properties:
                        name:
                          type: string
                          description: ''
                        email:
                          type: string
                          description: ''
                    message:
                      type: string
                      description: Limited to 200 characters.
                    type:
                      type: string
                      description: Explicitly specifying the gift certificate type.
              customItems:
                type: array
                items:
                  title: Item Custom
                  type: object
                  properties:
                    id:
                      type: string
                      description: ID of the custom item.
                    sku:
                      type: string
                      description: Custom item SKU.
                    name:
                      type: string
                      description: Item name.
                    quantity:
                      type: string
                    listPrice:
                      type: string
                      description: Price of the item. With or without tax depending on your store setup.
                  description: 'Add a custom item to the shoppers cart.

                    * Custom items are not added to the catalog.

                    * The price should be set to match the store settings for taxes.'
        createdTime:
          type: string
          description: Time when the cart was created.
        updatedTime:
          type: string
          description: Time when the cart was last updated.
      description: A cart contains a collection of items, prices, discounts, etc. It does not contain customer-related data.
      x-internal: false
    consignmentShippingOption_Base:
      title: consignmentShippingOption_Base
      type: object
      properties:
        description:
          type: string
          description: Read only.
          readOnly: true
        id:
          type: string
          description: ''
        type:
          type: string
          description: Specifies the type of shipping option; for example, flat rate, UPS, etc.
        imageUrl:
          type: string
          description: ''
        cost:
          type: number
          description: ''
          format: double
        transitTime:
          type: string
          description: An estimate of the arrival time.
      x-internal: false
    CartCoupon:
      title: Cart Coupon
      required:
      - code
      type: object
      properties:
        id:
          type: integer
          description: The coupon ID.
        code:
          type: string
          description: the coupon code
        displayName:
          type: string
          description: The coupon title based on different types provided in control panel section.
        couponType:
          type: string
          description: Key name to identify the type of coupon.
          enum:
          - per_item_discount
          - percentage_discount
          - per_total_discount
          - shipping_discount
          - free_shipping
          - promotion
        discountedAmount:
          type: number
          description: The discounted amount applied within a given context.
          format: double
      x-internal: false
    consignmentAvailableShippingOptions:
      title: consignmentAvailableShippingOptions
      allOf:
      - $ref: '#/components/schemas/consignmentShippingOption_Base'
      - type: object
        properties:
          isRecommended:
            type: boolean
            description: Is this shipping method the recommended shipping option or not.
          additionalDescription:
            type: string
      x-internal: false
    PickupOption:
      type: object
      title: Pickup Option
      description: An option that represents a location where customers can pick up items.
      properties:
        pickupMethodId:
          type: integer
    consignment_Full:
      title: consignment_Full
      type: object
      properties:
        id:
          type: string
          description: ''
        shippingAddress:
          type: object
          properties: {}
          x-deprecated: true
        address:
          $ref: '#/components/schemas/address_Full'
        selectedPickupOption:
          $ref: '#/components/schemas/PickupOption'
        availableShippingOptions:
          type: array
          description: This is available only when "include=consignments.availableShippingOptions" is present in the URL.
          items:
            $ref: '#/components/schemas/consignmentAvailableShippingOptions'
        selectedShippingOption:
          title: Selected Shipping Option
          type: object
          properties:
            description:
              type: string
              description: Read only.
              readOnly: true
            id:
              type: string
              description: ''
            type:
              type: string
              description: Specifies the type of shipping option; for example, flat rate, UPS, etc.
            imageUrl:
              type: string
              description: ''
            cost:
              type: number
              description: ''
              format: double
            transitTime:
              type: string
              description: An estimate of the arrival time.
            additionalDescription:
              type: string
              description: Read only. Field used for Shipping Provider API.
              readOnly: true
        couponDiscounts:
          type: array
          description: List of consignment discounts applied through coupons.
          items:
            title: Consignment Coupon Discount
            type: object
            properties:
              code:
                type: string
                description: Coupon code that applied this discount.
              amount:
                type: number
                description: ''
                format: double
        discounts:
          type: array
          description: List of consignment discounts applied through cart level discounts.
          items:
            title: Consignment Discount
            type: object
            properties:
              id:
                type: string
                description: Discount rule ID that applied this discount.
        shippingCost:
          type: number
          description: The shipping cost for this consignment.
          format: double
        handlingCost:
          type: number
          description: The handling cost of shipping for this consignment.
          format: double
        lineItemIds:
          type: array
          description: ''
          items:
            type: string
      description: This allows us to have multiple shipping addresses. Where there is only one shipping address, this array will contain only one value, with all the items.
      x-internal: false
    checkoutTax:
      title: checkoutTax
      type: object
      properties:
        name:
          type: string
          description: Name of the tax.
        amount:
          type: number
          description: ''
          format: double
      x-internal: false
    address_Full:
      title: address_Full
      description: ''
      allOf:
      - $ref: '#/components/schemas/address_Base'
      - type: object
        properties:
          id:
            type: string
            description: ''
          shouldSaveAddress:
            type: boolean
            description: Indicates whether we should add this address to the customer address book.
      x-internal: false
    checkoutGiftCertificates:
      title: checkoutGiftCertificates
      type: array
      description: Applied gift certificate (as a payment method).
      items:
        title: Gift Certificate
        type: object
        properties:
          balance:
            type: number
            description: ''
            format: double
          code:
            type: string
            description: ''
          purchaseDate:
            type: string
          

# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bigcommerce/refs/heads/main/openapi/bigcommerce-checkout-gift-certificates-api-openapi.yml