Интеграция онлайн-чата (Intercom) на сайт
Intercom — продуктовый мессенджер для B2B и SaaS-продуктов. Объединяет чат поддержки, базу знаний, проактивные сообщения и аналитику использования продукта. Ориентирован на SaaS и B2B — для e-commerce есть более дешёвые альтернативы.
Установка Messenger
<script>
window.intercomSettings = {
api_base: "https://api-iam.intercom.io",
app_id: "YOUR_APP_ID",
// Для авторизованных пользователей:
user_id: "<?= $user->id ?>",
name: "<?= $user->name ?>",
email: "<?= $user->email ?>",
created_at: <?= $user->created_at->timestamp ?>,
user_hash: "<?= $userHash ?>" // HMAC для верификации
};
</script>
<script>
(function(){var w=window;var ic=w.Intercom;/* snippet */})();
</script>
HMAC верификация
$userHash = hash_hmac('sha256', (string)$user->id, env('INTERCOM_SECRET_KEY'));
Кастомные атрибуты
window.Intercom('update', {
plan: 'pro',
monthly_spend: 150,
is_paying: true,
last_product_used: 'dashboard'
});
Отслеживание событий
window.Intercom('trackEvent', 'feature-used', {
feature: 'export',
format: 'csv',
record_count: 1250
});
REST API: создание заметок и задач
Http::withToken(env('INTERCOM_ACCESS_TOKEN'))
->post('https://api.intercom.io/notes', [
'user' => ['user_id' => $userId],
'body' => "Оформил заказ #{$orderId} на {$total} ₽"
]);
Messenger API (Inbox)
Для создания разговора программно (например, при регистрации):
Http::withToken($token)
->post('https://api.intercom.io/conversations', [
'from' => ['type' => 'user', 'id' => $intercomUserId],
'body' => "Здравствуйте! У меня вопрос по заказу #{$orderId}"
]);
Срок установки: 1 день с кастомными атрибутами и событиями.







