19

"It works on our end", the sentence that made me lose my shit.

I've been working on a project were we're supposed to integrate an API into our system.

When trying to get some user id's (UUID) from said API, we got a type-error in the response (???), so I called their integration support and asked what the fuck they were doing (not really, i was kinda calm at this point).

The answer I got was following:

Integration guy: "Uh, bro, like, I don't even know, it's probably on your end"

Me: "We literally used this endpoint with the same parameters yesterday, and got a result we expected. I noticed you updated your API this morning, did you make any major changes?"

Integration guy: "Yeah we changed the type of user id from string to number"

Me: "So, you changed the type of a UUID (uuid4) from string to number? How did you not think that would be an issue? I can see in your forums that everyone else is having the same issue."

Integration guy: "Nah, it's probably a bug in your code, it works on our end"

Me in my mind: *IT WORKS ON YOUR END?!? IT DOESN'T FUCKING MATTER IF IT WORKS ON YOUR END, FUCKTARD.*

What I actually said: "Uhm, I'm not sure if works on your end either, I'm not even sure how this change made it to production. But hey, thanks I guess, bye."

WHY AM I NOT ABLE TO YELL AT PEOPLE WHEN THEY ARE BEING RETARDED???

But really though, when you're maintaining an API, you shouldn't fucking care if things work on your end in your dev environment. What matters is how it works in production, for the end user/users.

And I know that 99% of cases it's the users fault by entering the wrong parameters or trying to request with wrongly setup auth and what not, but still.

Don't ASSUME nothing's wrong on your end. It's your fucking job to fix the issues.

And guess what? The problem was on their side.
I'm going fucking bald.

Comments
  • 2
    Brother, ELT is the way!
    I had about 1000 arguments with an API provider, all some variation of "your **** API is sending shit!" to what they answer "nuh-hun!"
    Then I started logging EVERY SINGLE API RESPONSE to S3. Every single one!
    Now they know that if they try to "you should try firing your devs and hiring new ones" on me they are gonna get downtime logged. Managed to even dock about 20% of their monthly invoice once.
  • 1
    Man, I would have lost it. Just today I was thinking about the mistake I made in an API where you had to pass an unix timestamp, because I forgot that datetime was a thing in GraphQL. I need to restrain myself so hard to not update it, because it would break an app.

    That filed has minor importance, but this shit changed the type of a primary key just like that. What brainfuck allows such an api change without versioning their api?

    Fuck I miss function overloading
Add Comment