Big Commerce Abandoned Cart Emails

BigCommerce Abandoned Cart Emails is a feature that allows online retailers to automatically send personalized emails to customers who have added items to their shopping cart but failed to complete their purchase. These emails are designed to remind customers of the products they were interested in, provide a gentle nudge to complete their purchase, and potentially offer discounts or incentives to incentivize them to return to the website and complete their transaction.

OpenAPI Specification

abandoned-cart-emails-openapi-original.yml Raw ↑
openapi: 3.0.0
info:
  title: BigCommerce Abandoned Cart Emails
  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: [email protected]
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: Abandoned Cart Emails
  - name: Template Settings
paths:
  /marketing/abandoned-cart-emails:
    get:
      description: An array of abandoned cart emails pertaining to a store.
      parameters:
        - $ref: '#/components/parameters/ChannelIdOptional'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/AbandondedCartEmail'
                  meta:
                    $ref: '#/components/schemas/metaCollection_open'
              examples:
                List of abandoned cart templates:
                  value:
                    data:
                      - id: 1
                        notify_at_minutes: 60
                        coupon_code: FF11-22X4
                        template:
                          subject: Complete your purchase at {{ store.name }}
                          body: >-
                            Complete your purchase <a href="{{
                            notification.checkout_link
                            }}">{{notification.checkout.link}}
                          translations:
                            - locale: en
                              keys:
                                hello_phrase: Welcome back,
                    meta: {}
      tags:
        - Abandoned Cart Emails
      summary: BigCommerce Get all abandoned cart email templates
      operationId: getAbandonedCartEmailTemplates
    post:
      summary: BigCommerce Create abandoned cart email template
      operationId: createAbandonedCartEmailTemplate
      tags:
        - Abandoned Cart Emails
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/AbandondedCartEmail'
                  meta:
                    $ref: '#/components/schemas/metaCollection_open'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SaveError'
      description: Create an Abandoned Cart Email template.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AbandondedCartEmailPayload'
            examples:
              Add active abandoned cart email template:
                value:
                  is_active: true
                  coupon_code: FF11-22X4
                  notify_at_minutes: 60
                  template:
                    subject: Complete your purchase at {{ store.name }}
                    body: >-
                      {{lang 'hello_phrase' }}<br>Complete your purchase <a
                      href='{{ notification.checkout_link
                      }}'>{{notification.checkout.link}}
                    translations:
                      - locale: en
                        keys:
                          hello_phrase: Welcome
      parameters:
        - $ref: '#/components/parameters/ChannelIdOptional'
        - $ref: '#/components/parameters/ContentType'
    parameters:
      - $ref: '#/components/parameters/Accept'
  /marketing/abandoned-cart-emails/{id}:
    get:
      summary: BigCommerce Get an email template
      description: Get a single Abandoned Cart Email template.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/AbandondedCartEmail'
                  meta:
                    $ref: '#/components/schemas/metaCollection_open'
      tags:
        - Abandoned Cart Emails
      operationId: getAbandonedCartEmailTemplate
    put:
      summary: BigCommerce Update an email template
      description: Update an email template.
      operationId: updateAbandonedCartEmailTemplate
      tags:
        - Abandoned Cart Emails
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/AbandondedCartEmail'
                  meta:
                    $ref: '#/components/schemas/metaCollection_open'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SaveError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AbandondedCartEmailPayload'
            examples:
              Update Abandoned Cart Email template:
                value:
                  is_active: true
                  coupon_code: FF11-22X4
                  notify_at_minutes: 60
                  template:
                    subject: Complete your purchase at {{ store.name }}
                    body: >-
                      Complete your purchase <a href="{{
                      notification.checkout_link
                      }}">{{notification.checkout.link}}
                    translations:
                      - locale: en
                        keys:
                          hello_phrase: Welcome back,
              Enable email:
                value:
                  is_active: true
              Disable email:
                value:
                  is_active: false
              Update coupon code and notification time:
                value:
                  coupon_code: FF11-22X4
                  notify_at_minutes: 60
      parameters:
        - $ref: '#/components/parameters/ContentType'
    delete:
      tags:
        - Abandoned Cart Emails
      description: Delete Abandoned Cart Email template.
      summary: BigCommerce Delete email template
      operationId: deleteAbandonedCartEmailTemplate
      responses:
        '204':
          description: No Content
    parameters:
      - schema:
          type: integer
          minimum: 0
        name: id
        in: path
        required: true
        description: ID of the Abandoned Cart Email template.
      - $ref: '#/components/parameters/Accept'
  /marketing/abandoned-cart-emails/default:
    get:
      summary: BigCommerce Get default email template
      description: Return default Abandoned Cart Email template.
      tags:
        - Abandoned Cart Emails
      operationId: getDefaultAbandonedCartEmailTemplate
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                description: ''
                type: object
                properties:
                  subject:
                    type: string
                    minLength: 1
                  body:
                    type: string
                    minLength: 1
                  translations:
                    type: array
                    uniqueItems: true
                    minItems: 1
                    items:
                      required:
                        - locale
                        - keys
                      properties:
                        locale:
                          type: string
                          minLength: 1
                        keys:
                          type: object
                          properties:
                            hello_phrase:
                              type: string
                              minLength: 1
                required:
                  - subject
                  - body
                  - translations
              examples:
                example-1:
                  value:
                    subject: Complete your purchase at {{ store.name }}
                    body: >-
                      {{lang 'hello_phrase'}} Complete your purchase <a href="{{
                      notification.checkout_link
                      }}">{{notification.checkout.link}}
                    translations:
                      - locale: en
                        keys:
                          hello_phrase: Welcome back
    parameters:
      - $ref: '#/components/parameters/Accept'
  /marketing/abandoned-cart-emails/settings:
    get:
      summary: BigCommerce Get email template settings
      tags:
        - Template Settings
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AbandonedCartSettings'
      operationId: getAbandonedCartEmailTemplateSettings
      description: Read Abandoned Cart Email Template settings.
      parameters:
        - $ref: '#/components/parameters/ChannelIdRequired'
    put:
      summary: BigCommerce Update email template settings
      operationId: updateAbandonedCartEmailTemplateSettings
      tags:
        - Template Settings
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AbandonedCartSettings'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AbandonedCartSettings'
      description: Update Abandoned Cart Email template settings.
      parameters:
        - $ref: '#/components/parameters/ChannelIdOptional'
        - $ref: '#/components/parameters/ContentType'
    parameters:
      - $ref: '#/components/parameters/Accept'
