1
0
mirror of synced 2025-01-18 08:51:41 +03:00

Add documentation for registering client functionality

This commit is contained in:
Dima Uryvskiy 2022-01-26 12:59:20 +03:00 committed by GitHub
parent 5cec16c266
commit a3a79ee9c5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 20 additions and 4 deletions

View File

@ -0,0 +1,17 @@
#Регистрация клиентов
Клиент может зарегистрироваться на сайте:
* Администратор может зарегистрировать клиента через административную панель WordPress.
* На странице wp-admin.
* При заполнении email в форме регистрации на сайте.
* Когда оформляет новый заказ, если клиент является "гостем" ему будет предложено зарегистрироваться.
Модуль обрабатывает регистрацию клиентов через хук **user_register**.
Модуль обрабатывает таких клиентов по следующей логике:
1. Производится поиск по email в CRM, если клиент найден, происходит обновление его данных в CRM и актуализируется его externalId.
2. Если клиент не найден в CRM, будет создан новый.
Данная логика позволяет минимизировать количество дублей.
Возможно ситуация, когда клиент был удален в CMS, но в CRM такой клиент продолжает существовать, чтобы не потерять таких клиентов производится актуализация их данных.

View File

@ -1,4 +1,4 @@
# Address processing
# Работа с адресами
С версии `4.3.8` изменена логика работы с адресами.

View File

@ -115,7 +115,7 @@ if (!class_exists('WC_Retailcrm_Customers')) :
if ($response->isSuccessful() && !empty($response['customers'])) {
$customers = $response['customers'];
$customer = reset($customers);
$customer = reset($customers);
if (isset($customer['id'])) {
$this->updateCustomerById($customerId, $customer['id']);
@ -123,7 +123,7 @@ if (!class_exists('WC_Retailcrm_Customers')) :
$builder = new WC_Retailcrm_WC_Customer_Builder();
$builder
->setWcCustomer($wcCustomer)
->setPhones(isset($customer['phones']) ? $customer['phones'] : array())
->setPhones(isset($customer['phones']) ? $customer['phones'] : [])
->setAddress(isset($customer['address']) ? $customer['address'] : false)
->build()
->getResult()

View File

@ -375,7 +375,6 @@ if (!class_exists('WC_Retailcrm_History')) :
}
if (isset($order['contact']['address'])) {
var_dump('test');
$billingAddress = $order['contact']['address'];
// @codeCoverageIgnoreStart