Store Variables
You can use store variables to store credentials and configuration data, which your platforms retrieve when needed.
A few prominent types of store variables exist in the Chord platform, each with its use cases. Below, they are grouped by areas/programs.
Store variables are configuration settings available to your store dynamically during runtime. These variables comprise a name and a value. The value can come from various sources such as — third-party API, URLs, text files, etc.
The value of these store variables is not hardcoded in your application; rather, they are dynamic and can be changed based on your program's environment.
Analytics variables help you with the process of interpreting and communicating significant patterns in data.
Segment |
|
|
---|---|---|
SEGMENT_WRITE_KEY |
| when creating an account for our tenant |
EXCLUDED_TRACKING_PREFERENCES | Example: ‘Iterable, Google Analytics’ | List of comma-separated values for Segment destinations that should not receive Track events, even if the user permits it. |
A fulfillment service is a third-party warehouse that prepares and ships your orders for you.
TRACKING and PACKAGES | | |
---|---|---|
EASYPOST_KEY | | |
EXTERNAL_TRACKER | enabled or disabled | Requires an EasyPost account to track packages with a value of enabled |
NARVAR_ENABLED | true or false | Either true or false if you are using Narvar to track packages |
NON_FULFILLABLE_SKUS | Comma separated list of SKUs | SKUs included in this list will not be sent for fulfillment. |
EXPORT_ORDER_FULFILLMENTS | enabled or disabled | This will allow the admin user to download their ready order fulfillments into a csv. As well as upload manually fulfilled shipments to be updated in the OMS. |
SHIPSTATION |
|
|
---|---|---|
SHIPSTATION_API_KEY | | Found in your Shipstation account under API keys |
SHIPSTATION_API_SECRET |
| Found in your Shipstation account under API keys |
SHIPSTATION_STORE_USERNAME |
| Provided when you create a Shipstation account |
SHIPSTATION_STORE_PASSWORD |
| Provided when you create a Shipstation account |
SHIPSTATION_STORE_ID | | Provided when you create a Shipstation account |
WINE SHIPPING |
|
|
---|---|---|
WINE_SHIPPING_PASSWORD |
| Provided when creating a wineshipping account |
WINE_SHIPPING_CUSTOMER_NO |
|
|
WINE_SHIPPING_API_HOST | api-test.wineshipping.com on Staging and api.wineshipping.com on Production
|
|
WINE_SHIPPING_USER_KEY | | |
WINE_SHIPPING_API_VERSION | If not provided it will default to V3 | |
CAPACITY |
|
|
---|---|---|
CAPACITY_CLIENT_CODE |
| All settings will be provided by Capacity |
CAPACITY_API_ENDPOINT | Example: http://wservices.capacityllc.com:105
| All settings will be provided by Capacity |
CAPACITY_FTP_PASSWORD | Example: GO | All settings will be provided by Capacity
|
CAPACITY_FTP_PORT |
| All settings will be provided by Capacity
|
CAPACITY_FTP_URL |
| All settings will be provided by Capacity
|
CAPACITY_FTP_USERNAME |
| All settings will be provided by Capacity
|
CAPACITY_HTTP_TIMEOUT |
| Value: The default value is 5 seconds. |
CAPACITY_PASSWORD |
| All settings will be provided by Capacity
|
CAPACITY_OWNER_ID |
| All settings will be provided by Capacity
|
CAPACITY_REST_API_KEY |
| All settings will be provided by Capacity
|
CAPACITY_REST_CLIENT_CODE |
| All settings will be provided by Capacity
|
CAPACITY_REST_CLIENT_ID |
| All settings will be provided by Capacity
|
CAPACITY_REST_CLIENT_SECRET |
| All settings will be provided by Capacity
|
CAPACITY_REST_URI |
| All settings will be provided by Capacity
|
ORDER-DESK | |
|
---|---|---|
NOTIFICATIONS_HOST | Example: tracking.mystore.com | The OMS will use this to build the shipment notification url. |
ORDER_DESK_API_KEY | | Information available when you create an Orderdesk account |
ORDER_DESK_STORE_ID | | Information available when you create an Orderdesk account |
SHIPHERO/SHIPMONK | | |
---|---|---|
SHIP_HERO_AUTH_TOKEN | | Information available when you create an SHIPHERO account |
SHIP_HERO_REFRESH_TOKEN | | Information available when you create an SHIPHERO account |
Shipping methods are the rates and services that your customers can choose from at checkout.
DELIVERR | | |
---|---|---|
DELIVERR_SHIPPING_EXCLUSIVE | true or false | Only Deliverr method will display at checkout if set to true |
DELIVERR_ENABLED | enabled or true | |
ACCELPAY | |
|
---|---|---|
ACCELPAY_SHIPPING_EXCLUSIVE | true | Only AccelPay shipping method will display in checkout if set to true |
ACCELPAY_ENABLED | enabled or true | |
Used to help you set up and manage your store's shipping rates, threshold and more
| | |
---|---|---|
FREE_SHIPPING_THRESHOLD | Example: 30 | If customer reaches $30 free shipping is enabled |
FREE_SHIPPING_UNIT | WEIGHT | Free shipping can be enabled with either a dollar or weight threshold. By default, the API expects a dollar-based shipping threshold that is enabled by setting FREE_SHIPPING_THRESHOLD with no other configuration necessary. Stores that prefer to use package weight as a qualification mechanism can set FREE_SHIPPING_UNIT to WEIGHT, and the threshold value will be compared against the value returned by the package. weight |
HOLD_SHIPMENT_WINDOW_IN_MINUTES | Example: 90 (in minutes) | Default is 60 - in minutes - The window in which an order can be canceled before it is pushed to the warehouse. |
SHIPPING_FLAT_RATE | Example: 7.99 | This variable defines the price of your shipping rate. |
SINGLE_SHIPMENT_PRIORITY | Example: enabled | Allows for optimization of fulfillment for all items in an order from a single stock location. |
A tracking number or tracking code is a unique number assigned to packages, allowing you to monitor the parcel's movement between your warehouse and your customers.
TRACKING PACKAGES |
|
|
---|---|---|
EASYPOST_KEY |
|
|
EXTERNAL_TRACKER | enabled or disabled | Requires an EasyPost account to track packages with a value of enabled |
NARVAR_ENABLED | true or false | Either true or false if you are using Narvar to track packages |
A transactional or triggered email is a personalized email sent to your customers directly responding to their online interaction.
They typically have a functional purpose, like reminder emails about their subscriptions, back-in-stock product, shipping notifications, or updating customers about their orders.
Below are some specific configurable settings for a few of these transactional emails.
Emails | | |
---|---|---|
ABANDONED_CART_EMAIL | enabled or disabled | This variable allows the system to email your customers after they add items to their bag and do not finalize checkout by either closing the browser or leaving it open for a minimum of 60 minutes. This requires the email template to exist in your CMS and be published (if set to enabled) |
SUBSCRIPTION_DEFAULT_REMINDER_DAYS | Example: 15 | Value is in days. This variable allows the system to email your customers before their current Subscription ships - Actionable Date - This requires the email template to exist in your CMS and be published (if set to enabled) |
SUBSCRIPTION_LAST_CHANCE_REMINDER_DAYS
| Example: 5 | Value is in days. This variable allows the system to email your customers offering them a last attempt to edit their subscription before it ships - Actionable Date - This requires the email template to exist in your CMS and be published (if set to enabled) |
SCHEDULE_GIFT_CARD_REMINDERS | comma separated list of integers | if present, the OMS will be sending <today> + x days, where x is an integer in the list. For Example, if the value is “15,30”, two Gift Card Reminders will be created with a remind_at date of 15 days and 30 days from now |
REFERRAL_PROMPT_EMAIL | enabled or disabled | This variable allows the system to email your customers after they place an order to remind them they can tell their friends about your business to earn some rewards This requires the email template to exist in your CMS and be published (if set to enabled) |
REFERRAL_REWARD_CONFIRMATION_EMAIL | enabled or disabled | This variable allows the system to email your customers after their friends placed an order using the referral program. This email to remind them that they have successfully earned some rewards This requires the email template to exist in your CMS and be published (if set to enabled) |
TRANSACTIONAL_EMAILS_ENABLED | enabled or disabled | When set to disabled, Chord will not deliver any transactional emails. This is useful for stores that want to send their transactional emails externally (Klaviyo templates, for example) |
ORDER_CONFIRMATION_SUPPRESSION_LIST | Example: comma-delimited list of channels. | If an order is placed in one of provided channels, Order and Shipment confirmation emails are bypassed. |
CROSS_SELL_EMAIL | enabled or disabled | when enabled OMS will send out an email using a "cross_sell_email" template to the email associated with the order. |
STOCK_REQUESTS_NOTIFICATION_ENABLED | enabled or disabled | This variable allows you to send email to your customers who are on the waiting list to let them know an item is back in stock This requires the email template to exist in your CMS and be published (if set to enabled) |
A payment service provider (PSP) is a third-party company that provides payment services to your business for your online payment methods.
SQUARE |
| |
---|---|---|
SQUARE_LOCATION_ID |
| Can be found in Square --> Account |
SQUARE_ENVIRONMENT | either sandbox or production |
|
SQUARE_APP_ID |
| Can be found in Square --> Account |
SQUARE_ACCESS_TOKEN | | Can be found in Square --> Account |
STRIPE | | |
---|---|---|
STRIPE_ALLOWED_CALLBACK_URLS | Example: https://www.chord.co. | In order to enable checkout (Redirect to Stripe) the URL must be listed as a value: i.e., , https://www2.domain.com |
STRIPE_API_KEY | sk_test_xxxxx for Staging environment sk_live_xxxxxx for Production | keys found in the customer's dashboard https://dashboard.stripe.com/apikeys |
STRIPE_STATEMENT_DESCRIPTOR | Example: Chord.co | When your customer get charged, the value provided here will appear on their bank statement |
STRIPE_WEBHOOK | enabled or disabled | enabled (to allow for asynchronous events like checkout) |
STRIPE_WEBHOOK_SECRET | | Key (The endpoint’s secret, used to generate webhook signatures. Only returned at creation.) |
STRIPE_SHIPPING_ADDRESS_MESSAGE | | The message you are typing here is what will display to your customers under Shipping Address at checkout |
STRIPE_SUBMIT_MESSAGE | | The message you are typing here is what will display to your customers under Billing Address at checkout |
STRIPE_ALLOWED_COUNTRIES | Example: US, CA, IT, FR | Allows for shipping to countries you select |
STRIPE_PHONE_NUMBER_COLLECTION_ENABLED | enabled or disabled | If enabled, your customers will have to provide their phone numbers at checkout. |
STRIPE_CHECKOUT_COMPLETED_WEBHOOK_ENABLED | enabled or disabled | Only used for POS Orders- Consumes the payment_intent.succeeded event from Stripe. |
STRIPE_CHECKOUT_EXPIRATION_IN_MINUTES | 60 | Minimum value is an hour (in minutes) |
STRIPE_CHECKOUT_EXPIRED_WEBHOOK_ENABLED | enabled or disabled | This allows for enabling cart abandonment feature |
STRIPE_CANCEL_URL | cart | This value will be appended to the stripe base callback url. For example if callback url is https://mystore.com then the cancel url will be https://mystore.com/cart |
STRIPE_REDIRECT_URL_LOCALE_ENABLED | enabled or disabled | when enabled OMS will add the locale to stripe callback url, for example https://mystore.com/en-US/order/confirmation |
STRIPE_INVOICE_DAYS_UNTIL_DUE | Example: 30 | For stores using Stripe Invoices, allows stores to configure the number of days until payment is due on an invoice. |
STRIPE_PK_KEY | Example: sk_test_xxxxxxxx for staging sk_live_xxxxx for Production | Publishable keys found in Stripe https://dashboard.stripe.com/test/apikeys |
STRIPE_PRODUCT_SYNC | enabled or disabled | When enabled, the OMS product catalog will be synced with Stripe. This is required for Payment Links to work |
STRIPE_AUTOMATIC_TAXES_ENABLED | enabled or disabled | to allow automatic taxes to collect the right amount of tax wherever you sell your goods. |
STRIPE_PROMOTION_CONSENT_COLLECTION | enabled or disabled | Enabled required. If enabled, your customers will see an option to check to receive promotional offers at checkout |
STRIPE_SUBSCRIPTION_CONSENT_MESSAGE | | |
STRIPE_CART_RECOVERY_PROMO_CODE | Example: promo_1Lb9J2IkikXvVt8cphQDHAL8 | The ID of the coupon created with the Stripe Dashboard. This is used during checkout abandoned flow, the promo code should be applied in checkout when customers click on abandoned checkout link. |
STRIPE_SUCCESS_URL_FORMAT | path | if this is set to a value different than "path" the stripe success url will look like: mystore.com/order/confirmation?number=OrderNumber&checkout_session_id={CHECKOUT_SESSION_ID} where by default order number and checkout session id are part of the URL path: mystore.com/order/confirmation/number/{CHECKOUT_SESSION_ID} |
STRIPE_STATEMENT_DESCRIPTOR | Example: chord | defaults to OMS Store name. This value is sent to stripe when creating a payment. See stripe docs |
STRIPE_SUBSCRIPTION_CONSENT_REQUIRED | enabled or disabled | Default value is "disabled". When set to "enabled" stripe checkout will require accepting terms of service before accepting orders with a subscription. See stripe docs |
STRIPE_CHARGE_EXPIRED_WEBHOOK_ENABLED | enabled or disabled | Auto-void expired payments on the OMS when Stripe sends us the charge.expired event |
A Content Management System, also known as CMS, is used to manage your online store content, such as products, prices and much more.
SANITY |
|
|
---|---|---|
SANITY_DATASET | production or staging | The name of the dataset within the project holding the entries to sync with OMS |
SANITY_PROJECT_ID |
| The name of the project holding the entries to sync with OMS |
SANITY_TOKEN |
| Security token OMS uses to authenticate with Sanity when syncing entries. |
SANITY_WEBHOOK_SECRET |
| Security token OMS uses to authenticate webhooks with Sanity |
CONTENTFUL |
|
|
---|---|---|
CONTENTFUL_ENVIRONMENT | master for Production staging for Test Environment | Ensure to match the name that you have in your Space in Contentful |
CONTENTFUL_HOST | cdn.contentful.com |
|
CONTENTFUL_SPACE_ID | Space ID | Found in Contentul under Settings --> General Settings |
CONTENTFUL_WEBHOOK_SECRET |
| Found in Contentful under Webhooks Settings |
CONTENTFUL_ACCESS_TOKEN | | Found under Settings --> API KEYS. Content Delivery API - access token |
Passwordless authentication
MAGIC | | |
---|---|---|
MAGIC_API_KEY | Example: sk_live_xxxxxx | Provided by Chord |
STYTCH | |
|
---|---|---|
AUTH_PROVIDER | stytch | |
STYTCH_PROJECT_ID | Used for Stytch authentication | |
STYTCH_SECRET | Used for Stytch authentication |
|
STYCTCH_PROJECT | Used for Stytch authentication | |
STYTCH_ENV | live or test if staging | |
You can use Avalara or Stripe automated Taxes
STRIPE TAXES | | |
---|---|---|
STRIPE_AUTOMATIC_TAXES_ENABLED | enabled or disabled | If using Stripe automated taxes, enabled is required |
TAX FREE CHANNELS | | |
---|---|---|
TAX_FREE_CHANNELS | example: EDI, or wholesale | Channels are defined in the OMS |
AVALARA | |
|
---|---|---|
AVATAX_ACCOUNT | account ID (numeric) |
|
AVATAX | enabled or disabled | |
AVATAX_COMPANY_CODE |
| Provided when you create your Avalara Account |
AVATAX_LICENSE_KEY |
| Provided when you create your Avalara Account |
AVATAX_LOG_ENABLED | true or false |
|
AVATAX_ORIGIN | Example: { "line1": "33 Irving Pl", "line2": "", "city": "New York", "region": "NY", "postalCode": "10003", "country": "US" } | Address of your business |
AVATAX_TAX_CALCULATION_ENABLED | true or false | True is suggested if using Avalara |
An affiliate program is an agreement in which your business pays an influencer ('the affiliate') a commission for sending traffic and sales their way.
Affiliate |
|
|
---|---|---|
AFFILIATE_COMMISSION_PERCENTAGE | Integer | The default commission amount paid on affiliate orders or line items |
AFFILIATE_REVERSALS_ENABLED | enabled or disabled | When enabled, when a refund is processed for an order with an associated affiliate payment, a transfer reversal will occur to reverse the commission payment |
AFFILIATE_TRANSFER_TIME_IN_MINUTES | Integer | Number of minutes after a payment is captured or a return is processed to wait before initiating the transfer or reversal with Stripe Connect |
A Referral Program allows customers to earn promotional reward credits for future purchases by referring friends/family to your site.
Referral |
|
|
---|---|---|
REFERRAL_HOST | URL of host who provides the referral program. i.e., www.chord.com | usually the tenants’ site |
REFERRAL_CREDIT_AMOUNT | Amount given to referrer i.e., 10 | the person who refers will get that amount when the person they referred places an order |
REFERRAL_ANNUAL_LIMIT | Annual Limit the Referrer is limited to referring i.e., 50 |
|
REFERRAL_MAILER_DELIVERY_DELAY |
| select a number of days before sending the above email after a customer places an order |
REFERRAL_PROMPT_EMAIL | Either enabled or disabled |
|
REFERRAL_REWARD_CONFIRMATION_EMAIL | Either enabled or disabled |
|
SMTPs are your outgoing mail server emails - At Chord we are using Mailgun or Sendgrid
SMTP |
|
|
---|---|---|
SMTP_DOMAIN | Example: smtp.mailgun.org smtp.sendgrid.org
|
|
SMTP_PASSWORD |
| Provided when setting up a new domain in Mailgun or Sendgrid |
SMTP_USERNAME | | Provided when setting up a new domain in Mailgun or Sendgrid |
SMTP_ADDRESS | | Provided when setting up a new domain in Mailgun or Sendgrid |
For emails associated with Subscriptions please refer to Transactional Emails section.
Subscriptions |
|
|
---|---|---|
FREE_SHIPPING_FOR_SUBSCRIPTIONS | disabled or enabled | to get free shipping for Subscription orders |
STALE_SUBSCRIPTION_THRESHOLD_DAYS | Integer | 180 The number of days that an incomplete subscription order will remain in current state before it is automatically canceled. |
SUBSCRIPTION_MAXIMUM_REPROCESSING_COUNTER | integer | Maximum payment retry that can be executed after the last successful subscription installment. After that time, the subscription will be auto-canceled. |
A post-sales process is a series of tasks that you perform after your customer buys a product or service from you.
Cross-Sell |
|
|
---|---|---|
CROSS_SELL_EMAIL | enabled or disabled | when enabled OMS will send out an email using a "cross_sell_email" template to the email associated with the order. |
CROSS_SELL_POST_CHECKOUT | enabled or disabled | Allow your customer to be given the opportunity to cross-sell after checkout. |
ORDER_CROSS_SELL_TIME_IN_MINUTES | Any integer but defaults to 15 | used to define the cross_sell_ends_at property in orders api response |
Order channels are a way to distinguish and organize orders by the way in which they pass through the OMS.
| | |
---|---|---|
AUTOMATIC_APPROVAL_CHANNELS | comma-delimited list of channels Example: Chord,Subscription, Batch | Orders that belong to a specified channel will bypass the manual approval process that can be enabled on certain shipping zones. |
ORDER_CONFIRMATION_SUPPRESSION_LIST | Example: comma-delimited list of channels. | If an order is placed in one of provided channels, Order and Shipment confirmation emails are bypassed. |
TAX_FREE_CHANNELS | Example: EDI, or wholesale | Channels are defined in the OMS |
SKU/BUNDLES | | |
---|---|---|
VALIDATE_PART_LINE_ITEMS | enabled/disabled | When enabled, OMS will prevent a customer from adding a part to a bundle unless explicitly permitted in Contentful. See the note |
SYNC_SKU_BASED_BUNDLES | enabled/disabled | When disabled, kits from Contentful will no longer create SKU-based bundles. This is to switch to the new dynamic bundles. |
The Importer allows you to import specific data, such as Orders, Products, Customers, Gift Cards, and Subscriptions.
GIFT CARD IMPORTER | | |
---|---|---|
GIFT_CARD_IMPORTER_CREATE_STORE_CREDIT | enabled or disabled | When importing gift cards, states whether OMS should create associated store credits. If disabled, OMS will not create new credits but will instead try to find a matching existing store credit. |
GIFT_NOTES_ONLY_WITH_ASCII | enabled or disabled |
|
The SENTRY_DSN variable allows you to add your Sentry account information if you want to monitor and get alerts sent to your account.
Error Reporting |
|
|
---|---|---|
SENTRY_DSN | You can find the DSN in your Sentry project settings by navigating to [Project] > Settings > Client Keys (DSN) in . | Set this to capture and record errors in Sentry. |
Passport is the international shipping carrier for your international sites
PASSPORT | Value | Notes |
---|---|---|
PASSPORT_SHIPPING_ENABLED | enabled or disabled | enables when you create a Passport account |