components:
  schemas:
    SaveError:
      type: object
      title: SaveError
      description: ''
      properties:
        status:
          type: integer
        title:
          type: string
        type:
          type: string
        errors:
          type: array
          items:
            type: string
      x-internal: false
    BaseError:
      title: BaseError
      type: object
      properties:
        status:
          type: string
        type:
          type: string
      x-internal: false
    AbandonedCartEmailModel:
      title: AbandonedCartEmailModel
      type: object
      properties:
        notify_at_minutes:
          $ref: '#/components/schemas/NotifyAtMinutes'
        coupon_code:
          $ref: '#/components/schemas/CouponCode'
        template:
          $ref: '#/components/schemas/Template'
      x-internal: false
    AbandonedCartSettings:
      title: AbandonedCartSettings
      type: object
      properties:
        use_global:
          type: boolean
          description: Boolean value that specifies the inheritance state.
      required:
        - use_global
      x-internal: false
    AbandondedCartEmailPayload:
      type: object
      properties:
        is_active:
          type: boolean
        coupon_code:
          $ref: '#/components/schemas/CouponCode'
        notify_at_minutes:
          $ref: '#/components/schemas/NotifyAtMinutes'
        template:
          $ref: '#/components/schemas/Template'
      title: ''
      x-internal: false
    Template:
      title: Template
      type: object
      properties:
        subject:
          type: string
          example: '''Complete your purchase at {{ store.name }}'''
          maxLength: 255
        body:
          type: string
          example: >-
            'Complete your purchase <a href="{{ notification.checkout_link
            }}">{{notification.checkout.link}}'
        translations:
          type: array
          items:
            $ref: '#/components/schemas/TranslationDefinition'
      required:
        - subject
        - body
        - translations
      x-internal: false
    TranslationDefinition:
      title: TranslationDefinition
      type: object
      properties:
        locale:
          type: string
          example: en
          description: Locale code for this language, such as 'en', 'en-us', 'fr-ca'.
        keys:
          type: object
          description: >-
            Language keys for the template. User-defined. Should match any
            language keys used in the template.
          properties: {}
          additionalProperties:
            type: string
      required:
        - locale
        - keys
      x-internal: false
    NotifyAtMinutes:
      type: integer
      title: NotifyAtMinutes
      description: >-
        Describes when this email will be sent, in minutes. Only supports
        certain intervals described in the enum.
      example: 60
      enum:
        - 60
        - 120
        - 180
        - 240
        - 300
        - 360
        - 420
        - 480
        - 540
        - 600
        - 660
        - 720
        - 780
        - 840
        - 900
        - 960
        - 1020
        - 1080
        - 1140
        - 1200
        - 1260
        - 1320
        - 1380
        - 1440
        - 2880
        - 4320
        - 5760
        - 7200
        - 8640
        - 10080
        - 11520
        - 12960
        - 14400
      x-examples:
        example-1: 60
        type: integer
      x-internal: false
    CouponCode:
      title: Coupon Code Field
      type: string
      example: FF11-22X4
      x-internal: false
    AbandondedCartEmail:
      title: AbandondedCartEmail
      type: object
      properties:
        id:
          type: integer
          example: 1
        notify_at_minutes:
          $ref: '#/components/schemas/NotifyAtMinutes'
        coupon_code:
          $ref: '#/components/schemas/CouponCode'
        template:
          $ref: '#/components/schemas/Template'
        is_active:
          type: boolean
        sent_num:
          type: integer
      x-internal: false
    metaCollection_open:
      title: Response meta
      type: object
      properties: {}
      additionalProperties: true
      description: Response metadata.
  parameters:
    Accept:
      name: Accept
      in: header
      required: true
      description: >-
        The [MIME
        type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types)
        of the response body.
      schema:
        type: string
        default: application/json
    ContentType:
      name: Content-Type
      in: header
      required: true
      description: >-
        The [MIME
        type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types)
        of the request body.
      schema:
        type: string
        default: application/json
    ChannelIdOptional:
      in: query
      name: channel_id
      description: Channel ID to use for channel-level data.
      schema:
        type: integer
    ChannelIdRequired:
      name: channel_id
      in: query
      required: true
      schema:
        type: integer
      description: Channel ID to use for channel-specific setting.
  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