Создание клиента

Метод позволяет создать клиента в системе Bonus Money. Обязательными полями являются телефон клиента и его имя. Все остальные параметры опциональны.

Запрос:

POST: https://api.bm-app.com/registerCustomer

Description

customer: (object, required) - клиент
login: (string, required) - телефон клиента
name: (string, required) - имя клиента, может быть null
surname: (string, optional) - фамилия клиента, может быть null
patronymic: (string, optional) - отчество клиента, может быть null
male: (boolean, optional) - пол клиента, true - мужской, false - женский, null - неопределено
bDate: (string, optional) - день рождения клиента, может быть null
numberVerified: (boolean, optional) - подтверждение номера телефона, true - да, false - нет

numberVerified: (boolean, optional) - подтвержден ли номер телефона в сторонней системе, при подтверждении номера через Bonus Money используйте метод "Отправка sms-кода подтверждения" (/sendSmsCode)

smsVerificationCode: (string, optional) - смс код подтверждения

customerCard: (string, optional) - пластиковая карта клиента

counterparty: (object, optional) - контрагента в сторонней системе ассоциированный с регистрируемым клиентом
externalId: (string, required) - уникальный идентификатор контрагента в сторонней системе (как правило UUID)
externalCode: (string, optional) - код контрагента в сторонней системе (как правило удобно читаемый для человека)
name: (string, required) - имя контрагента в сторонней системе
type: (string, required) - тип контрагента (individual - для физ. лица, legal - юр. лица)

Headers

BM-ApiKey: token

Body

{
"customer": {
"login": "+7 (921) 960-25-66",
"name": "Вася",
"surname": "Круглов",
"patronymic": "Васильевич",
"fio": "Круглов Вася Васильевич",
"male": true,
"bDate": "1990-01-01",
"email": "vasa@mail.ru"
},
"numberVerified": null,
"smsVerificationCode": "8500",
"customerCard": "1232423475",
"counterparty": {
"externalId": "uuid",
"externalCode": "123",
"name": "Vasa",
"type": "individual"
}
}

Ответ:

Body:

{
"searchers": [
{
"customer": {
"login": "+7 (921) 960-25-66",
"name": "Вася",
"surname": "Круглов",
"patronymic": "Васильевич",
"fio": "Круглов Вася Васильевич",
"male": true,
"bDate": "1990-01-01",
"numberVerified": false
},
"card": {
"cardNumber": "675675467",
},
"markParameters": {
"mark": 413,
"markLvl": 13,
"level": {
"number": 1,
"name": "Первый уровень",
"requiredSum": 0,
"requiredMarkLvl": 0,
"markToCash": 20,
"cashToMark": 5
},
"companyLoyaltyParameters": {
"levels": [
{
"number": 1,
"name": "Первый уровень",
"requiredSum": 0,
"markToCash": 20,
"cashToMark": 5
},
{
"number": 2,
"name": "Второй уровень",
"requiredSum": 5000,
"markToCash": 50,
"cashToMark": 10
}
],
"customerGroup": {
"name": "ViP клиенты"
}
}
}
}
]
}

Description

customer: (object) - клиент
login: (string) - телефон клиента
name: (string) - имя клиента, может быть null
surname: (string) - фамилия клиента, может быть null
patronymic: (string) - отчество клиента, может быть null
male: (boolean) - пол клиента, true - мужской, false - женский, null - неопределено
bDate: (string) - день рождения клиента, может быть null
numberVerified: (boolean) - подтверждение номера телефона, true - да, false - нет

card: (object) - пластиковая карта
cardNumber: (string) - номер пластиковой карты клиента

markParameters: (object) - блок связанный с баллами клиента
mark: (number) - количество баллов клиента
level: (object) - текущий уровень клиента в таблице лояльности
number: (number) - номер уровня
name: (string) - название уровня
requiredSum: (number) - необходимая сумма покупок для достижения уровня
markToCash: (number) - процент от суммы чека который клиент может оплачивать баллами
cashToMark: (number) - процент от суммы чека который начисляется в виде баллов
companyLoyaltyParameters: (object) - таблица лояльности применяемая к клиенту
levels: (array) - уровни таблицы лояльности
number: (number) - номер уровня
name: (string) - название уровня
requiredSum: (number) - сумма покупок для достижения уровня
markToCash: (number) - процент списания баллов на уровне
cashToMark: (number) - процент начисления баллов на уровне
customerGroup: (object) - группа клиентов
name: (string) - название группы клиентов к которой применяется таблицы лояльности

При выполнении запросов возможно получение следующих ошибок:

  • HTTP Status 503 Превышено максимальное число запросов в секунду
  • HTTP Status 413 Превышен максимальный размер тела запроса
  • HTTP Status 401 API ключ не найден
  • HTTP Status 402 Система Bonus Money не оплачена или закончилось число транзакций предусмотренное тарифом
  • HTTP Status 400 Некорректный запрос, описание ошибки присылается в теле ответа в формате Json, доступное по ключу: message