Myer Inbound (Orders)
The purpose of this document is to detail the Orders communication for Myer through IPT Systems.
Expectations are the following:
- Once we receive an order there won’t be any additional changes to it
- Once we’ve received an order we treat it as a Ready for Shipping order regarding payments and everything
- Any Refunds/Returns are done within Myer and we don’t receive any updates on that
- Communication in Myer is done via EAN so we have to map to our SKU
Below can be found an example file and its mapping in Hemisphere
Example file:
{
"order_number": "CC4500624308D000",
"oms_order_number": "1501369596",
"datetime": "202005270025",
"shipto_first_name": "Elvira Kiss",
"shipto_last_name": "",
"shipto_address_1": "8 Victory Ct",
"shipto_address_2": "",
"shipto_suburb": "BRIGHTON EAST",
"shipto_state": "VIC",
"shipto_post_code": "3187",
"shipto_country": "AU",
"shipto_email": "el.mi@bigpond.com",
"shipto_mobile": "+610402892317",
"purchasing_first_name": "Elvira Kiss",
"purchasing_last_name": "",
"order_inc_gst": 299.0020,
"OrderType": "PO",
"items_purchased": [
{
"barcode": "5025155041406",
"buyer_code": "690131890",
"description": "Dyson 282064-01 V7 Trigger Handheld Vac",
"unit_inc_gst": 299.0020,
"ordered_qty": 1,
"gift_card": "N",
"gift_wrap": "N"
}
]
}
Mapping:
Field name | WAP Mapping | WAP Notes | |
---|---|---|---|
order_number | Orders > Marketplace Order ID | ||
oms_order_number | Orders > Selling Manager SalesRecordNumber | ||
datetime | Orders > Order Created Time | ||
shipto_first_name | Orders > Shipping Name | Concatenate with “shipto_last_name” from the payload | |
shipto_last_name | Orders > Shipping Name | Concatenate with “shipto_first_name” from the payload | |
shipto_address_1 | Orders > Shipping Street 1 | ||
& Orders > Billing Street 1 | |||
shipto_address_2 | Orders > Shipping Street 2 | ||
& Orders > Billing Street 2 | |||
shipto_suburb | Orders > Shipping City | ||
& Orders > Billing City | |||
shipto_state | Orders > Shipping State Province | ||
& Orders > Billing State Province | |||
shipto_post_code | Orders > Shipping Post Code | ||
& Orders > Billing Post Code | |||
shipto_country | Orders > Shipping Country Code | ||
& Orders > Billing Country Code | |||
shipto_email | Orders > Buyer email | ||
shipto_mobile | Orders > Shipping Phone number | ||
& Billing Phone number | |||
purchasing_first_name | Orders > Billing Name | Concatenate with “purchasing_last_name“ from the payload | |
purchasing_last_name | Orders > Billing Name | Concatenate with “purchasing_first_name“ from the payload | |
order_inc_gst | Orders > Total amount | ||
OrderType | N/A | All orders will be “PO” coming from Myer | |
items_purchased | N/A | Ordered item section | |
barcode | Order Item > ChannelItemID | By this field we need to look in EAN or Barcode fields within the “item” table to find the actual SKU that we need to store in Order Item > Item SKU | |
buyer_code | N/A | ||
description | Order Item > Item Title | ||
unit_inc_gst | Order Item > Item trans price | ||
ordered_qty | Order Item > Item Quantity | ||
gift_card | N/A | ||
gift_wrap | N/A |
Based on the above and expectations on how we are to receive the orders we need to follow the below actions:
- Every new order should be stored as “waiting_for_delivery” Hemisphere tool_status when created
- In case we read an existing order a second time we are to skip it and simply store an error on the original order so it can be manually checked what is happening
- The Marketplace status of the order (as it is not provided) should reflect our own status
- In case of crucial information missing we should mark the order as “Incomplete”. Crucial information is treated as below:
- Any of the shipping address fields (excluding shipping street 2 address)
- Ship to Name
- Order total
- Item Barcode
- Item Quantity
- Item Price
- In case we can’t map the SKU via EAN or a Barcode from “item” we treat the order again as “incomplete” and store the relevant error for the missing information
- We need to create the order payment record with the total being the paid sum, the transaction ID being the same as the Marketplace order ID and the date the same as the order created time
- We are to create Order Item Line records directly as we consume the order as even if it goes to incomplete we are more likely to not receive a new file with any fixes than actually getting something again (which we will not read based on the validations from above). These lines should all have a status “created” to be able to further differentiate them for any next steps. Only cases where we can’t create order_item_lines is if “item_quantity” is missing or the whole item section is not populated from the payload
- We are to check the products of OOS and mark them if 1) they don’t have enough quantity to fulfil what is requested in the order or 2) we can’t find such a product / product item at all
- We have to fill in the Subtotal of an order to be the same as the total and the Currency to always be “AUD”