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

Fulfillment Inbound 2024-03-20: Inbound Plan Getting Immediately Voided #4046

Open brandondev1 opened 1 month ago

brandondev1 commented 1 month ago

As of today, immediately after creating an inbound plan, the plan gets voided. Any subsequent attempts to continue the workflow fail because the plan is voided.

  1. CreateInboundPlan: Succeeds
  2. GeneratePackingOptions: Fails with error:
     {
      "errors": [
        {
          "code": "BadRequest",
          "message": "ERROR: Operation GeneratePackingOptions can not be processed on a cancelled inbound plan.",
          "details": ""
        }
      ]
    }
  3. ListInboundPlans indicates the plan was created at 2024-07-24T15:59:27 and voided 5s later 2024-07-24T15:59:32
     {
      "createdAt": "2024-07-24T15:59:27Z",
      "marketplaceIds": [
          "ATVPDKIKX0DER"
      ],
      "sourceAddress": {
          "phoneNumber": "555-555-1234",
          "city": "Tampa",
          "countryCode": "US",
          "postalCode": "33605",
          "companyName": "XXXXX",
          "name": "Sam Iam",
          "addressLine1": "1601 Main St",
          "stateOrProvinceCode": "FL"
      },
      "lastUpdatedAt": "2024-07-24T15:59:32Z",
      "name": "Plan1",
      "inboundPlanId": "wffc3ef963-9be4-4ddc-bcba-cd1a41eec6d7",
      "status": "VOIDED"
    }
jamespclay commented 1 month ago

We are also experiencing this issue. Shipment plans are created successfully using the API, only to be cancelled immediately when they are opened to be worked in Seller Central.

brandondev1 commented 1 month ago

After calling GeneratePackingOptions and then GetInboundOperationStatus, prior to ListPackingOptions, I get this message:

{
  "operationStatus": "FAILED",
  "operationId": "801106e9-6ab9-4f7e-bf4f-0f1912ff6be0",
  "operation": "generatePackingOptions",
  "operationProblems": [
    {
      "severity": "ERROR",
      "code": "BadRequest",
      "message": "ERROR: Operation GeneratePackingOptions cannot be processed because the inbound plan does not support packing options."
    }
  ]
}

Like so many of the methods in this API, this is totally unreliable. Returns this error and automatically voids the inbound plan on one attempt. Create the exact same inbound plan, and it succeeds on the next attempt.

blairanderson commented 1 month ago

Same exact thing with me.

create plan = successful get_operation = forbidden inbound plan = {...status: VOIDED}

puppsupr commented 1 month ago

Hi, Can you please provide the inboundPlanIds where you see these cancellations !

brandondev1 commented 1 month ago

Hi, Can you please provide the inboundPlanIds where you see these cancellations !

An example inboundPlanId is in the response from ListInboundPlan in my original post: wffc3ef963-9be4-4ddc-bcba-cd1a41eec6d7 FYI, I have not seen this issue today, but was seeing it all last week.

puppsupr commented 1 month ago

Hi brandondev1, Please let me know if you see it again this week.

blairanderson commented 1 month ago

@puppsupr

blairanderson commented 1 month ago

@puppsupr @brandondev1 here is another today:

{
  "createdAt": "2024-07-31T21:09:33Z",
  "marketplaceIds": [
    "ATVPDKIKX0DER"
  ],
  "packingOptions": [

  ],
  "sourceAddress": {
    "phoneNumber": "8059991212",
    "city": "Cambria",
    "countryCode": "US",
    "postalCode": "93428",
    "companyName": "PlumbR MFG",
    "name": "PlumbR MFG",
    "addressLine1": "2222 Taco Ln",
    "stateOrProvinceCode": "CA",
    "email": "slater-supply@m.shipmentbot.com"
  },
  "lastUpdatedAt": "2024-07-31T21:09:40Z",
  "name": "2024-07-31_WINGTITE-REPLACEMENT_24",
  "inboundPlanId": "wf99a84398-1d71-4442-af4d-ad440edcb2b9",
  "placementOptions": [

  ],
  "shipments": [

  ],
  "status": "VOIDED"
}

Created and updated within 7-milliseconds.

puppsupr commented 1 month ago

Thanks ! Checking with Product team on this.

blairanderson commented 1 month ago

@puppsupr

here is another from today: "wf100a772f-1497-4f63-9a2f-61d629f8c3cc"

puppsupr commented 4 weeks ago

Hi, This is happening because the CreateInboundPlan input has prep and label owners both set to NONE. Provide the appropriate prep and labelling owner inputs in the CreateInboundPlanRequest.

blairanderson commented 4 weeks ago

hi @puppsupr - when we input "SELLER" OR "AMAZON" we get these errors:

