Hemi v2.2.32 released - 12.10.2022

Story
HEMISPHERE-15141 [Catch] Picking MPN when the EAN is empty
Description
We need to change the logic how we are listing products for Catch.
At the moment the product-reference-type is always upc but this need to be changed depend on the information we have in Hemi.
For example we logic will look like:
If we have an EAN we set product-reference-type = ean
If we have an UPC we set product-reference-type = upc
If we have an MPN we set product-reference-type = mpn
If we have an ISBN we set product-reference-type = isbn
If all of the above ean, upc, mpn, isbn are empty we set product-reference-type = sku.
If we have all fields populated or more than one we use the same priority EAN, UPC, MPN, ISBN, SKU.
Which means if we have EAN and UPC we use the EAN etc.
HEMISPHERE-15538 [Storesome] Order get - product mapping to Hemi change - From SKU to Order Item ID from the payload
Description
HEMISPHERE-15539 [Shipment Custom Script] Addition for Shipment lines
Description
Explicit addition for the Shipment script to add Shipment lines
HEMISPHERE-15645 [SecretSales] Skip refunds that are on "WAITING_REFUND_PAYMENT" and handle missing transaction ID
Description
Based on a dev support we recently uncovered that we are getting orders with pending refunds directly that are causing issues and blocking orders to be stored as a whole in Hemi. This causes 2 things to change
A ) If we get an order with a refund that has a “state” different from = “REFUNDED
“ we want to skip this whole refund as a whole. Our whole idea of storing refunds from Marketplaces directly on read is only if they are completed
B )We will be treating the refund ID as our internal Order Payment Details > Transaction ID.
Each refund from MIRAKL is treated as a separate row in Hemi.
HEMISPHERE-15722 [SecretSales] Start storing shipping service code and email
Description
We need to start writing the shipping service code and email when downloading orders from SecretSales into Hemi.
HEMISPHERE-15732 [Secret-Sales] Trim Shipping Buyer Name when downloading orders
Description
We need to trim the Shipping Buyer Name as we seem to be downloading it with a space before the name and this is causing issues when exporting the orders.
HEMISPHERE-15734 [AmazonSP] Do not update Orders > Order Status if "Cancelled"
Description
Because on Amazon every shipped order even if it is fully refunded we will still receive “Shipped“ status.
Thus we need to make sure we do NOT update our Orders > Order Status if it is already “Cancelled“.
However the Orders > Marketplace status and Order Item > Status and Order Item Line > MP Status are to be updated as on Amazon
HEMISPHERE-15737 [ShopifyERP] Shipping Service as additional details
Description
We need to export the Orders > Shipping Service also as a note_attributes in Shopify.
The correct structure will be
{Name}:{Value}
Shipping Service : Orders > Shipping Service
Please note if the Orders > Shipping Service is missing we skip it as note attribute
HEMISPHERE-15740 [eBay] Add CDATA[] for the SKU filed in the Feed API
Description
Due to issues with special characters we will need to add CDATA[] for every SKU in the Feed API requests.
This include all types of messages and at the moment we are sending it as:
which need to be changed as
HEMISPHERE-15747 [eBay] Include in the email for the authentication for which machine and account it is requested
Description
At the moment the email looks like:
”Please click on the link at the end of this email to grant us permission to the following scopes on eBay:
https://api.ebay.com/oauth/api_scope,
https://api.ebay.com/oauth/api_scope/sell.marketing,
https://api.ebay.com/oauth/api_scope/sell.marketing.readonly,
https://api.ebay.com/oauth/api_scope/sell.account,
https://api.ebay.com/oauth/api_scope/sell.account.readonly,
https://api.ebay.com/oauth/api_scope/sell.inventory,
https://api.ebay.com/oauth/api_scope/sell.inventory.readonly,
https://api.ebay.com/oauth/api_scope/sell.fulfillment,
https://api.ebay.com/oauth/api_scope/sell.fulfillment.readonly,
https://api.ebay.com/oauth/api_scope/sell.finances,
https://api.ebay.com/oauth/api_scope/sell.payment.dispute,
https://api.ebay.com/oauth/api_scope/sell.analytics.readonly,
https://api.ebay.com/oauth/api_scope/commerce.identity.readonly
You will be asked to enter your eBay credentials.
{Link}”
Could you please update the first sentence as:
”Please click on the link at the end of this email to grant us permission for {machine} account id {id} with the following scopes on eBay”
HEMISPHERE-15748 [Laredoute] Add Error Exception for 'Error Fetching HTTP headers'.
Description
Every time we do a refund on Laredoute and receive error 'Error Fetching HTTP headers' the actual refund is processed successfully.
So we would like to add exception and if we receive error 'Error Fetching HTTP headers' to treat it as successful refund BUT also store an error in Order Payment Details > Error Text so we can recognize that this has been the case if needed
HEMISPHERE-15761 [Walmart] Feed edge case handle - wrong statuses
Description
https://wearepentagon.atlassian.net/wiki/spaces/HEMI/pages/34045970/Walmart#Processing-feeds
HEMISPHERE-15767 [Cdiscount] Start Storing Order Payment Details
Description
When we are getting new orders for Cdiscount we are not adding the payment row which cause issues for our connectors.
Could you please start adding the Order Payment Details with “completed” status when the Order > Status is NOT “pending“ or “incomplete“
Also we need to map Order > Marketplace Order ID = Order Payment Details > Transaction ID
HEMISPHERE-15771 [CDiscount] Start storing email address
Description
We need to start storing the email address coming from CDiscount.
HEMISPHERE-15783 [ShopifyConnector] Create Orders to send always Street 1
Description
For Shopify the street 1 is mandatory so we will have to make sure if in Hemi we have only
Orders > Shipping Street 2 without Orders > Shipping Street 1 to send it as shipping_address: address1
also if we have Orders > Billing Street 2 without Orders > Billing Street 1 to send it as billing_address: address1.
If there is no:
Orders > Shipping Street 1
Orders > Shipping Street 2
Orders > Billing Street 1
Orders > Billing Street 2
We return an error that the street is mandatory field and do not export the order.
HEMISPHERE-15784 [AmazonSP]Get Shipping Address to always store Shipping Street 1
Description
For Amazon we are receiving
AddressLine1
AddressLine2
AddressLine3
However they are no mandatory and we can receive only AddressLine1
or only AddressLine2
or only AddressLine3
Thus we need to make sure if we receive only AddressLine2
to store it in Orders > Shipping Street 1 / Orders > Billing Street 1
If we receive only AddressLine3
to store it in Orders > Shipping Street 1 / Orders > Billing Street 1
If we receive both AddressLine1
and AddressLine2
we store them in
AddressLine1
→ Orders > Shipping Street 1 and Orders > Billing Street 1
AddressLine2
AddressLine3
→ Orders > Shipping Street 2 nd Orders > Billing Street 2
If we receive all AddressLine1
and AddressLine2
and AddressLine3
AddressLine1
→ Orders > Shipping Street 1 and Orders > Billing Street 1
AddressLine2
AddressLine3
→ Orders > Billing Street 2 and Orders > Billing Street 2
HEMISPHERE-15813 [AmazonSP] Courier Mapping Additions
Description
At the moment we are using the Amazon Shipping Service in order to map the correct courier service however we will need to extend this mapping and include the carrier as well.
For example if we have a match of the Order Shipments > Courier against Courier > Name we will go to the Amazon Shipping Service Mapping for the correct account and get the correct Amazon Shipping Service Mapping > Courier Shipping Service.
There we also would like to add “Amazon Courier” field which if populated to be send as the carrier.
In this case we will receive carrier name “SEURTRACKETAIR“ which based on the mapping will push “USPS” to Amazon.
Again the carrier will be per service and if we have specified the Courier for the default service to be used as a default carrier.
Also if there is no mapped service we will have to return an error.
HEMISPHERE-15818 [eBay] End Listing to work with Closed flag
Description
At the moment Product Account > End Listing works even if we have Product Account > Closed = Yes.
We need to make sure that closed items doe not get delisted and if we have
Product Account > End Listing = Yes
Product Account > Closed = Yes
not to process the ending.
After successful we need to set Product Account > Listing Status = ‘Inactive’ and Product Account > End Listing = No
HEMISPHERE-15833 [Open API] Add additional field in Get Orders request (Hy-Pro)
Description
We want to include in the payload Orders > Marketplace Fulfillment Channel when the client is requesting Get New orders.
Bug
HEMISPHERE-15607 [Walmart] Stock Response Reader issue [CityChic]
Description
The Update Stock Response Reader seems to have some issue. We had about 10k feeds darting from March which were on status Processing even though the reader seemed to be running properly.This resulted in everytime the reader runs to go and look for the oldest processing feed (from March) which resulted in 404 error response flagged by Walmart to us. We got the 404 error probbably becuase the feeds were too old and they were deleted/expired on Walmart.
We manually changed the status of these feeds to Completed with a completed date UNIX(1655298116) and only left feeds on processing from the last 2 days which got processed successfully.
I am assuming that there was some feed which “broke” something resulting in having a lot of feeds on processing.
HEMISPHERE-15648 [eBay] Escaping ':' symbol when sending images
Description
A lot of products are returning error that the image links are invalid or missing (error below). You can also find an example product link and the xml payload attached. I believe the issue is either that we proxy image links or just break the links when sending updates. Image link ‘https://images-sd.myhemisphere.com:4433/images/imgzoom/83/83705140_xxl.jpg’ for example is being sent to eBay as ‘https://images-sd.myhemisphere.com%3A4433/images/imgzoom/83/83705140_xxl.jpg’, i.e we are changing the : symbol with %3A.
HEMISPHERE-15660 [Secret Sales] Get orders cron marks products as OOS without being OOS (CityChic)
Description
Looks like the get orders cron is marking products as OOS if the last product was sold.
This order contains 2 products which both had 1 quantity at the time of the order, the order got downloaded successfully, the stock got deducted from Product Account via the recalculaction after the order, and then 20 minutes later, the get orders cron has marked the products as out of stock(screenshot attached)
HEMISPHERE-15693 [eBay] Skipping downloading shipping and billing info in orders
Description
For some reason for orders from eBay, we don't receive shipping and billing info.
From yesterday we find the same orders with the same order error on other Basses.
This has been logged to eBay, but we should store the order as Incomplete and not with Ready for shipping status when there is a missing address
HEMISPHERE-15759 [Shopify] Not downloading orders (warehow1)
Description
The cron stops and there are no errors, but the orders are not getting downloaded.
HEMISPHERE-15772 [AmazonSP] Missing Order Item Line Records
Description
We are not writing order item lines since the last release Amazon.
This results in not able to refund and ship the orders
HEMISPHERE-15777 [ProSKU] File mover missing SSL ftp connector (warehow1)
Description
It appears that the new cron is missing SSL FTP Connector as we are unable to connect to ProSKU’s ftp even though the credentials are connect.
HEMISPHERE-15782 [ShopifyConnector] Recalculate VAT currency
Description
We need to be calculating the currency rates of every VAT field we could be sending to Shopify when creating orders as well. For the example order below, we have calculated the currency correctly but the VAT remains not calculated.
We will have couple of cases which we need to cover as follows;
If we have taxes we pick them with priority rather than the VAT and first we check if there is Orders > Total Tax Amount, then the Product in Order > Item Tax Price and Product in Order > Item Shipping Cost Sales Tax
If the Orders > Total Tax Amount we need to calculate it from the items.
Also if Orders > Total Tax Percent or Product In Order > Item Tax percent are empty or equal to “0“ we have to calculate the tax rate manually.
HEMISPHERE-15790 [ShopifyERP] Get Stock download 0 stock for all SKUs
Description
We have major fail with Start Fitness and our Get Stock cron set 0 stock for all of the SKUs in Item Location Quantity.
We need to very carefully investigate what can cause this and how!
Also we have received an error: “We cant have two shopify connectors to one location! Error is for connector with id [1].“
At the moment the stock is manually updated so please before trying any thing contact @557058:72d61a5f-dcba-4c96-b808-437a9b943018
HEMISPHERE-15791 [Core] Create shipping template results in server error (arcade2)
Description
We get server error when we try to create shipping template on arcade2 base.
HEMISPHERE-15800 [AmazonSP] We have many stuck orders on pending (Annsummers)
Description
We have a case where we have orders with item trans price = null which I believe cause the issue and get modified does not go through all pending orders.
HEMISPHERE-15803 [Core] UI is not working as expected (Annsummers)
Description
When we try to update the Product in Order > Item Price from the UI it is not stored properly
HEMISPHERE-15804 [ShopifyERP] Get Stock Cron returns "Undefined index:"
Description
We have a problem when we have different SKUs in Item and Item Location Quantity for examples
Item > SKU = FT1782-2XL
Item Location Quantity > SKU = FT1782-2Xl
If we have downloaded the Shopify ids for the particular SKU when we try to get the stock we receive message:
”Undefined index: FT1782-2XL”
And the crons ends, every time we reach this SKU.
This is a problem because it results in missing SKUs and stock discrepancies.
HEMISPHERE-15815 [eBay] End Listing cron goes into a loop (arcade)
Description
We seem to be not writing responses at all and this results the cron going into a loop as the flag of End Listing = Yes , does not change so this results into a loop.
The expected behavior is once we receive the response to change Listing Status = ‘Inactive’ and End Listing = No
I am attaching an example request/response.
HEMISPHERE-15817 [Amazon] Response Reader Return Error
Description
When we try to run the response reader we return errors.
HEMISPHERE-15823 [AmazonSP] Get Modified Orders Returns Error (AnnSummers)
Description
When we try to get the modified orders we receive an error.
HEMISPHERE-15835 [AmazonSP] Feed create cron returns fatal error (dari)
Description
The feed queue manager is returning fatal error on dari machine.
Upcoming
What can be expected next as major projects and features are:
- Puma integration rework
- Decathlon OMC custom integration
- GLTC custom integration
For more details please refer to this link or if you have any questions, please do not hesitate to contact me.
Useful links: