Перейти до змісту

Інтеграція з OpenCart

OpenCart — популярна «коробкова» платформа для інтернет-магазинів. Як і у випадку з WooCommerce, магазин на OpenCart підключається до МійДроп через API за допомогою невеликого шматка PHP-коду. Після підключення нові замовлення з вашого сайту автоматично передаватимуться в таблицю замовлень МійДроп.

Що потрібно перед початком

  1. 1. Увійдіть у версію для постачальників і відкрийте розділ Інтеграції → API.
  2. 2. Скопіюйте ваш API-ключ — він знадобиться в коді.
  3. 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. 1. Відкрийте файл catalog/controller/checkout/confirm.php.
  2. 2. Знайдіть функцію public function index().
  3. 3. У самому її кінці, перед рядком:
    $this->response->setOutput($this->load->view('checkout/confirm', $data));
    
    вставте весь код інтеграції (наведений вище).
  4. 4. Збережіть файл та оновіть модифікатори в адмін-панелі OpenCart.

Нестандартний кошик (наприклад, Uni Checkout)

Якщо ви використовуєте не стандартний кошик, потрібно знайти інший файл, що відповідає за оформлення замовлення. Наприклад, для кошика Uni Checkout це файл catalog/controller/checkout/uni_checkout.php:

  1. 1. Відкрийте цей файл і знайдіть функцію private function addOrder().
  2. 2. Вставте весь код інтеграції в кінці функції, перед рядком return $order_id;.
  3. 3. Збережіть файл і оновіть модифікатори в адмін-панелі.

Перевірка

Оформіть тестове замовлення у своєму магазині. Якщо все налаштовано правильно, замовлення з'явиться в таблиці замовлень МійДроп із даними покупця й товарами, а в графі «Джерело замовлення» буде вказана назва, яку ви прописали в order_source. Якщо замовлення не надходить — перевірте правильність API-ключа та переконайтеся, що код вставлено саме перед рядком виводу й оновлено модифікатори.