Скрипти передачі воронок по API дозволяють створювати заявки, ліди з різних кастомних сервісів, сайтів та інтеграцій.
Підготовка до передачі даних
- Створити та налаштувати воронку в яку будуть передаватись заявки. Якщо планується передача товарів та оплат в картки воронки, то потрібно увімкнути ці блоки при створені воронки;
- Додайте окреме джерело, яке буде вказуватись в скрипті та передаватись картки воронки саме зі вказаним джерелом. Потрібне для розділення заявок та розуміння, що саме ця заявка прийшла з кастомного сервісу;
- Створіть чи скопіюйте 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.
При передачі заявок потрібно враховувати особливості:
- При відсутності даних "title" номер заявки автоматично генерується у CRM;
- Якщо не передавати "pipeline_id" заявки будуть створені в першій воронці;
- Обов'язково має передаватись масив "contact" та хоча б одне поле в ньому ("full_name", "email" чи "phone" покупця);
- Дані "email" мають передавати у вірному форматі, оскільки є валідація при створені заявки;
- При передачі кастомних (додаткових) полів - поля мають бути створені в системі, щоб при передачі вказувати їх системну назву;
Крок 2: Готуємо дані для відправки
Потрібно ваш раніше створений 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.