- This is Microsoft.
- He returns Webhook success with a code 200 and plaintext 1.
- He returns Webhook failure with a code 200 and a string tells its endpoint returned error 400.
- the string didn’t tell what exactly the error.
- Don’t be like Microsoft.
EDIT: Got a few details wrong since this happens a few months ago and this meme used to be on r/ProgrammerHumor. Also the proof:
It’s hard when you hit an endpoint that hits another endpoint, because technically the first request IS a 200. No right or wrong way as long as they are consistent and document it clearly imo
Now here is the fun part: they do not have a API documentation; they only have a very generic guide on how to setup webhook API
Microsoft code docs are the literal worst
Microsoft docs in general are the worst. Can’t tell you how many fucking dead links and straight up incorrect information I’ve come across on their official help articles
Or deprecated documentation that has no indicator whatsoever that it’s out of date
Lmao, Microsoft code docs are absolutely amazing compared to the undocumented bullshit I have to deal with at most companies that have rolled their own services.
Right but Microsoft isn’t most companies, it’s a SOFTWARE company. A multibillion dollar one at that. Compared to other even multimillion dollar companies, their docs are fucking atrocious
I my experience you then send a different error code to help developers know that right away. Really if there is nothing the developer could do it should be a 500 server error. The server did in fact error.
If the developer should have done something different then translate it to an appropriate code, 400 bad request or something
The quality of Microsoft APIs is legendary… if you just take a minute to study win32, you will be always glad that those webserver responses are the kind of shit you have to deal with.
But to be fair, this looks exactly like a well designed API that somebody pushed behind a corporate firewall.
Working with Microsoft’s APIs is akin to trying to navigate a maze of barbed wire with a blindfold on
Wait til you hear about graphql…
What don’t you like about graphql error handling? Whenever I’ve made a graphql api, I use the default errors as unhandled/system errors and payloads return handled error types.
It’s a bit more boilerplate to wire up, but I find it smooth to build and use
Just making a point that it always returns a 200 even when it errors.
Or when you hit an API and the error message comes back as html instead of json.
Wait, do you know if this still happens?
I have a ticket in our backlog to investigate similar issue with Teams Webhook reporting success but not posting anything.
None of us wanted to look at it so been in our backlog for a whilr
Yep, this still happens