Интеграция CRM-системы Мегаплан с сайтом
Мегаплан — российская CRM и система управления задачами, популярная в малом и среднем бизнесе. Интеграция позволяет автоматически создавать сделки и лиды из заявок с сайта, синхронизировать контакты и получать уведомления об изменениях в CRM.
API Мегаплан
Мегаплан предоставляет REST API. Авторизация через Bearer-токен, который получается обменом логина/пароля или через API-ключ в настройках аккаунта.
GET https://your-domain.megaplan.ru/api/v3/deal/list
Authorization: Bearer {access_token}
Создание сделки из заявки
$response = Http::withToken($this->getToken())
->post("https://{$this->domain}.megaplan.ru/api/v3/deal/create", [
'data' => [
'contentType' => 'Deal',
'name' => "Заявка с сайта: {$request->subject}",
'programId' => ['contentType' => 'DealProgram', 'id' => $this->pipelineId],
'responsible' => ['contentType' => 'Employee', 'id' => $this->defaultManagerId],
'contractor' => ['contentType' => 'Client', 'id' => $contactId],
'extraFields' => [
'Cf12345' => $request->message, // кастомное поле
]
]
]);
Поиск или создание контакта
Перед созданием сделки нужно найти контакт по email или номеру телефона:
// Поиск существующего контакта
$search = Http::withToken($this->getToken())
->post("https://{$this->domain}.megaplan.ru/api/v3/contractor/list", [
'data' => [
'contentType' => 'ContractorFilter',
'email' => $request->email
]
]);
if ($search['data']['meta']['totalCount'] > 0) {
$contactId = $search['data']['list'][0]['id'];
} else {
// Создать нового
$contact = Http::withToken($this->getToken())
->post("https://{$this->domain}.megaplan.ru/api/v3/client/create", [...]);
$contactId = $contact['data']['id'];
}
Получение токена и его обновление
$response = Http::post("https://{$this->domain}.megaplan.ru/api/v3/auth/access_token", [
'username' => env('MEGAPLAN_LOGIN'),
'password' => env('MEGAPLAN_PASSWORD'),
'grant_type' => 'password'
]);
$token = $response['access_token'];
$refreshToken = $response['refresh_token'];
// Хранить токен в кеше, обновлять через refresh_token
Webhooks из Мегаплана
Мегаплан поддерживает исходящие webhook-уведомления при изменении статуса сделки. Это позволяет обновлять статус заявки на сайте, когда менеджер переводит сделку в другой этап воронки.
Практические советы
- API Мегаплана может быть медленным (200–500ms) — все запросы через очередь
- Используйте кеш токена (Redis) — не запрашивайте токен на каждый запрос
- Логируйте все запросы/ответы в таблицу
crm_logsдля отладки
Срок интеграции: 3–4 дня для базовой интеграции (лиды + контакты + сделки).







