Отправка целевого события/достижение цели
Цель — это действие пользователя в боте, например продажа. Graspil имеет несколько уже созданных "целей", вы можете увидеть их в своем личном кабинете в разделе конверсии. Там же вы можете создавать свои цели.
Каждая цель имеет свой триггер — некую логику при наступлении которой будет создано целевое событие (достижение цели), его вы и уведите в статистике.
"Цели" можно активировать через API. Ниже представлен метод, который описывает как передать целевое событие.
Отправка данных
За одну отправку запроса вы можете передать от 1 до 100 событий. Данные отправляются в json
формате. Предпочтительней отправлять события в момент их появления.
HTTPS Request
POST https://api.graspil.com/v1/send-target
Передаваемые параметры
user_id
integer
да
Telegram ID пользователя, кому принадлежит событие. Перед сохранением данных будет проверенно соответствует ли id пользователю вашего бота.
date
RFC 3339 (ISO 860)
нет
Дата и время когда произошло событие, если оставить пустым будет установленно текущее время. Формат времени должен содержать миллисекунды и часовой пояс.
Пример: 2024-08-03T20:00:00.123+02:00
value
float
нет
Общая цена (число с плавающей запятой).
unit
string(3)
да, если есть value
Код валюты, максимальная длинна строки 3. Аналогично валютам в TG Api.
Передавать можно как один объект:
{
"target_id": 1,
"user_id": 5842703839,
"date": "2023-12-31T20:00:00+01:00",
"value": 10,
"unit": "usd"
}
Так и массив объектов:
[
{
"target_id": 1,
"user_id": 5842703839,
"date": "2023-12-31T20:00:00+01:00",
"value": 10,
"unit": "usd"
},
{
"target_id": 1,
"user_id": 5842703839,
"date": "2023-12-31T20:00:00+01:00",
"value": 10,
"unit": "usd"
}
]
Примеры кода
$url = "https://api.graspil.com/v1/send-target";
$api_key = ""; // your API key
$data = json_encode([
"target_id": 1,
"user_id": 5842703839,
"date": "2023-12-31T20:00:00+01:00",
"value": 10,
"unit": "usd"
]);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Api-Key: ' . $api_key,
'Content-Type: application/json;'
)];
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($ch);
curl_close($ch);
Ответ
Пример успешного ответа:
{
"ok": true
}
Ошибки
В случае возникновения ошибок при валидировании данных, ответ будет содержать информацию об ошибке
{
"ok": false,
"error": {
"target_id": [
"Unknown target_id"
],
"user_id": [
"The user with this id was not found"
]
}
}
Last updated