Привязка контрагента сторонней системы к клиенту

Метод позволяет привязывать контрагента сторонней системы к зарегистрированному клиенту в системе Bonus Money. При привязке необходимо точно указывать номер клиента, допускающий однозначную конвертацию к номеру телефона.

Запрос:

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

Description

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

Headers

BM-ApiKey: token

Body

{
"customerPhone": "9219602566",
"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