amzn / selling-partner-api-models

This repository contains OpenAPI models for developers to use when developing software to call Selling Partner APIs.
Apache License 2.0
618 stars 741 forks source link

sellerOrderID is not Editable for FBA Orders for Orders API #4160

Open sugatabagchi opened 2 months ago

sugatabagchi commented 2 months ago

Hello Amazon API Support Team, We are creating FBA orders in Amazon Seller central and using orders API to pull order details from Amazon Seller central. For each order created in Amazon Seller Central we are creating the corresponding order in our SAP system.

Our middleware system runs a scheduler every 1 hour to fetch the order details from Amazon Seller Central and the corresponding FBA order is created in SAP. In order to keep both SAP and Amazon Seller Central in sync we are trying to create unique orders and not duplicating the same order in SAP.

To maintain the uniqueness we are trying to update an API field called seller order ID in Amazon Seller Central via orders API. This will help us to identify what are the orders already created in sap so that the middleware scheduler will not pick up the same order again. As of now the seller order ID is same as the Amazon order ID when first the order is created in Amazon Seller Central. But we recently found that for FBA orders the sellerOrderId field is not editable via API or using Amazon Seller Central UI, as a result we cannot mark the orders in Amazon Seller Central which are already processed and created in SAP. This is causing the orders to be duplicated and we are manually correcting these duplicate orders which requires a lot of manual effort and also the systems are not in sync.

Request to Amazon SP API Team: Since this is a very critical integration where we are creating orders, and tracking orders in both systems efficiently we need this field editable in Seller Central so that we can identify what are the orders already processed. Our request to Amazon SP API team and the development support team to enable the sellerorderId field as an editable field via API call (using feeds API with Order Acknowledgement XML). How this will help us: 1. we can easily keep both the system in sync by modifying the seller order ID in Amazon Seller Central

                                 2.  Will not create duplicate orders, as scheduler will ignore the orders in Seller Central where sellerorderId is already updated with a different value.
                                 3. Reduce a lot of manual effort to correct the orders that are duplicated.

                                 4.  Reduce additional development effort and software coding that will require to identify the orders that are already processed and not to process them again.

This feature is already there with the Seller fulfilled orders and we are requesting the same feature for the FBA orders.

Thank you so much for your help and support with this and considering this change request. It would be so helpful if we can enable this feature pretty soon.

Please let me know for additional information.

Thanks Sugata

jawheral commented 2 months ago

Hi @sugatabagchi,

Thanks for reaching out!

For Multi-Channel-Fulfillment orders, you can use this feed where you can provide a MerchantFulfillmentOrderID but not sure if this helps with your use case.

Moreover, it seems you are trying to solve a duplication issue using sellerOrderId as a solution but can you please explain the root cause of duplication? Can you use Amazon Order Ids to identify the orders you already created in your system and thus ignore creating it again in your next scheduled run?

Best, Jawher Selling Partner API Solutions Architect

sugatabagchi commented 2 months ago

Thank you @jawheral for reviewing this and providing the input. I have attached the screenshot for orders from both the fulfillment channel options - seller managed (MFN) and Amazon (AFN). For seller managed order we can edit the sellerOrderId field but not for fulfilled by Amazon. We run the scheduler in middleware every 30 mins to check the Orders created via seller central and for any new orders created in seller central, we create the same order in our SAP system. But, some times (most of the times) the orders are not created right away in SAP - due to some approval process, business work flow, inventory check etc, as a result the orders are not created within the 30mins duration. Since the scheduler runs every 30 mins and there is no way to identify in Amazon seller central if the order is created in SAP or not, the same order is picked up again and posted to SAP. At this point the order in SAP is not created but the data is in process, so what will happen a duplicate order will be in the queue. Middleware can check for that amazon order if there is a corresponding SAP order, but it will not find any as the order creation is still in process and it will post the same data. If we have the sellerORderId editable, then we can update this field for all the orders that were posted to SAP already and ignore them right away. This same requirement applies to other stages of the order life cycle. e.g- canceled an order in amazon sc- once the order is marked as cancel in amazon sc, middleware pick up that order and post it to SAP for cancelation but that same order will be picked up for cancelation again as there is no way to find if this order is already canceled in SAP. If we make the sellerOrderId field editable, we can mark/update this field (using feed API order ACK XML) for every stages of the order life cycle - create,shipped,canceled etc. and based on that we can decide whether to pick that order or not. Implementing this check for all such scenarios will also require a lot of additional development on the middleware. editable sellerorderID _seller manage Order not editable sellerorderID_fullfilled by Amazon

