Server to Server Management APIs
Quote

Quote

BigCommerce B2B Edition Quote

Get Quote Form List

GET /rfq

Request

Get quote form list

Authentication

  • authToken in header

Parameters

  • offset in query with default of 0 - string
    Pagination offset
  • limit in query with default of 10 - string
    Pagination limit
  • sortBy in query with default of updatedAt - string
    Sort by desc or asc
  • orderBy in query with default of DESC - string
    Order by
  • q in query - string
    Query string
  • quoteNumber in query - string
    Quote number
  • company in query - string
    Company name
  • salesRep in query - string
    Super Admin ID
  • status in query - integer
    Status of quote. 0:NEW; 2:IN PROCESS; 3:UPDATED BY CUSTOMER; 4:ORDERED; 5:EXPIRED; 6:ARCHIVED; 7:DRAFT

    Allowed: 0 | 2 | 3 | 4 | 5 | 6 | 7

  • quoteTitle in query - string
    Title of quote
  • createdBy in query - string
    Create user name
  • maxCreated in query - number
    Maximum created timestamp
  • minCreated in query - number
    Minimum created timestamp
  • maxModified in query - number
    Maximum modified timestamp
  • minModified in query - number
    Minimum modified timestamp
  • maxExpired in query - number
    Maximum expired timestamp
  • minExpired in query - number
    Minimum expired timestamp
  • channelIds in query - array
    BigCommerce channel IDs.
    Type: array[number]

example

curl --request GET \
--url https://api-b2b.bigcommerce.com/api/v3/io/rfq \
--header 'Content-Type: application/json' \
--header 'authToken: {{token}}'

Response

OK

Body

object | application/json
  • code
    number
    required

  • message
    string
    required

    >= 1 characters
  • data
    object
    required

example-1

