We have several web services that we have developed using Microsoft Visual Studio, and we make these web services available to our clients. The web services are designed to allow our client's system to interact with ours. For example, we are a product fulfillment company and many of our clients operate their own eCommerce web sites. They would call our Order Processing API to send an order to us. So if someone orders a t-Shirt from their shopping cart, as soon as the site calls our order processing API, the details of the order are transmitted to us. We then print the order and pick/pack/ship the t-shirt to the customer.
The project consists of several tasks:
1. Write and test a sample "hello world" script which shows clients what the syntax is to successfully call the Order Processing web service using PHP 5.3. For the order processing script, we will provide the details for a sample order (ship-to address, bill-to address, SKUs, and payment details). These fields will be hard-coded to the script, so that running the script without any customizations or changes will result in an order being successfully sent to our test environment. So if our client has minimal PHP experience or has never called a web service before, he or she can copy and paste the script, then simply map to the correct fields in the script. (Note: a sample script provided by one of our clients is included below, we do not know what version it is but this may be 90% of what we need for this particular task.)
2. Copy that script and tweak it as needed so that it can be run on other versions of PHP such as 5.4, 5.2, possibly one for version 6.x and possibly one for the older 4.x. The intent is for the scripts to cover at least 90% of the current PHP market share so that there is a 90% chance our client will be able to use one of the scripts as-is with their current version. We welcome your insight into the most popular versions of PHP.
3. Perform steps 1 and 2 above for another web service called the Inventory Inquiry web service. This API returns the number of units in stock of a given item, so the script will simply hardcode a SKU number, and running it will return the number of units on hand for that SKU number. Clients will use this script to automatically keep actual on hand inventory levels synchronized with their eCommerce system so they know how many units are currently in stock.
4. Perform steps 1 and 2 above for another web service called the Order Status web service. This API returns details such as the tracking number, shipping details, and other details of an order that has previously been transmitted to us via the Order Processing web service. So the script will simply hardcode an order number, and running it will return the available order details for that order. Clients will use this script as part of their plan to power a "My Orders" or "My Account" section of their eCommerce site so that customers can click on an order number to find out the status in our system.
5. Meet with our technical team on-site at our facility located right next to Six Flags Park off I-20 to install the scripts on a test server. This will include the selection of an open source server such as Apache that can run on a Microsoft Windows system. The intent here is to install a bare bones server from which we can run the scripts to test them locally.
6. Review our documentation to see if there are ways we can improve it to make it easier for PHP programmers to implement. This might include writing a few frequently asked questions.
Please see the posting's associated PDF file for more project details, and please note that some of the work must be performed locally in the Atlanta, Georgia (USA) area.
Important note: a portion of this project must be performed on-site in the Atlanta, Georgia (USA) area. Please do not respond if you (or a team member) are not available in the area. Thank you!