Інтеграція з OpenCart¶
OpenCart — популярна «коробкова» платформа для інтернет-магазинів. Як і у випадку з WooCommerce, магазин на OpenCart підключається до МійДроп через API за допомогою невеликого шматка PHP-коду. Після підключення нові замовлення з вашого сайту автоматично передаватимуться в таблицю замовлень МійДроп.
Що потрібно перед початком¶
- 1. Увійдіть у версію для постачальників і відкрийте розділ Інтеграції → API.
- 2. Скопіюйте ваш API-ключ — він знадобиться в коді.
- 3. Переконайтеся, що використання API оплачене для вашого акаунта або діє пробний період.
Повна документація API
Опис усіх методів API — api.mydrop.com.ua. Запити авторизуються заголовком X-API-KEY.
Код інтеграції¶
Готовий приклад коду доступний у нашому Gist на GitHub. Він збирає дані замовлення й товарів із кошика 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);
Що замінити в коді¶
| Значення | Що вказати |
|---|---|
ваш_API_ключ |
Ваш API-ключ зі сторінки Інтеграції → API |
Назва_сайту (order_source) |
Назва вашого магазину — за нею в CRM можна буде відрізняти джерело замовлення |
Куди вставляти код¶
Стандартний кошик OpenCart¶
- 1. Відкрийте файл
catalog/controller/checkout/confirm.php. - 2. Знайдіть функцію
public function index(). - 3. У самому її кінці, перед рядком:
вставте весь код інтеграції (наведений вище).
$this->response->setOutput($this->load->view('checkout/confirm', $data)); - 4. Збережіть файл та оновіть модифікатори в адмін-панелі OpenCart.
Нестандартний кошик (наприклад, Uni Checkout)¶
Якщо ви використовуєте не стандартний кошик, потрібно знайти інший файл, що відповідає за оформлення замовлення. Наприклад, для кошика Uni Checkout це файл catalog/controller/checkout/uni_checkout.php:
- 1. Відкрийте цей файл і знайдіть функцію
private function addOrder(). - 2. Вставте весь код інтеграції в кінці функції, перед рядком
return $order_id;. - 3. Збережіть файл і оновіть модифікатори в адмін-панелі.
Перевірка¶
Оформіть тестове замовлення у своєму магазині. Якщо все налаштовано правильно, замовлення з'явиться в таблиці замовлень МійДроп із даними покупця й товарами, а в графі «Джерело замовлення» буде вказана назва, яку ви прописали в order_source. Якщо замовлення не надходить — перевірте правильність API-ключа та переконайтеся, що код вставлено саме перед рядком виводу й оновлено модифікатори.