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
612 stars 736 forks source link

Fulfillment Inbound v2024-03-20: Error on confirmTransportationOptions #4048

Open Prez5er opened 3 months ago

Prez5er commented 3 months ago

Hi team

I'm trying to create a shipment, but at the end of the workflow to generate it, the confirmTransportationOptions endpoints threw me an error once I checked it on the getInboundOperationStatus

imagen

I previously checked the getInboundOperationStatus on each request and only this threw me an error, but I don't know what's going on.

a344241086 commented 3 months ago

Fail to execute CONFIRM_CARRIERS API with errors. 这是怎么回事呢

Prez5er commented 3 months ago

I'm trying to confirmTransportationOptions but the response when I check on the getInboundOperationStatus to know the status, returns me an error on the CONFIRM_CARRIER, but I don't know what it means, because on workflow or documentation doesn't exist this API.

Also I'm using an AMAZON_PARTNERED_CARRIER type as transportationOption on the request

dishcheng commented 3 months ago

Fail to execute CONFIRM_CARRIERS API with errors. 这是怎么回事呢

[ 'shipmentId' => $shipmentId,//use this // 'placementOptionId' => $placementOptionId,//not use this 'pageSize' => 20 ]

puppsupr commented 3 months ago

Hi, Are you still facing the issue ? If yes, can you please provide complete request and response along with inboundPlanId.

emakunin commented 2 months ago

Hi @puppsupr, I have same issue for one of my plans

Below request gives me a cryptic error that I'm not able to understand to fix

POST https://sellingpartnerapi-eu.amazon.com/inbound/fba/2024-03-20/inboundPlans/wf29089345-c6a7-44a2-aed5-0d8d4a580ae7/transportationOptions/confirmation 

{
  "transportationSelections": [
    {
      "contactInformation": null,
      "shipmentId": "she72b775d-7a72-4b52-b36f-52e8ee8fe3df",
      "transportationOptionId": "tofdd3696f-061f-426d-8d44-9003088822d2"
    }
  ]
}

Response

operationalProblems=[class OperationProblem {
    code: BadRequest
    details: null
    message: ERROR: Fail to execute CONFIRM_CARRIERS API with errors.
    severity: ERROR
}]

Notes:

  1. In documentation I see below sample with delivery window. But in the request schema there's no such a field. I believe the doc or the schema is outdated. DeliveryWindow is confirmed via a separate call now.
    {
      "transportationSelections" : [ {
        "contactInformation" : {
          "email" : "email@email.com",
          "name" : "John Smithy",
          "phoneNumber" : "1234567890"
        },
        "deliveryWindow" : {
          "start" : "2024-01-01T00:00Z"
        },
        "shipmentId" : "sh1234abcd-1234-abcd-5678-1234abcd5678",
        "transportationOptionId" : "to1234abcd-1234-abcd-5678-1234abcd5678"
      } ]
    }
  2. I did call confirmPlacementOption, then confirmDeliveryWindowOptions before calling confirmTransportationOptions
puppsupr commented 2 months ago

Hi emakunin, The use-case guide will be corrected. Thanks for the feedback.

Generate Transportation Request,

{ "placementOptionId": "{{placementOptionId}}", "shipmentTransportationConfigurations": [ { "readyToShipWindow": { "start": "{{startDate}}" }, "shipmentId": "{{shipmentId}}", "contactInformation": { "name": "TestName", "phoneNumber": "1234567890", "email": "test@email.com" } } ] }

Confirm transportation Request,

{ "transportationSelections": [ { "shipmentId": "{{shipmentId}}", "transportationOptionId": "{{transportationOptionId}}" } ] }

You need to either omit the contact info or provide actual values. You cant write it as null.

emakunin commented 2 months ago

@puppsupr

It doesn't help. I've sent

{
  "transportationSelections": [
    {
      "shipmentId": "she72b775d-7a72-4b52-b36f-52e8ee8fe3df",
      "transportationOptionId": "tofdd3696f-061f-426d-8d44-9003088822d2"
    }
  ]
}

RESPONSE

{
  "operationId": "c94f5f70-cfd7-4cc2-80e7-aa3bd016b344"
}

{
  "operationStatus": "FAILED",
  "operationId": "7ef66731-e45f-4fff-9ae8-80d411171846",
  "operation": "confirmTransportationOptions",
  "operationProblems": [
    {
      "severity": "ERROR",
      "code": "BadRequest",
      "message": "ERROR: Fail to execute CONFIRM_CARRIERS API with errors."
    }
  ]
}

Note: operationId is a new one in the GetInboundOperationStatus reply. It is the exact API response, not a typo.

As per documentation it needs to be set only for LTL shipments. In my case it's SPD. I tried to supply contact info as well and still get the same error.

You cant write it as null.

Is it a new change? I was able to create quite some plans before passing exactly this payload.

emakunin commented 2 months ago

Hi @puppsupr, Any updates here? I still keep receiving same error.

There are 2 problems here:

  1. Api error does not have any details of what went wrong while sometimes sellercentral can show you more details (see attachments)
    1. Sometimes the error can be related to "no capacity". Like in this ticket: https://github.com/amzn/selling-partner-api-models/issues/4107, that Amazon has been ignoring for long time. The error must be returned in the API response. Your customers cannot check every exception in seller central manually.
  2. The error is not factually correct. I'm sure I've called all required APIs but the error still occurs during "confirmTransportationOptions" call

An attempt to confirm

Request to cofirm

// POST https://sellingpartnerapi-eu.amazon.com/inbound/fba/2024-03-20/inboundPlans/wfefd22484-5e49-44ce-8733-d8c2d3f7c8b7/placementOptions Headers[***], Signature=****], 
Body:
{     "customPlacement": null }

// placment options created
// GET https://sellingpartnerapi-eu.amazon.com/inbound/fba/2024-03-20/operations/a728119d-1be8-458a-b8d8-d9a8dec68a62, Status[200 ], Headers[***]]
Response:
{     "operationStatus": "SUCCESS",     "operationId": "6fd1823e-4fb3-47b8-8cd4-e383640204ae",     "operation": "generatePlacementOptions",     "operationProblems": [] }

//  POST https://sellingpartnerapi-eu.amazon.com/inbound/fba/2024-03-20/inboundPlans/wfefd22484-5e49-44ce-8733-d8c2d3f7c8b7/placementOptions/pl752e6a72-9f14-43fa-bea6-ea728fa0a6d5/confirmation, Status[202 ], Headers[***],
Response:
{     "operationId": "886acc7b-e532-43d8-ae87-9740e785c618" }

// placement confirmed
//   GET https://sellingpartnerapi-eu.amazon.com/inbound/fba/2024-03-20/operations/886acc7b-e532-43d8-ae87-9740e785c618, Status[200 ], Headers[***]
Response:
{     "operationStatus": "SUCCESS",     "operationId": "51bac4fa-7695-4fdc-8baa-b13d4afc7af1",     "operation": "confirmPlacementOption",     "operationProblems": [] }

// Delivery window
//  POST https://sellingpartnerapi-eu.amazon.com/inbound/fba/2024-03-20/inboundPlans/wfefd22484-5e49-44ce-8733-d8c2d3f7c8b7/shipments/shb6ad457d-96dd-4f69-a7a5-a38bde9e75ce/deliveryWindowOptions/dw1b393368-82d5-4367-9b65-e69aee595a9e/confirmation, Status[202 ], Headers[***]
Body:
{     "operationId": "58b6f1cf-e42e-4432-8f09-ef4d3f06a65c" }

// Delivery window confirmed
//  GET https://sellingpartnerapi-eu.amazon.com/inbound/fba/2024-03-20/operations/58b6f1cf-e42e-4432-8f09-ef4d3f06a65c, Status[200 ], Headers[***], 
Response:
{     "operationStatus": "SUCCESS",     "operationId": "e4ddfa1d-a12a-4047-bb73-8e7e24b3008b",     "operation": "confirmDeliveryWindowOptions",     "operationProblems": [] }

// Confirming transportation
//  POST https://sellingpartnerapi-eu.amazon.com/inbound/fba/2024-03-20/inboundPlans/wfefd22484-5e49-44ce-8733-d8c2d3f7c8b7/transportationOptions/confirmation Headers[***], 
Body: 
{     "transportationSelections": [         {             "contactInformation": null,             "shipmentId": "shb6ad457d-96dd-4f69-a7a5-a38bde9e75ce",             "transportationOptionId": "toe5316ad5-64de-4e35-950c-af40b791cc41"         }     ] }

//  Transportation confirmaition respons fails with no meaningfull error (SC claims that the operation is not finished though)
//  GET https://sellingpartnerapi-eu.amazon.com/inbound/fba/2024-03-20/operations/46aaabec-13a7-4b8f-a743-fee0528370d7, Status[200 ], Headers[***],
Response:
{     "operationStatus": "FAILED",     "operationId": "8d976c73-d84a-4704-98de-8c100bed3b67",     "operation": "confirmTransportationOptions",     "operationProblems": [         {             "severity": "ERROR",             "code": "InternalServerError",             "message": "ERROR: Something went wrong. Please try again later."         }     ] }

Response

Inbound plan operation failed Errors: class OperationProblem {
    code: BadRequest
    details: null
    message: ERROR: Fail to execute CONFIRM_CARRIERS API with errors.
    severity: ERROR
}

attachments

Screenshot 2024-09-03 104644

hellokids86 commented 2 months ago

Any update here? We are also receiving the same error. It seems to work sometimes when different carriers are chosen. However in certain situations with Amazon Partnered LTL, we receive this error.

emakunin commented 2 months ago

Hi @puppsupr,

Do you have any updates? I keep receiving the erorr. (noted that most of them are related to UK marketplace/address)

Attachment

Request: POST https://sellingpartnerapi-eu.amazon.com/inbound/fba/2024-03-20/inboundPlans/wfe52d1cde-4c79-4484-ac99-91283f5e937e/placementOptions/pl46282e26-c0fa-4cab-bf7e-5e92f88624e1/confirmation Headers[***],
Body:
(empty)

Response: POST https://sellingpartnerapi-eu.amazon.com/inbound/fba/2024-03-20/inboundPlans/wfe52d1cde-4c79-4484-ac99-91283f5e937e/placementOptions/pl46282e26-c0fa-4cab-bf7e-5e92f88624e1/confirmation, Status[202 ], Headers[***],
Body:
{     "operationId": "74c70e5c-3943-4c55-8450-cf8b0b1a3521" }

....

Response GET https://sellingpartnerapi-eu.amazon.com/inbound/fba/2024-03-20/operations/74c70e5c-3943-4c55-8450-cf8b0b1a3521, Status[200 ], Headers[], 
Body:
{     "operationStatus": "SUCCESS",     "operationId": "64ccb29e-4720-4bbf-9dc8-50ef5312373f",     "operation": "confirmPlacementOption",     "operationProblems": [] }

....

 Request: POST https://sellingpartnerapi-eu.amazon.com/inbound/fba/2024-03-20/inboundPlans/wfe52d1cde-4c79-4484-ac99-91283f5e937e/transportationOptions/confirmation Headers[***],
Body:
{     "transportationSelections": [         {             "contactInformation": null,             "shipmentId": "sh4858d3fb-9461-4669-ba5d-034b2d858447",             "transportationOptionId": "tocdd67cb1-d0e8-4acd-bc85-f1379fa29a3b"         }     ] }

Response: POST https://sellingpartnerapi-eu.amazon.com/inbound/fba/2024-03-20/inboundPlans/wfe52d1cde-4c79-4484-ac99-91283f5e937e/transportationOptions/confirmation, Status[202 ], Headers[***],
Body:
{     "operationId": "7581b19c-3e43-4e19-b94f-f33ea06c86b5" }

Response: GET https://sellingpartnerapi-eu.amazon.com/inbound/fba/2024-03-20/operations/7581b19c-3e43-4e19-b94f-f33ea06c86b5, Status[200 ], Headers[***],
Body:
{     "operationStatus": "FAILED",     "operationId": "66322b0b-6add-4c7e-b583-3eb45bf8ff90",     "operation": "confirmTransportationOptions",     "operationProblems": [         {             "severity": "ERROR",             "code": "InternalServerError",             "message": "ERROR: Something went wrong. Please try again later."         }     ] }

... Retrying later ...

Request: GET https://sellingpartnerapi-eu.amazon.com/inbound/fba/2024-03-20/operations/b839fa84-135a-4c9d-93a9-a69479102db0 Headers[***],
Body:
(Empty body)

Response: GET https://sellingpartnerapi-eu.amazon.com/inbound/fba/2024-03-20/operations/b839fa84-135a-4c9d-93a9-a69479102db0, Status[200 ], Headers[***],
 Body:
{"operationStatus":"FAILED","operationId":"be58dccf-cd08-41db-996a-9852beea6f39","operation":"confirmTransportationOptions","operationProblems":[{"severity":"ERROR","code":"BadRequest","message":"ERROR: Fail to execute CONFIRM_CARRIERS API with errors."}]}

Can I at least have a reason of what went wrong ?

hamduc7 commented 2 months ago

Dear All,

I have this exact problem with 2 shipments using a non-partnered Amazon carrier. Then I tried another STA with only 1 shipment and it worked.

I have no idea about the error because the API only returns "Fail to execute CONFIRM_CARRIERS API with errors"

I hope the API returns the details of the error instead of a general error like that.

@mafge Could you please give us some instructions to troubleshoot the issue?

Thank you

puppsupr commented 2 months ago

Hi emakunin, I do see "contactInformation": null as I told you need to omit this or add right structure. Try to look at the linked postman collection and let me know if you see the same.

hamduc7, can you please provide your sample request and response.

Also we have this Postman Collections which you try use for different flows.

hamduc7 commented 2 months ago

@puppsupr

_inboundPlanId = wf0ed151e5-c5fa-48ff-abf1-8b22c50e3c83 These are the confirmTransportation request { "transportationSelections": [ { "shipmentId": "sh92edb88c-c6af-4401-a995-672e763f3e09", "transportationOptionId": "to0fb4801a-1784-498c-a59d-cfbcf4670af4" }, { "shipmentId": "shf35f281e-a8d2-4a83-9918-16cab12a2e0c", "transportationOptionId": "to0fb4801a-1784-498c-a59d-cfbcf4670af4" } ] }

Response: {"operationId":"bb814235-4ef7-4550-bfdc-ed9358d7f0a0"}

BadRequest ERROR: Fail to execute CONFIRM_CARRIERS API with errors.

P/S: It works if I have one shipment.

Thank you

hellokids86 commented 2 months ago

Try to include the delivery window went confirming your transport. This worked for me. The example provided by amazon online shows this but the docs don't.

{ "transportationSelections" : [ { "contactInformation" : { "email" : "email@email.com", "name" : "John Smithy", "phoneNumber" : "1234567890" }, "deliveryWindow" : { "start" : "2024-01-01T00:00Z" }, "shipmentId" : "sh1234abcd-1234-abcd-5678-1234abcd5678", "transportationOptionId" : "to1234abcd-1234-abcd-5678-1234abcd5678" } ] }

hamduc7 commented 2 months ago

Hi All,

I found the root reason in my case and I solved it. As mentioned, It works successfully if I have 1 shipment. But if I have 2 or more shipments I will receive that error.

What I see on Amazon UI confuses me. As you know, on Amazon, if you have 2 shipments ->you only select one shipping carrier. =>This causes me think all shipments have same Transportation Option Id.

In this case, you must set correct transportation Id for each shipment. As you know, let say the same UPS, and if you have 2 shipments, you will see 2 transportation ids.

emakunin commented 2 months ago

Hi @puppsupr ,

Thx for checking.

I do see "contactInformation": null as I told you need to omit this or add right structure.

As I told before, ommiting it does not help: https://github.com/amzn/selling-partner-api-models/issues/4048#issuecomment-2299382549. The same if I specify full contact details.

Request: POST https://sellingpartnerapi-eu.amazon.com/inbound/fba/2024-03-20/inboundPlans/wfef914ab2-5d3e-4ee8-aac4-929d3ce08373/transportationOptions/confirmation Headers[Authorization=***]
Body:
{     "transportationSelections": [         {             "contactInformation": {                 "email": "sa**a@e**h.com",                 "name": "**** *** ltd",                 "phoneNumber": "+44**********"             },             "shipmentId": "shcf968c59-d084-4651-96d9-59eaeb70bf47",             "transportationOptionId": "to23d44fa5-ad5d-4109-b936-d247921420aa"         }     ] }
Response:
{
    "operationId": "e0733a70-b011-4fcf-8297-0b3f224bbadd"
}

GET https://sellingpartnerapi-eu.amazon.com/inbound/fba/2024-03-20/operations/e0733a70-b011-4fcf-8297-0b3f224bbadd, Status[200 ], Headers[***],
Response:
{     "operationStatus": "FAILED",     "operationId": "8c2994a1-fb1a-42a4-b9b9-1d0b4b57f933",     "operation": "confirmTransportationOptions",     "operationProblems": [         {             "severity": "ERROR",             "code": "InternalServerError",             "message": "ERROR: Something went wrong. Please try again later."         }     ] }

I have only 1 shipment in my case (but 2 placement options). Retrying later will give

Fail to execute CONFIRM_CARRIERS API with errors.
emakunin commented 2 months ago

@hellokids86 ,

UPD: The delivery vindow is not a part of the schema anymore

    "TransportationSelection": {
      "description": "The transportation option selected to confirm.",
      "properties": {
        "contactInformation": {
          "$ref": "#/definitions/ContactInformation"
        },
        "shipmentId": {
          "description": "Shipment ID that the transportation Option is for.",
          "maxLength": 38,
          "minLength": 38,
          "pattern": "^[a-zA-Z0-9-]*$",
          "type": "string"
        },
        "transportationOptionId": {
          "description": "Transportation option being selected for the provided shipment.",
          "maxLength": 38,
          "minLength": 38,
          "pattern": "^[a-zA-Z0-9-]*$",
          "type": "string"
        }
      },
      "required": [
        "shipmentId",
        "transportationOptionId"
      ],
      "type": "object"

But the examples indeed have delivery window. It seems Trying your solution, thank you. Probably the schema is broken.

Delivery Window confirmation is done via a separate API (confirmDeliveryWindowOptions). Do you still call "confirmDeliveryWindowOptions"? I did it before my calls and it did not help.

brandondev1 commented 2 months ago

An example of GenerateTransportationOptions

{
  "placementOptionId": "pldb50c298-f6b0-4705-bd2e-0405ab4e7468",
  "shipmentTransportationConfigurations": [
    {
      "readyToShipWindow": {
        "start": "2024-09-20T00:00:00.000Z"
      },
      "shipmentId": "sh4a2e9733-4912-434d-bc54-ac6cfdf0aaef",
      "contactInformation": {
        "phoneNumber": "813-333-2233",
        "email": "sam@email.com",
        "name": "Sam Iam"
      },
      "pallets": [
        {
          "quantity": 1,
          "stackability": "NON_STACKABLE",
          "weight": {
            "unit": "LB",
            "value": 515
          },
          "dimensions": {
            "unitOfMeasurement": "IN",
            "length": 48,
            "width": 40,
            "height": 40
          }
        }
      ],
      "freightInformation": {
        "freightClass": "FC_50",
        "declaredValue": {
          "code": "USD",
          "amount": 1000
        }
      }
    },
    {
      "readyToShipWindow": {
        "start": "2024-09-20T00:00:00.000Z"
      },
      "shipmentId": "sh55961153-0cc6-4700-beaa-ab48e8db2f1d",
      "contactInformation": {
        "phoneNumber": "813-333-2233",
        "email": "sam@email.com",
        "name": "Sam Iam"
      },
      "pallets": [
        {
          "quantity": 2,
          "stackability": "NON_STACKABLE",
          "weight": {
            "unit": "LB",
            "value": 931
          },
          "dimensions": {
            "unitOfMeasurement": "IN",
            "length": 48,
            "width": 40,
            "height": 40
          }
        }
      ],
      "freightInformation": {
        "freightClass": "FC_50",
        "declaredValue": {
          "code": "USD",
          "amount": 1000
        }
      }
    },
    {
      "readyToShipWindow": {
        "start": "2024-09-20T00:00:00.000Z"
      },
      "shipmentId": "sh82936ced-0dba-4827-ab74-fd4f36bd845b",
      "contactInformation": {
        "phoneNumber": "813-333-2233",
        "email": "sam@email.com",
        "name": "Sam Iam"
      },
      "pallets": [
        {
          "quantity": 2,
          "stackability": "NON_STACKABLE",
          "weight": {
            "unit": "LB",
            "value": 1470
          },
          "dimensions": {
            "unitOfMeasurement": "IN",
            "length": 48,
            "width": 40,
            "height": 40
          }
        }
      ],
      "freightInformation": {
        "freightClass": "FC_50",
        "declaredValue": {
          "code": "USD",
          "amount": 1000
        }
      }
    }
  ]
}

Subsequent call to GetInboundOperationStatus:

{
  "operationStatus": "FAILED",
  "operationId": "e99673ae-d32f-4b41-ae9f-97370a78e041",
  "operation": "generateTransportationOptions",
  "operationProblems": [
    {
      "severity": "ERROR",
      "code": "BadRequest",
      "message": "ERROR: Fail to execute COMPUTE_TRANSPORTATION_OPTIONS API with errors."
    }
  ]
}
emakunin commented 2 months ago

Tried a trick suggested by @hamduc7, it does not work for me.

I tried different payloads and combination of delivery window property, but always get same error

{
    "transportationSelections": [
      {
          "contactInformation": {
          "email": "***@***.com",
          "name": "*** *** ltd",
          "phoneNumber": "+44*********"
        },
        "shipmentId": "shde1ec09a-2ad7-4194-8a8a-d81cd5585829",
        "transportationOptionId": "tocdb11961-45f1-4b99-974b-db8c4388715c",
        "deliveryWindow": {
          "id": "dw617ea900-6bf8-4435-9a15-a220663d2d70",  // tried to omit as well, data come from "generateDeliveryWindows options
          "start": "2024-09-28T00:00Z",  // tried to select different dates and formats
          "end": "2024-10-05T00:00" // tried to omit as well, data come from "generateDeliveryWindows options
        }
      }
    ]
}
hamduc7 commented 2 months ago

Hi @emakunin I am not sure but I only use shipmentId and transportationOptionId I don't use contactInformation, deliveryWindow

Anyway, I think your structure is not correct, I don't see DeliveryWindow here: https://developer-docs.amazon.com/sp-api/docs/fulfillment-inbound-api-v2024-03-20-reference#transportationselection

In my case, the key point is the transportationOptionId MUST be belong to the shipmentId. As you know, you got the list of transportation based on each ShipmentId

Hope that help you.

emakunin commented 2 months ago

Hi @hamduc7, Thx for the comment

I think your structure is not correct, I don't see DeliveryWindow here:

It was an suggestion from @hellokids86 to try. Normally I pass only docummented values.

In my case, the key point is the transportationOptionId MUST be belong to the shipmentId. As you know, you got the list of transportation based on each ShipmentId

Yes, i use the corresponding one.

Hi @puppsupr , I know it's not under your control, but could you please work with the owning teams to prioritise/escalate this problem?

I also see a similar problem for placement options (https://github.com/amzn/selling-partner-api-models/issues/4113). It blocks up to 50% plans i've tried to create last 2 days. It makes the API not usable. This is a Sev2+ issue. Many users have provided real requests with IDs. It should be feazible to check the logs and at least tell the reason what is wrong. For sure it can be my fault in using the API, but it's close to impossible to understand what is wrong based on the errors the API returns.

50% (26 out of 52 opeen issues) in this repository are related to the new inbound api. Most of the issues are open during 1-2 months I don't count closed ones.

I believe it deserves a COE and an escalation. I'm sorry, but it looks like Amazon simply uses its customers as a free QA team.

brandondev1 commented 2 months ago

Hi @hamduc7, Thx for the comment

I think your structure is not correct, I don't see DeliveryWindow here:

It was an suggestion from @hellokids86 to try. Normally I pass only docummented values.

In my case, the key point is the transportationOptionId MUST be belong to the shipmentId. As you know, you got the list of transportation based on each ShipmentId

Yes, i use the corresponding one.

Hi @puppsupr , I know it's not under your control, but could you please work with the owning teams to prioritise/escalate this problem?

I also see a similar problem for placement options (#4113). It blocks up to 50% plans i've tried to create last 2 days. It makes the API not usable. This is a Sev2+ issue. Many users have provided real requests with IDs. It should be feazible to check the logs and at least tell the reason what is wrong. For sure it can be my fault in using the API, but it's close to impossible to understand what is wrong based on the errors the API returns.

50% (26 out of 52 opeen issues) in this repository are related to the new inbound api. Most of the issues are open during 1-2 months I don't count closed ones.

  • "Customer obsession" (c) ?
  • "Insist on highest standards" (c) ?

I believe it deserves a COE and an escalation. I'm sorry, but it looks like Amazon simply uses its customers as a free QA team.

Absolutely. We have spent so much time/money working through these errors and reporting them to Amazon. I have submitted 9 of them with some being opened 3+ months ago with no resolution.

puppsupr commented 1 month ago

Tried a trick suggested by @hamduc7, it does not work for me.

I tried different payloads and combination of delivery window property, but always get same error

{
    "transportationSelections": [
      {
          "contactInformation": {
          "email": "***@***.com",
          "name": "*** *** ltd",
          "phoneNumber": "+44*********"
        },
        "shipmentId": "shde1ec09a-2ad7-4194-8a8a-d81cd5585829",
        "transportationOptionId": "tocdb11961-45f1-4b99-974b-db8c4388715c",
        "deliveryWindow": {
          "id": "dw617ea900-6bf8-4435-9a15-a220663d2d70",  // tried to omit as well, data come from "generateDeliveryWindows options
          "start": "2024-09-28T00:00Z",  // tried to select different dates and formats
          "end": "2024-10-05T00:00" // tried to omit as well, data come from "generateDeliveryWindows options
        }
      }
    ]
}

Hi, You shouldn't use the delivery window within the transportation options. We do have separate APIs.

Can you please let me know if you are using partnered carrier or non-partnered carrier ? Also are all your plans failing ?

pacton commented 1 month ago

Half the time this request will confirm - then the other half I get this ...

POST /inbound/fba/2024-03-20/inboundPlans/wff22c3e70-b0ff-42f9-b3f6-e0be4313daf5/transportationOptions/confirmation HTTP/1.1

{ "transportationSelections": [ { "shipmentId": "sh15a7dd23-d670-48a4-87a6-2a9e1efcf0dd", "transportationOptionId": "to10e08266-6912-4daa-1afe-bdd7f8ac78fc" }, { "shipmentId": "sh2cc7b21e-88f5-4d93-b418-8bcd291941f8", "transportationOptionId": "to94ed749a-b616-43c5-961e-b41a356c626f" }, { "shipmentId": "sh4c827b0b-9f9e-4b99-9fa4-512bf731111b", "transportationOptionId": "to8f9a0491-3807-4caf-b831-2c4fe8742add" }, { "shipmentId": "sh909f8416-f974-406d-96b1-cfe0e69a31d6", "transportationOptionId": "to744359da-13a1-45ea-aaef-1b508994b900" }, { "shipmentId": "sh978ba295-7878-402a-b8a2-5188c9ed431d", "transportationOptionId": "toe8df2a60-7981-4489-8803-d315820932be" } ] }


{ "operationStatus": "FAILED", "operationId": "54e9fafa-d0c9-428d-b699-12eaaf42b0f9", "operation": "confirmTransportationOptions", "operationProblems": [ { "severity": "ERROR", "code": "BadRequest", "message": "ERROR: Fail to execute CONFIRM_CARRIERS API with errors." } ] }

puppsupr commented 1 month ago

Hi pacton,

In order to correctly resolve this issue, please open a support case so we can pursue the investigation as additional details are required from your end.

emakunin commented 1 month ago

Hi @puppsupr,

I have exactly same behaviour. Some shipments (most of the times when there are more than 1 shipment per plan) simply fail without any details (pls check my samples above).

MeenaAmz commented 3 weeks ago

@emakunin Are you providing delivery window separately using delivery window operations(generateDeliveryWindowOptions,listDeliveryWindowOptions,confirmDeliveryWindowOptions) and still seeing failures? Delivery window options should not be added within confirmTransportationOptions operation. If that doesn't work please provide us with request/response examples and also raise a support case for troubleshooting if you haven't already.

Thanks Meena Selling Partner Developer Services

puppsupr commented 3 weeks ago

Hi @puppsupr,

I have exactly same behaviour. Some shipments (most of the times when there are more than 1 shipment per plan) simply fail without any details (pls check my samples above).

Are you generating and confirming the transportation options including all the shipments for an inbound plan ? The v2024 APIs are at inbound level and you need to confirm all the shipmentIDs in a single call.

weilinggu commented 2 weeks ago

@emakunin Have you opened a support case regarding the issue you are encountering? If so, can you share the case ID so we can help investigate? If you have not opened a support case, please open a support case following the guidance here.

Weiling Amazon Selling Partner Services

xyloneX commented 2 weeks ago

你好@puppsupr, 我也有同样的情况。有些发货(大多数情况下,每个计划有多个发货)会直接失败,没有任何详细信息(请查看上面的示例)。

您是否正在生成并确认包括入站计划的所有货物在内的运输选项?v2024 API 处于入站级别,您需要在一次调用中确认所有货物 ID。

@puppsupr Planid:wf7e69382a-8ed3-4e54-bd7d-1f8fa5e1b322

puppsupr commented 2 weeks ago

Hi @xyloneX, In order to correctly resolve this issue, Please open a support case following the guidance here so we can pursue the investigation as additional details are required from your end.

johnkw commented 2 weeks ago

See also bug #4253 which notes the only current workaround is delete everything and retry.

Prez5er commented 1 week ago

See also bug #4253 which notes the only current workaround is delete everything and retry.

Well for now I will try that way, I hope that they correct it soon.

membra99 commented 1 week ago

@puppsupr When I called ConfirmPlacementOption, I received an OperationID in the response. When I pass that operationId to the next api enpoint GetInboundOperationStatus, I get an error. Does anyone know what this is about ?

error

johnkw commented 1 week ago

I've only ever seen "code":"InternalServerError","message":"ERROR: Something went wrong. Please try again later." on "generateTransportationOptions". That probably deserves a separate github issue and a separate Seller Support case, since it could be different from Fail to execute CONFIRM_CARRIERS API with errors. which is what this issue is.

brandondev1 commented 1 week ago

@puppsupr When I called ConfirmPlacementOption, I received an OperationID in the response. When I pass that operationId to the next api enpoint GetInboundOperationStatus, I get an error. Does anyone know what this is about ?

error

This issue is about confirmTransportationOptions. I have an open issue #4113 for the error you are seeing from confirmPlacementOption. I also have a developer support issue open for it which has been acknowledged as a bug but no timeframe has been given on a resolution.

puppsupr commented 4 days ago

Hi, The inbound plans might fail due to different reasons and each one could be specific to that particular plan. In order to correctly resolve this issue, please open a support case so we can pursue the investigation as additional details are required from your end.

emakunin commented 2 days ago

But why can't we see the failure message to troubleshoot ourselves?