1. Paypal (the worst - docs are horrible and UI is not consistent with most of the help material out there because it changes all the time. Have you tried their support? That's a beauty)
2. Facebook (same story but manageable compared to paypal)
God, I haaaaaaaaate PayPal. Not as a dev, but as a casual private user, a real-world entertainment venue business owner, an online retail business owner, an eBay user, a seeker of capital loan sources, and just a UI and customer service utilizer.
If ever there was an example of a company with "first out of the gate" advantage leading to such a large head-start that theyy could afford to constantly give the middle finger to everyone, PayPal is it. I cannot wait for legit altternatives to catch up.
Stripe is doing pretty well, but unless they somehow tap into the casual online user they won't disrupt PayPal's stranglehold to any significant extent.
I swear it honestly seems like PayPal tries to make their site as hard to use and bloated as possible. I've never personally used their API, but if it's anything like their site, I'm thankful.
Same here, I just hate PayPal documentation, and the way they managed to keep it shitty over the years.
Braintree (A division of PayPal) has nice documentation though.
The Twilio Dashboard _really_ needs a refresh. It's still in a world where every button is a complete page refresh. It's painfully slow to interact with.
I can live with the full page refresh, but my biggest pain point is working with sub accounts on trello. They store the sub account in a cookie instead of in the URL, so if I want to share what I'm looking at with a colleague it's a faff.
And Amazon sellers API (Amazon MWS). Rarely seen such an inconsistent mess of often poorly documented SOAP-ish calls, that so many external partners base their livelyhood on.
Some APIs you can choose to use. Other APIs you have to use. The ones you have to use tend to not care much about the developer experience... Because why should they? No one's going to avoid Amazon because their API was annoying. People need to make money.
This actually explains a lot of other things. Like the DMV.
The API is not not SOAPish, it just uses XML. They probably choose it so that they can use XML Schema to check incoming data (which is exactly the right decision here).
For those interested, the demo instance is at https://sandbox.ebay.com/ The message at the top says "eBay and PayPal will be separate companies soon", even though they became seperate companies 4 years ago.
Mousing over the links there to see where they go, the first interesting-looking one was the supported/unsupported features list, over at https://ebaydts.com/eBayKBDetails?KBid=684. Ah, I see - a wall of text reminscent of "system requirements", except it's a list of things you don't get instead.
But then going up to https://ebaydts.com, I met with... a blank page. But it has a title, so something's blown up. I hit F12 half expecting to be met with some kind of implosion, and even then I was cynically amused: the page has `<body style="display:none;>`, with no closing quote, and while Chrome parses it properly the devtools don't, so the CSS editor leaks bits of HTML.
On the one hand my infosec-sense says there's probably some awesome stuff hiding in here... but on the other hand, between the 1000 feet of bureaucracy I'd have to all but drown to report _anything_ I found, and the tenterhooks I'd be on while poking around establishing there's anything there beyond plausible deniability... not worth it?
Okay, it's not just me (demo instance). Ebay's APIs and their SDK documentation (or lack thereof) are making me re-think my app's monetization model. Docs are shockingly bad, full of screenshots that look like ebay from the early 2000s.
I was shocked at how bad the documentation for Facebook was. I assumed wiring up login would be super simple, it’s amazing how hard it was to find in their documentation. I guess when you’re paying devs to implant a shitty custom currency you can’t invest in docs for one of your biggest integrations.
Alternate reason: you'll figure it out anyway, because it's one of their biggest integrations. It doesn't matter how hard it is if your users and your business wants it.
They have no incentive to improve their docs. They're Facebook, there's no competition at all.
I’ve had a good experience with Facebook up until a few months ago when they started shutting off APIs that SHOULD be public without giving any notice and implementing silly requirements like “can’t post to your own business page without giving Facebook a login to your app and letting Facebook post on your company’s behalf”.
1. Stripe (Best)
2. Twilio
3. Twitter (Does what it needs to do quickly)
4. Puppeteer (Amazing. Was super helpful.)
5. Google (mostly ok but could be better)
APIs I've hated working with:
1. Paypal (the worst - docs are horrible and UI is not consistent with most of the help material out there because it changes all the time. Have you tried their support? That's a beauty)
2. Facebook (same story but manageable compared to paypal)