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
611 stars 733 forks source link

[BUG] [SP-API] Missing Date Information for `InboundShipmentInfo` in FULFILLMENT INBOUND API #2847

Closed ProNotion closed 11 months ago

ProNotion commented 2 years ago

I'm submitting a...

[ ] Regression (a behavior that used to work and stopped working in a new release)
[ ] Bug report  
[x] Feature request
[ ] Documentation issue or request
[ ] Other... Please describe:

InboundShipmentInfo is missing the shipment created and updated dates. You currently allow for LastUpdatedBefore and LastUpdatedAfter parameters in the GET /fba/inbound/v0/shipments requests but no dates are returned in the response object.

SP-API Name and Version or Report/Feed Type

Fulfillment Inbound API v0 - getShipments

Expected Behavior

Currently, there is no useful data returned that allows the date of the shipment to be determined. The response object should include the creation date and the last updated date.

Current Behavior

No date information is returned.

Context/Screenshots

We are importing shipments for tracking purposes and are unable to order or query data based on date.

phstc commented 1 year ago

Is there any update on this? I'm facing the issue. I can't tell when the shipment was created.

@ProNotion Did you find any workaround?

kmizzi commented 1 year ago

I'm also facing this issue and it is high impact.

ProNotion commented 1 year ago

@phstc Annoyingly not a solution I am happy with but having no choice I think what I am having to do is request an inventory ledger report, filter on the shipment id and take the date from the first row of the report for that shipment. This obviously gives me neither the created date nor the updated date but the date it was received by Amazon. It's far from ideal but the support team don't seem interested and just confirmed they don't provide what I need in the API. It makes no sense why it is excluded! Perhaps if this bug report can get enough votes they might take notice and correct it.

ericahrowe commented 1 year ago

This has been an issue forever. It was this way in MWS also, and has never made any sense. The date is included as part of the shipment name, and we parse the date from that field. It's imperfect, and subject to date format errors, but it mostly works.

ProNotion commented 1 year ago

@ericahrowe That is assuming you don't rename your shipments or you do consistently name them but it's not the case for all sellers so that also is not reliable either plus you are still stuck with no updated date.

phstc commented 1 year ago

@phstc Annoyingly not a solution I am happy with but having no choice I think what I am having to do is request an inventory ledger report, filter on the shipment id and take the date from the first row of the report for that shipment

That's a bummer! Are you using GET_FBA_FULFILLMENT_INVENTORY_RECEIPTS_DATA + received-date? That's the closest I found.

I've seen some apps showing more details, for example, dates and even FBA cases (the ones that appear on the content tab). I'm wondering if they are using bots for that instead of going through the API.

ProNotion commented 1 year ago

@phstc I think that probably gets you to the same place as I am in but I am using the report GET_LEDGER_DETAIL_VIEW_DATA.

I also use a tool that shows the created date of shipments but it's very possible they are using a method similar to ours and not getting it directly from the API. The support case that was created for the issue resulted in them telling me it was not provided but no reason as to why.

phstc commented 1 year ago

@phstc I think that probably gets you to the same place as I am in but I am using the report GET_LEDGER_DETAIL_VIEW_DATA.

@ProNotion hm I don't get the shipment ID through GET_LEDGER_DETAIL_VIEW_DATA. How do you track back to the shipment from the GET_LEDGER_DETAIL_VIEW_DATA report?

The support case that was created for the issue resulted in them telling me it was not provided but no reason as to why.

Bummer! I opened a case as well, they are still investigating it. But likely to get the same response.

ProNotion commented 1 year ago

@phstc Filter on the ReferenceId using your shipment id.

See the docs here that break down the report fields.

Reference ID = Transaction ID, such as a shipment ID or adjustment ID

Hopefully that helps.

phstc commented 1 year ago

See the docs here that break down the report fields.

That's very helpful. Thank you. I wish they had that in the SP API docs.

I don't have the Reference ID for any Event Type Shipment. It seems I'm only getting reference IDs for Adjustments.

Reply from support:

image

ProNotion commented 1 year ago

A slightly more positive response than I got but the same result, they will submit a feature request and that's probably the last we will hear about it! They call it an oversight but to me, it seems like it's too obvious to be that and that there is some other reason.

My request looks like this:

{
    "reportOptions": null,
    "reportType": "GET_LEDGER_DETAIL_VIEW_DATA",
    "dataStartTime": "2022-11-04T06:34:29.0420281Z",
    "dataEndTime": "2023-02-02T06:34:29.0406029Z",
    "marketplaceIds": ["A1F83G8C2ARO7P"]
}

Looking at the resulting report the ShipmentId is in the ReferenceId column on rows that have the Receipts event type

DanielLanger commented 1 year ago

+1 this is affecting us as well

kk-wdt commented 1 year ago

I had the same problem.The request params include LastUpdatedAfter and LastUpdatedBefore.Splitting time into hours or days,you will get an approximation of the update time.

ProNotion commented 1 year ago

Good point, I might look at that although it sounds like a very long and time-consuming process in order to populate historical data.

github-actions[bot] commented 12 months 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.

github-actions[bot] commented 11 months ago

closed for inactivity

emakunin commented 1 month ago

UP. The missing dates is a big problem for investigations. Hi @mafge, could you pls take a look to include to the updated api at least. Even the v 2023 API doesn't have anything like it.

ProNotion commented 1 month ago

How do we get this issue reopened?

emakunin commented 1 month ago

@ProNotion I guess we should re-open a ticket. or tag some Amazon folks here with a hope they'll check. @mafge seems to be the architect for the API as per his signature. (not sure about underlying services)

The V0 api is kinda deprecated so maybe they'll provide some timeline for new functions. Even with the v2024 api it's close to impossible to track the inventory state. Maybe only reports pooling and remembering the state with a timestamp and then querying the first timestamp where new shipment ID appeared =\

It would be super cool to list shipments/items not by "last updated" date but say "shipment created at" or other "stable" fields. Otherwise it's hard to iterage/paginate and relate the data to the reports.

Use case: I want to see where my inventory is/gone for last week. With existing API it's a headache. I try to rely on the reports/ledgers but it's not trivial.

ProNotion commented 1 month ago

I don't see any option to reopen it so I think they will need to intervene.

mafge commented 1 month ago

Hi @ProNotion and @emakunin, thanks for notifying me! Let me check how I can help you out here. I'll keep you updated. Best, Marc