The CData Sync App provides a straightforward way to continuously pipeline your BigCommerce data to any database, data lake, or data warehouse, making it easily available for Analytics, Reporting, AI, and Machine Learning.
The BigCommerce connector can be used from the CData Sync application to pull data from BigCommerce and move it to any of the supported destinations.
Create a connection to BigCommerce by navigating to the Connections page in the Sync App application and selecting the corresponding icon in the Add Connections panel. If the BigCommerce icon is not available, click the Add More icon to download and install the BigCommerce connector from the CData site.
Required properties are listed under the Settings tab. The Advanced tab lists connection properties that are not typically required.
BigCommerce authentication is based on the standard OAuth flow.
In order to connect to your BigCommerce Store, you will need your StoreId. To find your Store Id please follow these steps:
Additionally, you must obtain a personal token to test and to access your own data. To obtain the personal token, follow the steps below:
Generating an Access Token
To obtain an OAuthClientId, OAuthClientSecret, and OAuthAccessToken directly from your BigCommerce account's UI:
Your newly created app's Client ID, Client Secret, Access Token, and Store Id are displayed on the screen. Make sure to copy them, since this is the only time you have access to these credentials. You can now use these credentials to connect to BigCommerce by setting the following connection properties:
For additional information on how to find your BigCommerce's Store Id, please see Establishing a Connection.
Note that in all these cases, you must set the AuthScheme to OAuth. The following sections assume that you have done so.
Creating an app is more complicated than generating a single OAuthAccess Token, but may be more desireable for client integrations where your design is to connect or allow access to multiple clients, or an administrative scenario where the admin creates an app to be authorized individually by multiple individual users.
Follow the steps below to authenticate with the credentials for a custom OAuth app. See "Generating an Access Token" above for more information.
Get an OAuth Access Token
After setting the following properties, you are ready to connect:
When connecting via a Web application, you need to register a custom OAuth app with BigCommerce. See "Generating an Access Token" above for more information. You can then use the Sync App to get and manage the OAuth token values.
Get an OAuth Access Token
Set the following connection properties to obtain the OAuthAccessToken:
You can then call stored procedures to complete the OAuth exchange:
The stored procedure returns the URL to the OAuth endpoint.
To connect to data, set the OAuthAccessToken connection property to the access token returned by the stored procedure. When the access token expires after ExpiresIn seconds, call GetOAuthAccessToken again to obtain a new access token.
To configure the driver to use OAuth with a user account on a headless machine, you need to authenticate on another device that has an internet browser.
Option 1: Obtain and Exchange a Verifier Code
To obtain a verifier code, you must authenticate at the OAuth authorization URL.
Follow the steps below to authenticate from the machine with an internet browser and obtain the OAuthVerifier connection property.
On the headless machine, set the following connection properties to obtain the OAuth authentication values:
After the OAuth settings file is generated, you need to re-set the following properties to connect:
Option 2: Transfer OAuth Settings
Prior to connecting on a headless machine, you need to create and install a connection with the driver on a device that supports an internet browser. Set the connection properties as described in "Desktop Applications" above.
After completing the instructions in "Desktop Applications", the resulting authentication values are encrypted and written to the path specified by OAuthSettingsLocation. The default filename is OAuthSettings.txt.
Once you have successfully tested the connection, copy the OAuth settings file to your headless machine.
On the headless machine, set the following connection properties to connect to data:
This section details a selection of advanced features of the BigCommerce Sync App.
The Sync App allows you to define virtual tables, called user defined views, whose contents are decided by a pre-configured query. These views are useful when you cannot directly control queries being issued to the drivers. See User Defined Views for an overview of creating and configuring custom views.
Use SSL Configuration to adjust how Sync App handles TLS/SSL certificate negotiations. You can choose from various certificate formats; see the SSLServerCert property under "Connection String Options" for more information.
Configure the Sync App for compliance with Firewall and Proxy, including Windows proxies and HTTP proxies. You can also set up tunnel connections.
The Sync App offloads as much of the SELECT statement processing as possible to BigCommerce and then processes the rest of the query in memory (client-side).
See Query Processing for more information.
See Logging for an overview of configuration settings that can be used to refine CData logging. For basic logging, you only need to set two connection properties, but there are numerous features that support more refined logging, where you can select subsets of information to be logged using the LogModules connection property.
By default, the Sync App attempts to negotiate SSL/TLS by checking the server's certificate against the system's trusted certificate store.
To specify another certificate, see the SSLServerCert property for the available formats to do so.
To connect through the Windows system proxy, you do not need to set any additional connection properties. To connect to other proxies, set ProxyAutoDetect to false.
In addition, to authenticate to an HTTP proxy, set ProxyAuthScheme, ProxyUser, and ProxyPassword, in addition to ProxyServer and ProxyPort.
Set the following properties:
This section shows the available API objects and provides more information on executing SQL to BigCommerce APIs.
Pre-defined Tables and Views are available for read or write access to data from BigCommerce.
The Sync App allows you to list your BigCommerce objects and download/upload data to them via Stored Procedures.
System Tables contains information about the objects and resources belonging to your database.
The Sync App models the data in BigCommerce into a list of tables that can be queried using standard SQL statements.
Generally, querying BigCommerce tables is the same as querying a table in a relational database. Sometimes there are special cases, for example, including a certain column in the WHERE clause might be required to get data for certain columns in the table. This is typically needed for situations where a separate request must be made for each row to get certain columns. These types of situations are clearly documented at the top of the table page linked below.
Name | Description |
Categories | Returns Product Categories. |
ChannelListings | Returns a list of all Channel Listings for a specific channel |
Channels | GET,CREATE,UPDATE Channels |
Currencies | Returns data from Currencies table. |
CustomerAddresses | Returns a list of Customer Addresses. Returns the addresses belonging to a customer. |
Customers | Returns data from Customers table. |
OrderItems | Returns Items ordered for every order. |
Orders | Returns data from Orders table. |
OrderShipments | Returns shipments and their corresponding orders. |
PriceListRecords | Returns a collection of price List records |
PriceLists | Returns a collection of price records |
ProductImages | Returns images registered for products. |
ProductOptions | Returns data from Products table. |
ProductOptionValues | Returns data from Products table. |
ProductReviews | Returns reviews registered for products. |
Products | Returns data from products table. |
ProductVariants | Returns data from Products table. |
Returns Product Categories.
Name | Type | ReadOnly | Description |
Id [KEY] | Integer | True |
The Id of this product category. |
ParentId | Integer | False |
The Id of the category. |
Name | String | False |
Name of the this category. |
Description | String | False |
System name of the type of order status. |
Views | Integer | False |
Number of views the category has on the storefront. |
SortOrder | Integer | False |
Priority this category will be given when included in the menu and category pages. |
PageTitle | String | False |
Custom title for the category page. |
MetaKeywords | String | False |
Custom meta keywords for the category page. |
MetaDescription | String | False |
Custom meta description for the category page. |
LayoutFile | String | False |
A valid layout file. |
ImageUrl | String | False |
Image URL used for this category on the storefront. |
IsVisible | Boolean | False |
Flag to determine whether the product should be displayed to customers browsing the store. |
SearchKeywords | String | False |
A comma-separated list of keywords that can be used to locate the category when searching the store. |
DefaultProductSort | String | False |
Determines how the products are sorted on category page load. |
UrlPath | String | False |
URL Path. |
IsCustomized | Boolean | False |
Flag to determine whether the url is customized. |
Returns a list of all Channel Listings for a specific channel
The Sync App will use the BigCommerce API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
ChannelId or (ChannelId and ListingId) are required for select.
For example, the following queries are processed server side:
select * FROM ChannelListings WHERE ChannelId=667159 AND ListingId=882998595
To insert a new ChannelListings, you need to specify at least the following columns: Productid,State,Variants,ChannelId and Name with valid combinations
INSERT INTO ChannelListings (Productid,State,Variants,ChannelId) values(12345,'active','test',667159)
UPDATE ChannelListings SET name ='Test' WHERE ChannelId=667159
Name | Type | ReadOnly | Description |
Listingid [KEY] | Long | True |
The ID of the channel listing that has been created, returned, or updated |
ChannelId | Integer | True |
The ID of the channel associated with this channel listing |
Datecreated | Datetime | True |
Date on which the channel listing was first created |
Datemodified | Datetime | True |
Date on which the channel listing was most recently changed |
Name | String | False |
Name of the product for this channel listing specifically This is an optional field that can be used to override the product name in the catalog |
Description | String | True |
Description of the product for this channel listing specifically This is an optional field that can be used to override the product description in the catalog |
Productid | Integer | False |
The ID of the product associated with this channel listing |
State | String | False |
The state of the product assignment or channel listing |
Variants | String | False |
Varriatns |
GET,CREATE,UPDATE Channels
The Sync App will use the BigCommerce API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM Channels
To insert a new Channel, you need to specify at least the following columns: Name, Type, Platform, Status and Name with valid combinations
INSERT INTO Channels (Type,Platform,Status,Name) Values('pos','square','active','tests');
UPDATE Channels SET Name='tests' WHERE ID=123
Name | Type | ReadOnly | Description |
Id [KEY] | Integer | True |
The ID of the channel. |
ConfigMetaAppId | Integer | False |
The unique id given to an app registered in DevTools |
sections | String | False |
If set, when the app is loaded within the control panel, the navigation sections will be directly embedded in the control panel navigation |
Datecreated | Datetime | True |
Date on which the channel was first create |
Datemodified | Datetime | True |
Date on which the channel was most recently changed |
Externalid | String | False |
Associated ID within a system / platform outside of BC |
Iconurl | String | False |
Link to the platform icon |
Isenabled | Boolean | False |
Channel with status of prelaunch, active, or connected will have is_enabled set to true. Channel with status of inactive, disconnected, archived, deleted, or terminated will have is_enabled set to false |
IslistableFromUi | Boolean | False |
Indicates if a channel can create listings from the BigCommerce UI. Default value for this field is based on the channel type and platform combination if not specified on create |
Isvisible | Boolean | False |
Indicates if a channel is visible within the BigCommerce merchant admin UI (control panel). If false, the channel will not show in Channel Manager nor in any channels dropdown throughout the UI. Default value for this field is true if not specified on create |
Name | String | False |
Name of the channel as it will appear to merchants in the control panel |
Platform | String | False |
The name of the platform for the channel channel platform and type must be a valid combination |
Status | String | False |
The status of the channel channel type, platform, and status must be a valid combination. terminated is not valid for Update or Insert requests |
Type | String | False |
The type of channel channel platform and type must be a valid combinations |
Returns data from Currencies table.
Name | Type | ReadOnly | Description |
Id [KEY] | Integer | True |
Id of the currency. |
IsDefault | Boolean | True |
Specifies whether this is the store's default currency. |
Code | String | False |
Three-letter ISO 4217 code for this currency. |
Name | String | False |
Name of this currency. |
ExchangeRate | Double | False |
Amount of this currency that is equivalent to one U.S. dollar. |
CountryIso | String | False |
Two-letter ISO Alpha-2 code. |
AutoUpdate | Boolean | False |
Whether to autoupdate currency data. |
TokenLocation | String | False |
Symbol for this currency. |
Token | String | False |
Name of the currency. |
DecimalToken | String | False |
Symbol used as the decimal separator in this currency. |
ThousandsToken | String | False |
Symbol used as the thousands separator in this currency. |
DecimalPlaces | Integer | False |
Number of decimal places to show for this currency. |
Returns a list of Customer Addresses. Returns the addresses belonging to a customer.
The Sync App will use the BigCommerce API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM CustomerAddresses SELECT * FROM CustomerAddresses WHERE Id = 1 SELECT * FROM CustomerAddresses WHERE CustomerId = 5
Name | Type | ReadOnly | Description |
Id [KEY] | Integer | False |
ID of this customer address. |
CustomerId | Integer | False |
ID of the associated customer. |
FirstName | String | False |
The customers first name. |
LastName | String | False |
The customers last name. |
Company | String | False |
The customers company name. |
Address1 | String | False |
The customers street address, line 1. |
Address2 | String | False |
The customers street address, line 2. |
City | String | False |
The customers city/town/suburb. |
StateOrProvince | String | False |
The customers state/province. |
PostalCode | String | False |
The customers ZIP or postal code. |
Country | String | False |
The customers country. Must be the full country name. |
CountryCode | String | False |
2-letter ISO Alpha-2 code for the customers country. |
Phone | String | False |
The customers phone number. |
AddressType | String | False |
The type of the address. |
Returns data from Customers table.
Name | Type | ReadOnly | Description |
Id [KEY] | Integer | True |
Unique numeric ID of this customer. |
Company | String | False |
The name of the company for which the customer works. |
FirstName | String | False |
First name of the customer. |
LastName | String | False |
Last name of the customer. |
String | False |
Email address of the customer. | |
Phone | String | False |
Phone number of the customer. |
DateCreated | Datetime | True |
Date on which the customer registered from the storefront or was created in the control panel. |
DateModified | Datetime | True |
The date on which the customer was modified. |
CustomerGroup | Integer | False |
The group to which the customer belongs. |
Notes | String | False |
Store Owner notes on the customer. |
TaxExemptCategory | String | False |
Used to identify customers who fall into special sales-tax categories. |
StoreCreditAmounts | String | False |
Amount of Store Credit |
RegistrationIpAddress | String | False |
The IP address from which this customer was registered. |
AcceptsProductReviewAbandonedCartEmails | Boolean | True |
Determines if the customer is signed up to receive either product review or abandoned cart emails or receive both emails. |
ForcePasswordReset | Boolean | True |
If true,this customer will be forced to change password on next login. |
Returns Items ordered for every order.
To insert an existing product to the OrderItems for a specified Order, order options for that table must be specified. For this reason, before inserting an existing product to the OrderItems, you need to populate a temporary OrderItemOptionValues table with the desired options for the selected product and use this table as a value for the LinkedOrderOptions Pseudo-Column during insertion:
INSERT INTO OrderItemOptionValues#TEMP (Id,Value) Values (117,177); INSERT INTO OrderItemOptionValues#TEMP (Id,Value) Values (116,176); INSERT INTO OrderItems (OrderId,ProductId,QuantityOrdered, LinkedOrderOptions) VALUES (1104,960,3, OrderItemOptionValues#TEMP)");
Note: The OrderItemOptionValue inserted to the temporary table must belong to the product that is being inserted into OrderItems. To verify this, check the ProductOptionValues table.
New, custom products, can be added to the OrderItems table as follows:
INSERT INTO OrderItems (OrderId,Name,CustomSKU,PriceIncTax,PriceExTax,QuantityOrdered) VALUES (1107,'TSS Phone Case','PHC-232453',6.55,5.75,1);
Note: OrderItems does not allow for Updates or Deletes. Once items have been added to an order, they cannot be removed or modified.
Name | Type | ReadOnly | Description |
Id [KEY] | Integer | True |
Numeric ID of this product within this order. |
ProductId | Integer | False |
Numeric ID of the product. |
CustomSKU | String | False |
User defined product code/stock keeping unit (SKU). |
OrderId | Integer | False |
Numeric ID of the associated order. |
Name | String | False |
The product name. |
PriceExTax | Decimal | False |
The price of the product, excluding tax. |
PriceIncTax | Decimal | False |
The price of the product, including tax. |
QuantityOrdered | Integer | False |
Quantity of the product ordered. |
QuantityShipped | Integer | True |
Quantity of the product shipped. |
TotalExtax | Decimal | True |
Total base price, excluding tax. |
TotalIncTax | Decimal | True |
Total base price, including tax. |
IsRefunded | Boolean | True |
Whether the product has been refunded. |
ExternalId | Integer | False |
ID of the order in another system. |
AppliedDiscounts | String | True |
Array of objects containing discounts applied to the product. |
Pseudo column fields are used to enable the user to INSERT Fields that are non-readable but required during creation of new records.
Name | Type | Description |
LinkedOrderOptions | String |
Column for the aggregate table name holding option values. |
Returns data from Orders table.
To insert a new Order, at least one order item is required to be attached to the INSERT query for this order. To do so, you can first populate a temporary OrderItems table with the desired items for the order you are about to create, and later using this table as a value for the LinkedProducts Pseudo-Columns during insertion:
INSERT INTO OrderItems#TEMP (ProductId,QuantityOrdered) VALUES (961,4); INSERT INTO OrderItems#TEMP (ProductId,QuantityOrdered) VALUES (962,3); INSERT INTO Orders (CustomerId,LinkedProducts, BillingFirstName,BillingLastName,BillingCompany, BillingCountry, BillingZip,BillingState,BillingEmail,BillingPhone) VALUES (10002, OrderItems#TEMP, 'TSS','Dev','London Corp.', 'United Kingdom', 23433,'London','[email protected]','+355534445');
Name | Type | ReadOnly | Description |
Id [KEY] | Integer | True |
The Id of the order. |
CustomerId | String | False |
The Id of the customer assigned to this order. |
DateCreated | Datetime | True |
The date of creation for the order. |
DateModified | Datetime | True |
The last modification date of the order. |
DateShipped | Datetime | True |
The date of shipment for the order. |
StatusId | String | True |
The Id of the status for this order. |
CartId | String | True |
The Id of the cart from which this order is assigned. |
Status | String | True |
Order Statuses. |
TotalTax | String | True |
The total value of the order. |
SubtotalTax | String | True |
The value for subtotal tax. |
SubtotalExTax | Decimal | False |
The value for subtotal, excluding tax. |
SubtotalIncTax | Decimal | False |
The value for subtotal, including tax. |
ShippingCostExTax | Decimal | False |
The value of shipping cost, excluding tax. |
ShippingCostIncTax | Decimal | False |
The value of shipping cost, including tax. |
HandlingCostExTax | Decimal | False |
The value of handling cost, excluding tax. |
HandlingCostIncTax | Decimal | False |
The value of handling cost, including tax. |
IpAddress | String | False |
IPv4 Address of the customer, if known. |
WrappingCostExTax | Decimal | False |
The value of wrapping cost, excluding tax. |
WrappingCostIncTax | Decimal | False |
The value of wrapping cost, including tax. |
TotalExTax | Decimal | False |
The total value of the order, excluding tax. |
TotalIncTax | Decimal | False |
The total value of the order, including tax. |
HandlingCostTax | String | True |
The value of handling cost. |
HandlingCostTaxClassId | Integer | True |
The Id of handling cost. |
ShippingCostTax | String | True |
The value of shipping cost. |
ItemsTotal | Integer | True |
The total number of items in the order. |
ItemsShipped | Integer | True |
The total number of items that have been shipped. |
PaymentMethod | String | True |
The payment method for this order. |
PaymentProviderId | String | False |
The external Transaction ID/Payment ID within this order's payment provider (if a payment provider was used). |
PaymentStatus | String | True |
The payment status for this order. |
RefundedAmount | Decimal | False |
The amount refunded from this transaction. |
GiftCertificateAmount | String | True |
Gift Certificate Amount. |
CurrencyId | String | True |
The ID of the currency being used in this transaction. |
CurrencyCode | String | True |
The currency code of the display currency. |
CurrencyExchangeRate | String | True |
The exchange rate between the default currency and display currency of store. |
DefaultCurrencyId | String | True |
The ID of the default currency for the store. |
DefaultCurrencyCode | String | False |
The currency code of the transactional currency the shopper pays in. |
StaffNotes | String | False |
Any additional notes for staff. |
CustomerMessage | String | False |
Message that the customer entered. |
DiscountAmt | Decimal | False |
Amount of discount for this transaction. |
EbayOrderId | String | False |
Ebay order number if order is placed through Ebay. |
GeoIpCountryIso2 | String | False |
The country where the customer made the purchase, in ISO2 format. |
ShippingAddressCount | Integer | True |
The number of shipping addresses associated with this transaction. |
CouponDiscount | String | True |
Discount of the coupon. |
OrderSource | String | True |
Source of the order. |
IsDeleted | Boolean | True |
Indicates whether the order was deleted (archived). |
OrderIsDigital | Boolean | True |
Indicates whether this is an order for digital products. |
ExternalSource | String | False |
A value identifying the system used to generate the order (for orders submitted or modified via the API). |
ExternalId | String | False |
ID of the order in another system. |
ExternalMerchantId | String | False |
Id of the external merchant. |
ChannelId | String | False |
Shows where the order originated. |
TaxProviderId | String | False |
BasicTaxProvider - Tax is set to manual; AvaTaxProvider - This is for when the tax provider has been set to automatic and the order was NOT created by the API; (blank) - When the tax provider is unknown. |
ProductsUrl | String | False |
Url of the products. |
ProductsResource | String | False |
Resource of the products. |
BillingFirstName | String | False |
Addressee first name. |
BillingLastName | String | False |
Addressee last name. |
BillingCompany | String | False |
Addressee company. |
BillingStreet1 | String | False |
Street address (first line). |
BillingStreet2 | String | False |
Street address (second line). |
BillingCity | String | False |
Addressee city |
BillingZip | String | False |
ZIP or postal code |
BillingCountry | String | False |
Addressee's country |
BillingCountryIso2 | String | False |
Addressee's country code |
BillingState | String | False |
The name of the state or province. Should be spelled out in full, for example, California. |
BillingEmail | String | False |
Recipient's email address. |
BillingPhone | String | False |
Recipient's telephone number. |
BaseHandlingCost | String | False |
The value of the base handling cost. |
BaseShippingCost | String | False |
The value of the base shipping cost. |
BaseWrappingCost | String | False |
The value of the base wrapping cost. |
Pseudo column fields are used to enable the user to INSERT Fields that are non-readable but required during creation of new records.
Name | Type | Description |
LinkedProducts | String |
Column for the aggregate table name holding order products. |
Returns shipments and their corresponding orders.
To insert a new Order Shipment, at least one Shipment Item is required to be attached to the INSERT query. For this reason, you can first populate a temporary ShipmentItems table with the desired items for the shipment you are about to create, and later using this table as a value for the LinkedProducts Pseudo-Columns during insertion:
INSERT INTO ShipmentItems#TEMP (Id,Quantity) Values (2519,1); INSERT INTO OrderShipments (OrderId,OrderAddressId,LinkedProducts) VALUES (1106,1007,ShipmentItems#TEMP);
Name | Type | ReadOnly | Description |
Id [KEY] | Integer | True |
Numeric ID of this shipment within this order. |
OrderId | Integer | False |
Numeric ID of the associated order. |
DateCreated | Datetime | True |
Creation date for the shipment. |
TrackingNumber | String | False |
Tracking number of the shipment. |
TrackingCarrier | String | False |
Tracking carrier for the shipment. |
TrackingLink | String | True |
Returns a tracking link from the shipping service. |
ShippingProvider | String | False |
Enum of the BigCommerce shipping-carrier integration/module. |
ShippingMethod | String | False |
Enum of the BigCommerce shipping-carrier integration/module. |
Comments | String | False |
Comments the shipper wishes to add. |
OrderAddressId | Integer | False |
ID of this shipping address. |
Pseudo column fields are used to enable the user to INSERT Fields that are non-readable but required during creation of new records.
Name | Type | Description |
LinkedProducts | String |
Column for the aggregate table name holding order products. |
Returns a collection of price List records
The Sync App will use the BigCommerce API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
PriceListId or (PriceListId and VariantId and Currency) are required for select.
For example, the following queries are processed server side:
SELECT * FROM PriceListRecords Where PriceListId IN (Select Id from PriceLists) SELECT * FROM PriceListRecords WHERE PriceListId = 1 SELECT * FROM PriceListRecords WHERE PriceListId=1 AND SalePrice=23 SELECT * FROM PriceListRecords where PriceListId=1 AND MapPrice=17.99 SELECT * FROM PriceListRecords where PriceListId=1 AND VariantId=361 AND Currency='USD'
To Update a new PriceListRecord, you need to specify at least the following columns:VariantId,Currency,Price,PriceListId
Insert into PriceListRecords#TEMP(VariantId,Currency,Price,SalePrice,PriceListId) values (361,'USD',27,23,1) Insert into PriceListRecords#TEMP(VariantId,Currency,Price,SalePrice,PriceListId) values (362,'USD',28,24,1) UPDATE PriceListRecords (VariantId,Currency,Price,SalePrice) Select VariantId,Currency,Price,SalePrice from PriceListRecords#TEMP
Bulk Update Using Aggregates.
Insert into PriceListRecords#TEMP(VariantId,Currency,Price,SalePrice,PriceListId,BulkPricingTiers) values (361,'USD',27,23,1, '{ \"quantity_min\": 10," \"quantity_max\" : 12," \"type\" : \"percent\"," \"amount\": 1 }' UPDATE PriceListRecords (VariantId,Currency,Price,SalePrice,BulkPricingTiers) Select VariantId,Currency,Price,SalePrice,BulkPricingTiers from PriceListRecords#TEMP
Name | Type | ReadOnly | Description |
CalculatedPrice | Double | True |
The price of the variant as seen on the storefront if a price record is in effect |
DateCreated | Datetime | True |
The date of creation for the Price Entry. |
DateModified | Datetime | True |
The last modification date of the Price Entry. |
ProductId | Integer | True |
The id of the Product this Price Record's variant_id is associated with. |
PriceListId [KEY] | Integer | True |
The Price List ID with which this price set is associated |
VariantId [KEY] | Integer | False |
The variant with which this price set is associated. |
Sku | String | False |
The variant with which this price set is associated |
Currency [KEY] | String | False |
The 3-letter currency code with which this price set is associated |
Price | Double | False |
The list price for the variant mapped in a Price List |
SalePrice | Double | False |
The sale price for the variant mapped in a Price List |
RetailPrice | Double | False |
The retail price for the variant mapped in a Price List |
MapPrice | Double | False |
The MAP (Manufacturers Advertised Price) for the variant mapped in a Price List |
BulkPricingTiers | Integer | False |
The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing |
QuantityMin | Integer | False |
The minimum quantity of associated variant in the cart needed to qualify for this tiers pricing |
QuantityMax | Integer | False |
The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. |
QuantityType | String | False |
The type of adjustment that is made. |
QuantityAmount | Double | False |
The maximum allowed quantity of associated variant in the cart to qualify for this tiers pricing. |
Returns a collection of price records
The Sync App will use the BigCommerce API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM PriceLists SELECT * FROM PriceLists WHERE Id = 1 SELECT * FROM PriceLists WHERE DateCreated = '2021-05-26' SELECT * FROM PriceLists WHERE DateModified = '2021-05-26' SELECT * FROM PriceLists WHERE Name LIKE 'Wholesale group1'
To insert a new PriceList, you need to specify the following columns: Name and Active
INSERT INTO PriceLists (Name,Active) VALUES ('Wholesalegroup',false)
To Update the PriceList, you need to specify the following columns: Name and ID
UPDATE PriceLists SET Name = 'Wholesalegroup' WHERE Id = '4'
To Delete the PriceList, you need to specify the following columns:ID
DELETE From PriceLists WHERE Id = '4'
Name | Type | ReadOnly | Description |
Id [KEY] | Integer | True |
ID of the PriceList. |
Active | Boolean | False |
The status of the PriceList. |
DateCreated | Datetime | True |
The date of creation for the PriceList. |
DateModified | Datetime | True |
The last modification date of the PriceList. |
Name | String | False |
The name of the PriceList. |
Returns images registered for products.
There are two alternatives to inserting new product images for BigCommerce, ImageFile and ImageUrl.
To insert a new Product Image using ImageFile, you only need the ProductId and the local path of your ImageFile written as a string using forward slashes as directory separators. BigCommerce does not allow for additional parameters when inserting an image using ImageFile. Trying to do so, will return an error.
INSERT INTO ProductImages (ProductId, ImageFile) VALUES (963,'C:/dev/tests/v19/ProviderBigCommerce/DDHU.jpg');
In addition to using ImageFiles, you can add Product Images by using ImageUrl-s of images on the Web. When inserting by ImageUrl-s, you can add additional fields to your query such as Description, SortOrder, and IsThumbnail..
INSERT INTO ProductImages (ProductId, ImageUrl) VALUES (955,'http://oi50.tinypic.com/kexbfq.jpg');
Name | Type | ReadOnly | Description |
Id [KEY] | Integer | False |
The Id of the image. |
ProductId [KEY] | Integer | False |
The Id of the corresponding product. |
ImageFile | String | False |
The local path to the original image file uploaded to BigCommerce. |
StandardUrl | String | False |
Standard Image URL for the product. |
ThumbnailUrl | String | False |
The thumbnail URL for this image. By default, this is the image size used on the category page and in side panels. |
IsThumbnail | Boolean | False |
Flag for identifying whether the image is used as the product's thumbnail. |
SortOrder | Integer | False |
The order in which the image will be displayed on the product page. |
Description | String | False |
The description for the image. |
DateModified | Datetime | True |
The last modification date of the image. |
Pseudo column fields are used to enable the user to INSERT Fields that are non-readable but required during creation of new records.
Name | Type | Description |
ImageUrl | String |
The local path to the original image file to be uploaded to BigCommerce. |
Returns data from Products table.
To insert a new ProductOption, a set of OptionValues are required to be inserted along with it. This can be done by populating a temporary ProductOptionValues table with the desired values for the option you are creating, and later using this table as a value for the LinkedOptionValues Pseudo-Columns during insertion:
INSERT INTO ProductOptionValues#TEMP (Label,SortOrder,IsDefault) VALUES ('Classic',0,true); INSERT INTO ProductOptionValues#TEMP (Label,SortOrder,IsDefault) VALUES ('Elegance',1,false); INSERT INTO ProductOptionValues#TEMP (Label,SortOrder,IsDefault) VALUES ('Avantgarde',2,false); INSERT INTO ProductOptions (ProductId, DisplayName,Type,Name,SortOrder,LinkedOptionValues) VALUES (955,'ModelSeries','dropdown','Series',0,ProductOptionValues#TEMP);
Name | Type | ReadOnly | Description |
Id [KEY] | Integer | True |
The ID of the option. |
ProductId [KEY] | Integer | True |
The ID of the product. |
DisplayName | String | False |
The name of the option shown on the storefront. |
Name | String | False |
The unique option name, auto-generated from the display name, a timestamp, and the product ID. |
Type | String | False |
The type of option, which determines how it will display on the storefront. Acceptable values: radio_buttons, rectangles, dropdown, product_list, product_list_with_images, swatch. |
SortOrder | Integer | False |
The order in which the option will be displayed on the product page. |
Pseudo column fields are used to enable the user to INSERT Fields that are non-readable but required during creation of new records.
Name | Type | Description |
LinkedOptionValues | String |
Column for the aggregate table name holding option values. |
Returns data from Products table.
Name | Type | ReadOnly | Description |
Id [KEY] | Integer | True |
The ID of the option value. |
OptionId [KEY] | Integer | False |
The ID of the option. |
ProductId [KEY] | Integer | False |
The ID of the product. |
Label | String | False |
The label of the option value shown on the storefront. |
IsDefault | Boolean | False |
Whether this option value is the default for this option. |
SortOrder | Integer | False |
The order in which the option value will be displayed on the product page. |
Returns reviews registered for products.
Name | Type | ReadOnly | Description |
Id [KEY] | Integer | False |
The Id of the review. |
ProductId [KEY] | Integer | True |
The Id of the corresponding product. |
Title | String | False |
Title of the review. |
Text | String | False |
Text content of the review. |
Status | String | False |
The status of the product review. Must be one of approved, disapproved, or pending. |
Rating | Integer | False |
The rating of the product review. Must be one of 0, 1, 2, 3, 4, or 5. |
String | False |
The email of the reviewer. Must be a valid email, or an empty string. | |
Name | String | False |
The name of the reviewer. |
DateCreated | Datetime | True |
The date of creation for the review. |
DateModified | Datetime | True |
The last modification date of the review. |
DateReviewed | Datetime | False |
Date the product was reviewed. |
Returns data from products table.
The Sync App will use the BigCommerce API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM Products SELECT * FROM Products WHERE Id > 5 AND Id < 10 SELECT * FROM Products WHERE IsVisible = "true" AND DateCreated >= "2020-01-01" AND DateCreated <= "2020-02-01"
To insert a new Product, you need to specify at least the following columns: Name, Type, Description, Price, Categories, Availability and Weight
INSERT INTO Products (Name, Type, Description, Price, Categories, Availability, Weight) VALUES ("Plain T-Shirt","physical","This is a test description",29.99,18,"available",0.5)
Inserting Products with more than one Variants using Temp table or Aggregegates.
Insert into ProductVariantValues#TEMP(Label, DisplayName, id) Values('Blue','Color', 1) Insert into ProductVariantValues#TEMP(Label, DisplayName, id) Values('Yellow','Color', 2) Insert into ProductVariants#TEMP(SKU, LinkedOptionValues, id) Values('SKU-AB', 'ProductVariantValues#TEMP', 1) Insert into ProductVariants#TEMP(SKU, LinkedOptionValues, id) Values('SKU-CD', 'ProductVariantValues#TEMP', 2) Insert into Products(Name, Type, Weight, Price, ProductVariants) Values('BC-8', 'physical',60,5700,'ProductVariants#TEMP')
INSERT INTO Products (Name, Type, Weight, Price, ProductVariants) VALUES ('BC-95', 'physical', 99, 5800, '[{"sku": "SKU-MM","option_values": [{"option_display_name": "Song","id": "1","label": "Mary"}]},{"sku": "SKU-DE","option_values": [{"option_display_name": "Song","id": "2","label": "Jane"}]}]')
Inserting Products with one Variant
Insert into ProductVariantValues#TEMP(Label, DisplayName) Values('Blue','Color') Insert into ProductVariants#TEMP(SKU, LinkedOptionValues) Values('SKU-AB', 'ProductVariantValues#TEMP') Insert into Products(Name, Type, Weight, Price, ProductVariants) Values('BC-8', 'physical',60,5700,'ProductVariants#TEMP')
Insert into Update#TEMP(Description,id,name,sku,categories,RelatedProducts,MetaKeywords,IsCustomized,Url) values ('my_details','80','hello123','OTL','19,23','1,2','"pqr","xyz"',false,'/orbit-terrarium-large/' Insert into Update#TEMP(Description,id,name,sku,categories,RelatedProducts,MetaKeywords,IsCustomized,Url) values ('my_details1','86','example','ABS','23,21','3,4','"abc","an"',false,'/able-brewing-system/' UPDATE products (Description,id,name,sku,categories,RelatedProducts,MetaKeywords,IsCustomized,Url) SELECT Description,id,name,sku,categories,RelatedProducts,MetaKeywords,IsCustomized,Url FROM Update#TEMP
Bulk Update Using Aggregates.
Insert into Update#TEMP(Description,id,name,sku,categories,RelatedProducts,MetaKeywords,CustomUrl) values ('details1','77','name4456','SLCTBS','23,18','10','"abcd","ab"', '{ "is_customized": False, "url" : "/fog-linen-chambray-towel-beige-stripe/" }') UPDATE products (Description,id,name,sku,categories,RelatedProducts,CustomUrl) SELECT Description,id,name,sku,categories,RelatedProducts,CustomUrl FROM Update#TEMP
Name | Type | ReadOnly | Description |
Id [KEY] | Integer | True |
The Id of the product. |
Name | String | False |
The product name. |
Type | String | False |
The product type. |
Sku | String | True |
User-defined product code/stock keeping unit (SKU) |
Description | String | False |
Product description, which can include HTML formatting. |
SearchKeywords | String | False |
A comma-separated list of keywords that can be used to locate the product when searching the store. |
AvailabilityDescription | String | False |
Availability text, displayed on the checkout page under the product title, telling the customer how long it will normally take to ship this product. |
Price | Decimal | False |
The products price. |
CostPrice | Decimal | False |
The products cost price. |
RetailPrice | Decimal | False |
The products retail cost. |
SalePrice | Decimal | False |
Sale price. |
ProductTaxCode | String | False |
Tax Codes. |
CalculatedPrice | Decimal | True |
Price as displayed to guests, adjusted for applicable sales and rules. |
SortOrder | Integer | False |
Priority to give this product when included in product lists on category pages and in search results. |
IsVisible | Boolean | False |
Flag to determine whether or not the product should be displayed to customers browsing. |
IsFeatured | Boolean | False |
Flag to determine whether the product should be included in the featured products panel for shoppers viewing the store. |
RelatedProducts | String | False |
Defaults to -1, which causes the store to automatically generate a list of related products. |
InventoryLevel | String | False |
Current inventory level of the product. |
InventoryWarningLevel | String | False |
Inventory Warning level for the product. |
Warranty | String | False |
Warranty information displayed on the product page. |
Weight | Decimal | False |
Weight of the product, which can be used when calculating shipping costs. |
Width | Decimal | False |
Width of the product, which can be used when calculating shipping costs. |
Height | Decimal | False |
Height of the product, which can be used when calculating shipping costs. |
Depth | Decimal | False |
Depth of the product, which can be used when calculating shipping costs. |
FixedCostShippingPrice | Decimal | False |
A fixed shipping cost for the product. |
IsFreeShipping | Boolean | False |
Flag used to indicate whether or not the product has free shipping. |
InventoryTracking | String | False |
The type of inventory tracking for the product. |
RatingTotal | Integer | False |
The total rating for the product. |
RatingCount | Integer | False |
The total number of ratings the product has had. |
TotalSold | Integer | False |
Total quantity of this product sold through transactions. |
DateCreated | Datetime | False |
The date of which the product was created. |
BrandId | Integer | True |
The products brand |
ViewCount | Integer | False |
The number of times the product has been viewed. |
PageTitle | String | False |
Custom title for the products page. |
MetaKeywords | String | False |
Custom meta keywords for the product page. |
MetaDescription | String | False |
Custom meta description for the product page. |
LayoutFile | String | False |
The layout template file used to render this product category. |
IsPriceHidden | Boolean | False |
The default false value indicates that this products price should be shown on the product page. |
PriceHiddenLabel | String | False |
By default, an empty string. If is_price_hidden is true, the value of price_hidden_label will be displayed instead of the price. |
Categories | Int[] | False |
An array of IDs for the categories this product belongs to. When updating a product, if an array of categories is supplied, then all product categories will be overwritten. |
DateModified | Datetime | False |
The date that the product was last modified. |
EventDateFieldName | String | False |
Name of the field to be displayed on the product page when selecting the event/delivery date. |
EventDateType | String | False |
Event Date type. |
EventDateStart | Datetime | False |
When the product requires the customer to select an event/delivery date, this date is used as the after date. |
EventDateEnd | Datetime | False |
When the product requires the customer to select an event/delivery date, this date is used as the before date. |
MYOBAssetAccount | String | False |
MYOB Asset Account. |
MYOBIncomeAccount | String | False |
MYOB Income Account. |
MYOBExpenseAccount | String | False |
MYOB Expense/COS Account. |
PeachtreeGlAccount | String | False |
Peachtree General Ledger Account. |
Condition | String | False |
The products condition. |
IsConditionShown | Boolean | False |
Flag used to determine whether the products condition will be shown to the customer on the product page. |
PreorderReleaseDate | Datetime | False |
Pre-order release date. |
IsPreorderOnly | Boolean | False |
If set to false, the product will not change its availability from preorder to available on the release date. |
PreorderMessage | String | False |
Custom expected-date message to display on the product page. |
OrderQuantityMinimum | Integer | False |
The minimum quantity an order must contain in order to purchase this product. |
OrderQuantityMaximum | Integer | False |
The maximum quantity an order can contain when purchasing the product. |
OpenGraphType | String | False |
Type of product. |
OpenGraphTitle | String | False |
Title of the product. If not specified, the products name will be used instead. |
OpenGraphDescription | String | False |
Description to use for the product. |
IsOpenGraphThumbnail | Boolean | False |
If set to true, the product thumbnail image will be used as the open graph image. |
UPC | String | False |
The product UPC code, which is used in feeds for shopping comparison sites. |
DateLastImported | Datetime | False |
The date on which the product was last imported using the bulk importer. |
OptionSetId | Integer | True |
The ID of the option set applied to the product. |
TaxClassId | Integer | True |
The ID of the tax class applied to the product. |
OptionSetDisplay | String | True |
The position on the product page where options from the option set will be displayed. |
BinPickingNumber | String | False |
The BIN picking number for the product. |
CustomUrl | String | False |
Custom URL (if set) overriding the structure dictated in the stores settings. |
ManufacturerPartNumber | String | False |
Manufacturer Part Number. |
IsCustomized | Boolean | False |
Returns true if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides. |
Url | String | False |
Product URL on the storefront. |
Availability | String | False |
Availability of the product. |
PrimaryImageId | Integer | True |
Id of the primary image. |
PrimaryImageStandardUrl | String | True |
Standard url of the primary image. |
Pseudo column fields are used to enable the user to INSERT Fields that are non-readable but required during creation of new records.
Name | Type | Description |
ProductVariants | String |
Variants of the Products |
Returns data from Products table.
To create a new ProductVariant, a set of OptionValues are required to be inserted along with it. This can be done by populating a temporary ProductVariantValues table with the desired values for the option you are creating, and later using this table as a value for the LinkedOptionValues Pseudo-Columns during insertion:
INSERT INTO ProductVariantValues#TEMP (Id,OptionId,Label,DisplayName) VALUES (181,118, 'Elegance', 'Series'); INSERT INTO ProductVariants (ProductId, LinkedOptionValues,SKU) VALUES (955, ProductVariantValues#TEMP, 'DSFMGG');
Name | Type | ReadOnly | Description |
Id [KEY] | Integer | True |
The ID of the product variant. |
ProductId [KEY] | Integer | True |
The ID of the product. |
SKU | String | False |
User defined product code/stock keeping unit (SKU). |
Name | String | False |
The product variant name. |
Type | String | False |
The product type. One of: physical - a physical stock unit, digital - a digital download. |
InventoryLevel | Integer | False |
Available Inventory. |
Weight | Double | False |
Weight of this product variant, which can be used when calculating shipping costs. |
Price | Decimal | False |
The price of the product variant. The price should include or exclude tax, based on the store settings. |
CostPrice | Decimal | False |
The cost price of the product variant. Stored for reference only; it is not used or displayed anywhere on the store. |
Pseudo column fields are used to enable the user to INSERT Fields that are non-readable but required during creation of new records.
Name | Type | Description |
LinkedOptionValues | String |
Column for the aggregate table name holding option values. |
Views are composed of columns and pseudo columns. Views are similar to tables in the way that data is represented; however, views do not support updates. Entities that are represented as views are typically read-only entities. Often, a stored procedure is available to update the data if such functionality is applicable to the data source.
Queries can be executed against a view as if it were a normal table, and the data that comes back is similar in that regard.
Dynamic views, such as queries exposed as views, and views for looking up specific combinations of project_team work items are supported.
Name | Description |
Blogposts | Returns all Blog Posts. |
BlogTags | Returns a list of Blog Tags. |
Brands | Gets the collection of brands. |
Coupons | Lists all coupons. |
CustomerGroups | Returns a list of Customer Groups. |
GiftCertificates | Lists all gift certificates. |
OrderCoupons | Lists all order coupons. |
OrderItemOptionValues | Returns data from OrderItems table. |
OrderMessages | Gets the messages associated with an order. |
OrderRefunds | Returns a list of refunds. |
OrderRefundsItems | List of Items refunded. |
OrderRefundsPayments | Refund payments made to payment providers. |
OrderShippingAddresses | Returns shipping addresses and their corresponding orders. |
OrderStatuses | Returns order statuses. |
OrderTaxes | Gets all order taxes related to an order. |
Pages | Lists all pages. |
PaymentMethods | Lists all payment methods. |
PriceListAssignments | Returns an array of Price List Assignments matching a particular Customer Group and Price List and Channel. |
ProductBulkPricingRules | Returns bulk pricing rules applied to a product. |
ProductCustomFields | Lists all tax classes. |
ProductRules | Returns rules that modify the properties of a product, such as weight, price, and product image. |
ProductSkus | Returns Stock Keeping Unit identifiers associated with products or product options. |
ProductVariantValues | Returns data from Products table. |
ProductVideos | Returns Embedded videos displayed on product listings. |
Redirects | Lists all redirect URLs. |
ShipmentItems | Returns data from Items within a shipment. |
ShippingMethods | Lists all shipping methods. |
ShippingZones | Lists all shipping zones. |
Stores | Lists all Stores. |
TaxClasses | Lists all tax classes. |
Transactions | Lists all transactions. |
Returns all Blog Posts.
The Sync App will use the BigCommerce API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM Blogposts SELECT * FROM Blogposts WHERE Id = "1234" SELECT * FROM Blogposts WHERE IsPublished = "true"
Name | Type | Description |
Id [KEY] | Integer | Id of the blogpost |
Title | String | Title of this blog post. |
URL | String | URL for the public blog post. |
PreviewURL | String | URL to preview the blog post. |
Body | String | Text body of the blog post. |
Summary | String | Summary of the blog post. |
IsPublished | Boolean | Whether the blog post is published. |
PublishedDate | Datetime | Date when the blogpost was published. |
PublishedTimezone | String | Timezone when the blogpost was published. |
PublishedTimezoneType | String | Type of the timezone. |
PublishedDateISO | String | Published date in ISO8601 format. |
MetaDescription | String | Description text for this blog posts meta element. |
MetaKeywords | String | Keywords for this blog posts meta element. |
Author | String | Name of the blog posts author. |
ThumbnailPath | String | Local path to a thumbnail image within the product_images folder to accompany the blog post. |
Returns a list of Blog Tags.
Name | Type | Description |
BlogIds [KEY] | String | Id of the blogpost |
Tag | String | Tag which belongs to the blog. |
Gets the collection of brands.
The Sync App will use the BigCommerce API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM Brands SELECT * FROM Brands WHERE Id = 1 SELECT * FROM Brands WHERE Id >= 1 AND Id <= 5
Name | Type | Description |
Id [KEY] | Integer | The id of the brand. |
Name | String | The name of the brand. Must be unique. |
PageTitle | String | The title shown in the browser while viewing the brand. |
MetaKeywords | String | Comma-separated list of meta keywords to include in the HTML. |
MetaDescription | String | A meta description to include. |
ImageFile | String | A valid image. |
Lists all coupons.
The Sync App will use the BigCommerce API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM Coupons SELECT * FROM Coupons WHERE Id = 1 SELECT * FROM Coupons WHERE Id >= 1 AND Id <= 5 SELECT * FROM Coupons WHERE Name = "test"
Name | Type | Description |
Id [KEY] | Integer | The coupons ID. |
Name | String | The name of the coupon. |
Type | String | Type of the coupon. |
Amount | Decimal | The discount to apply to an order, as either an amount or a percentage. |
MinPurchase | Decimal | Specifies a minimum value that an order must have before the coupon can be applied to it. |
Expires | Datetime | Specifies when a coupon expires. |
Enabled | Boolean | If the coupon is enabled, this fields value is true; otherwise, false. |
Code | String | The coupon code that customers will use to receive their discounts. |
AppliesToEntity | String | What the discount applies to. Can be products or categories. |
AppliesToIds | String | ID of either the products or categories |
NumUses | Integer | Number of times this coupon has been used. |
MaxUses | Integer | Maximum number of times this coupon can be used. |
MaxUsesPerCustomer | Integer | Maximum number of times each customer can use this coupon. |
DateCreated | Datetime | Date Created |
ShippingMethods | String | List of shipping-method names. |
Returns a list of Customer Groups.
The Sync App will use the BigCommerce API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM CustomerGroups SELECT * FROM CustomerGroups WHERE Id = 1 SELECT * FROM CustomerGroups WHERE IsDefault = "true" SELECT * FROM CustomerGroups WHERE IsGroupForGuests = "true"
Name | Type | Description |
Id [KEY] | Integer | Id of the customer group |
Name | String | Name of the group |
IsDefault | Boolean | Determines whether new customers are assigned to this group by default. |
CategoryAccessType | String | Type of the category access. |
IsGroupForGuests | Boolean | If the groups is for guests. There can only be one customer group for guests at a time. |
Lists all gift certificates.
The Sync App will use the BigCommerce API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM GiftCertificates SELECT * FROM GiftCertificates WHERE Id = 1 SELECT * FROM GiftCertificates WHERE IsDefault = "true" SELECT * FROM GiftCertificates WHERE IsGroupForGuests = "true"
Name | Type | Description |
Id [KEY] | Integer | The ID of the gift certificate. |
Code | String | A unique string that the customer can input to redeem the gift certificate. |
Amount | Decimal | Value of the gift certificate. |
Status | String | Status of the gift certificate. |
Balance | Decimal | Remaining value of the gift certificate. |
ToName | String | Name of the recipient. |
ToEmail | String | Email of the recipient. |
OrderId | Integer | The ID of the order. |
Template | String | The email theme to use in the message sent to the recipient. |
Message | String | Text that will be sent to the recipient, such as Congratulations. |
FromName | String | Name of the customer who purchased the gift certificate. |
FromEmail | String | Email of the customer who purchased the gift certificate. |
CustomerId | Integer | The id of the customer placing the order. |
ExpiryDate | Datetime | Date on which the gift certificate is set to expire. |
PurchaseDate | Datetime | Date the gift certificate was purchased. |
Lists all order coupons.
The Sync App will use the BigCommerce API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM OrderCoupons SELECT * FROM OrderCoupons WHERE Id = 1 SELECT * FROM OrderCoupons WHERE OrderId = 2
Name | Type | Description |
Id [KEY] | Integer | Numeric ID of this product within this order. |
OrderId | Integer | Numeric ID of the associated order. |
CouponId | Integer | The coupon id. |
Code | String | The code of the coupon. |
Amount | Decimal | The amount of the coupon. |
Type | Integer | The type of the coupon. |
Discount | Decimal | The discount of the coupon. |
Returns data from OrderItems table.
The ID of the corresponding Order-Item is required to perform a SELECT query on OrderItemOptionValues:
SELECT * FROM [OrderItemOptionValues] WHERE OrderItemId=2522;
Name | Type | Description |
Id [KEY] | Integer | The numerical ID of the option value within the group of ordered items. |
OptionId | Integer | The ID of the option from Product Options table. |
OrderItemId | Integer | The ID of the product. |
OrderItemOptionId | Integer | The numerical ID of the option within the group of ordered items. |
DisplayName | String | The name of the option shown on the storefront. |
DisplayValue | String | The value of the option shown on the storefront. |
Value | Integer | The actual value of the option. |
Name | String | The unique option name, auto-generated from the display name, a timestamp, and the product ID. |
Type | String | The type of option, which determines how it will display on the storefront. Acceptable values: radio_buttons, rectangles, dropdown, product_list, product_list_with_images, swatch. |
DisplayStyle | String | The specific style which the order will be displayed as. |
Gets the messages associated with an order.
The Sync App will use the BigCommerce API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM OrderMessages SELECT * FROM OrderMessages WHERE Id = 1 SELECT * FROM OrderMessages WHERE OrderId = 2 SELECT * FROM OrderMessages WHERE IsFlagged = "true" SELECT * FROM OrderMessages WHERE DateCreated >= "2019-01-01" AND DateCreated <= "2020-01-01"
Name | Type | Description |
Id [KEY] | Integer | Numeric ID of this product within this order. |
OrderId | Integer | Numeric ID of the associated order. |
StaffId | Integer | The staff id. |
CustomerId | Integer | The customer id. |
Type | String | Type of the message. |
Subject | String | Subject of the message. |
Message | String | Message content. |
Status | String | Status of the message. |
IsFlagged | Boolean | Indicator if the message is flagged. |
DateCreated | Datetime | Datetime when the message was first created. |
Returns a list of refunds.
The Sync App will use the BigCommerce API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM OrderRefunds SELECT * FROM OrderRefunds WHERE Id = 1 SELECT * FROM OrderRefunds WHERE OrderId = 2
Name | Type | Description |
Id [KEY] | Integer | Refund resource ID. |
Created [KEY] | Datetime | Timestamp of when this refund was created. |
OrderId | Integer | Reference to order id. |
Reason | String | Reason for refund. |
TotalAmount | Decimal | A non-negative 2 decimal place rounded value that represents the amount that can be charged/refunded via payment providers. |
TotalTax | Decimal | Total tax amount refunded back to the shopper. Note: order_level_amount does not affect tax liability. |
UserId | Integer | Reference to the user's id who create this refund. |
UsesMerchantOverrideValues | Boolean | Whether refund amount and tax are provided explicitly by merchant override |
List of Items refunded.
The Sync App will use the BigCommerce API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM OrderRefundsItems SELECT * FROM OrderRefundsItems where OrderRefundId=2 SELECT * FROM OrderRefundsItems where OrderId=2
Name | Type | Description |
ItemId [KEY] | Integer | order_product.id corresponding to the item_types of PRODUCT, GIFT_WRAPPING. order_address.id corresponding to the item_types of SHIPPING, HANDLING. order.id corresponding to the item_type of ORDER. |
OrderRefundId | Integer | The ID of the order refund. |
OrderId | Integer | Reference to order id. |
ItemType | String | Type of item that was refunded. |
Quantity | Integer | Quantity of item refunded. Note: this will only be populated for item_type PRODUCT |
Reason | Boolean | Reason for refunding an item. |
RequestedAmount | Decimal | A non-negative 2 decimal place rounded value that represents the amount that can be charged/refunded via payment providers.. |
Refund payments made to payment providers.
The Sync App will use the BigCommerce API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM OrderRefundsPayments SELECT * FROM OrderRefundsItems where OrderRefundId=2 SELECT * FROM OrderRefundsPayments where OrderId=2
Name | Type | Description |
Id [KEY] | Integer | The ID of the refund payment. |
OrderRefundId | Integer | The ID of the order refund. |
OrderId | Integer | Reference to order id. |
ProviderId | String | Reference to payment provider. |
Amount | Decimal | A non-negative 2 decimal place rounded value that represents the amount that can be charged/refunded via payment providers. |
Offline | Boolean | Indicate whether payment was offline. |
IsDeclined | Boolean | Indicate if this payment has been declined by payment provider. |
DeclinedMessage | String | Message indicate why payment was declined. |
Returns shipping addresses and their corresponding orders.
Name | Type | Description |
Id [KEY] | Integer | ID of this shipping address. |
OrderId | Integer | ID of the order. |
FirstName | String | Addressee first name. |
LastName | String | Addressee last name. |
Company | String | Addressee company. |
Street1 | String | Street address (first line). |
Street2 | String | Street address (second line). |
City | String | Addressee city. |
Zip | String | ZIP or postal code. |
Country | String | Addressee's country. |
State | String | The name of the state or province. Should be spelled out in full, for example, California. |
String | Recipient's email address. | |
Phone | String | Recipient's telephone number. |
Returns order statuses.
Name | Type | Description |
Id [KEY] | Integer | The Id of the type of order status |
Name | String | Name of the type of order status. |
Systemlabel | String | System name of the type of order status. |
CustomLabel | String | Custom order status label given in the Control Panel. |
SystemDescription | String | System description of the order status. |
Gets all order taxes related to an order.
The Sync App will use the BigCommerce API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM OrderTaxes SELECT * FROM OrderTaxes WHERE Id = 1 SELECT * FROM OrderTaxes WHERE OrderId = 2
Name | Type | Description |
Id [KEY] | Integer | Numeric ID of this product within this order. |
OrderId | Integer | Numeric ID of the associated order. |
OrderAddressId | Integer | The unique numeric identifier of the order address object associated with the order. |
TaxRateId | Integer | The unique numeric identifier of the tax rate. |
TaxClassId | Integer | The unique numeric identifier of the tax class object. |
Name | String | The name of the tax class object. |
Class | String | The name of the type of tax that was applied. |
Rate | Decimal | The tax rate. |
Priority | Integer | The order in which the tax is applied. |
PriorityAmount | Decimal | The amount of tax calculated on the order. |
LineAmount | Decimal | The line amount. |
OrderProductId | String | If the line_item_type is item or handling then this field will be the order product id. Otherwise the field will return as null. |
LineItemType | String | Type of tax on item. |
Lists all pages.
The Sync App will use the BigCommerce API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM Pages SELECT * FROM Pages WHERE Id = 1
Name | Type | Description |
Id [KEY] | Integer | Id of the page. |
ChannelId | Integer | Channel Id of the page. |
Name | String | Name of the page. |
String | Email of the page. | |
MetaTitle | String | Title of the page. |
Body | String | Body of the page. |
IsVisible | Boolean | Indicator if page is visible. |
ParentId | Integer | Parent id of the page. |
SortOrder | Integer | Sort order of the page. |
MetaKeywords | String | Keywords of the page. |
Type | String | Type of the page. |
MetaDescription | String | Description of the page. |
IsHomepage | Boolean | Indicator if the page is homepage. |
LayoutFile | String | Layout file of the page. |
IsCustomersOnly | Boolean | Indicator if the page is customer only. |
SearchKeywords | String | Search keywords of the page. |
HasMobileVersion | Boolean | Indicator if the page is mobile supported. |
MobileBody | String | Mobile body of the page. |
Url | String | Url of the page. |
DateCreated | Datetime | Date when the page was created. |
Feed | String | Feed of the page. |
Link | String | Link of the page. |
Lists all payment methods.
Name | Type | Description |
Code [KEY] | String | The code of the payment method. |
Name | String | The name of the payment method. |
TestMode | Boolean | Indicator if the payment method is in test mode. |
Returns an array of Price List Assignments matching a particular Customer Group and Price List and Channel.
The Sync App will use the BigCommerce API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
SELECT * FROM PriceListAssignments WHERE CustomerGroupId IN (1,2) SELECT * FROM PriceListAssignments WHERE PriceListId IN (1,2) SELECT * FROM PriceListAssignments WHERE PriceListId = 1 SELECT * FROM PriceListAssignments WHERE CustomerGroupId = 1
Name | Type | Description |
Id | Integer | The ID of the PriceList Assignment. |
CustomerGroupId | Integer | The ID of the customer group. |
PriceListId | Integer | The ID of the PriceList. |
ChannelId | Integer | ID of the Channel. |
Returns bulk pricing rules applied to a product.
The Sync App will use the BigCommerce API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM ProductBulkPricingRules SELECT * FROM ProductBulkPricingRules WHERE Id = 1 SELECT * FROM ProductBulkPricingRules WHERE ProductId = 2
Name | Type | Description |
Id [KEY] | String | The ID of the bulk discount rule. |
ProductId [KEY] | Integer | The ID of the product associated with this bulk discount rule. |
Min | Integer | The minimum inclusive quantity of a product to satisfy this rule. Must be greater than or equal to zero. |
Max | Integer | The maximum inclusive quantity of a product to satisfy this rule. |
Type | String | Type of the discount. |
TypeValue | Decimal | The value of the discount |
Lists all tax classes.
The Sync App will use the BigCommerce API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM ProductCustomFields SELECT * FROM ProductCustomFields WHERE Id = 1 SELECT * FROM ProductCustomFields WHERE ProductId = 2
Name | Type | Description |
Id [KEY] | Integer | Numeric ID of the custom field. |
ProductId | Integer | Id of the product that the custom field belongs to. |
Name | String | Name of the custom field. |
Text | String | Value of the custom field. |
Returns rules that modify the properties of a product, such as weight, price, and product image.
The Sync App will use the BigCommerce API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM ProductRules SELECT * FROM ProductRules WHERE Id = 1 SELECT * FROM ProductRules WHERE ProductId = 2
Name | Type | Description |
Id [KEY] | Integer | The ID of the rule. |
ProductId [KEY] | Integer | The ID of the product to which the rule belongs. |
SortOrder | Integer | The order in which the rule will be displayed on the product page. |
IsEnabled | Boolean | If set to true, the rule will be evaluated when a customer configures a products options. |
IsStop | Boolean | If set to true and the rule evaluates to true, no more rules with a higher sort_order will be processed. |
PriceAdjusterName | String | Price adjuster name. |
PriceAdjusterValue | Decimal | Price adjuster value. |
WeightAdjusterName | String | Weight adjuster name. |
WeightAdjusterValue | Decimal | Weight adjuster value. |
IsPurchasingDisabled | Boolean | If true this rule prohibits purchasing the product with the configured option values. |
PurchasingDisabledMessage | String | The message to display if the rule disabled purchasing the product. |
IsPurchasingHidden | Boolean | If true the rule hides the options on the product. |
ImageFile | String | A path to an rule already uploaded via FTP in the import directory and the path should be relative from the import directory. |
Returns Stock Keeping Unit identifiers associated with products or product options.
The Sync App will use the BigCommerce API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM ProductSkus SELECT * FROM ProductSkus WHERE Id = 1 SELECT * FROM ProductSkus WHERE Id >= 1 AND Id <= 4 SELECT * FROM ProductSkus WHERE ProductId = 2 SELECT * FROM ProductSkus WHERE InventoryLevel = "test"
Name | Type | Description |
Id [KEY] | Integer | ID of this sku. |
ProductId [KEY] | Integer | ID of the associated product. |
Sku | String | The unique SKU (stock keeping unit). |
Price | Decimal | This SKUs base price on the storefront. |
AdjustedPrice | Decimal | The SKUs price on the storefront, after the products base price is inherited, or any option set or any product rules are applied. |
CostPrice | Decimal | The products cost price. |
UPC | String | |
InventoryLevel | Integer | The inventory level for the product. |
InventoryWarningLevel | Integer | The inventory warning level for the product . |
BinPickingNumber | String | The BIN picking number. |
Weight | Decimal | This SKUs base weight on the storefront. |
AdjustedWeight | Decimal | This SKUs weight on the storefront, after the products base weight is inherited, or any option set or any product rules are applied. |
IsPurchasingDisabled | Boolean | If true, this prohibits purchasing of the SKU. |
PurchasingDisabledMessage | String | The message to display if purchasing is disabled on this SKU. |
ImageFile | String | The image that will be displayed when this SKU is selected on the storefront. When updating a SKU image, send the publicly accessible URL. Supported image formats are JPEG, PNG, and GIF. |
Returns data from Products table.
Name | Type | Description |
Id [KEY] | Integer | The ID of the option value. |
VariantId [KEY] | Integer | The ID of the corresponding variant. |
OptionId [KEY] | Integer | The ID of the option. |
Label | String | The label of the option value shown on the storefront. |
DisplayName | String | The label of the option value shown on the storefront. |
Returns Embedded videos displayed on product listings.
The Sync App will use the BigCommerce API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM ProductVideos SELECT * FROM ProductVideos WHERE Id = 1 SELECT * FROM ProductVideos WHERE ProductId = 1
Name | Type | Description |
Id [KEY] | String | ID of this video. |
ProductId [KEY] | Integer | ID of the associated product. |
SortOrder | Integer | Sort order for this video. |
Name | String | Name for this video. |
Lists all redirect URLs.
The Sync App will use the BigCommerce API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM Redirects SELECT * FROM Redirects WHERE Id = 1
Name | Type | Description |
Id [KEY] | Integer | Numeric ID of the redirect. |
SiteId | Integer | Site ID of the redirect. |
FromPath | String | The path from which to redirect. |
ToType | String | The type of redirect. |
ToEntityId | Integer | EntityId of the redirect. |
ToURL | String | URL of the redirect. |
URL | String | Full destination URL for the redirect. Must be explicitly included via URL parameter. |
Returns data from Items within a shipment.
Name | Type | Description |
Id [KEY] | Integer | Id of the Product within the order. |
ProductId | Integer | Numerical Id of the product. |
OrderShipmentId | String | Id of the shipment. |
Quantity | Integer | Quantity of product shipped. |
Lists all shipping methods.
Name | Type | Description |
Id [KEY] | Integer | Shipping Method Id. |
Name | String | Shipping Method name. |
Type | String | Shipping Method type. |
Enabled | Boolean | Minimum subtotal of the free shipping. |
HandlingFeesPercentageSurcharge | Decimal | Percentage surcharge of the handling fee. |
HandlingFeesFixedSurcharge | Decimal | Fixed surcharge of the handling fee. |
IsFallback | Boolean | Whether or not this shipping zone is the fallback if all others are not valid for the order. |
Lists all shipping zones.
The Sync App will use the BigCommerce API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM ShippingZones SELECT * FROM ShippingZones WHERE Id = 1
Name | Type | Description |
Id [KEY] | Integer | Zone Id. |
Name | String | Zone name. |
Type | String | Zone type. |
FreeShippingEnabled | Boolean | Indicator if free shipping is enabled. |
FreeShippingMinimumSubTotal | Decimal | Minimum subtotal of the free shipping. |
FreeShippingExcludeFixedShippingProducts | Boolean | Indicator whether or not to exclude fixed shipping on products. |
HandlingFeesDisplaySeparately | Boolean | Indicator whether or not to display the handling fees separately. |
HandlingFeesPercentageSurcharge | Decimal | Percentage surcharge of the handling fee. |
HandlingFeesFixedSurcharge | Decimal | Fixed surcharge of the handling fee. |
Enabled | Boolean | Whether this shipping zone is enabled. |
Lists all Stores.
Name | Type | Description |
Id [KEY] | String | Unique store identifier. |
Domain | String | Primary domain name. |
SecureUrl | String | Stores current HTTPS URL. |
Status | String | Status of the store. |
Name | String | Stores name. |
FirstName | String | Primary contacts first name |
LastName | String | Primary contacts last name |
Address | String | Display address. |
Country | String | Country where the store is located |
CountryCode | String | Country code. |
Phone | String | Display phone number. |
AdminEmail | String | Email address of the store administrator/owner. |
OrderEmail | String | Email address for orders and fulfillment. |
FaviconUrl | String | URL of the favicon. |
TimezoneName | String | A string identifying the time zone, in the format: /. |
TimezoneRawOffset | Integer | A negative or positive number, identifying the offset from UTC/GMT, in seconds, during winter/standard time. |
Language | String | Default language code. |
Currency | String | Default currency code |
CurrencySymbol | String | Default symbol for values in the currency. |
DecimalSeparator | String | Default decimal separator for values in the currency. |
ThousandsSeparator | String | Default thousands separator for values in the currency. |
DecimalPlaces | Integer | Default decimal places for values in the currency. |
CurrencySymbolLocation | String | Default position of the currency symbol (left or right). |
WeightUnits | String | Default weight units (metric or imperial). |
DimensionUnits | String | Default dimension units (metric or imperial). |
DimensionDecimalPlaces | Integer | The number of decimal places. |
DimensionDecimalToken | String | The symbol that separates the whole numbers from the decimal points. |
DimensionThousandsToken | String | The symbol used to denote thousands. |
PlanName | String | Name of the BigCommerce plan to which this store is subscribed. |
PlanLevel | String | Level of the BigCommerce plan to which this store is subscribed. |
Industry | String | Industry, or vertical category, in which the business operates. |
LogoUrl | String | URL of the logo. |
IsPriceEnteredWithTax | Boolean | A Boolean value that indicates whether or not prices are entered with tax. |
FeaturesStencilEnabled | Boolean | Indicates whether a store is using a Stencil theme. |
FeaturesSitewideHttpsEnabled | Boolean | Indicates if there is sitewide https. |
FeaturesFacebookCatalogId | String | Id of the facebook catalog. If there is none, it returns an empty string. |
FeaturesCheckoutType | String | What type of checkout is enabled on the store. |
Lists all tax classes.
The Sync App will use the BigCommerce API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM TaxClasses SELECT * FROM TaxClasses WHERE Id = 1
Name | Type | Description |
Id [KEY] | Integer | Numeric ID of the tax class. |
Name | String | Name of the tax class. |
Lists all transactions.
Name | Type | Description |
Id [KEY] | Integer | Unique identifier for the transaction. |
OrderId | String | Identifier for the BigCommerce Order with which this transaction is associated. |
Event | String | Store event that created the transaction. |
Method | String | The payment method. |
Amount | Decimal | Amount of money in the transaction. |
Currency | String | Currency used for the transaction. |
Gateway | String | The payment gateway. |
Status | String | Status of the transaction. |
GatewayTransactionId | String | The transaction ID returned by the payment gateway for this transaction item. |
DateCreated | Datetime | The datetime of the transaction. |
Test | Boolean | True if the transaction performed was a test, or if the gateway is in test mode. |
FraudReview | Boolean | Result of gateway fraud review, if any. |
ReferenceTransactionId | Integer | Identifier for an existing transaction upon which this transaction acts. |
OfflineDisplayName | String | Display name for the offline payment. |
CustomPaymentMethod | String | Custom payment from manual order. |
PaymentMethodId | String | The payment method ID used for this transaction. |
PaymentInstrumentToken | String | Internal BigPay token for stored card. |
AVSResultCode | String | AVS code from the payment gateway. |
AVSResultMessage | String | AVS message from the payment gateway. |
AVSResultStreetMatch | String | AVS Code for street matching result. |
AVSResultPostalMatch | String | AVS Code for postal matching result. |
CVVResultCode | String | CVV Code from the payment Gateway. |
CVVResultMessage | String | CVV Message from the payment Gateway. |
CreditCardType | String | Type of credit-card. |
CreditCardIIN | String | The IIN of a credit-card number. |
CreditCardLast4 | String | The last 4 digits of a credit-card number. |
CreditCardExpiryMonth | Integer | The expiry month of a credit-card. |
CreditCardExpiryYear | Integer | The expiry year of a credit-card. |
GiftCertificateCode | String | The gift-certificate code. |
GiftCertificateOriginalBalance | Decimal | The balance on a gift certificate when it was purchased. |
GiftCertificateStartingBalance | Decimal | The balance on a gift certificate at the time of this purchase. |
GiftCertificateRemainingBalance | Decimal | The remaining balance on a gift certificate. |
GiftCertificateStatus | String | The status of a gift certificate. |
StoreCreditRemainingBalance | Decimal | Remaining balance of shopper's store credit. |
The connection string properties are the various options that can be used to establish a connection. This section provides a complete list of the options you can configure in the connection string for this provider. Click the links for further details.
For more information on establishing a connection, see Establishing a Connection.
Property | Description |
AuthScheme | The type of authentication to use when connecting to BigCommerce. |
Property | Description |
OAuthClientId | The client Id assigned when you register your application with an OAuth authorization server. |
OAuthClientSecret | The client secret assigned when you register your application with an OAuth authorization server. |
StoreId | The store hash for this BigCommerce account. |
Property | Description |
SSLServerCert | The certificate to be accepted from the server when connecting using TLS/SSL. |
Property | Description |
FirewallType | The protocol used by a proxy-based firewall. |
FirewallServer | The name or IP address of a proxy-based firewall. |
FirewallPort | The TCP port for a proxy-based firewall. |
FirewallUser | The user name to use to authenticate with a proxy-based firewall. |
FirewallPassword | A password used to authenticate to a proxy-based firewall. |
Property | Description |
ProxyAutoDetect | This indicates whether to use the system proxy settings or not. This takes precedence over other proxy settings, so you'll need to set ProxyAutoDetect to FALSE in order use custom proxy settings. |
ProxyServer | The hostname or IP address of a proxy to route HTTP traffic through. |
ProxyPort | The TCP port the ProxyServer proxy is running on. |
ProxyAuthScheme | The authentication type to use to authenticate to the ProxyServer proxy. |
ProxyUser | A user name to be used to authenticate to the ProxyServer proxy. |
ProxyPassword | A password to be used to authenticate to the ProxyServer proxy. |
ProxySSLType | The SSL type to use when connecting to the ProxyServer proxy. |
ProxyExceptions | A semicolon separated list of destination hostnames or IPs that are exempt from connecting through the ProxyServer . |
Property | Description |
LogModules | Core modules to be included in the log file. |
Property | Description |
Location | A path to the directory that contains the schema files defining tables, views, and stored procedures. |
BrowsableSchemas | This property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC. |
Tables | This property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC. |
Views | Restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC. |
Property | Description |
IncludeCustomFields | A boolean indicating if you would like to include custom fields in the column listing. |
MaxRows | Limits the number of rows returned rows when no aggregation or group by is used in the query. This helps avoid performance issues at design time. |
Other | These hidden properties are used only in specific use cases. |
PseudoColumns | This property indicates whether or not to include pseudo columns as columns to the table. |
RowScanDepth | The maximum number of rows to scan to look for the columns available in a table. |
Timeout | The value in seconds until the timeout error is thrown, canceling the operation. |
UserDefinedViews | A filepath pointing to the JSON configuration file containing your custom views. |
This section provides a complete list of the Authentication properties you can configure in the connection string for this provider.
Property | Description |
AuthScheme | The type of authentication to use when connecting to BigCommerce. |
The type of authentication to use when connecting to BigCommerce.
This section provides a complete list of the OAuth properties you can configure in the connection string for this provider.
Property | Description |
OAuthClientId | The client Id assigned when you register your application with an OAuth authorization server. |
OAuthClientSecret | The client secret assigned when you register your application with an OAuth authorization server. |
StoreId | The store hash for this BigCommerce account. |
The client Id assigned when you register your application with an OAuth authorization server.
As part of registering an OAuth application, you will receive the OAuthClientId value, sometimes also called a consumer key, and a client secret, the OAuthClientSecret.
The client secret assigned when you register your application with an OAuth authorization server.
As part of registering an OAuth application, you will receive the OAuthClientId, also called a consumer key. You will also receive a client secret, also called a consumer secret. Set the client secret in the OAuthClientSecret property.
The store hash for this BigCommerce account.
The store hash for this BigCommerce account.
This section provides a complete list of the SSL properties you can configure in the connection string for this provider.
Property | Description |
SSLServerCert | The certificate to be accepted from the server when connecting using TLS/SSL. |
The certificate to be accepted from the server when connecting using TLS/SSL.
If using a TLS/SSL connection, this property can be used to specify the TLS/SSL certificate to be accepted from the server. Any other certificate that is not trusted by the machine is rejected.
This property can take the following forms:
Description | Example |
A full PEM Certificate (example shortened for brevity) | -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE----- |
A path to a local file containing the certificate | C:\cert.cer |
The public key (example shortened for brevity) | -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY----- |
The MD5 Thumbprint (hex values can also be either space or colon separated) | ecadbdda5a1529c58a1e9e09828d70e4 |
The SHA1 Thumbprint (hex values can also be either space or colon separated) | 34a929226ae0819f2ec14b4a3d904f801cbb150d |
If not specified, any certificate trusted by the machine is accepted.
Use '*' to signify to accept all certificates. Note that this is not recommended due to security concerns.
This section provides a complete list of the Firewall properties you can configure in the connection string for this provider.
Property | Description |
FirewallType | The protocol used by a proxy-based firewall. |
FirewallServer | The name or IP address of a proxy-based firewall. |
FirewallPort | The TCP port for a proxy-based firewall. |
FirewallUser | The user name to use to authenticate with a proxy-based firewall. |
FirewallPassword | A password used to authenticate to a proxy-based firewall. |
The protocol used by a proxy-based firewall.
This property specifies the protocol that the Sync App will use to tunnel traffic through the FirewallServer proxy. Note that by default, the Sync App connects to the system proxy; to disable this behavior and connect to one of the following proxy types, set ProxyAutoDetect to false.
Type | Default Port | Description |
TUNNEL | 80 | When this is set, the Sync App opens a connection to BigCommerce and traffic flows back and forth through the proxy. |
SOCKS4 | 1080 | When this is set, the Sync App sends data through the SOCKS 4 proxy specified by FirewallServer and FirewallPort and passes the FirewallUser value to the proxy, which determines if the connection request should be granted. |
SOCKS5 | 1080 | When this is set, the Sync App sends data through the SOCKS 5 proxy specified by FirewallServer and FirewallPort. If your proxy requires authentication, set FirewallUser and FirewallPassword to credentials the proxy recognizes. |
To connect to HTTP proxies, use ProxyServer and ProxyPort. To authenticate to HTTP proxies, use ProxyAuthScheme, ProxyUser, and ProxyPassword.
The name or IP address of a proxy-based firewall.
This property specifies the IP address, DNS name, or host name of a proxy allowing traversal of a firewall. The protocol is specified by FirewallType: Use FirewallServer with this property to connect through SOCKS or do tunneling. Use ProxyServer to connect to an HTTP proxy.
Note that the Sync App uses the system proxy by default. To use a different proxy, set ProxyAutoDetect to false.
The TCP port for a proxy-based firewall.
This specifies the TCP port for a proxy allowing traversal of a firewall. Use FirewallServer to specify the name or IP address. Specify the protocol with FirewallType.
The user name to use to authenticate with a proxy-based firewall.
The FirewallUser and FirewallPassword properties are used to authenticate against the proxy specified in FirewallServer and FirewallPort, following the authentication method specified in FirewallType.
A password used to authenticate to a proxy-based firewall.
This property is passed to the proxy specified by FirewallServer and FirewallPort, following the authentication method specified by FirewallType.
This section provides a complete list of the Proxy properties you can configure in the connection string for this provider.
Property | Description |
ProxyAutoDetect | This indicates whether to use the system proxy settings or not. This takes precedence over other proxy settings, so you'll need to set ProxyAutoDetect to FALSE in order use custom proxy settings. |
ProxyServer | The hostname or IP address of a proxy to route HTTP traffic through. |
ProxyPort | The TCP port the ProxyServer proxy is running on. |
ProxyAuthScheme | The authentication type to use to authenticate to the ProxyServer proxy. |
ProxyUser | A user name to be used to authenticate to the ProxyServer proxy. |
ProxyPassword | A password to be used to authenticate to the ProxyServer proxy. |
ProxySSLType | The SSL type to use when connecting to the ProxyServer proxy. |
ProxyExceptions | A semicolon separated list of destination hostnames or IPs that are exempt from connecting through the ProxyServer . |
This indicates whether to use the system proxy settings or not. This takes precedence over other proxy settings, so you'll need to set ProxyAutoDetect to FALSE in order use custom proxy settings.
This takes precedence over other proxy settings, so you'll need to set ProxyAutoDetect to FALSE in order use custom proxy settings.
To connect to an HTTP proxy, see ProxyServer. For other proxies, such as SOCKS or tunneling, see FirewallType.
The hostname or IP address of a proxy to route HTTP traffic through.
The hostname or IP address of a proxy to route HTTP traffic through. The Sync App can use the HTTP, Windows (NTLM), or Kerberos authentication types to authenticate to an HTTP proxy.
If you need to connect through a SOCKS proxy or tunnel the connection, see FirewallType.
By default, the Sync App uses the system proxy. If you need to use another proxy, set ProxyAutoDetect to false.
The TCP port the ProxyServer proxy is running on.
The port the HTTP proxy is running on that you want to redirect HTTP traffic through. Specify the HTTP proxy in ProxyServer. For other proxy types, see FirewallType.
The authentication type to use to authenticate to the ProxyServer proxy.
This value specifies the authentication type to use to authenticate to the HTTP proxy specified by ProxyServer and ProxyPort.
Note that the Sync App will use the system proxy settings by default, without further configuration needed; if you want to connect to another proxy, you will need to set ProxyAutoDetect to false, in addition to ProxyServer and ProxyPort. To authenticate, set ProxyAuthScheme and set ProxyUser and ProxyPassword, if needed.
The authentication type can be one of the following:
If you need to use another authentication type, such as SOCKS 5 authentication, see FirewallType.
A user name to be used to authenticate to the ProxyServer proxy.
The ProxyUser and ProxyPassword options are used to connect and authenticate against the HTTP proxy specified in ProxyServer.
You can select one of the available authentication types in ProxyAuthScheme. If you are using HTTP authentication, set this to the user name of a user recognized by the HTTP proxy. If you are using Windows or Kerberos authentication, set this property to a user name in one of the following formats:
user@domain domain\user
A password to be used to authenticate to the ProxyServer proxy.
This property is used to authenticate to an HTTP proxy server that supports NTLM (Windows), Kerberos, or HTTP authentication. To specify the HTTP proxy, you can set ProxyServer and ProxyPort. To specify the authentication type, set ProxyAuthScheme.
If you are using HTTP authentication, additionally set ProxyUser and ProxyPassword to HTTP proxy.
If you are using NTLM authentication, set ProxyUser and ProxyPassword to your Windows password. You may also need these to complete Kerberos authentication.
For SOCKS 5 authentication or tunneling, see FirewallType.
By default, the Sync App uses the system proxy. If you want to connect to another proxy, set ProxyAutoDetect to false.
The SSL type to use when connecting to the ProxyServer proxy.
This property determines when to use SSL for the connection to an HTTP proxy specified by ProxyServer. This value can be AUTO, ALWAYS, NEVER, or TUNNEL. The applicable values are the following:
AUTO | Default setting. If the URL is an HTTPS URL, the Sync App will use the TUNNEL option. If the URL is an HTTP URL, the component will use the NEVER option. |
ALWAYS | The connection is always SSL enabled. |
NEVER | The connection is not SSL enabled. |
TUNNEL | The connection is through a tunneling proxy. The proxy server opens a connection to the remote host and traffic flows back and forth through the proxy. |
A semicolon separated list of destination hostnames or IPs that are exempt from connecting through the ProxyServer .
The ProxyServer is used for all addresses, except for addresses defined in this property. Use semicolons to separate entries.
Note that the Sync App uses the system proxy settings by default, without further configuration needed; if you want to explicitly configure proxy exceptions for this connection, you need to set ProxyAutoDetect = false, and configure ProxyServer and ProxyPort. To authenticate, set ProxyAuthScheme and set ProxyUser and ProxyPassword, if needed.
This section provides a complete list of the Logging properties you can configure in the connection string for this provider.
Property | Description |
LogModules | Core modules to be included in the log file. |
Core modules to be included in the log file.
Only the modules specified (separated by ';') will be included in the log file. By default all modules are included.
See the Logging page for an overview.
This section provides a complete list of the Schema properties you can configure in the connection string for this provider.
Property | Description |
Location | A path to the directory that contains the schema files defining tables, views, and stored procedures. |
BrowsableSchemas | This property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC. |
Tables | This property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC. |
Views | Restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC. |
A path to the directory that contains the schema files defining tables, views, and stored procedures.
The path to a directory which contains the schema files for the Sync App (.rsd files for tables and views, .rsb files for stored procedures). The folder location can be a relative path from the location of the executable. The Location property is only needed if you want to customize definitions (for example, change a column name, ignore a column, and so on) or extend the data model with new tables, views, or stored procedures.
If left unspecified, the default location is "%APPDATA%\\CData\\BigCommerce Data Provider\\Schema" with %APPDATA% being set to the user's configuration directory:
This property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC.
Listing the schemas from databases can be expensive. Providing a list of schemas in the connection string improves the performance.
This property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC.
Listing the tables from some databases can be expensive. Providing a list of tables in the connection string improves the performance of the Sync App.
This property can also be used as an alternative to automatically listing views if you already know which ones you want to work with and there would otherwise be too many to work with.
Specify the tables you want in a comma-separated list. Each table should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space`.
Note that when connecting to a data source with multiple schemas or catalogs, you will need to provide the fully qualified name of the table in this property, as in the last example here, to avoid ambiguity between tables that exist in multiple catalogs or schemas.
Restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC.
Listing the views from some databases can be expensive. Providing a list of views in the connection string improves the performance of the Sync App.
This property can also be used as an alternative to automatically listing views if you already know which ones you want to work with and there would otherwise be too many to work with.
Specify the views you want in a comma-separated list. Each view should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space`.
Note that when connecting to a data source with multiple schemas or catalogs, you will need to provide the fully qualified name of the table in this property, as in the last example here, to avoid ambiguity between tables that exist in multiple catalogs or schemas.
This section provides a complete list of the Miscellaneous properties you can configure in the connection string for this provider.
Property | Description |
IncludeCustomFields | A boolean indicating if you would like to include custom fields in the column listing. |
MaxRows | Limits the number of rows returned rows when no aggregation or group by is used in the query. This helps avoid performance issues at design time. |
Other | These hidden properties are used only in specific use cases. |
PseudoColumns | This property indicates whether or not to include pseudo columns as columns to the table. |
RowScanDepth | The maximum number of rows to scan to look for the columns available in a table. |
Timeout | The value in seconds until the timeout error is thrown, canceling the operation. |
UserDefinedViews | A filepath pointing to the JSON configuration file containing your custom views. |
A boolean indicating if you would like to include custom fields in the column listing.
Setting this to true will cause custom fields to be included in the column listing, but may cause poor performance when listing metadata.
Limits the number of rows returned rows when no aggregation or group by is used in the query. This helps avoid performance issues at design time.
Limits the number of rows returned rows when no aggregation or group by is used in the query. This helps avoid performance issues at design time.
These hidden properties are used only in specific use cases.
The properties listed below are available for specific use cases. Normal driver use cases and functionality should not require these properties.
Specify multiple properties in a semicolon-separated list.
DefaultColumnSize | Sets the default length of string fields when the data source does not provide column length in the metadata. The default value is 2000. |
ConvertDateTimeToGMT | Determines whether to convert date-time values to GMT, instead of the local time of the machine. |
RecordToFile=filename | Records the underlying socket data transfer to the specified file. |
This property indicates whether or not to include pseudo columns as columns to the table.
This setting is particularly helpful in Entity Framework, which does not allow you to set a value for a pseudo column unless it is a table column. The value of this connection setting is of the format "Table1=Column1, Table1=Column2, Table2=Column3". You can use the "*" character to include all tables and all columns; for example, "*=*".
The maximum number of rows to scan to look for the columns available in a table.
The columns in a table must be determined by scanning table rows. This value determines the maximum number of rows that will be scanned.
Setting a high value may decrease performance. Setting a low value may prevent the data type from being determined properly, especially when there is null data.
The value in seconds until the timeout error is thrown, canceling the operation.
If Timeout = 0, operations do not time out. The operations run until they complete successfully or until they encounter an error condition.
If Timeout expires and the operation is not yet complete, the Sync App throws an exception.
A filepath pointing to the JSON configuration file containing your custom views.
User Defined Views are defined in a JSON-formatted configuration file called UserDefinedViews.json. The Sync App automatically detects the views specified in this file.
You can also have multiple view definitions and control them using the UserDefinedViews connection property. When you use this property, only the specified views are seen by the Sync App.
This User Defined View configuration file is formatted as follows:
For example:
{ "MyView": { "query": "SELECT * FROM Customers WHERE MyColumn = 'value'" }, "MyView2": { "query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)" } }Use the UserDefinedViews connection property to specify the location of your JSON configuration file. For example:
"UserDefinedViews", "C:\\Users\\yourusername\\Desktop\\tmp\\UserDefinedViews.json"