we are looking for quotes for some API integration, this is the description of the project,
We need to interact with the APIs of Etsy and Ebay primarily, and possibly also Amazon.
What the API will do is send product details (to create products), retrieve orders, receive order notifications, and flag the orders as shipped (complete or partial) or cancelled.
We are aware that not all of the API's will support all the needed functions so please make sure to include what functionality you are quoting for.
ALL the files should be free of PHP errors, we have the error level set to E_ALL and we don't want to get a bounce of NOTICE or WARNING error messages.
The code will need to run on PHP 5.3 and higher on Apache 2 with suhosin on a UNIX / BSD like system (currently FreeBSD 9.1). If you need to call external programs, for example cURL, please make the path to such program a configurable variable. The execution of external programs will need to be located in only one place.
The Classes/Files will need to be contained in a single folder per integration, for example the integration for etsy will need to have a file structure similar to this:
- /etsy
- /etsy/[login to view URL] : main class, the class will need to be call etsy as well)
- /etsy/files/ : any file or folder that you need for the integration
to communicate with the integration I will need simple calls, for example to send the items I would suggest something similar to:
$etsy = new etsy();
$etsy->send_item($style, $param1, $param2, $param3, $extras);
where $extra is any other parameter that is not required. Naturally we will need the class "etsy" to be well commented so we are able to know what those parameters are.
Please keep the function names equal, so I will be able to write something like this
$class = 'etsy';
$integration = new $class();
$integration->send_item(......);
The call back, in case of order notifications, needs to be easily configurable in the class construct, something similar to:
protected $order_notification = array();
public function __construct(){
$this->order_notification = array('class'=>'order','function'=>'notification');
}
when the call back happens you will be calling such function with something similar to:
$class = new $this->order_notification['class'];
$class->{$this->order_notification['function']}('etsy','etsy_order_number',$extras); (change etsy with the name of the integration that you are working on)
//$extras contains an array with all the parameters returned by the Order notification, please comment the code so we will know what they are.
the $class->$function will then call back your API to retrieve all the information about such order, something like
$class = 'etsy';
$integration = new $class();
$order = $integration->get_order_info('etsy_order_number'); //returns an array
$items = $integration->get_order_items('etsy_order_number'); //returns an array
$fees = $integration->get_order_fees('etsy_order_number'); //returns an array
If an integration does not have certain API, create the function anyway and make it return an empty array.
An example file to use the integration would be great, something that we can run on the browser to test the classes before we integrate them in our system .
Martin
Dear Hiring Manager,
We understand your requirements fully & are confident of a 100% delivery from our end. Please check your mailbox here, for our detailed bid.
Thanks and regards
BasuTechnoHub team
Dear Hiring Manager,
We understand your requirements fully & are confident of a 100% delivery from our end. Please check your mailbox here, for our detailed bid.
Thanks and regards
BasuTechnoHub team