Що це дає
Це налаштування дає змогу розробнику отримувати персональні дані користувача, що спрощує процес реєстрації та, відповідно, підвищує загальну конверсію в підключення додатка.
Як увімкнути
- В особистому кабінеті, у режимі редагування додатка перейдіть у «Налаштування для розробки».
- Позначте чекбокс «Передавати дані користувача при підключенні інтеграції».
- Поки чекбокс не позначений, дані за замовчуванням не передаватимуться.

Як передаються дані
- При натисканні на кнопку «Підключити» у Маркетплейсі відбувається перехід за посиланням «Registration Redirect Url», указаним в особистому кабінеті партнера.
- До цього посилання GET-параметром додаються параметри
user_dataіuser_data_sign, окрім уже наявного параметраsalon_id. - Якщо налаштування вимкнено, підключення інтеграції відбувається за стандартним сценарієм.
Як формуються дані
user_data — це JSON, який кодується алгоритмом base64.
user_data_sign — це підпис, який ми наполегливо рекомендуємо перевіряти, щоб уникнути небажаних реєстрацій від третіх осіб. Він формується шляхом шифрування розкодованого JSON (user_data) вашим партнерським ключем за алгоритмом SHA-256. Партнерський ключ знаходиться в меню «Налаштування акаунта».
Нижче наведено приклад розшифрування даних мовою PHP:
<?php
const PARTNER_TOKEN = '2t6u73mrh85btb8wgyfj';
$userData = $_GET['user_data'];
// Рядок eyJ1c2VyX2lkIjoxMjMsIm5hbWUiOiLQkNC90LTRgNC10Lkg0JjQstCw0L3QvtCyIiwiZW1haWwiOiJhbmRyZXlAZXhhbXBsZS5jb20iLCJwaG9uZSI6Ijc5OTkwMDA5OTAwIn0=
// Етап 1 — декодуємо base64
$userData = base64_decode($userData);
var_dump($userData);
/**
* Після декодування отримуємо масив з інформацією про користувача
* array(4) {
* ["user_id"] => int(123)
* ["name"] => string(25) "Alex Smith"
* ["email"] => string(18) "[email protected]"
* ["phone"] => string(11) "19990009900"
* }
*/
// Етап 2 — перевіряємо валідність підпису
$isSignValid = $_GET['user_data_sign'] === hash_hmac('sha256', $userData, PARTNER_TOKEN);
if (! $isSignValid) {
die("Invalid sign!");
}