Transaction created but Accounts payable API returned 500 error

One of our customers has been getting intermittent duplicate invoices being sent by our system.


After turning on the logging we found that this was the flow:
  1. Sent a POST request to https://api.sky.blackbaud.com/accountspayable/v1/invoices
  2. The following was returned { "statusCode": 500, "message": "Internal server error", "activityId": "Not posting because I am not sure if it is sensitive data" }
  3. When next batch ran approximately 30 minutes later the same POST request was sent
  4. A success status code was returned along with record id
Our customer contacted support and was told that we needed to create a post here to get help before they could forward the logs to the development team.

Comments

  • Angela‍ did you ever get this resolved?


    There are way too many 500 Internal Server Error responses from the SKY API in my opinion. They should be the error of last resort but I think they're anything but and are very difficult to handle if they actually indicate something else, such as server maintenance, for example. (And I know that a 500 is returned during maintenance, at least for some APIs.) In your case, for the message to be that specific indicates that it is indeed being trapped in the processing code, which indicates to me that the error isn't, in fact, a 500.


    Please post back if there was a resolution and what it was.


    Cheers,

    Steve Cinquegrana | CEO and Principal Developer | Protégé Solutions

  • Hello,

    Did you ever find a resolution?

    We are experiencing the same thing. We create an invoice (no retry logic) and get an error (either 500 or Gateway timeout). Then send it in some time later. In some cases, the Invoice was already created on the first try despite the error response, resulting in duplicates (Client has allowed duplicates for their Invoice numbering policy they use).

    Sometimes, we get a legit record ID but it still creates duplicates. Its very random (from our perspective).