Returns Flow Testing:
This document outlines the steps to process a return on the system.
Step 1: Creating a Return
Eligibility for Return Creation
A return can be created only if the order's current status is one of the following:
Ready to ship
Dispatched
Delivered
Handover Done
Methods to Create a Return
There are five ways to create a return:
Using the Create Return Individual API
Curl for individual API:curl --location 'https://return-dot-eshopbox-portal-dev.el.r.appspot.com/_ah/api/esb/v2/return' \ --header 'proxyHost: eshop' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IlJVVXdSREZCUVRSRFFqQkdORFUxTVVZeE16ZEdPRFJHTnpORk5EaEJSVEU0TVVORk5qVTJOdyJ9.eyJodHRwczovL2FwcERhdGEiOnt9LCJodHRwczovL3VzZXJEZXRhaWxzIjp7ImlkIjoyNjY2LCJ1c2VyVHlwZSI6ImRlZmF1bHQiLCJlbWFpbCI6InBhcmFzLmdveWFsQGVzaG9wYm94LmNvbSJ9LCJodHRwczovL2FjY291bnRzIjpbImd1cmdhb25mYyIsImRlbGhpZmMiLCJlc2hvcHRlc3QxMjMiLCJlc2hvcHRlc3RuaXNodGhhIiwiZXNob3B0ZXN0bG9jYXRpb24xMjMiLCJlc2hvcHRlbXBmb3J0ZXN0aW5nIiwiZXNob3B0ZXN0MDUiLCJlc2hvcHRlc3QwNiIsImVzaG9wdGVzdDA3IiwiZXNob3B0dDAwMSIsImVzaG9wdHQwMDIiLCJlc2hvcHRlc3RuZXdkZW1vc25laGFlc2hvcCIsImVzaG9wdGVzdGRhdGEiLCJlc2hvcGVzaG9wdGVzdCIsImVzaG9wZXNob3B0ZXN0MiIsImVzaG9wbXllc2hvcGRlbW8iLCJlc2hvcGVzaG9wdGVzdGRlbW8iLCJlc2hvcG5ld3Rlc3Rpbmdlc2hvcGxvY2F0aW9uIiwiZXNob3BmaWx0ZXJ0ZXN0bG9jYXRpb24iLCJlc2hvcHRlc3QwMDQiLCJlc2hvcG1haDA0IiwiZXNob3BtYWgwMyIsImVzaG9wYmFuMDMiLCJlc2hvcG1haDA5IiwiZXNob3Bxbm1rbWsiLCJlc2hvcGJhbjA5OSIsImVzaG9wIl0sImh0dHBzOi8vd2FyZWhvdXNlV29ya3NwYWNlcyI6WyJndXJnYW9uZmMiLCJkZWxoaWZjIiwiZXNob3B0ZXN0MTIzIiwiZXNob3B0ZXN0bmlzaHRoYSIsImVzaG9wdGVzdGxvY2F0aW9uMTIzIiwiZXNob3B0ZW1wZm9ydGVzdGluZyIsImVzaG9wdGVzdDA1IiwiZXNob3B0ZXN0MDYiLCJlc2hvcHRlc3QwNyIsImVzaG9wdHQwMDEiLCJlc2hvcHR0MDAyIiwiZXNob3B0ZXN0bmV3ZGVtb3NuZWhhZXNob3AiLCJlc2hvcHRlc3RkYXRhIiwiZXNob3Blc2hvcHRlc3QiLCJlc2hvcGVzaG9wdGVzdDIiLCJlc2hvcG15ZXNob3BkZW1vIiwiZXNob3Blc2hvcHRlc3RkZW1vIiwiZXNob3BuZXd0ZXN0aW5nZXNob3Bsb2NhdGlvbiIsImVzaG9wZmlsdGVydGVzdGxvY2F0aW9uIiwiZXNob3B0ZXN0MDA0IiwiZXNob3BtYWgwNCIsImVzaG9wbWFoMDMiLCJlc2hvcGJhbjAzIiwiZXNob3BtYWgwOSIsImVzaG9wcW5ta21rIiwiZXNob3BiYW4wOTkiXSwiaHR0cHM6Ly93YXJlaG91c2VzIjpbXSwiaHR0cHM6Ly9wYXJ0bmVycyI6W10sImlzcyI6Imh0dHBzOi8vZXNob3Bib3gtcGF5bWVudC1yZWNvLmF1dGgwLmNvbS8iLCJzdWIiOiJlbWFpbHw2MzgwYjU0ZjMzZDFjNWEwYzVlOGU5YTQiLCJhdWQiOlsiaHR0cHM6Ly9lc2hvcGJveC1wb3J0YWwtZGV2LmFwcHNwb3QuY29tIiwiaHR0cHM6Ly9lc2hvcGJveC1wYXltZW50LXJlY28uYXV0aDAuY29tL3VzZXJpbmZvIl0sImlhdCI6MTcwNzgwNjI4OCwiZXhwIjoxNzA3ODkyNjg2LCJhenAiOiJUU0gyVFh4N1d2Zng2aHBwSUZmemw1Y2IxTUdxdjlWcCIsInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwifQ.NYuGO48QtExYYfbNRmZcCD6vlY9_sh2lObibviJ-ukvOjvVM4KFRnQKe4w2yQgq5euIgwGWpTcPfOTg5W-DPvXJ08rKN3QO--q3mx4J6pRNWYQWV1i_NHWZNhzcnrhdLbxvMRan50UEJRAEsg5KjeFUOaaDImTfKfTQd8_a0FhecvCoIHDC7n_pQo7EniLxiuHffJxbcNr3PQtONpXOeDp-t8l_6W2220uWXLd4noT5ETKAaNjcrIczpJkmS0NaxyItKM_WgrYLOJkB4cQDL5VhonBRepM07-wy3coN3VQlArLrDdyNmF9q8bTGEis-ZtK0-6JoyApJNSvQpSJHcyQ' \ --header 'Cookie: JSESSIONID=nr9X0nmc8i6M2jTti-4HXA' \ --data '{ "shippingProvider": "Delhivery", "channel": { "externalChannelId": "CH1891" }, "isCreateApplicable": true, "customerReturnNumber": "ImportTest-03", "orderItems": [ { "orderID": "ImportTest-03", "returnReason": "return too next", "sku" : "8907819915636", "quantity": "1" } ], "returnType": "CIR", "trackingID": "123456789", "returnCreatedOn": "2024-01-09 18:44:01" }'
Using the Create New Return Import
Create new returns import is available on the All Orders Page.
Mandatory fields: Order ID, TrackingID, SKU, Return type (CIR/FDR), quantity (optional)
https://help.eshopbox.com/en/articles/5362120-creating-returns
Using the Customer Portal
Using ClickPost
Directly Receiving a Return on Flex with the Forward Tracking ID
After creating a return, the order's status will update to either:
Awaiting Pickup
Return on the Way
Step 2: Receiving the Return on Flex
Prerequisites:
Return Processing Setup on New Location
Navigate to Self Fulfillment Settings
Go to Settings → Self Fulfillment Settings → Return Processing Preferences.
Confirm Location
Ensure that you are updating the settings for the desired Location.
Select Scan-Based Return Processing
Choose Scan-Based Return Processing as the processing method.
Save the Settings
Click Save to confirm the changes.
Refresh the Page
Perform a hard refresh of the page a few times by pressing (CTRL + SHIFT + R)
Process the Return
You are now ready to proceed with processing the return.
Receive return:
Select the portal.
Select the courier name.
Select the selling party.
Add the tracking IDs.
Step 3: Return Identification
Wait for the return receiving cron to run and mark the return identification value on flex.
The return identification cron runs for every 15 mins on staging.
If you want to identification immediately follow the eighter process:
Process 1: Manual sync for a particular FC
Curl for manual sync for a particular FC:-
curl --location 'https://building-blocks-dot-esb-platform-staging.appspot.com/_ah/api/esb/v1/returnReceivedShipments' \
--header 'Content-Type: application/json' \
--data '{"data":"{\"slug\":\"fggn\",\"dateRangeEnd\":\"2024-05-16 17:33:00\",\"dateRangeStart\":\"2024-03-01 17:28:00\",\"returnShipmentOffset\":0,\"shipmentOffset\":0,\"limit\":0,\"randomIdentifier\":0,\"isHistoricSync\":0}"}'
Process 2: Sync for all the FCs
Force run the following cron on GCP
Return receiving cron:
GCP project: Esb platform staging
cron name: ReturnReceivingCron1
If a return has already been created with the provided tracking ID, it gets identified.
If no return was created with the tracking ID, it is marked as an unidentified return.
Step 4: Performing Quality Check (QC)
Perform a QC using the following searches:
Search in Return Items:
Visible only if the return is identified.
It shows the items that were expected on that tracking.
Search in All Orders:
Visible if the return is identified.
Shows the items that were part of the order.
Search in Products:
This is a product search where the user scans the SKU.
If the SKU is found in the Eshopbox product catalogue, the user can process it.
Add Unknown Items:
If the user has an item not found in the previous three searches or its tag is missing and the SKU is not available, process it here.
After completing the QC, submit the return.
Step 5: Returns QC Cron Job
Curl for manual sync for a particular FC:-
curl --location 'https://building-blocks-dot-esb-platform-staging.appspot.com/_ah/api/esb/v1/reconcileQcReturnShipmentTaskQueue' \
--header 'Content-Type: application/json' \
--data '{"data":"{\"slug\":\"fggn\",\"dateRangeEnd\":\"2024-05-16 17:33:00\",\"dateRangeStart\":\"2024-03-01 17:28:00\",\"returnShipmentOffset\":0,\"shipmentOffset\":0,\"limit\":0,\"randomIdentifier\":0,\"isHistoricSync\":0}"}'
Return receiving cron:
GCP project: Esb platform staging
cron name: ReturnQcCron
Or run the below Curl:
curl --location 'https://building-blocks-dot-esb-platform-staging.appspot.com/_ah/api/esb/v1/reconcileReturnQCShipment'
A cron job runs every hour to update the returns information on the workspace.
Possible item status will be:
- Restocked
- Quarantined
- Lost in processing
- DamagedAn event gets published upon QC completion.