diff --git a/src/services/analyticsService.ts b/src/services/analyticsService.ts index beaba86..5a627ea 100644 --- a/src/services/analyticsService.ts +++ b/src/services/analyticsService.ts @@ -109,67 +109,37 @@ export const trackRejectedPrompt = (originalPrompt: string): void => { * @param value - Общая цена (опционально) * @param unit - Код валюты (опционально, обязательно если указан value) */ -export const sendTargetEvent = async ( +export const sendTargetEvent = ( targetId: number, userId: number, value?: number, unit?: string -): Promise => { - try { - const date = new Date().toISOString(); // Текущая дата в формате ISO 8601 - - const payload: { - target_id: number; - user_id: number; - date: string; - value?: number; +): void => { + if (typeof window !== 'undefined' && window.graspil) { + // Создаем объект события в формате, который ожидает graspil.push + const eventData: { + event: string; + category: string; + value_num?: number; unit?: string; } = { - target_id: targetId, - user_id: userId, - date: date + event: `Целевое событие ID: ${targetId}`, + category: `target_${targetId}`, // Используем ID цели как категорию }; - + // Добавляем value и unit, если они указаны if (value !== undefined) { - payload.value = value; + eventData.value_num = value; if (unit) { - payload.unit = unit; + eventData.unit = unit; } } + + // Логируем для отладки + console.log('Отправка целевого события через graspil.push:', eventData); - // Логируем отправляемые данные - console.log('Отправка целевого события:', { - url: 'https://api.graspil.com/v1/send-target', - method: 'POST', - payload - }); - - // Отправляем запрос на сервер - const response = await fetch('https://api.graspil.com/v1/send-target', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - 'Api-Key': '3bb78a396b0aa436843d606d02abfe4c' - }, - body: JSON.stringify(payload) - }); - - // Логируем статус ответа - console.log('Статус ответа:', response.status, response.statusText); - - const data = await response.json(); - - // Логируем полученные данные - console.log('Ответ сервера:', data); - - if (!data.ok) { - console.error('Ошибка при отправке целевого события:', data.error); - } else { - console.log('Целевое событие успешно отправлено'); - } - } catch (error) { - console.error('Ошибка при отправке целевого события:', error); + // Отправляем событие + window.graspil.push(eventData); } };