All pages
Powered by GitBook
1 of 8

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

thruDateBuffer and bufferTime

For a smooth order download process HotWax has two buffer times.

thruDateBuffer

Shopify processes an order after it has been placed to check for invalid or fraudulent activity, a process that typically takes 5 minutes. If the order is synced into HotWax before being processed, the order will need to be searched in Shopify again to update its tags.

The thruDateBuffer ensures that orders are only synced from Shopify after a certain amount of time. This delay allows time for Shopify to process and analyze the orders before they are imported into HotWax Commerce, reducing the need for rechecking the order tags. By default this value is 5 minutes.

bufferTime

It is possible for orders to be missed if they are placed during the microsecond time gap between two consecutive jobs.

To address this issue, a buffer time padding is added to the start time of each job. This ensures an overlap between jobs, preventing orders from being lost during these microsecond gaps. The BufferTime is calculated based on the previous job's runTime and includes both the thruDateBuffer and the overlap time. By default, the BufferTime is 6 minutes (5 minutes for thruDateBuffer + 1 minute overlap).

Example Scenario

  • Sync job interval: Every 15 minutes

  • Default values: thruDateBuffer = 5 minutes, BufferTime = 6 minutes

  1. The job running at 1:15 will sync orders from 12:54 - 1:10.

  2. The job running at 1:30 will sync orders from 1:09 - 1:25.

This ensures that orders are accurately processed and reduces the risk of discrepancies.

Orders

Learn how HotWax Commerce synchronizes order information from shopify.

HotWax Commerce ensures that order information is always updated to streamline the process of fulfilling orders. When syncing orders from Shopify, HotWax Commerce tackles four essential scenarios

  1. Initial Order Download: To integrate HotWax Commerce with Shopify, merchants are required to import all open sales orders from a particular time frame that HotWax Commerce must fulfill.

  2. Importing Newly Created Orders: All the orders that have been placed since the initial download must be imported into HotWax Commerce.

  3. Approve Orders for Fulfillment: Before approving orders for fulfillment, HotWax Commerce must ensure that payment has been authorized and verified by Shopify.

  4. Synchronizing Order Updates: When making changes to orders, like updating shipping addresses, item quantities, or item details, it is important to inform HotWax Commerce to ensure proper synchronization of order updates.

Order Download

Learn the process of downloading initial orders from Shopify to HotWax Commerce for order management.

Initial Order Download From Shopify To Hotwax Commerce

To download all open sales orders from a specific time period in HotWax Commerce, users can schedule the 'Import Orders in Bulk' job by adding the last Shopify Order ID. This job imports all orders since the last Shopify Order ID, along with details such as order number, customer information, shipping address, billing details, and payment information.

The process of importing orders from Shopify to HotWax Commerce consists of two steps.

  • Downloading from Shopify- HotWax Commerce uses an API request to Shopify to retrieve sales orders. The orders are returned in JSON format by Shopify, based on the API request. To avoid errors with large data files, HotWax Commerce downloads only 100 orders in one API call, even though Shopify allows downloading up to 250 orders. This helps optimize platform utilization and enables higher throughput, as each order can have multiple items, potentially leading to larger file sizes. The downloaded JSON file is then stored in the file system.

Fig.1 : Configuration of the “import orders in bulk” job in the Job Manager App
  • Order Creation in HotWax Commerce- HotWax Commerce proceeds to the second step by accessing the JSON files that have been downloaded from the file system and then generating orders. Once all the orders have been downloaded, HotWax Commerce will automatically begin processing them. Once the orders are imported into HotWax Commerce, they will be assigned a 'created' status.

Order fields in Shopify are mapped in HotWax Commerce as follows:

Order in Shopify
Order in HotWax Commerce

Order ID

Order ID

Shopify Shop

Product store

Sales order

Sales order

Order Status

Status

Order date

Order date

Location

Sales Channel

Image

Image

Product name

Product Name

Variant

Variant

SKU

SKU

Subtotal

Subtotal

Shipping

Shipping Method

Total

Shipment Total

Shipping Address

Ship To

Billing Address

Bill To

Tags

Tags

Fig.2(i): Orders in Shopify
Fig.2(ii): Orders downloaded in HotWax Commerce
Fig.3(i): Order Details in Shopify
Fig.3(ii): Order Details in HotWax Commerce

Importing Newly Created Orders from Shopify to HotWax Commerce

In HotWax Commerce, there's a job called 'New Orders' that downloads new orders in bulk from Shopify. The job checks the 'created_at' field in Shopify to see if any orders were created after the last time the job ran. All orders with a 'created_at' time between the last download and the current time are downloaded, regardless of their fulfillment status. Once all orders are downloaded to the file system in the order JSON file, the order creation process begins in HotWax Commerce.

Fig.4 : Configuration of the job New Orders in the Job Manager App

Recommended frequency of the job is 15 minutes i.e. it will run every 15 minutes. Frequency is configurable as per the merchant's requirements.

thruDateBuffer and bufferTime

thruDateBuffer: The thruDateBuffer ensures that only orders are synced into HotWax after a certain amount of time.

at least 5 minutes old in Shopify are synced. This delay allows time for Shopify to process and potentially cancel invalid orders before they are imported into HotWax Commerce.

bufferTime: It is possible for orders to be missed if they are placed during the microsecond time gap between two consecutive jobs.