"errors": [
  {
    "code": "BadRequest",
    "message": "ERROR: OURSKU does not require labelOwner but SELLER was assigned. Accepted values: [NONE]",
  },
  {
    "code": "BadRequest",
    "message": "ERROR: OURSKU does not require prepOwner but SELLER was assigned. Accepted values: [NONE]"
  }
]
blairanderson commented 3 weeks ago

hi @puppsupr

anoother plan immediately voided: wf4f8e0b25-a665-4239-a17e-9c43b516528d

jackmin-sw commented 3 weeks ago

@puppsupr I got the same error, the plan immediately voided: wfe11154a5-7fb0-4513-9e06-a5d240fcf60a when I set prepOwner it said it should be NONE, "labelOwner": "SELLER", "prepOwner": "NONE", so I change it to NONE, then I create the plan, but when I call the api to generate packiing options ,it response "ERROR: Operation GeneratePackingOptions can not be processed on a cancelled inbound plan."

puppsupr commented 2 weeks ago

Hi blairanderson and jackmin-sw, Can you please provide complete request and response for createInboundPlan, Operation Status and the generatepackingOptions calls.

blairanderson commented 1 week ago

request:

POST /inbound/fba/2024-03-20/inboundPlans HTTP/1.1
Accept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept: application/json
User-Agent: Ruby
Host: sellingpartnerapi-na.amazon.com
X-Amz-Access-Token: [API_TOKEN_REMOVED]
Content-Type: application/json
Connection: close
Content-Length: 371

{
  "destinationMarketplaces": ["ATVPDKIKX0DER"],
  "items": [
    {
      "msku": "MYSKU",
      "quantity": "24",
      "prepOwner": "NONE",
      "labelOwner": "NONE"
    }
  ],
  "name": "2024-08-26_24_MYSKU",
  "sourceAddress": {
    "phoneNumber": "12345123",
    "city": "Cambria",
    "countryCode": "US",
    "postalCode": "12345",
    "name": "Something MFG",
    "addressLine1": "1234 address",
    "stateOrProvinceCode": "CA"
  }
}

response:

HTTP/1.1 202 
Server: Server
Date: Mon, 26 Aug 2024 17:13:31 GMT
Content-Type: application/json
Content-Length: 111
Connection: close
x-amz-rid: E3P1C3H3KA0RFFTQ6ZA6
x-amzn-RateLimit-Limit: 2.0
x-amzn-RequestId: bbfcf60b-3b5c-4847-8b79-bbb07f39d122
x-amz-apigw-id: OPFbbfcf60b3b5c
X-Amzn-Trace-Id: Root=1-66ccb7bb-bbfcf60b3b5c4847
Vary: Content-Type,Accept-Encoding,User-Agent
Strict-Transport-Security: max-age=47474747; includeSubDomains; preload

{
  "operationId": "a4ed1f47-8698-487c-953e-964c150e9d14",
  "inboundPlanId": "wff9fe9efa-c507-4cfb-baea-139b9a93dfb5"
}
blairanderson commented 1 week ago

@puppsupr I found the error was FBA_INB_0182

blairanderson commented 1 week ago

https://github.com/amzn/selling-partner-api-samples/issues/52

  1. visit sellercentral -> shipments
  2. click "send to amazon"
  3. find your items
  4. click "updated prep instructions"
  5. click "restart prep instructions"
  6. set the prep category -> save

You should now be able to create the shipment.

johnkw commented 1 week ago

This appears to be a duplicate of bug #556.

puppsupr commented 1 week ago

FBA Tech Team was able to review and identified that this was happening due to error as pointed out by blairanderson Prep classification for this SKU was missing. Choose the prep category that applies to this SKU and apply any required prep and labeling to each sellable unit.

Team is working on fixing handling the errors to show upfront in this case. To resolve thie provide the appropriate prep and labelling owner inputs in the CreateInboundPlanRequest

denbondd commented 1 week ago

@puppsupr is FBA Tech Team going to implement an endpoint to set prep and labeling through API? Manual work on their website becomes an issue for 7000 products... And if yes, any timeline on that?

johnkw commented 1 week ago

As per bug #556 the current working API is marked deprecated. Do we have an ETA for this part of the new API being implemented, or an answer on what happens if the new API is not fully implemented by December?

Is the December removal of the current working API going to proceed even if the new API is not yet fully implemented by then?

puppsupr commented 1 week ago

@puppsupr is FBA Tech Team going to implement an endpoint to set prep and labeling through API? Manual work on their website becomes an issue for 7000 products... And if yes, any timeline on that?

Hi denbondd, yes its in progress and provide more updates soon !

puppsupr commented 1 week ago

As per bug #556 the current working API is marked deprecated. Do we have an ETA for this part of the new API being implemented, or an answer on what happens if the new API is not fully implemented by December?

Is the December removal of the current working API going to proceed even if the new API is not yet fully implemented by then?

It will be released very soon. Should not be a blocker for migration.