Hcapi is a tool created for easier connection between shopping adviser Heureka.cz and shops which users of these services and shopping cart want.
Install by composer:
composer require wpify/heureka-hcapi
In this section you will find the manual for hcapi implementation to your project.
First way how to connect your shop by HCAPI is using Callable callback.
In your code must create functions (for all services), which receive data from Heureka (array), process them and return required data (array). Structure of required data you can find there.
Example of function for Payment/Status:
//PaymentStatus.php
public function setPaymentStatus($receiveData)
{
//set payment status for order
return [
'status' => false,
];
}
In second step you must connect these functions with your routing. You must use specific service for every from API methods. For example Payment/Status:
//Router.php
if ($_SERVER['REQUEST_URI'] === 'https://www.example.com/api/1/payment/status') {
$service = new PaymentStatus();
return $service->processData(
[
'Hcapi\Example\CallableExample\PaymentStatus',
'setPaymentStatus',
],
$receiveData);
}
Services are located in /src/Services/ More examples are located in /example/InterfaceExample/
Second way how to connect your shop by HCAPI is via Interfaces. In folder /scr/Interfaces/ is located interface IShopImplementation.php. You must implement this interface for all classes which work with data from Heureka.
Example:
class OrderCancel implements IShopImplementation
{
/**
* @param array $receiveData
*
* @return array
*/
public function getResponse($receiveData)
{
//Do something with receive data
return [
'status' => true,
];
}
}
In second step you must connect this functions to your routing. You must use specific service for every from API methods. For example Order/Cancel:
if ($_SERVER['REQUEST_URI'] === 'https://www.example.com/api/1/order/cancel') {
$service = new OrderCancel();
$orderCancel = new \Hcapi\Example\InterfaceExample\OrderCancel();
return $service->processData($orderCancel, $receiveData);
}
More examples are located in /example/CallableExample/