Як налаштувати скрипт передачі замовлень у KeyCRM через API

Якщо у нас ще немає інтеграції з якимось сервісом, то ви можете отримувати замовлення по API, нижче опишемо покроково
Написано Богдан Починок
Оновлено 6 місяців тому

Налаштування в KeyCRM

Для початку нам потрібно створити в CRM нове джерело замовлень для цього переходимо в Налаштування Джерела та натискаємо кнопку “Додати джерело”.

Заповнюємо поля:

  • Назва - це назва сайту, яка відображатиметься в KeyCRM, зовсім не обов'язково, щоб вона збігалася з доменом. Це просто зручна для розуміння назва, яку будуть використовувати ваші співробітники;
  • Джерело обираємо "Інше";
  • Менеджер – не обов'язкове поле. Для того, щоб всі замовлення, що прийшли з цього джерела, автоматично присвоювалися на певного співробітника. Це поле можна заповнити пізніше;
  • Валюта - вибираємо валюту, в якій приходять замовлення з даного лендінгу

Після заповнення натискаємо кнопку "Додати".

Дії на хостингу, де знаходиться сайт

Для підключення нам підійде будь-яка форма, зараз ми розглянемо найпростіший приклад, коли продаємо 1 товар, вказується ім'я, e-mail, телефон покупця та адресу доставки, нам потрібно вказати які параметри передавати CRM.

$data = [
      "source_id" => 22, // до якого джерела в KeyCRM додавати замовлення
      "buyer" => [
            "full_name"=> $_POST['name'], // ПІБ покупця
            "email"=> $_POST['email'], // email покупця
            "phone"=> $_POST['phone'] // номер телефону покупця
      ],
      "shipping" => [
          "shipping_address_city"=> $_POST['address_city'], // місто покупця
          "shipping_receive_point"=> $_POST['address_street'], // вулиця, номер будинку чи відділення Нової Пошти
          "shipping_address_country"=> $_POST['address_country'], // країна
          "shipping_address_region"=> $_POST['address_region'], // область/штат/регіон
          "shipping_address_zip"=> $_POST['address_zip'] // індекс
      ],
      "products"=> [
            [
                "price"=> $_POST['product_price'], // ціна продажу
                "quantity"=> 1, // кількість проданого товару
                "name"=> $_POST['product_name'], // назву товару
                "picture"=> $_POST['product_url'], // картинка товару
                "properties"=>[
                [
                    "name"=> "Color",
                    "value"=> "Space Gray"
                ]
              ]
          ]
      ]
];

"source_id" - id джерела в CRM (раніше додавали).

Більш детально, яку інформацію потрібно передавати, можете вивчити в документації API https://docs.keycrm.app

Нижче ми вказуємо ціну, кількість, назву, фото та властивості товару. В даному випадку, оскільки товар у нас 1, ми його жорстко прописали, але й ці параметри теж можна зробити динамічними, як ми зробили з ім'ям, e-mail'ом, телефоном покупця та адресою доставки.

Далі готуємо наші дані для відправки та відправляємо на сервер:

//  "упаковуємо дані"
$data_string = json_encode($data);

// Ваш унікальний API ключ KeyCRM
$token = 'Ваш API ключ';

// відправляємо на сервер
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://openapi.keycrm.app/v1/order");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        "Content-type: application/json",
        "Accept: application/json",
        "Cache-Control: no-cache",
        "Pragma: no-cache",
        'Authorization:  Bearer ' . $token)
);
$result = curl_exec($ch);
curl_close($ch);

API-ключ можна знайти в основних налаштуваннях акаунта KeyCRM.

Результат 

Заходимо на сайт, заповнюємо тестове замовлення і дивимося, що відбувається у нас у KeyCRM - прийшло нове замовлення, дані з полів без проблем підтягнулися:

Увага! Обмеження кількості запитів нашого API — 60 запитів на хвилину.

Додайте всі свої сайти та відстежуйте замовлення через KeyCRM.

 Теги: api, апи, арі, фзш. 
Чи була наша стаття корисною?