Расширенная настройка виджета
Этот раздел описывает продвинутые способы интеграции TapRate: программное открытие виджета, передача данных о пользователе и подписка на события.
Вызов по клику или из JavaScript
Если в панели выбран режим «По JS‑событию», вы можете открыть виджет программно.
Кнопка в разметке:
<button type="button" onclick="window.TapRate && window.TapRate.open()">
Оценить
</button>Либо из вашего скрипта:
window.TapRate && window.TapRate.open();Передача данных о пользователе и полезной нагрузки
Вы можете передавать идентификатор и контактные данные пользователя, а также произвольный объект client_payload.
Способ A — до подключения скрипта:
<script>
window.TapRateConfig = {
// необязательные поля пользователя
manual_id: 'user_123',
name: 'Иван',
email: 'ivan@example.com',
phone: '+79001234567',
// любая полезная нагрузка (попадёт в оценку)
client_payload: { orderId: 42, plan: 'pro' }
};
</script>
<script>(function(w){var cfg = (w.TapRateConfig && typeof w.TapRateConfig === 'object') ? w.TapRateConfig : {};...);</script>Способ B — после загрузки скрипта:
<script>(function(w){var cfg = (w.TapRateConfig && typeof w.TapRateConfig === 'object') ? w.TapRateConfig : {};...);</script>
<script>
// Можно установить позже, например, при готовности данных
window.TapRate && window.TapRate.setUser({
manual_id: 'user_123',
name: 'Иван',
email: 'ivan@example.com',
phone: '+79001234567'
});
window.TapRate && window.TapRate.setClientPayload({
orderId: 42,
plan: 'pro'
});
</script>События SDK
Вы можете подписываться на события жизненного цикла виджета.
// Когда виджет готов к взаимодействию (можно безопасно вызывать .open())
window.TapRate && window.TapRate.on('ready', function(widget){
// альтернативный способ установки данных:
widget.manual_id = 'user_123';
widget.name = 'Иван';
widget.email = 'ivan@example.com';
widget.phone = '+79001234567';
widget.client_payload = { orderId: 42 };
});
window.TapRate.on('opened', function(){ /* показан */ });
window.TapRate.on('closed', function(){ /* закрыт */ });Смотрите также
- Базовое подключение для любого сайта — «Через код (HTML/JS)»
- Установка в CMS: WordPress, Tilda