Custom Connectors
What are connectors for?
Connectors are used to integrate third party software with ConfigBox to extend or replace functionality.
Example tasks:
Process an order and bring the customer to a custom cart page
Checkout a cart
Create a quotation file
Perform actions on order status changes
What are connectors technically?
A connector is basically a PHP file containing a PHP class with a set of methods. The methods act as observers to events triggered by the application (observer pattern).
Example connector:
[application dir]/observers/Orders.php
How to manage connectors
ConfigBox -> Settings -> Connectors:
Here you can enable or disable connectors and add or remove them.
Adding a connector
After clicking add you enter name of the connector, the settings and provide the file. Enter the form as per installation instructions of the connector provider.
How to develop the connector file
First you pick a name for your connector. In this example we use ecomsystem.
Create a PHP file with a PHP class called ObserverEcomsystem.
<?php
class ObserverEcomsystem {
// Add various methods that act as listeners
}
Save the file and upload it as connector file.
Custom connectors are eventually stored in this path:
[customization_folder]/custom_observers
Mind that connectors need to be uploaded via the backend, simply copying the connector to this directory will not do. Editing after upload works.
Example:
Connector to react on an order’s status change
Add the method onConfigBoxSetStatus
class ObserverEcomsystem {
//**
* @param int $orderId
* @param int $status
**/
function onConfigBoxSetStatus($orderId, $status) {
$orderModel = KenedoModel::getModel('ConfigboxModelOrderrecord');
// See PHP class ConfigboxOrderData for data structure
$orderRecord = $orderModel->getOrderRecord($orderId);
// ..Your code
}
}
Status IDs:
1 - In Checkout
2 - Ordered
3 - Paid
4 - Confirmed
5 - Shipped
6 - Cancelled
7 - Refunded
8 - Saved
11 - Quotation sent
14 - Quotation requested