BigCommerce Checkout Spam Protection API

The Checkout Spam Protection API from BigCommerce — 1 operation(s) for checkout spam protection.

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-spam-protection-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: BigCommerce Abandoned Cart Emails Checkout Spam Protection 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 Spam Protection
paths:
  /checkouts/{checkoutId}/spam-protection:
    post:
      tags:
      - Checkout Spam Protection
      summary: BigCommerce Checkout Spam Protection
      description: "Verifies if checkout is created by human.\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: checkoutSpamProtection
      parameters:
      - name: checkoutId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SpamProtectionRequest'
        required: true
      responses:
        '200':
          description: Returns Checkout Object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/checkout_Full'
      deprecated: false
      x-codegen-request-body-name: body
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
    SpamProtectionRequest:
      title: SpamProtectionRequest
      type: object
      properties:
        token:
          type: string
      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
            description: ''
            format: date
          remaining:
            type: number
            description: ''
            format: double
          used:
            type: number
            description: ''
            format: double
        description: The values presented here are projections of how much we would be using out of an existent gift certificate
      x-internal: false
    address_Base:
      title: address_Base
      required:
      - countryCode
      type: object
      properties:
        firstName:
          type: string
          description: ''
        lastName:
          type: string
          description: ''
        email:
          type: string
          description: ''
        company:
          type: string
          description: ''
        address1:
          type: string
          description: ''
        address2:
          type: string
          description: ''
        city:
          type: string
          description: ''
        stateOrProvince:
          type: string
          description: Represents state or province.
        stateOrProvinceCode:
          type: string
          description: ''
        countryCode:
          type: string
          description: 'ISO 3166-1 alpha-2 country code. (See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)'
        postalCode:
          type: string
          description: ''
        phone:
          pattern: ^\+?[1-9]\d{1,14}(x\d{1-5})?$
          type: string
          description: ''
        customFields:
          type: array
          items:
            $ref: '#/components/schemas/customFields'
      x-internal: false
    customFields:
      title: customFields
      type: object
      properties:
        fieldId:
          type: string
        fieldValue:
          type: string
          description: This can also be an array for fields that need to support list of values; for example, a set of checkboxes. When doing a PUT or POST to the `fieldValue` with a pick list, the input must be a number. The response will be a string.
      description: When doing a PUT or POST to the `fieldValue` with a pick list, the input must be a number. The response will be a string.
      x-internal: false
  securitySchemes:
    X-Auth-Token:
      name: X-Auth-Token
      description: '### OAuth scopes


        | UI Name | Permission | Parameter |

        |:--|:--|:-|

        | Information & Settings  | read-only  | `store_v2_information_read_only`|

        | Information & Settings  | modify     | `store_v2_information`          |


        ### Authentication header


        | Header | Argument | Description |

        |:-|:|:|

        | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). |


        ### Further reading


        For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/docs/start/authentication#x-auth-token-header-example-requests).


        For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes).


        For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes).'
      type: apiKey
      in: header