/
Fynd Cancellation Sync

Fynd Cancellation Sync

 

image-20240416-112933.png

Step 1: Cron Endpoint /_ah/api/esb/v1/fyndPullCancelledOrder
Use-case: It fetches the active connections and their respective channel data such as latestSyncTimeStamp, accessToken, InputFields.

SELECT channels.connectionId FROM channels WHERE integrationType= 15 AND `status`='0'


Step 2: For Active ConnectionStatus fetch Channel Data, externalChannelID, externalWarehosueID etc., and creates a channel Data Map and pushes into the task queue.

SELECT channels.id AS channel_id,accounts.account_slug AS accountSlug, channels.connectionId AS connectionId, channels.externalChannelId AS externalChannelId,external_wms_channels.locationId AS locationId,\r\n" + " warehouses.externalWarehouseId AS externalWareHouseID FROM channels LEFT JOIN external_wms_channels ON channels.id= external_wms_channels.channel_id \r\n" + " LEFT JOIN warehouses ON warehouses.id = external_wms_channels.warehouse_id LEFT JOIN accounts ON channels.account_id = accounts.id LEFT JOIN channel_account_mapping ON channel_account_mapping.external_wms_channel_id = external_wms_channels.id \r\n" + " WHERE channels.connectionId =:connectionId AND channel_account_mapping.enrollmentStatus = 'ACTIVE'


Step 3: TaskQueue Listener: /_ah/api/esb/v1/cancelledOrder/cron/listener
Use-case: It listens and prepares Fynd Cancel Url to Fetch Cancelled order Details :

Note: For cancelled orders there is no Updated date Filter available in FYND API integration, So for that purpose, we will fetch cancelled order details of orders which are created 15 days before current date using orderDate filter of Fynd API integrations

Fynd Cancelled Order Url:

curl --location 'https://api.konnect.fynd.com/hogwarts/aggregators/api/v2/eshopbox/shipment?orderStatus=CANCELLED&pageSize=100&pageNumber=1&orderDateFrom=2024-03-20T09%3A29%3A02&orderDateTo=2024-03-21T09%3A29%3A02' \ --header 'apikey: NjNjZjk0NzQzYzE0YTEzYmQzOGNiOWIyLi1fU1BJRlZRay4zOTI='

Response:

