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