Skip to content

Instantly share code, notes, and snippets.

@mydropcrm
Created September 29, 2023 13:28
Show Gist options
  • Save mydropcrm/033115c116ce1ff351eec70695ed6910 to your computer and use it in GitHub Desktop.
Save mydropcrm/033115c116ce1ff351eec70695ed6910 to your computer and use it in GitHub Desktop.
Код интеграции OpenCart с МойДроп CRM
$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