We are using a credit card authorization company to process credit cards on our website. A couple of months ago, they announced that they have a system now where you can store customer data, including credit card information, on their servers, and then simply access that information using a customer ID so that the customer doesn't have to enter their info every time they make a purchase, a la Amazon or whatever. So management decides this is a good idea and put me to work on it.
The first thing I do is make a branch of our store into a test area that connects to their test area, and implement a function that will create an account for a logged in user. I echo out all the code going back and forth to make sure it's working. After a small amount of trial and error I successfully send them my e-mail address, and they send me back the ID. Wonderful, now I can store the ID, so I add that piece of code and try again. Instead of an ID number, I get "that record already exsts." Hm, apparently the e-mail address must be unique for each customer. No problem, all I have to do is retrieve the customer number and delete the account. Except I can't for the life of me find how to get the customer ID from the e-mail address. So, finally, I put in a customer support ticket and describe the issue.
The response I get goes something like this: "Thank you for your e-mail. I have attached some information regarding CIM. CIM is a new service that allows stores to save their customer data on a secure server ... " yada-yada-yada, and the rest of the e-mail is basically the text from the sales part of the website. I'm already fairly frustrated with the system, and it's all I can do to keep my sarcasm from leaking as I reply "Thank you for your informative e-mail on what CIM is. Unfortunately, you clearly did not read my original request and so it is attached below for your reference."
I must have ticked them off a little with that response, because their reply is "It seems that you may have to look at our CIM guide. Please click here to download it." I click the link and as expected it is the same guide I have downloaded and printed out already, and read cover-to-cover in search of the answer. So once again I reply, "I have the guide, and I may be missing something, but I don't see the solution to my problem."
The next reply is so helpful. "Please go to page 27 under "Input Elements for getCustomerProfileRequest" to find the steps that you need. "Oh," I think, "I must have missed that section of code." I look and sure enough, there is an API call "getCustomerProfileRequest." And it take a single value: the customer ID number. Which of course I don't have. I reply to this e-mail and once again explain that apparently I need the customer ID number in order to execute the command that will retrieve the customer ID number, but I don't have the customer ID number, and therefore am unable to retrieve the customer ID number using this API call because it requires the customer ID number.
The next response indicates that someone finally read my problem: "I have looked into the guide and I don't see a method for doing what it is you would like to. However, I have turned this over for research by someone a little more knowledgeable in CIM than I." One week later and I'm still hoping for a helpful response.