Использование тяжелых плагинов-интеграторов для AmoCRM часто приводит к потере лидов, если сервер AmoCRM временно недоступен. Более того, они не позволяют гибко передавать кастомные метки сквозной аналитики. Напишем нативный перехватчик отправки форм, передающий данные в AmoCRM через чистый cURL.
AmoCRM требует передачи Long-Lived Access Token. Реализуем функцию формирования структуры сделки (Lead) и контакта (Contact) в один запрос через эндпоинт комплексного добавления:
function it_gig_send_lead_to_amocrm($name, $phone, $email, $pipeline_id = 123456) {
$subdomain = 'your_subdomain'; // Ваш субдомен в AmoCRM
$access_token = 'your_long_lived_token';
$url = "https://{$subdomain}.amocrm.ru/api/v4/leads/complex";
$data = [[
'title' => 'Заявка с сайта от ' . $name,
'status_id' => (int)$pipeline_id,
'_embedded' => [
'contacts' => [[
'first_name' => $name,
'custom_fields_values' => [
[
'field_id' => 112233, // ID поля Телефон в вашей AmoCRM
'values' => [['value' => $phone]]
],
[
'field_id' => 445566, // ID поля Email в вашей AmoCRM
'values' => [['value' => $email]]
]
]
]]
]
]];
$args = [
'headers' => [
'Authorization' => 'Bearer ' . $access_token,
'Content-Type' => 'application/json',
],
'body' => json_encode($data),
'method' => 'POST',
'timeout' => 10
];
$response = wp_remote_request($url, $args);
return !is_wp_error($response);
}
Теги: