Created
September 29, 2023 13:28
-
-
Save mydropcrm/033115c116ce1ff351eec70695ed6910 to your computer and use it in GitHub Desktop.
Код интеграции OpenCart с МойДроп CRM
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$this->session->data['order_id'] = $order_id; | |
$products_to_crm = array(); | |
foreach ($this->cart->getProducts() as $product) { | |
$products_to_crm[] = [ | |
'product_title' => $product['name'], | |
'price' => $product['price'], | |
'product_sku' => $product['model'], | |
'amount' => $product['quantity'], | |
]; | |
} | |
$data_to_crm = array( | |
'name' => $order_data['firstname']. ' ' .$order_data['lastname'], | |
'phone' => $order_data['telephone'], | |
'city' => $order_data['shipping_city'], | |
'warehouse_number' => $order_data['payment_address_1'], | |
'description' => $order_data['shipping_method'], | |
'products' => $products_to_crm, | |
'order_source' => 'Название_сайта', | |
); | |
// запрос | |
$curl = curl_init(); | |
$production_url = 'https://backend.mydrop.com.ua/vendor/api/orders'; | |
curl_setopt($curl, CURLOPT_URL, $production_url); | |
curl_setopt($curl, CURLOPT_POST, true); | |
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); | |
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data_to_crm)); | |
curl_setopt($curl, CURLOPT_HTTPHEADER, array( | |
'X-API-KEY: ваш_API_ключ', | |
'Content-Type: application/json' | |
)); | |
$out = curl_exec($curl); | |
curl_close($curl); | |
// --------------------- | |
// Ссылка на оригинальную документацию МойДроп CRM - https://api.mydrop.com.ua | |
// Перед использованием интеграции убедитесь, оплачено ли использование API для вашего аккаунта или действует ли пробный период | |
// В коде выше найдите и замените ваш_API_ключ | |
// Также замените значение Название_сайта (order_source), это позволит передавать и отличать источник заказа в CRM | |
// В OpenCart, в файле catalog/controller/checkout/confirm.php нужно найти функцию public function index() | |
// В самом её конце перед закрытием есть строка $this->response->setOutput($this->load->view('checkout/confirm', $data)); | |
// Весь код, что находится выше нужно вставить перед этой строкой и обновить модификаторы в админ-панели. | |
// Если используете не стандартную коризну, то нужно искать другой файл который отвечает за добавление товара. | |
// К примеру, в случае корзины Uni checkout, файл будет catalog/controller/checkout/uni_checkout.php | |
// Вставить весь код, что находится выше в функцию private function addOrder() перед строкой return $order_id; (она в самом конце) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment