Inga problem med Opencarts VqMod system. Det är bara att göra funktionerna där så är du säker vid en uppdatering.
Skapar du bara en funktion som skickar orderdata till ditt api så är ju saken klar. Vi har jobbat lite med detta för integration med vårt WMS. Anledningen till att det är på två ställen är att du kan ju skapa en order i admin också.
PHP-kod:
<file name="admin/model/sale/order.php">
<operation info="Call Boxedwms on new order">
<search position="after">
<![CDATA[
$order_id = $this->db->getLastId();
]]>
</search>
<add>
<![CDATA[
$data['order_id'] = $order_id;
$this->log->write(print_r($data,true));
//require_once(DIR_SYSTEM.'/library/boxedwms/connection.php');
//$this->load->model('boxedwms/boxedwms');
//$result = $this->model_boxedwms_boxedwms->getCredentials();
//$conn = new Connection($result['api_username'],$result['api_password']);
//$conn->exportOrder($data);
]]>
</add>
</operation>
</file>
<file name="catalog/model/checkout/order.php">
<operation info="Call on confirm">
<search position="after">
<![CDATA[
$order_info = $this->getOrder($order_id);
]]>
</search>
<add>
<![CDATA[
$this->load->model('account/order');
$products = $this->model_account_order->getOrderProducts($order_id);
$order_info['products'] = $products;
$this->log->write(print_r($order_info,true));
require_once(DIR_SYSTEM.'/library/boxedwms/connection.php');
$this->load->model('boxedwms/boxedwms');
$result = $this->model_boxedwms_boxedwms->getCredentials();
$conn = new Connection($result['api_username'],$result['api_password']);
$conn->exportOrder($data);
]]>
</add>
</operation>
</file>
Det är dessa ändringar som krävs för att skicka data via api typ. Kan behövas lite extrajobb och säkerhet. Men grunden ligger i vqmod. Dock har jag skapat ett library för vårt WMS men det är ju inget som stör en uppdatering