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

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

Скрипти передачі воронок по API дозволяють створювати заявки, ліди з різних кастомних сервісів, сайтів та інтеграцій.

Підготовка до передачі даних

  1. Створити та налаштувати воронку в яку будуть передаватись заявки. Якщо планується передача товарів та оплат в картки воронки, то потрібно увімкнути ці блоки при створені воронки;
  2. Додайте окреме джерело, яке буде вказуватись в скрипті та передаватись картки воронки саме зі вказаним джерелом. Потрібне для розділення заявок та розуміння, що саме ця заявка прийшла з кастомного сервісу;
  3. Створіть чи скопіюйте API ключ, потрібний для налаштування скрипта;

Налаштування скрипта передачі даних

Крок 1: Прописуємо передачу інформації в потрібні поля

Розглянемо php скрипт передачі даних з html форми: коли продаємо 1 товар, вказується ім'я, e-mail, телефон покупця, інформація про оплату та дані з додаткових полів. 

Нам потрібно вказати які параметри передавати — зліва поле в CRM куди ми передаємо значення, а справа змінна з поля форми звідки це значення підставляємо в скрипт:

$data = [
    "title" => $_POST['title'], // назва заявки
    "source_id" => 1, // ідентифікатор джерела
    "manager_comment" => $_POST['manager_comment'], // коментар до заявки
    "manager_id" => 1, //ідентифікатор відповідального менеджера
    "pipeline_id" => $_POST['pipeline_id'], // ідентифікатор воронки (за відсутності параметра буде використана перша воронка у списку)
    "contact" => [
        "full_name" => $_POST['name'], // ПІБ покупця
        "email" => $_POST['email'], // email покупця
        "phone" => $_POST['phone'] // номер телефону покупця
        ],
    "utm_source" => $_POST['utm_source'], // джерело компанії
    "utm_medium" => $_POST['utm_medium'], // тип трафіку
    "utm_campaign" => $_POST['"utm_campaign'], // назву компанії
    "utm_term" => $_POST['utm_term'], // ключове слово
    "utm_content" => $_POST['utm_content'], // ідентифікатор оголошення
    "products" => [
        [
        "name" => $_POST['product_name'], // назву товару
        "sku" => $_POST['product_sku'], // артикул товару
        "quantity" => $_POST['product_quantity'], // кількість проданого товару
        "price" => $_POST['product_price'], // ціна продажу
        "picture" => $_POST['product_url'], // зображення товару
        ]
    ],
    "payments" => [
        [
        "payment_method_id" => $_POST['payment_method_id'], // ідентифікатор методу оплати,
        "payment_method" => $_POST['product_url'], // назва методу оплати,
        "amount" => $_POST['amount'], // сума платежу,
        "description" => $_POST['description'], // коментар до платежу,
        "payment_date" => $_POST['payment_date'], // дата і час платежу. Якщо не передається, буде використаний поточний час,
        "status" => $_POST['description'], // статус платежу Допустимі значення: paid , not_paid , canceled , refund
        ]
    ],
    "custom_fields" => [
        [
        "uuid" => "LD_1021", // зовнішній ідентифікатор поля,
        "value" => $_POST['value'] // значення поля. Для полів з типом select (список/мультисписок) передавати масив рядків
       ],
        [
        "uuid" => "LD_1022", // зовнішній ідентифікатор поля,
        "value" => $_POST['value 1', 'value2', 'value 3'] // значення поля. Для полів з типом select (список/мультисписок) передавати масив рядків
       ]
    ]
];

Ви можете прибрати поля, які вам не потрібна та додати яких не вистачає з методу API.

При передачі заявок потрібно враховувати особливості:

  1. При відсутності даних "title" номер заявки автоматично генерується у CRM;
  2. Якщо не передавати "pipeline_id" заявки будуть створені в першій воронці;
  3. Обов'язково має передаватись масив  "contact" та хоча б одне поле в ньому ("full_name", "email" чи "phone" покупця);
  4. Дані "email" мають передавати у вірному форматі, оскільки є валідація при створені заявки;
  5. При передачі кастомних (додаткових) полів  - поля мають бути створені в системі, щоб при передачі вказувати їх системну назву;

Крок 2: Готуємо дані для відправки

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

Потрібно ваш раніше створений API ключ скопіювати та вставити в зміну $token.

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

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

// відправляємо на сервер
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://openapi.keycrm.app/v1/pipelines/cards");
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);

Тепер ви можете передавати ваші заявки з різних кастомних сервісів та працювати з ними у воронках KeyCRM.

Теги: api, апи, API, АПІ, передача даних у воронки, скрипт передачі заявок, скрипт створення картки воронки, pipelines
Чи була наша стаття корисною?