I’ve been using the Flight XML API without any issues for the last period. However, yesterday I have encountered a big issue that I’d like to discuss and hopefully ask the relevant personnel to resolve for me.
I sell Airline Schedules to people via my website. I accept the orders and then manually run the .php script I have that utilizes the AirlineFlightSchedules endpoint of the API. I will repeat that I have not made any changes to the script and that is has worked perfectly for me over the past period. The scripts queries the API and then inserts the results into a DB table which I later send to my customers.
However, yesterday, upon trying to run it (via CLI, to avoid possibly running out of execution time or memory), I got the following response:
[16-Aug-2017 16:45:35 Europe/London] PHP Notice: Undefined property: SoapFault::$AirlineFlightSchedulesResult in /home/upbeatho/public_html/schedules/pull.php on line 95 [16-Aug-2017 16:45:35 Europe/London] PHP Notice: Trying to get property of non-object in /home/upbeatho/public_html/schedules/pull.php on line 95 [16-Aug-2017 16:45:35 Europe/London] PHP Warning: Invalid argument supplied for foreach() in /home/upbeatho/public_html/schedules/pull.php on line 98
Basically, the object that should contain the results was empty, so nothing reached my server, and nothing was inserted into the database. I retried a few minutes later, with the same result, and then after a certain time period, I retried again and got all the results as I initially hoped I would get. So, you’d think that all went fine, but I was surprised, rather unpleasantly, to see I was charged for each of those unsuccessful requests that are not my fault, and have happened because of, what I believe, was a timeout or a significant delay from your API server.
Upon crosschecking the log entries and their timestamps against the billing information, I could confirm I was indeed charged for the unsuccessful attempts. I would have nothing against this if it was my fault, or my script wasn’t functioning as it should, but I will repeat that it has served without problems and wasn’t changed, accept the max results I change depending on the type of order I receive.
I’d like to ask your team to please look into this issue for me, and cancel the pending invoice, and re send one with the correct amount based on the results I got. I am happy to provide any information, DB exports, log exports or anything else, to prove my case, as I believe this is not a fair invoice.
I have been using Flightaware’s services for a long time, personally and through my previous employer, and I’d like to continue doing so.
Here is my script https://gist.github.com/savamarkovic/e927d6fa3e31b357a915b60b614e9caf