customer.getuuid

На главную / API

Этот запрос необходимо выполнить перед работой с покупателем для получения его уникального идентификационного номера UUID. Без него все остальные запросы невозможны. Этот уникальный номер следует привязать к покупателю в базе данных магазина и сохранить для дальнейшего использования.

Для начала нужно подготовить массив данных покупателя. Например:

$customer = array(
    'emails'        => array('test1@gmail.com', 'test2@gmail.com'),    
    'city'          => 'Москва',    
    'country'       => 'rus',    
    'phones'        => array('79552320101', '79342343232'), 
);

Имя города city задается в произвольном формате.

Страна country задается в формате iso3

Номера телефонов необходимо очистить от лишних символов следующей функцией.

function clearPhoneNumber($phone) {     
    $phone = preg_replace("#[^\d]#", "", $phone);
    if (strlen($phone) < 11) return false;     
    if (strlen($phone) == 11 && $phone[0] == 8) {
        $phone[0] = 7;    
    }    
    return $phone; }

Так же она заменяет 8 на 7 для России.

Имена почтовых ящиков так же должны пройти валидацию:

function validateEmail($email) {
    if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
        return true;    }
    else return false; 
}

Далее необходимо хешировать почтовые ящики и телефоны чтобы исключить передачу в общую базу персональные данные.


function hashCustomer($customer) {
    foreach ($customer['emails'] as $i => $email) {
        $customer['emails'][$i] = md5($email);
    }
    foreach ($customer['phones'] as $i => $phone) {
        $customer['phones'][$i] = md5($phone);
    }
    return $customer; }

После этого делаем запрос к api:


$url = 'https:///api.php/?app=dossier&method=customer.getuuid&access_token=ACCESS_TOKEN';

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, array('customer' => $customer)); 

$uuids = json_decode(curl_exec($ch));
curl_close($ch);

В ответ вы получите массив $uuids с вариантами покупателей, которых сервер bstats.ru счел похожими с вашим покупателем. Так же в массиве будет процент совпадений по email или номерам телефонов. Этот массив нужно визуализировать в бэкенде и предоставить выбор какой из вариантов больше подходит для конкретного интернет-магазина. После выбора сохраняем uuid этого покупателя. Далее все запросы будут происходить с использованием уникального номера покупателя uuid.


Если же это новый покупатель и его еще нет в базе, то ему будет сгенерирован uuid и так же возвращен в ответе api.