Настройка в 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, апи, арі, фзш.