# Передача событий

Для того, чтобы иметь возможность собирать статистику и оптимизировать кампании, необходимо передавать в Gravity Field информацию о действиях пользователя на сайте или в приложении.


# events: передача событий

curl --request POST 
--url 'https://evs-01.gravityfield.ai/ssapi/event'
--header 'content-type: application/json' 
--header 'Authorization: Bearer your-api-key' 
--data '
{
	"user": { 
		"id": "yaexono4ohphania" 
	},
	"session": { 
		"custom": "iquahngaishe2koh" 
	},
	"context": { 
		"device": {
			"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
			"ip": "54.100.200.255" 
		}
	},
	"events": [
	{
		"name": "Add to Cart",
		"properties": {
			"eventType": "add-to-cart-v1",
			"value": 118.26,
			"currency": "RUB",
			"productId": "item-34454",
			"quantity": 2,
			"cart": [
			{
        "productId": "sku-4324-bg",
        "quantity": 1,
        "itemPrice": 12.34
      },
      {
        "productId": "item-34454",
        "quantity": 2,
        "itemPrice": 59.13
      }
	    ]
		}
	}
	]
}

# Пример события логина с единым CUID

Для унификации профилей пользователя между Web, мобильными SDK и офлайн-данными рекомендуется в событии Login использовать один и тот же идентификатор — SHA-256 хеш нормализованного мобильного телефона:

  • Номер очищается от всех символов, кроме цифр.
  • Для РФ/КЗ используется формат 7XXXXXXXXXX (без +, пробелов, скобок и дефисов).
  • Для других стран — международный формат без + и разделителей.
  • Хеш считается по строке в UTF-8, результат — lowercase hex.
POST /ssapi/event
{
  "user": {
    "slid": "..."         // Опционально, если известна текущая сессия
  },
  "events": [
    {
      "name": "Login",
      "properties": {
        "eventType": "login-v1",
        "cuid": "HASHED_PHONE_STRING",   // SHA-256 хеш нормализованного номера телефона
        "cuidType": "phone_hash"        // Стандартный тип идентификатора
      }
    }
  ]
}

Тот же хеш и значение cuidType = "phone_hash" должны использоваться:

  • в JavaScript-интеграции (событие Login через GF.API("event", ...)),
  • в мобильных SDK (LoginEvent),
  • в импорте офлайн-данных (cuid / cuidType),
  • в выгрузках из CDP / DWH, если исторические или офлайн-покупки попадают в Gravity Field через CSV.

Важно, чтобы одна и та же функция нормализации и хеширования применялась:

  • на фронтенде (Web и мобильные приложения),
  • на сервере (Server-Side API),
  • в ETL‑процессах CDP при формировании файлов импорта.

Если в CDP или DWH уже настроен расчёт cuid на основе телефона по этому алгоритму, во всех типах интеграции (Web, мобильные SDK, Server-Side API, импорт офлайн‑данных) следует передавать именно тот хеш, который используется в CDP, чтобы сохранить единый идентификатор пользователя.

📖 Подробнее о формате cuid и cuidType при импорте транзакций: Импорт транзакций