Ruby, iOS, and Other Development

A place to share useful code snippets, ideas, and techniques

All code in posted articles shall be considered public domain unless otherwise noted.
Comments remain the property of their authors.

2008-02-20

The Quest for the UPS API

This is a bit of a departure for this blog, but it's been a while since I posted and I'm inspired by the hoop-jumping UPS (yes, that UPS) requires for developers to begin using their web service APIs. There are NDAs involved, so this is not about the APIs themselves; it is about getting to the point where one can start working with the APIs. It is presented in the format of a text adventure. Pedantic corrections to format are welcome, since it's been a long time since I've played one.

Welcome to Colossal API Quest! Find the documentation, get authorized to use the development integration environment, and meet the needs of your client to achieve fame and fortune!

  • You are in a maze of twisty little passages, all alike. There is a door to the North.
  • N
  • Welcome to UPS. A GATEKEEPER blocks the door to the North. There are also doors to the East, West, and South.
  • talk to the gatekeeper
  • "Username and password or register?"
  • say register
  • "Tell me everything about yourself. Also, what is your UPS account number?"
  • N
  • "Username and password or register?"
  • E
  • Welcome to UPS. There are several signs here advertising the wonderful web services UPS provides and pointing to the door to the North. There is also a door to the West.
  • N
  • The door is locked.
  • W
  • Welcome to UPS. A GATEKEEPER blocks the door to the North. There are also doors to the East, West, and South.
  • W
  • Your CLIENT is here. There is a door to the East and to the West.
  • talk to the client
  • "Is my website ready yet?"
  • need UPS help
  • What?
  • say "need UPS help"
  • "You should talk to our UPS contact. She's in the next room."
  • W
  • There is a notepad in an otherwise empty room. There is a door to the East.
  • get notepad
  • You can't take that.
  • look notepad
  • It says, "Sorry, I'm on vacation for the next 6 turns. Please leave a message."
  • wait
  • wait
  • wait
  • wait
  • wait
  • wait
  • look
  • There is a notepad in an otherwise empty room. There is a door to the East.
  • look notepad
  • It says, "Sorry, I'm not here right now. Please leave a message."
  • write "please tell me how to get the API documentation"
  • Write with what?
  • inventory
  • You have:
    • frustration
    • deadlines
    • a pen
  • write "please tell me how to get the API documentation" on notepad with pen
  • OK
  • wait
  • look
  • There is a notepad in an otherwise empty room. There is a door to the East.
  • E
  • Your CLIENT is here. There is a door to the East and to the West.
  • talk to the client
  • "Is my website ready yet?"
  • say "can't find UPS contact"
  • "You should talk to our UPS contact. She's in the next room."
  • xyzzy
  • You are in a familiar room, but there is no notepad. A CONTACT is here. There is a door to the East.
  • talk contact
  • "How can I help you?"
  • say "UPS API documentation"
  • "Here is the CLIENT's username and password"
  • inventory
  • You have:
    • frustration
    • deadlines
    • a pen
    • username
    • password
  • say "UPS account number"
  • "Here is the CLIENT's account number"
  • E
  • Your CLIENT is here. There is a door to the East and to the West.
  • E
  • Welcome to UPS. A GATEKEEPER blocks the door to the North. There are also doors to the East, West, and South.
  • give username to gatekeeper
  • "Password?"
  • give password to gatekeeper
  • The GATEKEEPER leaves the room. You have defeated the GATEKEEPER! You have earned 6/120 points.
  • N
  • Welcome to My UPS. There is a pile of documentation here. There is a WEBSITE here. There are two doors to the North. There are also doors to the East, West, and South.
  • get documentation
  • Which documentation?
  • look documentation
  • There are lots of... look, let's just skip this step. Get the bits you want, they're all here.
  • get time in transit documentation
  • Okay, I lied. Do you want HTML or XML documentation?
  • both?
  • OK. You have earned 10/120 points.
  • inventory
  • You have:
    • frustration
    • deadlines
    • a pen
    • username
    • password
    • account number
    • Time in Transit XML documentation
    • Time in Transit HTML documentation
  • get tracking documentation
  • Okay, I lied. Do you want HTML or XML documentation?
  • both
  • OK. You have earned 14/120 points.
  • look time in transit xml documentation
  • It says, "You need an XML access key to use the development integration environment."
  • look tracking html documentation
  • It says, "You need an HTML access key to use the development integration environment."
  • look N
  • The two doors to the North are marked "XML access key" and "HTML access key". You can refer to them as N1 and N2.
  • N1
  • The door marked "XML access key" is locked. You need the developer key.
  • N2
  • The door marked "HTML access key" is locked. You need the developer key.
  • talk website
  • How can I help?
  • say "developer key?"
  • "I can resend your developer key to the email address in your profile, or you can give me another email address to send it to and I will magically update your profile."
  • ponder wisdom of changing email address on client's account
  • What?
  • say "send to profile email"
  • OK. You have earned 15/120 points.
  • S
  • Welcome to UPS. There are doors to the East, West, and South.
  • W
  • Your CLIENT is here. There is a door to the East and to the West.
  • talk to the client
  • "Is my website ready yet?"
  • say "need developer key"
  • "What?"
  • say "need UPS developer key"
  • "What?"
  • say "need UPS email"
  • "You mean this thing?"
  • inventory
  • You have:
    • frustration
    • deadlines
    • a pen
    • username
    • password
    • account number
    • Time in Transit XML documentation
    • Time in Transit HTML documentation
    • Tracking XML documentation
    • Tracking HTML documentation
    • an email
  • look email
  • It contains a developer key. You have earned 87/120 points.
  • inventory
  • You have:
    • overwhelming frustration
    • looming deadlines
    • a pen
    • username
    • password
    • account number
    • Time in Transit XML documentation
    • Time in Transit HTML documentation
    • Tracking XML documentation
    • Tracking HTML documentation
    • a developer key
  • E
  • Welcome to UPS. There are doors to the East, West, and South.
  • N
  • Welcome to My UPS. There is a pile of documentation here. There is a WEBSITE here. There are two doors to the North. There are also doors to the East, West, and South.
  • N1
  • Welcome to My UPS. There is an XML access key here. There is a door to the South.
  • get key
  • There is no key here
  • get xml access key
  • OK. You have earned 95/120 points.
  • S
  • Welcome to My UPS. There is a pile of documentation here. There is a WEBSITE here. There are two doors to the North. There are also doors to the East, West, and South.
  • N2
  • Welcome to My UPS. There is an HTML access key here. There is a door to the South.
  • get html access key
  • OK. You have earned 103/120 points.
  • S
  • inventory
  • You have:
    • overwhelming frustration
    • looming deadlines
    • a pen
    • username
    • password
    • account number
    • Time in Transit XML documentation
    • Time in Transit HTML documentation
    • Tracking XML documentation
    • Tracking HTML documentation
    • a developer key
    • XML access key
    • HTML access key
    • the ability to finally make some progress