Thank you for your support and help, please let me know for any additional information.

Thanks Sugata

jawheral commented 2 months ago

Hi @sugatabagchi,

Thanks for providing additional details.

Correct me if I'm wrong but it should still be possible to use Amazon Order Ids. What you can do is marking the orders you posted to the SAP queue using their Order Id # as IN PROCESS. Once the order finishes creation (or cancellation etc...) in SAP, you mark the Order Id # as DONE in your system. When your scheduled job runs and retrieves orders from Orders API, it will check this map and ignore orders that are IN PROCESS in SAP queue.

Can you also provide information on what prevents updating sellerOrderIds for FBA orders when using the POST_ORDER_ACKNOWLEDGEMENT_DATA feed type? Please provide any information on the request or error your receive when doing so.

Best, Jawher Selling Partner API

sugatabagchi commented 2 months ago

Hello @jawheral ! Thank you for reviewing this and coming up with the options. Please see my word document attached which depicts the FBA order process and uploading the Order ACK using feed API. Currently we are integrating Amazon Seller Central and SAP system for both seller managed orders and FBA orders. we are trying to leverage our existing development for the FBA orders as well for seller managed. we are able to update the seller order ID with some values which we can refer during the order life cycle when dealing with seller managed orders (as you can see from my previous screenshot) but not for the FBA Order. Without this, the order creation process requires a lot of development and comparing the order details in SAP and Amazon system requires many rFC calls table lookup, SAP OData calls and multiple mappings need to be developed to compare the data. That is why it would be great if we have this field enabled as editable, then we can update this with some meaningful values during the order life cycle and process different steps. If we enable this same as seller managed orders, we can reuse the existing code with minimum changes for FBA orders.

Thank you so much for reviewing this and helping us with this request.

Thanks

Sugata Non editable Seller ORderId for FBA Orders.docx

jawheral commented 2 months ago

Hi @sugatabagchi,

I understand that you require more development effort to update your system. I have reached out to our internal teams about seller order ids for FBA orders and will update if I receive any updates. Meanwhile, I suggest that you reevaluate the different options you have to address this duplication issue in your system as we can't provide any timeline or guarantee for these changes.

I hope this helps!

Best, Jawher Selling Partner API Solutions Architect

sugatabagchi commented 2 months ago

Thank you @jawheral for considering this change and taking this up with your internal team. I have previously raised the below cases via seller central Help page before raising it here on github. Also mentioned the persons I have worked with from the API support team. Just mentioning, if that helps with additional information.

Thank you so much for your time and considering this request. This will help us a lot and save a lot of effort.

                                                            case#

August 12, 2024 at 03:23:26 PM MDT | 15822303091 |sugata.majumder@hunterdouglas.com | Selling Partner API (SP API) : ApiError : Orders : How to retrive the seller notes for FBA orders via Orders API | --- > Johnny M. or Jannio Selling Partner API Developer Support case# August 05, 2024 at 02:47:47 PM MDT | 15778014761 | sugata.majumder@hunterdouglas.com | Selling Partner API (SP API) : ApiError : Orders : Important update field is not editable:: sellerOrderID is not Editable for FBA Orders ---> Himaja Selling Partner API Developer Support

Thanks Sugata

sugatabagchi commented 2 months ago

Hello @jawheral , I hope you are doing good. just following up to check if there is any update on this. Having this implemented will help us a lot and reduce the effort for each development.

Thanks Sugata

github-actions[bot] commented 1 month ago

This is a very old issue that is probably not getting as much attention as it deserves. We encourage you to check if this is still an issue after the latest release and if you find that this is still a problem, please feel free to open a new issue and make a reference to this one.

sugatabagchi commented 1 month ago

@amazon-auto @jawheral @github-action It is still a pending issue and we need amazon API support team's help to review and add this feature.

github-actions[bot] commented 1 week ago

This issue is scheduled to close soon. If you are still encountering problems, please feel free to open a new issue and make a reference to this one.