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
580 stars 730 forks source link

[BUG] Order Acknowledgement not updating PO and not able to retrieve transaction ID status using API #2084

Closed RogerGatco closed 2 years ago

RogerGatco commented 2 years ago

Hello,

In short, Having two issues:

  1. The Order Acknowledgement sent over is not updating the PO.
  2. When I get the Transaction ID, I'm not able to get the Transaction Status using the API

    I'm sending over an Order Acknowledgement

{ "acknowledgements": [ { "purchaseOrderNumber": "1O9JCZ4W", "sellingParty": { "partyId": "GATC9" }, "acknowledgementDate": "2021-12-01T08:22:41.4170084-08:00", "items": [ { "itemSequenceNumber": "1", "amazonProductIdentifier": "B01M3O6M0J", "vendorProductIdentifier": "011296148802", "orderedQuantity": { "amount": 1, "unitOfMeasure": "Eaches", "unitSize": 1 }, "netCost": { "currencyCode": "USD", "amount": "21" }, "itemAcknowledgements": [ { "acknowledgementCode": "Rejected", "acknowledgedQuantity": { "amount": 1 }, "rejectionReason": "TemporarilyUnavailable" } ] } ] } ] }

and I'm receiving the transaction ID at the end {"payload":{"transactionId":"3d918995-7acd-460d-8916-569aed7a87b2-20211201162243"}}

Even after 15-30 mins the changes sent over in the acknowledgement are not being updated.

I'm not able to get the Transaction Status either

using GET /vendor/transactions/v1/transactionStatus/{transactionId}

I get 'Access to requested resource is denied'

This is the method in my code

static public void GetTransactionStatus(string TransactionID, string accessToken) { Root grooty = JsonConvert.DeserializeObject<Root>(accessToken); RestClient restClient = new RestClient(live_url_base); // live_url_base = "https://sellingpartnerapi-na.amazon.com"; // get_transaction_state = "/vendor/transactions/v1/transactionStatus" // content_form_urlencoded = "application/x-www-form-urlencoded" IRestRequest restRequest = new RestRequest(get_transaction_state + "/"+ TransactionID, Method.GET); restRequest.AddHeader("x-amz-access-token", grooty.access_token); restRequest = signatureHelper.SignRequest(restRequest, restClient, content_form_urlencoded); var result = restClient.Execute(restRequest); }

ykl1993 commented 2 years ago

me too!!!!!

pucsdian commented 2 years ago

hey @RogerGatco the actual path is "/vendor/transactions/v1/transactions/{transactionId}" the doc is bit wrong, so u can check getTransactionStatus

ykl1993 commented 2 years ago

hi, Thank you for your suggestion. At present, we also call the gettransactionstatus interface to check the status

------------------ 原始邮件 ------------------ 发件人: "amzn/selling-partner-api-docs" @.>; 发送时间: 2022年1月5日(星期三) 下午5:36 @.>; @.**@.>; 主题: Re: [amzn/selling-partner-api-docs] [BUG] Order Acknowledgement not updating PO and not able to retrieve transaction ID status using API (Issue amzn/selling-partner-api-models#2084)

hey @RogerGatco the actual path is "/vendor/transactions/v1/transactions/{transactionId}" the doc is bit wrong, so u can check getTransactionStatus

— Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you commented.Message ID: @.***>

huoshidehua commented 2 years ago

how to fixe it , 我目前用transactionId 获取 TransactionStatus 的数据 全是404?

ykl1993 commented 2 years ago

sorry, We haven't solved this problem yet

------------------ 原始邮件 ------------------ 发件人: "amzn/selling-partner-api-docs" @.>; 发送时间: 2022年9月23日(星期五) 中午11:16 @.>; @.**@.>; 主题: Re: [amzn/selling-partner-api-docs] [BUG] Order Acknowledgement not updating PO and not able to retrieve transaction ID status using API (Issue amzn/selling-partner-api-models#2084)

how to fixe it , 我目前用transactionId 获取 TransactionStatus 的数据 全是404?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

RogerGatco commented 2 years ago

@huoshidehua @ykl1993

The solution was provided by @pucsdian

Instead of using /vendor/transactions/v1/transactionStatus

use /vendor/transactions/v1/transactions/{TransactionID}

huoshidehua commented 1 year ago

@huoshidehua @ykl1993

The solution was provided by @pucsdian

Instead of using /vendor/transactions/v1/transactionStatus

use /vendor/transactions/v1/transactions/{TransactionID} @RogerGatco image through pic above it has used the url "/vendor/transactions/v1/transactions/{TransactionID}" ,but no working yet

RogerGatco commented 1 year ago

@huoshidehua

Silly question but I have to ask.

When you use /vendor/transactions/v1/transactions/{TransactionID}

are you replacing {TransactionID} with the actual Transaciton ID?

So if your transaction ID is such: {"payload":{"transactionId":"e4ed6b6b-1b10-496a-8fd7-dbdd6ef512db-20220921172533"}}

you will use: /vendor/transactions/v1/transactions/e4ed6b6b-1b10-496a-8fd7-dbdd6ef512db-20220921172533

huoshidehua commented 1 year ago

@RogerGatco

Silly question but I have to ask.

When you use /vendor/transactions/v1/transactions/{TransactionID}

are you replacing {TransactionID} with the actual Transaciton ID?

So if your transaction ID is such:

{"payload":{"transactionId":"e4ed6b6b-1b10-496a-8fd7-dbdd6ef512db-20220921172533"}}

you will use:

/vendor/transactions/v1/transactions/e4ed6b6b-1b10-496a-8fd7-dbdd6ef512db-20220921172533

i use the java sdk to request API ,through the debugger I Confirm that the url like you said look like "/vendor/transactions/v1/transactions/e4ed6b6b-1b10-496a-8fd7-dbdd6ef512db-20220921172533"

RogerGatco commented 1 year ago

That is correct. That is how the url should look like.

huoshidehua commented 1 year ago

That is correct. That is how the url should look like.

@RogerGatco But you know what? it doesn't work

RogerGatco commented 1 year ago

This may be of further help

I used this to build my program (C# Project): https://github.com/cafeasp/Selling-Partner-API

and here's a video tutorial about it: https://www.youtube.com/watch?v=5clKZvJdPk8

Hope that helps.