{
"code": 200,
"message": "SUCCESS",
"data": {
"list": [
{
"quoteId": 195,
"quoteNumber": "QN000195",
"referenceNumber": "",
"quoteTitle": "",
"createdBy": "Jo Sweet",
"company": "company name",
"salesRep": "Jo Sweet",
"createdAt": 1622618606,
"updatedAt": 1622618606,
"expiredAt": 1622717999,
"subtotal": 45.95,
"status": 0,
"currency": {
"token": "¥",
"location": "left",
"currencyCode": "USD",
"decimalToken": ".",
"decimalPlaces": 2,
"thousandsToken": ",",

Create a Quote Form

POST /rfq

Request

Create a quote form

Authentication

  • authToken in header

Body

object | application/json
  • notes
    string

    >= 1 characters
  • legalTerms
    string

    Legal terms
    >= 1 characters
  • message
    string

    Extra message
    >= 1 characters
  • grandTotal
    number
    required

    Total price after discount
  • discount
    number
    required

  • totalAmount
    integer
    required

    Total price after discount
  • subtotal
    number
    required

    Total price
  • referenceNumber
    string

  • userEmail
    string

    user email belong to a sales rep.
    >= 1 characters
  • quoteTitle
    string

    title for quote
  • expiredAt
    string
    required

    format time with %m/%d/%Y %H:%M:%S
    >= 1 characters
  • shippingAddress
    object

    shipping address information for quote
  • contactInfo
    object

  • companyId
    number

    company ID field for quote
  • currency
    object

    Currency info
  • productList
    array[object]
    required

  • extraFields
    array[object]

    Extra fields of the quote
  • channelId
    integer

    BigCommerce channel ID
  • displayDiscount
    boolean

    Whether the quote email and PDF show a discount.

    Default: true

  • allowCheckout
    boolean

    Whether the quote email and PDF show the checkout button.

    Default: true

Response

OK

Body

object | application/json
  • code
    number
    required

  • message
    string
    required

    >= 1 characters
  • data
    object
    required

example

{
"code": 200,
"message": "SUCCESS",
"data": {
"quoteId": 195,
"quoteUrl": "https://sylvia-apptest-store.mybigcommerce.com/quote/?id=195&date=1622618606"
}
}

Get a Quote Detail

GET /rfq/{quote_id}

Request

Get a quote form detail by quoteId

Authentication

  • authToken in header

Parameters

  • quote_id in path - string
    required
    Unique quote ID
  • date in query - string
    required
    quote create at

example

curl --request GET \
--url 'https://api-b2b.bigcommerce.com/api/v3/io/rfq/[quote_id]' \
--header 'Content-Type: application/json' \
--header 'authToken: {{token}}'

Response

OK

Body

object | application/json
  • code
    number
    required

  • data
    object
    required

  • meta
    object

example-1

{
"code": 200,
"data": {
"quoteNumber": "QN000199",
"referenceNumber": "",
"createdAt": 1622619778,
"expiredAt": 1722619778,
"status": 0,
"contactInfo": {
"name": "Hannah Admin330",
"email": "charles.admin@charlesco.com",
"companyName": "CharlesCo",
"phoneNumber": "0000000000"
},
"shippingAddress": {
"city": "",
"state": "",
"address": "",
"country": "",
"zipCode": "",
"apartment": ""
},
"subtotal": 45.95,
"discount": 0,
"grandTotal": 45.95,
"currency": {
"token": "¥",
"location": "left",
"currencyCode": "USD",
"decimalToken": ".",

Update a Quote

PUT /rfq/{quote_id}

Request

Update a quote

Authentication

  • authToken in header

Parameters

  • quote_id in path - string
    required
    Unique quote ID
Request body parameters you can find when you get a quote detail.

Body

object | application/json
  • notes
    string

    Quote extra message
    >= 1 characters
  • legalTerms
    string

    >= 1 characters
  • message
    string

    Text info from comments
    >= 1 characters
  • grandTotal
    number

    Total price after discount
  • discount
    number

  • subtotal
    number

    Total price
  • referenceNumber
    string

    Reference number of a quote
    >= 1 characters
  • userEmail
    string

    >= 1 characters
  • expiredAt
    string

    >= 1 characters
  • quoteTitle
    string

    >= 1 characters
  • shippingAddress
    object

  • contactInfo
    object

  • currency
    object

    Currency info, which can be seen when you get quote detail.
  • productList
    array[object]

  • extraFields
    array[object]

  • displayDiscount
    boolean

    Whether the quote email and PDF show a discount.
  • allowCheckout
    boolean

    Whether the quote email and PDF show the checkout button.

example-1

{
"notes": "string",
"legalTerms": "string",
"message": "string",
"grandTotal": 0,
"discount": 0,
"subtotal": 0,
"referenceNumber": "string",
"userEmail": "string",
"expiredAt": "string",
"quoteTitle": "string",
"shippingAddress": {
"country": "string",
"state": "string",
"city": "string",
"zipCode": "string",
"address": "string",
"apartment": "string"
},
"contactInfo": {
"name": "string",
"email": "string",
"companyName": "string",
"phoneNumber": "string"
},
"currency": {
"token": "string",
"location": "string",
"decimalToken": "string",

Response

OK

Body

object | application/json
  • code
    number
    required

  • message
    string
    required

    >= 1 characters
  • data
    object
    required

example-1

{
"code": 200,
"message": "SUCCESS",
"data": {
"quoteId": 195,
"quoteUrl": "url"
}
}

Delete a Quote

DELETE /rfq/{quote_id}

Request

Delete a quote by quoteId

Authentication

  • authToken in header

Parameters

  • quote_id in path - string
    required
    Unique quote ID

example

curl --request DELETE \
--url 'https://api-b2b.bigcommerce.com/api/v3/io/rfq/[quote_id]' \
--header 'Content-Type: application/json' \
--header 'authToken: {{token}}'

Response

OK

Body

object | application/json
  • code
    number
    required

  • message
    string
    required

    >= 1 characters
  • data
    object
    required

example-1

{
"code": 200,
"message": "SUCCESS",
"data": {}
}

Checkout Quote Form

POST /rfq/{quote_id}/checkout

Request

Checkout quote form by quoteId

Authentication

  • authToken in header

Parameters

  • quote_id in path - string
    required
    Unique quote ID

Body

object | application/json

    example-1

    {}

    Response

    OK

    Body

    object | application/json
    • code
      number
      required

    • message
      string
      required

      >= 1 characters
    • data
      object
      required

    example-1

    {
    "code": 200,
    "message": "SUCCESS",
    "data": {
    "checkoutUrl": "url",
    "cartId": "123",
    "cartUrl": "url"
    }
    }

    Ordered a Quote

    POST /rfq/{quote_id}/ordered

    Request

    Ordered a quote by quoteId

    Authentication

    • authToken in header

    Parameters

    • quote_id in path - string
      required
      Unique quote ID

    Body

    object | application/json
    • orderId
      string
      required

      Unique order ID

    example-1

    {
    "orderId": ""
    }

    Response

    OK

    Body

    object | application/json
    • code
      number
      required

    • message
      string
      required

      >= 1 characters
    • data
      object
      required

    example-1

    {
    "code": 200,
    "message": "SUCCESS",
    "data": {}
    }

    Send a Quote Email

    POST /rfq/emails

    Request

    Send a quote email

    Authentication

    • authToken in header

    Body

    object | application/json
    • quoteId
      string
      required

      The quote ID you want to use.
      >= 1 characters
    • withAttach
      boolean
      required

      Whether to send the quote pdf as an attachment.

      Default: true

    • emailTemplate
      string
      required

      Template for sending emails

      Allowed: Simple | Simple with Pictures | Waves with Pictures | Sky | Dots

    • ccTo
      array[string]

      Cc who sent the message
    • emailLang
      string

      The language in which the message is sent. nl: Dutch

      Allowed: en | nl

    example

    {
    "quoteId": "string",
    "email": "string",
    "withAttach": true,
    "emailTemplate": "Simple",
    "ccTo": [
    "string"
    ],
    "emailLang": "en"
    }

    Response

    OK

    Body

    object | application/json
    • code
      number
      required

    • message
      string
      required

      >= 1 characters
    • data
      object
      required

    example

    {
    "code": 200,
    "message": "SUCCESS",
    "data": {}
    }

    Quote Export PDF

    POST /rfq/{quote_id}/pdf-export

    Request

    Export quote pdf

    Authentication

    • authToken in header

    Parameters

    • quote_id in path - string
      required
      Unique quote ID

    Body

    object | application/json
    • currency
      object

    example

    {
    "currency": {
    "currencyExchangeRate": "string"
    }
    }

    Response

    OK

    Body

    object | application/json
    • code
      number
      required

    • message
      string
      required

      >= 1 characters
    • data
      object
      required

    example-1

    {
    "code": 200,
    "message": "SUCCESS",
    "data": {
    "url": "pdf url"
    }
    }

    Get Quote Extra Fields Configs

    GET /rfq/extra-fields

    Request

    Get quote extra fields configs. It is better to cache the response results to avoid frequent API requests.

    Authentication

    • authToken in header

    Parameters

    • offset in query0 - integer
      Pagination offset.
    • limit in query with default of 10 - integer
      Pagination limit.

    example

    curl --request GET \
    --url https://api-b2b.bigcommerce.com/api/v3/io/rfq/extra-fields \
    --header 'Content-Type: application/json' \
    --header 'authToken: {{token}}'

    Response

    OK

    Body

    object | application/json
    • code
      number

    • data
      array[object]

    • meta
      object

    example-1

    {
    "code": 200,
    "data": [
    {
    "id": 1,
    "uuid": "b4be8a36-98c7-48e1-9495-cb8ec302378c",
    "filedName": "test1",
    "fieldType": 0,
    "isRequired": false,
    "isUnique": false,
    "visibleToEnduser": true,
    "configType": 1,
    "defaultValue": "",
    "maximumLength": "10"
    },
    {
    "id": 2,
    "uuid": "602c4b76-426e-46ff-a098-b37a15335936",
    "filedName": "test2",
    "fieldType": 1,
    "isRequired": false,
    "isUnique": false,
    "visibleToEnduser": true,
    "configType": 1,
    "defaultValue": "",
    "maximumValue": "20"

    Get available shipping rates for quote

    GET /rfq/{quote_id}/shipping-rates

    Request

    Get available shipping rates for quote.

    Authentication

    • authToken in header

    Parameters

    • quote_id in path - string
      required
      Unique quote ID

    example

    curl --request GET \
    --url 'https://api-b2b.bigcommerce.com/api/v3/io/rfq/[quote_id]/shipping-rates' \
    --header 'Content-Type: application/json' \
    --header 'authToken: {{token}}'

    Response

    OK

    Body

    object | application/json
    • code
      number

    • data
      array[object]

    • meta
      object

    Success

    {
    "code": 200,
    "data": [
    {
    "shippingMethodId": "07a4b3bc067385847b04d80d430486d9",
    "type": "shipping_flatrate",
    "description": "Flat Rate",
    "cost": 10
    }
    ],
    "meta": {
    "message": "SUCCESS"
    }
    }

    Get all B2B quote custom shipping methods

    GET /rfq/custom/shipping-methods

    Request

    Get all B2B quote custom shipping methods.

    Authentication

    • authToken in header

    example

    curl --request GET \
    --url https://api-b2b.bigcommerce.com/api/v3/io/rfq/custom/shipping-methods \
    --header 'Content-Type: application/json' \
    --header 'authToken: {{token}}'

    Response

    OK

    Body

    object | application/json
    • code
      number

    • data
      array[object]

    • meta
      object

    Success

    {
    "code": 200,
    "data": [
    {
    "customShippingMethodName": "custom1"
    },
    {
    "customShippingMethodName": "custom2"
    }
    ],
    "meta": {
    "message": "SUCCESS"
    }
    }

    Select a shipping rate for quote

    PUT /rfq/{quote_id}/shipping-rate

    Request

    Select a shipping rate for quote.

    Authentication

    • authToken in header

    Parameters

    • quote_id in path - string
      required
      Unique quote ID

    Body

    object | application/json
    • shippingMethodId
      string

      Shipping method ID. Cannot be used with customShippingMethodName at the same time.
    • customShippingMethodName
      string

      Custom shipping method name. Cannot be used with shippingMethodId at the same time.
    • customShippingMethodCost
      number

      Custom shipping method cost. Required when using custom shipping method.
      Min: 0

    example

    {
    "shippingMethodId": "string",
    "customShippingMethodName": "string",
    "customShippingMethodCost": 0
    }

    Response

    OK

    Body

    object | application/json
    • code
      number

    • meta
      object

    Success

    {
    "code": 200,
    "meta": {
    "message": "SUCCESS"
    }
    }

    Remove selected shipping rate for quote

    DELETE /rfq/{quote_id}/shipping-rate

    Request

    Remove selected shipping rate for quote.

    Authentication

    • authToken in header

    Parameters

    • quote_id in path - string
      required
      Unique quote ID

    example

    curl --request DELETE \
    --url 'https://api-b2b.bigcommerce.com/api/v3/io/rfq/[quote_id]/shipping-rate' \
    --header 'Content-Type: application/json' \
    --header 'authToken: {{token}}'

    Response

    OK

    See something you can improve? Edit this file on GitHub

    Did you find what you were looking for?