Find resolutions to common errors connecting Shopify with Infoplus.
Shopify Errors and Resolutions
- '{"errors":["An item cannot be active at more than one location if one of them is a fulfillment service location."]}'.
- '{"errors":{"base":["None of the items are stocked at the new location."]}}
- An unknown HTTP Error was received '504' connecting to URL
- Orders are not pushing shopping cart updates, even after pushing manual updates, and even if the Shopping Cart log says it successfully pushed the update. The Shopify site still is not showing that the order is shipped.
- “An unknown error occurred fetching Order data for this Shopping Cart. Please contact Customer Support.”
Error
When attempting to push inventory levels from Infoplus to Shopify, the following errors are received in the alerts table:
Invalid information was sent to the shopping cart. Infoplus received the following response '{"errors":["An item cannot be active at more than one location if one of them is a fulfillment service location."]}'.
or
Invalid information was sent to the shopping cart. Infoplus received the following response '{"errors":{"base":["None of the items are stocked at the new location."]}}
Resolution
When Infoplus communicates with Shopify, via its API, to either update inventory levels or to mark an order as fulfilled, Shopify requires that a location ID be specified to determine in what location the inventory level should be adjusted.
When using the Infoplus plugin, a "pseudo-location" is created within Shopify, which Infoplus will use as this required location value in its API requests. For this to work, all products for which Infoplus will be managing inventory should be marked as such on the Shopify product setup page.
By doing this, products in Shopify will move to be in the "pseudo-location" of which Infoplus is aware. When items are set up to not be managed by Infoplus, but the Infoplus connection is set up to manage inventory, the location Infoplus will use in its API request will not line up with Shopify's expectation.
As a result, errors are returned by API requests to update inventory or fulfill orders. To fix this problem, set each product to use the Infoplus Fulfillment Service within Shopify. This can be done on a product-by-product basis or for all products in Shopify using Shopify's bulk edit tool.
When a product within Shopify is set to have Infoplus manage inventory, quantities can no longer be manually adjusted within Shopify, and all of that product will exist in the Infoplus "pseudo-location". Some users, however, do not want Infoplus to track inventory but still want Infoplus to mark orders as fulfilled.
As stated above, if the products are not marked to be managed by Infoplus within Shopify, Infoplus will be unaware of the location where they actually exist in Shopify. Even though Infoplus will not update inventory levels, when it tries to mark orders as fulfilled, the same error will occur.
To alleviate this problem, there is a field on the edit screen of a Shopping Cart Connection record labeled "Override Location Id". In this field, a non-Infoplus location can be entered, and if this field has a value set, Infoplus will use that location value instead of the 'pseudo-location' when communicating with Shopify. The caveat to using this feature is that all items that Infoplus will be shipping must reside in the same non-Infoplus location entered in the "Override Location Id" field. This field will appear only if Shopify is selected as the "Connection Type".
To find a location ID within Shopify, from within the Admin section of your Shopify site, click on the Settings link in the lower left corner of the page. Next, click the "Locations" link and choose the Location that has the id for which you are searching. The URL in the browser should now contain something that looks like:
https://your-shopify-site.myshopify.com/admin/settings/locations/123456789
The number at the end of the URL will be the ID for the location you are viewing, in this case, "123456789".
To find a location ID within Shopify and map it to your Infoplus Override Location ID, please see the steps below.
- Go to the Settings page in your Shopify admin page.
- Click Locations.
- Select the location with the Shopify location ID you're looking for.
- The Shopify location ID will be in the URL of the page, after the word "locations". For example, if the URL is: https://your-shopify-site.myshopify.com/admin/settings/locations/123456789 the Shopify location ID is 123456789.
5. Copy this Shopify Location Id value into your Override Location Id field in Infoplus.
Error:
When attempting to import orders from Shopify, the following error is received in the alerts table:An unknown HTTP Error was received '504' connecting to URL ' https://your-shopify-site.myshopify.com'
Resolution:
This '504' error is returned when Infoplus tries to tell Shopify that it has received the order successfully. The '504' error means that Shopify never responded to the message that Infoplus had received the order. This can happen when the Shopify site is down or is busy/overloaded and cannot accept incoming connections.
Error:
Orders are not pushing shopping cart updates, even after pushing manual updates, and even if the Shopping Cart log says it successfully pushed the update. The Shopify site still does not show that the order has been shipped.Resolution:
This is another instance where all items in Shopify must have the same location id. This is the only accepted configuration for Infoplus to communicate with Shopify.
For example, SKU 1234 has an inventory item Id of 36400055058598 in Shopify. When Infoplus queries the Shopify API for locations of this SKU, it returns 47295299750 for the location ID.
The location ID associated with the Shopping Cart Connection in Infoplus is 48335290534. All three numbers do not match which is consistent with the above error. Infoplus cannot find items that do not match necessarily
Error:
“An unknown error occurred fetching Order data for this Shopping Cart. Please contact Customer Support.”
Resolution:
The alerts happened when Infoplus tried to pull an order in from Shopify. Within the Alert message, run the "Re-post Business Transactions" process from the 'Actions' menu (top right). This process attempts to re-do whatever was causing the error given in the alert. If after re-posting, the same error message is received, try this process:
1. Highlight the 'Order ID' in the Queue Message and copy the order ID
2. Then, go to the Shopping Cart Connection Log
3. Search for that 'Order ID" in the Contains field
4. Filter by LOB under Shopping Cart Connection
5. Add Notes as a column header on the Shopping Cart Connection Log Table
6. Click on the Notes column header and select Advanced
7. In the Contains field in the Notes Advanced options, input the Order ID copied earlier
8. Click Update
9. Check the message on the Notes section once all the settings have been implemented
10. If the order shows it has been imported, you can now Acknowledge the Alert by viewing the alert If the order shows it has not been imported, contact customer support for additional assistance