{ "orders": [ { "id": "17109084765301280603", "marketplaceOrderId": "FY65FA5F050EFC4AB710", "marketplaceReturnId": null, "shippingAddress": { "addressLine1": "A3504, Tower Enchante", "phone": "9971121282", "city": "Mumbai", "email": "rai1110@gmail.com", "name": "Neha Rai", "pincode": "400037", "state": "Maharashtra", "country": "India" }, "thirdPartyShipping": true, "billingAddress": { "addressLine1": "A3504, Tower Enchante", "phone": "9971121282", "city": "Mumbai", "email": "rai1110@gmail.com", "name": "Neha Rai", "pincode": "400037", "state": "Maharashtra", "country": "India" }, "additionalInfo": "you can add additional info here", "orderPrice": { "currency": "INR", "totalPrepaidAmount": 490.0 }, "orderItems": [ { "title": "White Stiletto Graphic Print T-Shirt", "orderItemId": "33649600", "quantity": 1, "onHold": false, "orderItemPrice": { "discount": 500.0, "transferPrice": 0.0, "currency": "INR", "shippingCharges": 0.0, "cashOnDeliveryCharges": 0, "totalPrice": 490.0, "sellingPrice": 990.0, "customer_selling_price": 0.0 }, "marketplaceOrderItemId": "33649600", "productId": "TSTE03UB2201-WT", "shipNode": "SABL", "shippingMethodCode": "STD", "status": "REFUND_PROCESSING", "giftWrap": { "giftWrapMessage": "", "giftWrapCharges": 0 }, "sku": "8907760376166", "packetNumber": 0, "variantId": "M", "serialNumberRequired": false, "gst_details": { "IGST": 23.33 }, "product_identifiers": { "ean": "8907760376166" } } ], "orderStatus": "CANCELLED", "orderDate": "2024-03-20T09:29:02", "paymentType": "PREPAID", "taxExempted": false, "gstin": "", "sla": "2024-04-19T15:42:18.721607+05:30", "orderingChannel": "COVERSTORY WEBSITE", "lockStatus": false, "journeyType": "Forward", "courierName": null, "forward_id": "17109071422221893005", "cFormProvided": false, "fyndInvoiceUrl": "https://storage.googleapis.com/fynd-assets-private/documents/invoice_a4/PDFs/17109084765301280603_invoice_a4.pdf?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=grindor-prod%40fynd-prod-393805.iam.gserviceaccount.com%2F20240417%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20240417T101218Z&X-Goog-Expires=604800&X-Goog-SignedHeaders=host&X-Goog-Signature=837c28f00f68dda2cccd92d689e976a60349e7b83f35b3c60172d55ac637bcc4bb072137976add41258621047c9c984393a3b5cc512680676c0666934af8a56c1ff6df536e333b6b756eebc8b572489c5f7eac7133b4da0c177492ea2b249cb0387d71de214b462b8dbd89689f6e4e4209e299a49edfc74ff29b9c233cf82cbe5a05b46519c5d44e860ff70c720a37b3c4213489a77222ff965d6bfc499655e6101a04a1c8bf48a5c3f7574214beef788802175a51bfdd24097dff675804ae2110ca5b332618ec0bd49f12cb6c04c73acc481f62ba7a9a2a406ed545fd46490c1fbe91b1cdd0f6f5ea567ca14ebe1e150ebc76fe13534d19c83f2bfe1fa0d252", "fyndInvoiceUrlA6": "https://storage.googleapis.com/fynd-assets-private/documents/invoice_a6/PDFs/17109084765301280603_invoice_a6.pdf?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=grindor-prod%40fynd-prod-393805.iam.gserviceaccount.com%2F20240417%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20240417T101218Z&X-Goog-Expires=604800&X-Goog-SignedHeaders=host&X-Goog-Signature=b348be4becee10686fcd40ae6abb3b90eafb948e00d17c8c89da09de2537370a4321f28bf0a51b514b02eec7e8a54467b64d218d71f15a9f40899ebc19c25621f2c81c118efc49f6d59fbbd37a43ba2fc7bf526b74b2522c17b6e0b20f5afc976dae2a3d20557d70026fc630609ddfc5f540f9bc4caeaecda3b0c29ab9e8d00767e9b87be1694de55eba7be218572b04e792a83c810adfa20a47e1f7e523ba1de5def820665e48391ece016bb23c7591d9733965be8434a1069115f0f765e4385fcbd24d9d091677fba667bc893c4ee94ba52258a218ab2f0c7be126ee826388653c558daad64b3d58703d53e3944f55455a13401eb4c0a186b2706f4c47a922", "fyndLabelUrl": "https://storage.googleapis.com/fynd-assets-private/documents/label_a4/PDFs/17109084765301280603_label_a4.pdf?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=grindor-prod%40fynd-prod-393805.iam.gserviceaccount.com%2F20240417%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20240417T101218Z&X-Goog-Expires=604800&X-Goog-SignedHeaders=host&X-Goog-Signature=0934c5a2ced74e9a54425be1dec7430f7feea0a7139ade5488d8d49baa83d421ddaea32121aff03ebb0d93cc29317cb14b59fe1870ee93b83e2134166cb2632affc22e5f1136f79f3eb9e8a93a11ddf876849b5cc4b62444d74430bc8727de2a34230aeb27bef5dc8956638d8f52c62fd3474d313250a758857acd737adb29c0e202301fc8ccb4e45900db9c5943757b96824fe1a820b3fbc4ebe8a03622296a4ab42efeaa6b2a1b8f3cd3965f8e6902321b87b7dda7119965fbd55b572bb6598e15393520aafeb08401467424e1550f8b317a47a05b48f53a8168f0bbf68ecd8c0030e596e6f9c75d3b5fed6130f27bcf66ec249e103b5b159d52434d027baf", "invoice_id": null, "return_invoice_id": null, "marketPlaceInvoiceUrl": "", "marketPlaceLabelUrl": "", "marketplaceInvoiceNumber": "", "purchaseOrderNumberPDF": "", "irn_number": "", "invoice_qr_code": "", "signed_invoice": "", "fulfilmentPriority": 10, "awbNo": null, "B2BData": { "phone": "", "address": "", "name": "", "pincode": "", "state": "", "gstin": "" } } ] }


