Как настроить скрипт передачи воронок в KeyCRM через API

Если у нас еще нет интеграции с каким-то сервисом, то вы можете получать карточки воронок по API, ниже опишем все пошагово
Автор Юлія Бакум
Обновлено 11 месяцев назад

Скрипты передачи воронок по 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
Оцените эту статью