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

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

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

Для початку потрібно створити в CRM воронку для цього переходимо в Налаштування Воронки та натискаємо на кнопку «Створити нову воронку».

При створенні воронки завжди створюється стандартний набір статусів.

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

Для підключення нам підійде будь-яка форма, зараз ми розглянемо найпростіший приклад, коли продаємо 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'] // значення поля. Для полів з типом select (список/мультисписок) передавати масив рядків
       ]
    ]
];

У разі відсутності даних "title" номер заявки автоматично генерується у CRM.

Більш детально, яку інформацію потрібно передавати, можете переглянути в нашому Swagger

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

//  "упаковуємо дані"
$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);
Зверніть увагу! Обмеження кількості запитів нашого API — 60 запитів на хвилину.  

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