To be continued, maybe. Enjoy!

Labels: ,

9 Comments:

  • At 2/20/2008 11:55:00 PM, OpenID jwhitmire.com said…

    I worked for one of UPS' developer organizations for a while. This seems like exactly the experience I would expect you to have :)

     
  • At 3/02/2008 06:32:00 PM, Blogger lukemelia said…

    I was waiting for the part where you got eaten by a grue...

     
  • At 5/08/2008 01:13:00 AM, Blogger Josh said…

    trying to get one of those lucky golden api keys right now. I don't think it's possible. I keep going in circles with the forms and signing up for the same thing again and again. And for some reason they think I'm in Costa Rica.

     
  • At 5/08/2008 02:16:00 PM, Blogger Matt S said…

    Ha ha. Our site that I wrote from scratch in 1998 is still calculating UPS rates the old-fashioned way, on the server side with rate and zone files. Well they don't give you access to the zone files or any of the Canada files this year. So apparently I have this hell to await. Woo hoo.

    The really funny thing is that no one at UPS, including the client's rep can grasp the concept that the zone files were available for 5 year to download, and now they're gone. And the page to the 2006 zone files is still up (http://www.ups.com/content/us/en/shipping/cost/zones/on_demand.html). But apparently trying to get a UPS rep or customer support person to understand the concept of "download all zone files" is like trying to get a dog to comprehend quantum mechanics. So fun.

     
  • At 1/11/2009 07:22:00 PM, Anonymous Anonymous said…

    hysterical! this is exactly what im going through right now and i came across this, very funny! And accurate! It's almost not a joke!

     
  • At 3/20/2009 03:01:00 PM, Blogger Jamie Jackson said…

    Just before finding your post, I called UPS in the hopes of getting UPS to help me navigate the maze. After the third call transfer, I thought I was getting somewhere, the guy seemed to know what I was asking for, so he starts leading me through the web site. I was pretty hopeful, until he navigated me to a stinkin' generic support form, in which he instructed me to type my question (into an area that allows only 500 characters).

    How could they possibly want to erect such a barrier to business. I hate you, UPS Online Tools.

     
  • At 6/18/2009 11:36:00 AM, Blogger Ryan Hickman said…

    Been there and through that.

     
  • At 7/24/2009 03:00:00 PM, Blogger Nick Eby said…

    LMFAO. Going through this just this morning. We have XML API set up from an application to do package tracking, and I want to set up integration with time-in-transit API. The username and password in our app config doesn't log me in to the website. And I can't set up a new UPS account to get access to any documentation without giving my credit card number, WTF!?

     
  • At 8/03/2009 05:48:00 PM, Blogger Brett Fishman said…

    Thanks for the post - I'm on the same "Adventure" now. Brought back memories of my childhood, playing on my father's terminal hooked up to Bell Labs' Adventure game. Loved that game. Don't love UPS. ;)

     

Post a Comment

Links to this post:

Create a Link

<< Home