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

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

Настройка в 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, апи, арі, фзш.
Оцените эту статью