PUT /customer/{phoneNumber}
Редактирование существующего клиента.
Запрос
Параметры адресной строки (URI parameters)
| Поле | Описание | Тип | Обязательное |
|---|---|---|---|
| phoneNumber |
Номер телефона Клиента |
string |
Required |
Информация о клиенте. В качестве идентификатора используется номер телефона. Поля клиента перезаписываются значениями из тела запроса. Если какое-либо поле не задано, тогда соответствующее поле у клиента будет перезаписано пустым значением
Тело запроса (объект UpdateCustomer )
| Поле | Описание | Тип | Обязательное |
|---|---|---|---|
| newPhone |
Новый номер телефона Клиента. Формат не имеет значение. Обязан содержать минимум 11 цифр |
string | |
| newCardNumber |
Новый номер карты Клиента. |
int | |
| invitationCode | string | ||
| newCard |
Новая карта (статус) Клиента |
string | |
| parentphone |
Номер телефона рекомендателя. Формат не имеет значение. Обязан содержать минимум 11 цифр |
string | |
| fn |
Имя |
string | |
| ln |
Фамилия |
string | |
| mn |
Отчетсво |
string | |
| sex |
Пол |
SexEnum | |
|
Адрес электронной почны |
string | ||
| desc |
Примечание |
string | |
| birthDay |
Дата рождения в формате ДД.ММ.ГГГГ |
string | |
| profileInstagram |
Ссылка на Инстаграм |
string | |
| profileVkontakte |
Ссылка на страницу в ВКонтакте |
string | |
| profileOdnoklassniki |
Ссылка на страницу в Одноклассниках |
string | |
| address |
Адрес |
string | |
| disablePromoSMS |
Отказ от промо |
bool | |
| storeId |
идентификатор магазина |
string | |
| cashierId |
идентификатор кассира |
string | |
| relatives |
Родственники (близкие) |
Массив PersonRelative | |
| significantDates | Массив SignificantDate | ||
| registrationSourceId |
идентификатор источника регистрации |
string | |
| registrationDate |
Дата регистрации |
datetime | |
| disableAllMessages | bool | ||
| isBlocked | bool | ||
| archived | bool |
Пример запроса
application/json, text/json
{
"newPhone": "sample string 1",
"newCardNumber": 1,
"invitationCode": "sample string 2",
"newCard": "sample string 3",
"parentphone": "sample string 4",
"fn": "sample string 5",
"ln": "sample string 6",
"mn": "sample string 7",
"sex": "Female",
"email": "sample string 8",
"desc": "sample string 9",
"birthDay": "sample string 10",
"profileInstagram": "sample string 11",
"profileVkontakte": "sample string 12",
"profileOdnoklassniki": "sample string 13",
"address": "sample string 14",
"disablePromoSMS": true,
"storeId": "sample string 16",
"cashierId": "sample string 17",
"relatives": [
{
"birthDay": "sample string 1",
"sex": "Female",
"name": "sample string 2"
},
{
"birthDay": "sample string 1",
"sex": "Female",
"name": "sample string 2"
}
],
"significantDates": [
{
"id": "89eaad3a-8805-480f-b91a-f342f40ff3d8",
"significantDateId": "22834006-cbf4-4537-81b2-248677534006",
"significantDateType": 3,
"name": "sample string 4",
"date": "2025-12-06T07:10:57.3410622+03:00",
"sex": 1
},
{
"id": "89eaad3a-8805-480f-b91a-f342f40ff3d8",
"significantDateId": "22834006-cbf4-4537-81b2-248677534006",
"significantDateType": 3,
"name": "sample string 4",
"date": "2025-12-06T07:10:57.3410622+03:00",
"sex": 1
}
],
"registrationSourceId": "sample string 18",
"registrationDate": "2025-12-06T07:10:57.3410622+03:00",
"disableAllMessages": true,
"isBlocked": true,
"archived": true
}
Ответ
Тело ответа ( объект Customer )
| Поле | Описание | Тип | Обязательное |
|---|---|---|---|
| phone |
Номер телефона клиента. Формат не имеет значение. Обязан содержать минимум 11 цифр |
string | |
| id |
Идентификатор клиента в формате GUID |
GUID | |
| discountCardTypeId |
id типа карты |
int | |
| discountCardNumber |
Номер карты |
string | |
| discountCardName |
Наименование карты (статуса) |
string | |
| parentphone |
Номер телефона рекомендателя. Формат не имеет значение. Обязан содержать минимум 11 цифр |
string | |
| availableBonuses |
Количество бонусов, доступных к использованию |
decimal | |
| notActiveBonuses |
Количество неактивных бонусов |
decimal | |
| lastPurchaseDate |
Дата последней покупки |
datetime | |
| firstPurchaseDate |
Дата первой покупки |
datetime | |
| totalBonusCredit |
Всего начислено бонусов |
decimal | |
| totalBonusDebit |
Всего использовано бонусов |
decimal | |
| person |
Персональная информация |
PersonInfo | |
| purchasesTotalSum |
Общая сумма совершенных покупок |
decimal | |
| purchasesSumToNextCard |
Сумма покупок, необходимая для получения новой карты (статуса) |
decimal | |
| nextCardName |
Следущая карта (статус) |
string | |
| regressEnabled |
Статус клиента может понижаться (зависит от настроек программы лояльности) |
bool | |
| bonusDebitDenided |
Запрещено списание бонусов |
bool | |
| nearestBonusesExpirationAmount |
Количество бонусов, которые сгорают в ближайшее время |
decimal | |
| avgPurchasesTotal |
Количество бонусов, которые сгорают в ближайшее время |
decimal | |
| nearestBonusesExpirationDate |
Дата ближайшего сгорания бонусов |
string | |
| purchasesCount |
Количество совершенных покупок |
int | |
| confirmed |
Значение true означает, что номер телефона был подтвержден и клиент дал согласие на получение рекламных сообщений |
bool | |
| inviteCode |
Пригласительный код (может использовать для связки клиентов по системе рекомендаций) |
string | |
| registrationSourceId |
идентификатор источника регистрации |
string | |
| baseDiscountPercent |
Базовая скидка в процентах |
decimal | |
| baseBonusDebitPercent |
Базовое списание бонусов в процентах |
decimal | |
| baseBonusCreditPercent |
Базовое начисление бонусов в процентах |
decimal | |
| telegramBotStatus |
Активен в телеграм |
int | |
| telegramBotRegistrationDate | datetime | ||
| eCardStatusID |
Активен в телеграм |
int | |
| vkStatusID |
Активен в ВК |
int | |
| disableAllMessages | bool | ||
| isBlocked | bool | ||
| archived | bool | ||
| multiplicityDebitBonus |
Количество бонусов, списываемых на покупку должно быть кратно этому параметру |
decimal |
Пример ответа
application/json, text/json
{
"multiplicityDebitBonus": 1.0,
"phone": "sample string 1",
"id": "1539e383-4c23-4c94-81b3-461e0bde829b",
"discountCardTypeId": 3,
"discountCardNumber": "sample string 4",
"discountCardName": "sample string 5",
"parentphone": "sample string 6",
"availableBonuses": 7.0,
"notActiveBonuses": 8.0,
"lastPurchaseDate": "2025-12-06T07:10:57.3410622+03:00",
"firstPurchaseDate": "2025-12-06T07:10:57.3410622+03:00",
"totalBonusCredit": 9.0,
"totalBonusDebit": 10.0,
"person": {
"fn": "sample string 1",
"ln": "sample string 2",
"mn": "sample string 3",
"sex": "Female",
"email": "sample string 4",
"desc": "sample string 5",
"birthDay": "sample string 6",
"profileInstagram": "sample string 7",
"profileVkontakte": "sample string 8",
"profileOdnoklassniki": "sample string 9",
"address": "sample string 10",
"utmSource": "sample string 11",
"creationDate": "2025-12-06T07:10:57.3410622+03:00",
"lastUpdateDate": "2025-12-06T07:10:57.3410622+03:00",
"createdInStore": "sample string 13",
"disablePromoSMS": true,
"relatives": [
{
"birthDay": "sample string 1",
"sex": "Female",
"name": "sample string 2"
},
{
"birthDay": "sample string 1",
"sex": "Female",
"name": "sample string 2"
}
],
"significantDates": [
{
"id": "1ebc94ac-22fc-4f0a-ae4d-617fbf7c56e3",
"significantDateId": "fa30ebe0-b76a-4b27-9655-3112cd8012c5",
"significantDateType": 3,
"name": "sample string 4",
"date": "2025-12-06T07:10:57.3410622+03:00",
"sex": 1
},
{
"id": "1ebc94ac-22fc-4f0a-ae4d-617fbf7c56e3",
"significantDateId": "fa30ebe0-b76a-4b27-9655-3112cd8012c5",
"significantDateType": 3,
"name": "sample string 4",
"date": "2025-12-06T07:10:57.3410622+03:00",
"sex": 1
}
],
"createdInStoreId": 1,
"lastOperationStoreID": 1,
"createdByCashierId": 1
},
"purchasesTotalSum": 11.0,
"purchasesSumToNextCard": 12.0,
"nextCardName": "sample string 13",
"regressEnabled": true,
"bonusDebitDenided": true,
"nearestBonusesExpirationAmount": 16.0,
"avgPurchasesTotal": 17.0,
"nearestBonusesExpirationDate": "sample string 18",
"purchasesCount": 19,
"confirmed": true,
"inviteCode": "sample string 21",
"registrationSourceId": "sample string 22",
"baseDiscountPercent": 23.0,
"baseBonusDebitPercent": 24.0,
"baseBonusCreditPercent": 25.0,
"telegramBotStatus": 26,
"telegramBotRegistrationDate": "2025-12-06T07:10:57.3410622+03:00",
"eCardStatusID": 1,
"vkStatusID": 1,
"disableAllMessages": true,
"isBlocked": true,
"archived": true
}