Let’s take a look at an example:

A job downloads orders between 01:00:00 PM to 01:15:00 PM and a second job downloads orders between 01:15:00 PM to 01:30:00 PM.

If an order is created on Shopify at 01:14:14 PM, but it's not added to Shopify's database until 01:15:01 PM, the order won't be downloaded by either job.

To avoid missing any orders, we add a buffer time. For example, if the last job downloaded orders from 01:00:00 PM to 01:15:00, the next job will download orders from 01:14:00 to 01:30:00 PM.

Fig.5 : Order downloading without buffer time

Gift Cards Order Download

Learn how HotWax Commerce downloads gift cards from Shopify.

HotWax Commerce downloads both physical and digital gift cards orders from Shopify with the Import Orders job. This process remains straightforward for gift cards orders, just as it does for other orders.

Learn more about order download from Shopify to HotWax Commerce

Order Updates

Learn how HotWax Commerce synchronizes order updates from Shopify.

Synchronizing Order Updates

Sometimes customers or customer service representatives make changes to Shopify orders that need to be accurately reflected in HotWax Commerce to ensure the fulfillment process meets the customer's requirements. HotWax Commerce can update the following details from Shopify:

  • Adding items to an order

  • Removing items from an order

  • Changing item quantities

  • Refunded transactions

To ensure all order modifications are synced accurately, HotWax Commerce has an 'Import order updates from Shopify' job. This job checks the 'updated_at' field of orders in Shopify and compares it to the last run time of the job. If the 'updated_at' time is after the last run time, the job downloads all order details from Shopify, compares it to HotWax Commerce data, and updates any changed fields. The default frequency for the job is every hour, but merchants can change it through the Job Manager App to meet their requirements.

Fig.6 : Configuration of the “Import order updates from Shopify” job in the Job Manager App

To know more about how HotWax Commerce synchronizes Order fulfillment updates with Shopify, click here. Read further to know how HotWax Commerce Manages Presell orders and BOPIS Orders.

Order Approval for Fulfillment

Learn how the order approval process in HotWax Commerce improves fulfillment.

Order Approval for Fulfillment in HotWax Commerce

Overview

In HotWax Commerce, all orders are initially marked as ‘Created’ after being downloaded. Orders can be auto-approved with a scheduled job called 'Approve Orders.' This job checks the approval status of Shopify orders based on parameters set by Shopify merchants.

Approve Orders Job

Orders need to be verified and approved before they can be fulfilled. Without a systematic approval process, invalid or fraudulent orders could proceed to fulfillment, leading to potential issues. The 'Approved Orders' job runs at a default frequency of 30 minutes and checks the ‘approved’ tag of the orders.

Example Scenario: Fraud Detection with Riskified

For example, the Riskified app, used by clients like Steve Madden, adds an ‘approved’ tag once all security checks are done. After this processing is over, HotWax will sync these orders initially labeling them as 'Created'. The checkRiskifiedTagAndApproveOrders job then changes the status of orders with the ‘approved’ tag to 'Approved'. Only these orders are eligible for fulfillment.

Fig.6 : Configuration of the “Approved Orders” job in the Job Manager App

Any digital items are marked as 'Fulfilled' in Shopify. On import into HotWax Commerce, these items are automatically marked as completed.

Kit Order Download

Learn the process of downloading kit orders from Shopify to HotWax Commerce.

How are Orders for Kit Products Downloaded from Shopify to HotWax Commerce

HotWax Commerce imports orders for kit products from Shopify through the Import Orders job.

When HotWax imports an order, the first step is to check how many items are included in the order. For each item, HotWax retrieves its associated product ID.

These product IDs are predefined in HotWax Commerce and mapped to specific product types. For example:

Once the product ID is identified, HotWax associates it with the right product in its system. If the product type is identified as MARKETING_PKG_PICK, the order is recognized as a Kit Order.

Kit Order Brokering

After identifying the product type as MARKETING_PKG_PICK, HotWax Commerce directly the entire kit order to the facility where the inventory is available rather than brokering each component separately.

Product ID

Product Type

1001

FINISHED GOOD

2010

MARKETING_PKG_PICK

brokers

POS Sales Download

Point of Sale (POS) sales are purchases made by customers directly at physical retail locations. These involve immediate payment and fulfillment, occurring in real-time.

The scheduled 'New Orders' job in HotWax Commerce that downloads new orders in bulk from Shopify also includes POS sales. Because POS sales in Shopify have already been fulfilled to customers at the point of sale in-store, they are automatically marked as "Completed" in HotWax Commerce upon import.

Differentiating POS Sales from Regular Orders:

During import, HotWax Commerce differentiates between POS sales and regular orders by checking if the following conditions are met:

  1. POS sales are already fulfilled in Shopify.

  2. They are originated from the POS channel.

  3. They have their shipping method set to POS_Completed.

If these conditions are satisfied, HotWax Commerce automatically marks the POS sales as "Completed".

HotWax Commerce automatically deducts inventory against the POS sale upon import. This ensures that the actual physical inventory available at the retail store is accurately reflected in HotWax Commerce.

POS sale fields in Shopify are mapped in HotWax Commerce just like any regular order. Certain fields such as Sales Channel, Status, and Shipping Method have different values for POS sales, reflecting how POS sales differ from regular orders.

POS sale field mapping
POS sale field mapping