Step 4. Once the data has been fetched from the above URL, then the data is pushed to a PubSub topic in the following form:
Cancelled Order PubSub Topic Name: fynd_cancel_order

Sample Payload Published:

{ "queueData": { "channelData": { "externalChannelId": "CH5853", "accountSlug": "test_test_ajeet", "connectionId": "2478", "fyndAccessToken": "NjA4MTAzODFhMzk1ZTE3NjNiMDlhYWVlLm5GYm40ZTd1VS45MzE\u003d", "location": { "EB1": "Staging test FC" }, "channelId": "5853", "wmsAccessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IlJVVXdSREZCUVRSRFFqQkdORFUxTVVZeE16ZEdPRFJHTnpORk5EaEJSVEU0TVVORk5qVTJOdyJ9.eyJodHRwczovL2FwcERhdGEiOnsiYXBwQ2xpZW50SWQiOiJjMDQzY2RhNWVlZDQzY2YxM2E5M2ZiYTI3OWRiN2I0MiJ9LCJodHRwczovL2FjY291bnRTbHVnIjoidGVzdF90ZXN0X2FqZWV0IiwiaHR0cHM6Ly91c2VyRGV0YWlscyI6eyJpZCI6MjY0MywidXNlclR5cGUiOiJkZWZhdWx0IiwiZW1haWwiOiJhcHB1c2VyNDg1QGVzaG9wYm94LmNvbSJ9LCJodHRwczovL2FjY291bnRzIjpbInRlc3RfdGVzdF9hamVldCJdLCJodHRwczovL3dhcmVob3VzZVdvcmtzcGFjZXMiOltdLCJodHRwczovL3dhcmVob3VzZXMiOltdLCJodHRwczovL3BhcnRuZXJzIjpbXSwiaXNzIjoiaHR0cHM6Ly9lc2hvcGJveC1wYXltZW50LXJlY28uYXV0aDAuY29tLyIsInN1YiI6ImF1dGgwfDYzNjBiODI4NzFiZjg2MDNlZWU3MjFjZiIsImF1ZCI6Imh0dHBzOi8vZXNob3Bib3gtcG9ydGFsLWRldi5hcHBzcG90LmNvbSIsImlhdCI6MTY3MjMxMjkxMiwiZXhwIjoxNjc0OTA0OTEyLCJhenAiOiJ3OHZZWGtmTElmZjhZdjJqNE8zVDlKZWFqMVMzcThyZSIsInNjb3BlIjoicmVhZDpwcm9kdWN0cyByZWFkOmludmVudG9yeSByZWFkOnByb2R1Y3RfbGlzdGluZ3MiLCJndHkiOiJwYXNzd29yZCJ9.k85yEvCImcz8u6L_faDhHCZ5Ii8AGA_00OxXHUYhoEmHiwU_Yfo1pYqZM30iqK1mG-XGv0T1SE-cnRs51ULie4Uf5_rlOlxBqQDk9zzAcSbbFNL3Uviv8P_iJidYeOaZuzRSvCm2UtPP1Y589n_ZH2QvAupsI_nQNb2TYKGdfXIh2vCBjOCHEY0IahZs1ofKQXGbQ_BCoqbxOivKQWrKT4krBGD14E4q8s1afyK7ee43tDlWbfWzh_nIKyQQU7JlJ8f1BDZkHjbU630V0FC-H36dnBxvG2JDezKy1TuWtyit2rPSJUd1JR7h-TwJFaIWeEvIBoJrl5TuNFxNMetGfw" }, { "orders": [ { "id": "16727326169751118324", "forward_id": "16723849247521686210", "marketplaceOrderId": "FY63AE919C0FE9014F1B", "marketplaceReturnId": null, "shippingAddress": { "name": "Sudip Das", "email": "bulta0932@gmail.com", "state": "Maharashtra", "city": "Mumbai", "phone": "8638915874", "addressLine1": "234", "pincode": "400051", "country": "India" }, "thirdPartyShipping": true, "additionalInfo": "you can add additional info here", "orderPrice": { "currency": "INR", "totalPrepaidAmount": 1499.0 }, "orderItems": [ { "product_identifiers": { "sku_code": "BAG101" }, "giftWrap": { "giftWrapMessage": "", "giftWrapCharges": 0 }, "variantId": "OS", "productId": "EPB1", "quantity": 1, "shippingMethodCode": "STD", "orderItemPrice": { "shippingCharges": 0, "sellingPrice": 3499.0, "transferPrice": 0, "totalPrice": 1499.0, "currency": "INR", "discount": 2000.0, "cashOnDeliveryCharges": 0 }, "onHold": false, "packetNumber": 0, "status": "RETURN_PROCESSING", "sku": "BAG101", "title": "Eshopbox", "marketplaceOrderItemId": "552503", "shipNode": "EB1", "gst_details": { "CGST": 114.33, "SGST": 114.33 }, "orderItemId": "552503" } ], "orderStatus": "CANCELLED", "orderDate": "2022-12-30T12:52:05", "paymentType": "COD", "cFormProvided": false, "taxExempted": false, "gstin": "", "sla": "2023-01-05T14:12:04.095215+05:30", "orderingChannel": "ESHOPBOX", "fyndInvoiceUrl": "https://fynd-staging-assets-private.s3-accelerate.amazonaws.com/addsale/documents/invoice_a4/PDFs/16727326169751118324_invoice_a4.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJUADR2WMPQT6ZJ2Q%2F20230103%2Fap-south-1%2Fs3%2Faws4_request&X-Amz-Date=20230103T084204Z&X-Amz-Expires=604800&X-Amz-Signature=ac2bd8b810df4f83124fdb4b6d5b1b03f5f134c0ccca04b497c4351d6bd34dba&X-Amz-SignedHeaders=host", "fyndInvoiceUrlA6": "https://fynd-staging-assets-private.s3-accelerate.amazonaws.com/addsale/documents/invoice_a6/PDFs/16727326169751118324_invoice_a6.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJUADR2WMPQT6ZJ2Q%2F20230103%2Fap-south-1%2Fs3%2Faws4_request&X-Amz-Date=20230103T084204Z&X-Amz-Expires=604800&X-Amz-Signature=4ad5cb018eb2dfbf5f7ebb0694304244b22ceb94ac61e38d67b78a95df5dc32e&X-Amz-SignedHeaders=host", "fyndLabelUrl": "https://fynd-staging-assets-private.s3-accelerate.amazonaws.com/addsale/documents/label_a4/PDFs/16727326169751118324_label_a4.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJUADR2WMPQT6ZJ2Q%2F20230103%2Fap-south-1%2Fs3%2Faws4_request&X-Amz-Date=20230103T084204Z&X-Amz-Expires=604800&X-Amz-Signature=53823114fe5b65a4c5385cd1034e1205152aa795b4f616424fd11c2bbc23b64e&X-Amz-SignedHeaders=host", "invoice_id": "C00016422A000001", "return_invoice_id": null, "marketPlaceInvoiceUrl": "", "marketPlaceLabelUrl": "", "purchaseOrderNumberPDF": "", "irn_number": "", "invoice_qr_code": "", "signed_invoice": "", "B2BData": { "name": "", "phone": "", "address": "", "state": "", "pincode": "", "gstin": "" }, "lockStatus": false, "fulfilmentPriority": 10, "journeyType": "Return", "awbNo": "5046512052735", "courierName": "delhivery_surface_II", "billingAddress": { "name": "Sudip Das", "email": "bulta0932@gmail.com", "state": "Maharashtra", "city": "Mumbai", "phone": "8638915874", "addressLine1": "234", "pincode": "400051", "country": "India" } }


Step 5: In middle layer: Cancel the Required order in wms with return reason and remark

curl --location 'https://eshopbox-wms-api-dot-eshopbox-wms-staging.el.r.appspot.com/api/cancel-order' \ --header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IlJVVXdSREZCUVRSRFFqQkdORFUxTVVZeE16ZEdPRFJHTnpORk5EaEJSVEU0TVVORk5qVTJOdyJ9.eyJodHRwczovL2FwcERhdGEiOnt9LCJodHRwczovL3VzZXJEZXRhaWxzIjp7ImlkIjoyNjQ0LCJ1c2VyVHlwZSI6ImRlZmF1bHQiLCJlbWFpbCI6InN1ZGlwLmRhc0Blc2hvcGJveC5jb20ifSwiaHR0cHM6Ly9hY2NvdW50cyI6WyJzdWRpcHRlc3RzaWwxMDEiLCJzdWRpcHRlc3RnZ24xMDEiLCJzdWRpcHRlc3RzaGlsbG9uZzEwMSIsInN1ZGlwdGVzdHNkZGVsMTAxIiwic3VkaXB0ZXN0bXVtMTAxIiwic3VkaXB0ZXN0Il0sImh0dHBzOi8vd2FyZWhvdXNlV29ya3NwYWNlcyI6WyJzdWRpcHRlc3RzaWwxMDEiLCJzdWRpcHRlc3RnZ24xMDEiLCJzdWRpcHRlc3RzaGlsbG9uZzEwMSIsInN1ZGlwdGVzdHNkZGVsMTAxIiwic3VkaXB0ZXN0bXVtMTAxIl0sImh0dHBzOi8vd2FyZWhvdXNlcyI6W10sImh0dHBzOi8vcGFydG5lcnMiOlsiNjE0Njg1Il0sImlzcyI6Imh0dHBzOi8vZXNob3Bib3gtcGF5bWVudC1yZWNvLmF1dGgwLmNvbS8iLCJzdWIiOiJlbWFpbHw2MzYxMTEzZTY0MzY5YTViZDQwNTg3MWMiLCJhdWQiOlsiaHR0cHM6Ly9lc2hvcGJveC1wb3J0YWwtZGV2LmFwcHNwb3QuY29tIiwiaHR0cHM6Ly9lc2hvcGJveC1wYXltZW50LXJlY28uYXV0aDAuY29tL3VzZXJpbmZvIl0sImlhdCI6MTcwOTEyMjUxOSwiZXhwIjoxNzA5MjA4OTE3LCJhenAiOiJUU0gyVFh4N1d2Zng2aHBwSUZmemw1Y2IxTUdxdjlWcCIsInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwifQ.b32dKJKspVi6-FA6yNrGmKXvocEBuf3KjQeIMeaB35mhMTUT3aEAdYNoGRdiMQhml8hYELFU8-Z1N1d52RAu7n525GWjf1YkJbwr7H9GDErmfFplmO_Z63rxjyqpCNMlNFGfNAZauGmell62b8RYXvsSG198d0RVqiLcLdQeyFZfARqxxAtSaStkGJu3sQci5-iWsX_Bz0LqS8o8zEGNc6-R8SZcexqVs9ZgLlcYKBrn3wAk1dnSCxF3IfT9eF9QxxAAjoFGih4wraPT8vOwPhM8KCzMaDTquPPhRLN2w4nI9rGZHYBUoGR_rM42HWietH-GfTlIfKJAMnR_jYMp5Q' \ --header 'proxyHost: sudiptest' \ --header 'Content-Type: application/json' \ --data '{ "externalChannelID": "CH6434", "customerOrderNumber": "17086886214811967969", "reason": "Customer requested", "cancellationTime": "2024-02-29 17:29:34", "items": [ { "lineItemSequenceNumber": "2181250", "itemID": "TR", "remark": "not required", "quantity": 1 } ] }'

 

Related content