Введение
Добро пожаловать в BMCard API! Вы можете использовать наш API для получения различной информации о клиенте вашей компании и стилизации его карточки в системе BonusMoney.
Для работы с этим API понадобится ключ BM-API-KEY
,
который вы можете получить обратившись на почту
support@bonusmoney.pro
.
Авторизация
Процесс авторизации состоит из подтверждения номера и регистрации, если клиент не был зарегистрирован ранее.
Результатом авторизации будут данные о клиенте, содержащие bmToken
,
позволяющий выполнять запросы, связанные с этим клиентом.
Его необходимо передавать в заголовок TOKEN
соответствущих запросов.
Доступные опции
Запрос
POST https://bm-app.com/mobileapp/auth/getOptions
Пример
curl -v -X POST https://bm-app.com/mobileapp/auth/getOptions \
-H 'Content-Type: application/json' \
-H 'BM-API-KEY: <BM-API-KEY>' \
-d '{
"countryCode": "RU",
"phone": "+7 (000) 000-00-00"
}'
Тело запроса
Название | Тип | Необходмость | Описание |
---|---|---|---|
countryCode | Строка | Да | 2-значный код региона |
phone | Строка | Да | Номер телефона |
captchaToken | Строка | Нет | Токен капчи |
captchaText | Строка | Нет | Капча |
type | Тип аутентификации | Нет | Запрашиваемый тип аутентификации |
Ответ
Описание
Возвращает текущий тип аутентификации и список возможных опций.
При первом запросе type
, captchaToken
, captchaText
нужно оставить пустыми.
Если в ответе есть поле captcha
, то для продолжения нужно отправить captchaToken
,
captchaText
и полученный type
.
Для изменения типа авторизации необходимо повторить запрос
с нужным type
, который есть в availableTypes
.
Аутентификация по СМС
Запрос
POST https://bm-app.com/mobileapp/auth/verifyBySms
Пример
curl -v -X POST https://bm-app.com/mobileapp/auth/verifyBySms \
-H 'Content-Type: application/json' \
-H 'BM-API-KEY: <BM-API-KEY>' \
-d '{
"code": "0000",
"phone": "+7 (000) 000-00-00"
}'
Тело запроса
Название | Тип | Необходмость | Описание |
---|---|---|---|
code | Строка | Да | 4-значный код, ранее отправленный на номер телефона |
phone | Строка | Да | Номер телефона |
Ответ
Описание
Возвращает ранее зарегестрированного клиента (customer
) и токен,
необходимый для регистрации (signUpToken
).
Для регистрации клиента вы можете воспользоваться доступными данными о
нем (inCompanyProfile
). Они появляются, если клиент ранее пользовался
системой (например, через кассы). Дополните их, если необходимо,
и зарегестрируйте клиента.
Аутентификация по звонку
Запрос
POST https://bm-app.com/mobileapp/auth/verifyByCall
Пример
curl -v -X POST https://bm-app.com/mobileapp/auth/verifyByCall \
-H 'Content-Type: application/json' \
-H 'BM-API-KEY: <BM-API-KEY>' \
-d '{
"phone": "+7 (000) 000-00-00",
"to": "+7 (111) 111-11-11"
}'
Тело запроса
Название | Тип | Необходмость | Описание |
---|---|---|---|
phone | Строка | Да | Номер телефона, с которого был совершен звонок |
to | Строка | Да | Номер телефона, на который был совершен звонок |
Ответ
Описание
Возвращает ранее зарегестрированного клиента (customer
) и токен,
необходимый для регистрации (signUpToken
).
Для регистрации клиента вы можете воспользоваться доступными данными о
нем (inCompanyProfile
). Они появляются, если клиент ранее пользовался
системой (например, через кассы). Дополните их, если необходимо,
и зарегестрируйте клиента.
Аутентификация без подтверждения номера
Запрос
POST https://bm-app.com/mobileapp/auth/logInWithoutVerification
Пример
curl -v -X POST https://bm-app.com/mobileapp/auth/logInWithoutVerification \
-H 'Content-Type: application/json' \
-H 'BM-API-KEY: <BM-API-KEY>' \
-d '{
"phone": "+7 (000) 000-00-00"
}'
Тело запроса
Название | Тип | Необходмость | Описание |
---|---|---|---|
phone | Строка | Да | Номер телефона |
Ответ
Описание
Возвращает ранее зарегестрированного клиента (customer
) и токен,
необходимый для регистрации (signUpToken
).
Для регистрации клиента вы можете воспользоваться доступными данными о
нем (inCompanyProfile
). Они появляются, если клиент ранее пользовался
системой (например, через кассы). Дополните их, если необходимо,
и зарегестрируйте клиента.
Регистрация
Запрос
POST https://bm-app.com/mobileapp/auth/signUp
Пример
curl -v -X POST https://bm-app.com/mobileapp/auth/signUp \
-H 'Content-Type: application/json' \
-H 'BM-API-KEY: <BM-API-KEY>' \
-d '{
"name": "Алексей",
"surname": "Алексеев",
"patronymic": "Алексеевич",
"bDate": "1990-05-30",
"male": true,
"email": "my@mail.ru",
"signUpToken": "<SIGN-UP-TOKEN>"
}'
Тело запроса
Название | Тип | Необходмость | Описание |
---|---|---|---|
name | Строка | Да | Имя |
surname | Строка | Да | Фамилия |
patronymic | Строка | Да | Отчество |
bDate | Строка | Да | Дата рождения |
male | Логический | Да | Пол |
Строка | Да | Почта | |
signUpToken | Строка | Да | Токен, полученный при аутентификации |
Ответ
Описание
Возвращает зарегестрированного клиента.
Запросы
Главная
Запрос
POST https://bm-app.com/mobileapp/card_v2/getDashboard
Пример
curl -v -X POST https://bm-app.com/mobileapp/card_v2/getDashboard \
-H 'TOKEN: <TOKEN>' \
-H 'BM-API-KEY: <BM-API-KEY>'
Ответ
Описание
Возвращает карточку компании, её стилизацию и последние события, связанные с клиентом.
О компании
Запрос
POST https://bm-app.com/mobileapp/card_v2/getAbout
Пример
curl -v -X POST https://bm-app.com/mobileapp/card_v2/getAbout \
-H 'TOKEN: <TOKEN>' \
-H 'BM-API-KEY: <BM-API-KEY>'
Ответ
Описание
Возвращает контактную информацию, название, логотип и описание компании.
Профиль
Запрос
POST https://bm-app.com/mobileapp/card_v2/getCustomer
Пример
curl -v -X POST https://bm-app.com/mobileapp/card_v2/getCustomer \
-H 'TOKEN: <TOKEN>' \
-H 'BM-API-KEY: <BM-API-KEY>'
Ответ
Описание
Возвращает данные о клиенте.
Изменить профиль
Запрос
POST https://bm-app.com/mobileapp/card_v2/updateCustomer
Пример
curl -v -X POST https://bm-app.com/mobileapp/card_v2/updateCustomer \
-H 'Content-Type: application/json' \
-H 'TOKEN: <TOKEN>' \
-H 'BM-API-KEY: <BM-API-KEY>' \
-d '{
"name": "Алексей",
"surname": "Алексеев",
"patronymic": "Алексеевич",
"bDate": "1990-05-30",
"male": true,
"email": "my@mail.ru"
}'
Тело запроса
Название | Тип | Необходмость | Описание |
---|---|---|---|
name | Строка | Да | Имя |
surname | Строка | Да | Фамилия |
patronymic | Строка | Да | Отчество |
bDate | Строка | Да | Дата рождения |
male | Логический | Да | Пол |
Строка | Да | Почта |
Ответ
Описание
Обновляет данные о клиенте.
Уровни
Запрос
POST https://bm-app.com/mobileapp/card_v2/getLevels
Пример
curl -v -X POST https://bm-app.com/mobileapp/card_v2/getLevels \
-H 'TOKEN: <TOKEN>' \
-H 'BM-API-KEY: <BM-API-KEY>'
Ответ
Описание
Возвращает список уровней компании и прогресс клиента в их достижении.
История баллов
Запрос
POST https://bm-app.com/mobileapp/card_v2/getMarksHistory
Пример
curl -v -X POST https://bm-app.com/mobileapp/card_v2/getMarksHistory \
-H 'Content-Type: application/json' \
-H 'TOKEN: <TOKEN>' \
-H 'BM-API-KEY: <BM-API-KEY>' \
-d '{
"offset": 0,
"limit": 5
}'
Тело запроса
Название | Тип | Необходмость | Описание |
---|---|---|---|
offset | Число | Нет | Отступ для пагинации списка |
limit | Число | Нет | Количество элементов на странице |
Ответ
Описание
Возвращает страницу событий, менявших состояние баллов.
Сгорающие баллы
Запрос
POST https://bm-app.com/mobileapp/card_v2/getMarksToBeDecrease
Пример
curl -v -X POST https://bm-app.com/mobileapp/card_v2/getMarksToBeDecrease \
-H 'Content-Type: application/json' \
-H 'TOKEN: <TOKEN>' \
-H 'BM-API-KEY: <BM-API-KEY>' \
-d '{
"offset": 0,
"limit": 5
}'
Тело запроса
Название | Тип | Необходмость | Описание |
---|---|---|---|
offset | Число | Нет | Отступ для пагинации списка |
limit | Число | Нет | Количество элементов на странице |
Ответ
Описание
Возвращает страницу еще не свершившихся сгораний баллов.
Транзакции
Запрос
POST https://bm-app.com/mobileapp/card_v2/getTransactions
Пример
curl -v -X POST https://bm-app.com/mobileapp/card_v2/getTransactions \
-H 'Content-Type: application/json' \
-H 'TOKEN: <TOKEN>' \
-H 'BM-API-KEY: <BM-API-KEY>' \
-d '{
"offset": 0,
"limit": 5
}'
Тело запроса
Название | Тип | Необходмость | Описание |
---|---|---|---|
offset | Число | Нет | Отступ для пагинации списка |
limit | Число | Нет | Количество элементов на странице |
Ответ
Описание
Возвращает страницу транзакций по заданным параметрам пагинации.
Транзакция
Запрос
POST https://bm-app.com/mobileapp/card_v2/getTransaction
Пример
curl -v -X POST https://bm-app.com/mobileapp/card_v2/getTransaction \
-H 'Content-Type: application/json' \
-H 'TOKEN: <TOKEN>' \
-H 'BM-API-KEY: <BM-API-KEY>' \
-d '{
"orderId": 0
}'
Тело запроса
Название | Тип | Необходмость | Описание |
---|---|---|---|
orderId | Число | Да | Идентификатор |
Ответ
Описание
Возвращает транзакцию по заданному идентификатору.
Отзывы
Запрос
POST https://bm-app.com/mobileapp/card_v2/getComments
Пример
curl -v -X POST https://bm-app.com/mobileapp/card_v2/getComments \
-H 'Content-Type: application/json' \
-H 'TOKEN: <TOKEN>' \
-H 'BM-API-KEY: <BM-API-KEY>' \
-d '{
"offset": 0,
"limit": 5
}'
Тело запроса
Название | Тип | Необходмость | Описание |
---|---|---|---|
offset | Число | Нет | Отступ для пагинации списка |
limit | Число | Нет | Количество элементов на странице |
Ответ
Описание
Возвращает страницу отзывов по заданным параметрам пагинации.
Оставить отзыв
Запрос
POST https://bm-app.com/mobileapp/card_v2/setComment
Пример
curl -v -X POST https://bm-app.com/mobileapp/card_v2/setComment \
-H 'Content-Type: application/json' \
-H 'TOKEN: <TOKEN>' \
-H 'BM-API-KEY: <BM-API-KEY>' \
-d '{
"orderId": 0,
"text": "Test",
"star": 5
}'
Тело запроса
Название | Тип | Необходмость | Описание |
---|---|---|---|
orderId | Число | Да | Идентификатор транзакции |
star | Число | Да | Рейтинг в пределах от 0 до 5 |
text | Строка | Нет | Комментарий |
Описание
Позволяет оставить отзыв на покупку указав её идентификатор.
Акции
Запрос
POST https://bm-app.com/mobileapp/card_v2/getStocks
Пример
curl -v -X POST https://bm-app.com/mobileapp/card_v2/getStocks \
-H 'TOKEN: <TOKEN>' \
-H 'BM-API-KEY: <BM-API-KEY>'
Ответ
Описание
Возвращает список активных акций.
Уведомления
Запрос
POST https://bm-app.com/mobileapp/card_v2/getNotifications
Пример
curl -v -X POST https://bm-app.com/mobileapp/card_v2/getNotifications \
-H 'Content-Type: application/json' \
-H 'TOKEN: <TOKEN>' \
-H 'BM-API-KEY: <BM-API-KEY>' \
-d '{
"offset": 0,
"limit": 5
}'
Тело запроса
Название | Тип | Необходмость | Описание |
---|---|---|---|
offset | Число | Нет | Отступ для пагинации списка |
limit | Число | Нет | Количество элементов на странице |
Ответ
Описание
Возвращает список уведомлений по заданным параметрам пагинации.
Модели
Тип аутентификации
Пример
"SMS"
Возможные значения
CALL_PASS
- аутентификация по звонку на номерSMS
- аутентификация с помошью смсNO
- аутентификация без подтверждения номер
Опции аутентификации
Пример
{
"type": "SMS",
"availableTypes": [
{
"type": "CALL_PASS",
"callTo": "+7 (000) 000-00-00",
"nextSendIn": 60000
}
]
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
type | Тип аутентификации | Да | Запрашиваемая аутентификация |
captcha | Капча | Нет | Капча |
availableTypes | Список опций аутентификации | Да | Доступные опции |
Опция аутентификации
Пример
{
"type": "CALL_PASS",
"callTo": "+7 (000) 000-00-00",
"nextSendIn": 60000
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
type | Тип аутентификации | Да | Тип |
callTo | Строка | Нет | Номер телефона на который нужно позвонить при типе CALL_PASS |
nextSendIn | Число | Да | Через какое количество милисекунд доступен следующий запрос этой опции |
Капча
Пример
{
"token": "78abfff1-671b-42e2-acbb-50175dfa94ab",
"bytes": "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"
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
token | Строка | Да | Токен |
bytes | Строка | Да | Байты PNG изображения в формате Base64 |
Аутентификационный набор
Пример
{
"signUpToken": "<SIGN-UP-TOKEN>",
"customer": null,
"inCompanyProfile": {
"phone": "+7 (000) 000-00-00",
"bmtoken": "<TOKEN>",
"name": "Алексей",
"bDate": "1990-05-30",
"male": true,
"email": "my@mail.ru",
"isPhoneVerified": false,
"QRCode": "00_00000000000000"
}
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
signUpToken | Строка | Да | Токен, необходимый для регистрации |
customer | Клиент | Нет | Аутентифицированный клиент |
inCompanyProfile | Клиент | Нет | Доступные данные о клиенте |
Карточка компании
Пример
{
"companyId": 21,
"isDeleted": false,
"about": {
"name": "МЯСО - И ТОЧКА",
"logoUrl": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/bm_logo.png",
"type": "Тип компании",
"description": "Описание компании",
"phones": {
"Телефон 1": "+7 (000) 000-00-00"
},
"urlLinks": {
"Ссылка 1": "https://bonusmoney.pro/"
}
},
"customer": {
"phone": "+7 (777) 777-77-77",
"bmtoken": "11331983781980461811795542597300526055525955900917",
"name": "Алексей",
"surname": "Алексеев",
"patronymic": "Алексеевич",
"bDate": "1990-05-30",
"male": true,
"email": "my@mail.ru",
"isPhoneVerified": false,
"QRCode": "29_511858543181681967"
},
"basicStyle": {
"backgroundColor": "#FFEFEFEF",
"mainColor": "#FF2688EB",
"mainPassiveColor": "#FF949494",
"cardBackgroundColor": "#FFFFFFFF",
"textColor": "#FF1A1A1A",
"highlightTextColor": "#FF949494",
"accentColor": "#FFFF3044",
"linkColor": "#FF2688EB",
"titleColor": "#FF1A1A1A",
"iconTextColor": "#FF949494",
"buttonBackgroundColor": "#FFEFEFEF",
"buttonTextColor": "#FF2688EB",
"borderActiveColor": "#FF2688EB",
"borderPassiveColor": "#00000000",
"dividerColor": "#FFEFEFEF",
"mainButtonColor": "#FFEFEFEF",
"mainButtonTextColor": "#FF2688EB",
"cardLinkColor": "#FF1A1A1A"
},
"mobileApp": {
"dashboardItems": [
"MY_CARD"
],
"menuItems": [
"MAIN"
],
"moreItems": [
"MARKS"
],
"itemsStyle": [
{
"tag": "MAIN",
"image": "https://bmappmobileapp.s3-us-west-1.amazonaws.com/21_c7f98e01-61aa-4db3-b671-a568f2732f99.png",
"name": "Главная"
}
]
},
"telegram": {
"headerItems": [
"MY_CARD"
],
"itemsStyle": [
{
"tag": "MAIN",
"image": "https://bmappmobileapp.s3-us-west-1.amazonaws.com/21_c7f98e01-61aa-4db3-b671-a568f2732f99.png",
"name": "Главная"
}
]
},
"levelParameters": {
"levels": [
{
"number": 1,
"name": "First",
"requiredSum": 0,
"markToCash": 50,
"cashToMark": 10,
"imageLvl": "https://bmappmobileapp.s3-us-west-1.amazonaws.com/21_e0306774-1607-4140-94d3-d4b3b121cff9.png"
}
],
"lvlNumber": 2,
"cashToMark": 20,
"markToCash": 50,
"sum": 1264
},
"markParameters": {
"marks": 2037,
"timeDecay": "2024-03-08 12:58:17.000001",
"marksDecrease": 10
},
"transactions": [
{
"transactionEvent": {
"orderId": 13905322,
"time": "2024-01-23 14:01:09.0",
"receiptNumber": "1",
"type": "SELL",
"positions": [
{
"quantity": 1,
"unitId": 1808985,
"name": "БАД №1",
"externalUnitId": "dc49ec5h-1242-11ed-b513-3c7c3fc28c05",
"price": 1092,
"priceWithDiscount": 1092,
"externalDiscount": 0,
"minimumPrice": 0,
"canPayByMark": true,
"canMarkIncrease": true,
"cashLoyaltyDiscount": 0,
"cashDiscount": 0,
"markSpendDiscount": 0,
"combos": []
}
],
"cash": 1092,
"finalCash": 1092,
"externalCashDiscount": 0,
"cashStockDiscount": 0,
"cashDiscount": 0,
"markBefore": 1736.6,
"markIncrease": 218.4,
"markDecrease": 0,
"markCurrent": 1955,
"store": {
"storeId": "a9670af4-eb8e-11ec-a428-b06ebf2fab22",
"name": "Розничный магазин",
"type": "ONE_C_STORE"
}
},
"comment": {
"comment": "ккк",
"start": 5,
"isShown": true
}
}
],
"comment": {
"comment": {
"comment": "",
"start": 3,
"isShown": true
},
"transactionEvent": {
"orderId": 13905311,
"time": "2023-12-28 21:00:07.0",
"receiptNumber": "3",
"positions": [
{
"quantity": 1,
"unitId": 0,
"name": "БАД №1",
"externalUnitId": "dc49ec5h-1242-11ed-b513-3c7c3fc28c05",
"price": 1092,
"priceWithDiscount": 1092,
"externalDiscount": 0,
"minimumPrice": 0,
"canPayByMark": true,
"canMarkIncrease": true,
"cashLoyaltyDiscount": 0,
"cashDiscount": 0,
"markSpendDiscount": 0,
"combos": [
{
"comboId": 5939,
"name": "n-ай new new new"
}
]
}
],
"cash": 1092,
"finalCash": 1092,
"externalCashDiscount": 0,
"cashStockDiscount": 0,
"cashDiscount": 0,
"markBefore": 863,
"markIncrease": 0,
"markDecrease": 0,
"markCurrent": 863,
"store": {
"storeId": "a9670af4-eb8e-11ec-a428-b06ebf2fab22",
"name": "Розничный магазин",
"type": "ONE_C_STORE"
}
}
},
"stocks": [
{
"priorityOfShow": 1,
"messageType": "AppStockNVisitStylization",
"messageId": 64,
"header": "Шаблон с n-ой покупкой",
"message": "купите 4 кофе ок! купи https://bonusmoney.pro/panel/admin/allStock/",
"imageURL": "https://bmappmobileapp.s3-us-west-1.amazonaws.com/21_4b187445-9d2b-41a3-ace5-d63175ef2399.png",
"period": " ",
"start": "2020-01-01 00:00:00.0",
"end": "2020-01-01 00:00:00.0",
"visitsCounter": {
"visits": 0,
"targetVisits": 4,
"bonuses": 0
},
"coupon": null
}
],
"markEvents": [
{
"id": "13905322",
"name": "Ответ на отзыв",
"time": "2024-02-02 14:26:21.0",
"markBefore": 2025,
"markIncrease": 12,
"markDecrease": 0,
"markCurrent": 2037,
"type": "COMMENT",
"content": {
"transaction": {
"orderId": 13905322,
"time": "2024-01-23 14:01:09.0",
"receiptNumber": "1",
"type": "SELL",
"positions": [
{
"quantity": 1,
"unitId": 1808985,
"name": "БАД №1",
"externalUnitId": "dc49ec5h-1242-11ed-b513-3c7c3fc28c05",
"price": 1092,
"priceWithDiscount": 1092,
"externalDiscount": 0,
"minimumPrice": 0,
"canPayByMark": true,
"canMarkIncrease": true,
"cashLoyaltyDiscount": 0,
"cashDiscount": 0,
"markSpendDiscount": 0,
"combos": []
}
],
"cash": 1092,
"finalCash": 1092,
"externalCashDiscount": 0,
"cashStockDiscount": 0,
"cashDiscount": 0,
"markBefore": 1736.6,
"markIncrease": 218.4,
"markDecrease": 0,
"markCurrent": 1955,
"store": {
"storeId": "a9670af4-eb8e-11ec-a428-b06ebf2fab22",
"name": "Розничный магазин",
"type": "ONE_C_STORE"
}
},
"comment": {
"comment": "ккк",
"start": 5,
"isShown": true,
"response": "df"
}
}
}
],
"commentStyle": {
"imageRateNone": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/star.png",
"imageRateOk": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/star_yellow.png",
"imagesFunny": [
"https://bmappmobileapp.s3.us-west-1.amazonaws.com/face_0.png",
"https://bmappmobileapp.s3.us-west-1.amazonaws.com/face_1.png",
"https://bmappmobileapp.s3.us-west-1.amazonaws.com/face_2.png",
"https://bmappmobileapp.s3.us-west-1.amazonaws.com/face_3.png",
"https://bmappmobileapp.s3.us-west-1.amazonaws.com/face_4.png",
"https://bmappmobileapp.s3.us-west-1.amazonaws.com/face_5.png"
]
},
"levelStyle": {
"imageDelayedMarkActivation": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/shopping_bag_white.png",
"imageMarkToCash": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/assept_document_white.png",
"imageSumToLvl": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/need_sum_white.png",
"imageDecrease": "https://bmappmobileapp.s3-us-west-1.amazonaws.com/21_df65a282-62c9-4880-be28-7cc197ac12ec.png"
},
"markStyle": {
"imageDecrease": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/flame_white.png"
},
"pointStyle": {
"iconPhone": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/phone_white.png",
"iconAddress": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/marker_icon_white.png",
"iconMetro": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/icon_metro_white.png"
},
"profileStyle": {
"iconName": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/first_name_white.png",
"iconSurname": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/last_name_white.png",
"iconPatronymic": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/patronymic_white.png",
"iconBDay": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/gift_white.png",
"iconMale": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/gender_white.png",
"iconPhone": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/phone_white.png",
"iconEmail": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/mail_white.png",
"iconPhoneVerified": "https://bmappmobileapp.s3-us-west-1.amazonaws.com/21_aed5228f-5ce8-4aca-ab08-b26199613b58.png"
},
"qrStyle": {
"buttonColor": "#FF00FF3C",
"buttonTextColor": "#FFA5EFAE"
},
"currencyCode": "₸"
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
companyId | Число | Да | Идентификатор компании |
isDeleted | Логический | Да | Состояние удаления клиентом |
about | Описание компании | Да | Описание компании |
customer | Клиент | Да | Клиент |
basicStyle | Базовая стилизация | Да | Базовая стилизация |
mobileApp | Стилизация мобильного приложения | Да | Стилизация мобильного приложения |
telegram | Стилизация Telegram | Да | Стилизация Telegram |
levelParameters | Уровни | Да | Список уровней компании и прогресс |
markParameters | Баллы | Да | Баллы |
transactions | Cписок транзакций с отзывом | Да | Последние 5 транзакций |
comment | Транзакция с отзывом | Да | Последняя транзация, не имеющая отзыва |
stocks | Список акций | Да | 5 самых приоритетных акций |
markEvents | Список событий с баллами | Да | Последние 5 событий с баллами |
commentStyle | Стилизация отзывов | Да | Стилизация отзывов |
levelStyle | Стилизация уровней | Да | Стилизация уровней |
markStyle | Стилизация баллов | Да | Стилизация баллов |
pointStyle | Стилизация магазинов | Да | Стилизация магазинов |
profileStyle | Стилизация профиля | Да | Стилизация профиля |
qrStyle | Стилизация QR кода | Да | Стилизация QR кода |
currencyCode | Код валюты | Да | Код валюты |
Описание компании
Пример
{
"name": "МЯСО - И ТОЧКА",
"logoUrl": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/bm_logo.png",
"type": "Тип компании",
"description": "Описание компании",
"phones": {
"Телефон 1": "+7 (000) 000-00-00"
},
"urlLinks": {
"Ссылка 1": "https://bonusmoney.pro/"
}
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
name | Строка | Да | Название компании |
logoUrl | Строка | Да | Логотип компании |
type | Строка | Да | Тип компании |
description | Строка | Да | Описание компании |
phones | Карта | Да | Телефоны компании |
urlLinks | Карта | Да | Ссылки компании |
Клиент
Пример
{
"phone": "+7 (000) 000-00-00",
"bmtoken": "<TOKEN>",
"name": "Алексей",
"surname": "Алексеев",
"patronymic": "Алексеевич",
"bDate": "1990-05-30",
"male": true,
"email": "my@mail.ru",
"isPhoneVerified": false,
"QRCode": "00_00000000000000"
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
name | Строка | Да | Имя |
surname | Строка | Нет | Фамилия |
patronymic | Строка | Нет | Отчество |
bDate | Строка | Нет | Дата рождения в формате yyyy-mm-dd |
Строка | Нет | Электронной почты | |
male | Логический | Нет | Пол |
phone | Строка | Да | Номер телефона |
isPhoneVerified | Логический | Да | Статус подтверждения номера телефона |
Базовая стилизация
Пример
{
"backgroundColor": "#FFEFEFEF",
"mainColor": "#FF2688EB",
"mainPassiveColor": "#FF949494",
"cardBackgroundColor": "#FFFFFFFF",
"textColor": "#FF1A1A1A",
"highlightTextColor": "#FF949494",
"accentColor": "#FFFF3044",
"linkColor": "#FF2688EB",
"titleColor": "#FF1A1A1A",
"iconTextColor": "#FF949494",
"buttonBackgroundColor": "#FFEFEFEF",
"buttonTextColor": "#FF2688EB",
"borderActiveColor": "#FF2688EB",
"borderPassiveColor": "#00000000",
"dividerColor": "#FFEFEFEF",
"mainButtonColor": "#FFEFEFEF",
"mainButtonTextColor": "#FF2688EB",
"cardLinkColor": "#FF1A1A1A"
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
backgroundColor | Строка | Да | Цвет основного фона |
mainColor | Строка | Да | Цвет активных элементов |
mainPassiveColor | Строка | Да | Цвет не активных элементов |
cardBackgroundColor | Строка | Да | Цвет фона блоков |
textColor | Строка | Да | Цвет текста |
highlightTextColor | Строка | Да | Цвет дополнительного текста |
accentColor | Строка | Да | Цвет элементов c предупреждением |
linkColor | Строка | Да | Цвет ссылок |
titleColor | Строка | Да | Цвет заголовков |
iconTextColor | Строка | Да | Цвет иконок |
buttonBackgroundColor | Строка | Да | Цвет второстепенных кнопок |
buttonTextColor | Строка | Да | Цвет текста второстепенных кнопок |
borderActiveColor | Строка | Да | Цвет активной обводки |
borderPassiveColor | Строка | Да | Цвет не активной обводки |
dividerColor | Строка | Да | Цвет разделителей |
mainButtonColor | Строка | Да | Цвет основной кнопок |
mainButtonTextColor | Строка | Да | Цвет текста основной кнопок |
cardLinkColor | Строка | Да | Цвет ссылок в блоках |
Стилизация мобильного приложения
Пример
{
"dashboardItems": [
"MY_CARD"
],
"menuItems": [
"MAIN"
],
"moreItems": [
"MARKS"
],
"itemsStyle": [
{
"tag": "MAIN",
"image": "https://bmappmobileapp.s3-us-west-1.amazonaws.com/21_c7f98e01-61aa-4db3-b671-a568f2732f99.png",
"name": "Главная"
}
]
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
dashboardItems | Список типов модулей | Да | Список модулей на главной |
menuItems | Список типов модулей | Да | Список модулей в меню |
moreItems | Список типов модулей | Да | Список модулей в модуле ещё |
itemsStyle | Список стилей модулей | Да | Список стилей модулей |
Стилизация Telegram
Пример
{
"headerItems": [
"MY_CARD"
],
"itemsStyle": [
{
"tag": "MAIN",
"image": "https://bmappmobileapp.s3-us-west-1.amazonaws.com/21_c7f98e01-61aa-4db3-b671-a568f2732f99.png",
"name": "Главная"
}
]
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
headerItems | Список типов модулей | Да | Список модулей |
itemsStyle | Список стилей модулей | Да | Список стилей модулей |
Тип модуля
Пример
"AppStockNVisitStylization"
Возможные значения
MAIN
- главнаяMY_CARD
- QR кодPROFILE
- профильSTOCK
- акцииSTORES
- магазиныMARKS
- баллыTRANSACTIONS_HISTORY
- история покупокLEVEL
- уровеньCOMMENTS
- отзывыABOUT_COMPANY
- о компанииMORE
- ещёSETTINGS
- настройки
Стиль модуля
Пример
{
"tag": "MAIN",
"image": "https://bmappmobileapp.s3-us-west-1.amazonaws.com/21_c7f98e01-61aa-4db3-b671-a568f2732f99.png",
"name": "Главная"
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
tag | Тип модуля | Да | Тип модуля |
image | Строка | Да | Иконка |
name | Строка | Да | Название |
Уровни
Пример
{
"levels": [
{
"number": 1,
"name": "First",
"requiredSum": 0,
"markToCash": 50,
"cashToMark": 10,
"imageLvl": "https://bmappmobileapp.s3-us-west-1.amazonaws.com/21_e0306774-1607-4140-94d3-d4b3b121cff9.png"
}
],
"lvlNumber": 2,
"cashToMark": 20,
"markToCash": 50,
"sum": 1264,
"timeDecay": "2024-03-08 12:58:17.000001",
"avoidDecreaseSum": 10000,
"avoidDecreaseVisits": 5
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
levels | Список уровней | Да | Список уровней |
lvlNumber | Число | Да | Номер текущего уровня |
cashToMark | Число | Да | Максимальный кешбэк в баллах |
markToCash | Число | Да | Максимальный процент оплаты баллами |
sum | Число | Да | Сумма, которая уже есть у клиента |
timeDecay | Строка | Нет | Время, когда уровень сгорит в формате yyyy-mm-dd hh:mm:ss |
avoidDecreaseVisits | Число | Нет | Оставшееся количество посещений, необходимое для избежания сгорания уровней |
avoidDecreaseSum | Число | Нет | Оставшаяся сумма покупок, необходимое для избежания сгорания уровней |
Уровень
Пример
{
"number": 1,
"name": "First",
"requiredSum": 0,
"markToCash": 50,
"cashToMark": 10,
"imageLvl": "https://bmappmobileapp.s3-us-west-1.amazonaws.com/21_e0306774-1607-4140-94d3-d4b3b121cff9.png"
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
number | Число | Да | Номер |
name | Число | Да | Название |
requiredSum | Число | Да | Сумма, необходимая для его достижения |
markToCash | Число | Да | Максимальный процент оплаты баллами |
cashToMark | Число | Да | Максимальный кешбэк в баллах |
imageLvl | Строка | Да | Картинка |
Баллы
Пример
{
"marks": 2037,
"timeDecay": "2024-03-08 12:58:17.000001",
"marksDecrease": 10
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
marks | Число | Да | Количество баллов |
timeDecay | Строка | Да | Время, когда баллы сгорят в формате yyyy-mm-dd hh:mm:ss |
marksDecrease | Число | Да | Сгорит баллов |
Транзакция с отзывом
Пример
{
"transaction": {
"orderId": 13905322,
"time": "2024-01-23 14:01:09.0",
"type": "SELL",
"receiptNumber": "1",
"positions": [
{
"quantity": 1,
"unitId": 1808985,
"name": "БАД №1",
"externalUnitId": "dc49ec5h-1242-11ed-b513-3c7c3fc28c05",
"price": 1092,
"priceWithDiscount": 1092,
"externalDiscount": 0,
"minimumPrice": 0,
"canPayByMark": true,
"canMarkIncrease": true,
"cashLoyaltyDiscount": 0,
"cashDiscount": 0,
"markSpendDiscount": 0,
"combos": []
}
],
"cash": 1092,
"finalCash": 1092,
"externalCashDiscount": 0,
"cashStockDiscount": 0,
"cashDiscount": 0,
"markBefore": 1736.6,
"markIncrease": 218.4,
"markDecrease": 0,
"markCurrent": 1955,
"store": {
"storeId": "a9670af4-eb8e-11ec-a428-b06ebf2fab22",
"name": "Розничный магазин",
"type": "ONE_C_STORE"
}
},
"comment": {
"comment": "ккк",
"start": 5,
"isShown": true
},
"response": {
"text": "df",
"markBefore": 2025.00,
"markIncrease": 12.00,
"markDecrease": 0,
"markCurrent": 2037.00,
"time": "2024-02-02 14:26:21.0"
}
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
transaction | Транзакция | Да | Транзакция |
comment | Отзыв | Да | Отзыв |
response | Ответ на отзыв | Нет | Ответ на отзыв |
Транзакция
Пример
{
"orderId": 13905322,
"time": "2024-01-23 14:01:09.0",
"receiptNumber": "1",
"type": "SELL",
"positions": [
{
"quantity": 1,
"unitId": 1808985,
"name": "БАД №1",
"externalUnitId": "dc49ec5h-1242-11ed-b513-3c7c3fc28c05",
"price": 1092,
"priceWithDiscount": 1092,
"externalDiscount": 0,
"minimumPrice": 0,
"canPayByMark": true,
"canMarkIncrease": true,
"cashLoyaltyDiscount": 0,
"cashDiscount": 0,
"markSpendDiscount": 0,
"combos": []
}
],
"cash": 1092,
"externalCashDiscount": 0,
"cashStockDiscount": 0,
"cashDiscount": 0,
"finalCash": 1092,
"markBefore": 1736.6,
"markIncrease": 218.4,
"markDecrease": 0,
"markCurrent": 1955,
"store": {
"storeId": "00000000-0000-0000-0000-00000000000",
"name": "Магазин 1",
"type": "ONE_C_STORE"
}
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
orderId | Строка | Да | Идентификатор |
time | Строка | Да | Момент совершения транзакции в формате yyyy-mm-dd hh:mm:ss |
receiptNumber | Строка | Да | Номер чека |
type | Тип транзакции | Да | Тип транзакции |
positions | Список позиций | Да | Список позиций |
cash | Число | Да | Начальная стоимость |
externalCashDiscount | Число | Да | Внешняя скидка |
cashStockDiscount | Число | Да | Скидка по акциям |
cashDiscount | Число | Да | Скидка за баллы |
finalCash | Число | Да | Итоговая стоимость |
markBefore | Число | Да | Количество баллов до |
markIncrease | Число | Да | Начисление баллов |
markDecrease | Число | Да | Списание баллов |
markCurrent | Число | Да | Количество баллов после |
store | Магазин | Да | Магазин |
Тип транзакции
Пример
"SELL"
Возможные значения
SELL
- ПродажаPAYBACK
- Возврат
Позиция
Пример
{
"quantity": 1,
"unitId": 1808985,
"name": "БАД №1",
"externalUnitId": "dc49ec5h-1242-11ed-b513-3c7c3fc28c05",
"price": 1092,
"priceWithDiscount": 1092,
"externalDiscount": 0,
"minimumPrice": 0,
"canPayByMark": true,
"canMarkIncrease": true,
"cashLoyaltyDiscount": 0,
"cashDiscount": 0,
"markSpendDiscount": 0,
"combos": []
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
unitId | Число | Да | Идентификатор |
name | Строка | Да | Название |
externalUnitId | Строка | Да | Идентификатор в сторонней системе |
price | Число | Да | Цена |
externalDiscount | Число | Да | Внешняя скидка |
minimumPrice | Число | Да | Минимальная цена |
canPayByMark | Логический | Да | Может быть оплачена баллами |
canMarkIncrease | Логический | Да | Может увеличивать количество баллов |
cashLoyaltyDiscount | Число | Да | Скидка за уровень лояльности |
cashDiscount | Число | Да | Скидка по акциям |
markSpendDiscount | Число | Да | Скидка за списание баллов |
combos | Список комбо | Да | Список примененных комбо |
Комбо
Пример
{
"comboId": 5939,
"name": "n-ай new new new"
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
comboId | Строка | Да | Идентификатор |
name | Строка | Да | Название |
Магазин
Пример
{
"storeId": "00000000-0000-0000-0000-00000000000",
"name": "Магазин 1",
"type": "ONE_C_STORE"
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
storeId | Строка | Да | Идентификатор |
name | Строка | Да | Название |
type | Тип магазина | Да | Тип |
Тип магазина
Пример
"EVOTOR_STORE"
Возможные значения
EVOTOR_STORE
- ЭвоторMOY_SKLAD_STORE
- Мой СкладONE_C_STORE
- 1CAPI_STORE
- APIMODUL_KASSA_STORE
- МодульКассаIIKO_STORE
- IikoFRONTOL_STORE
- FrontolSET_RETAIL_STORE
- Set RetailBM_STORE
- BonusMoney
Отзыв
Пример
{
"star": 0,
"isShown": true
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
star | Число | Да | Оценка в промежутке от 0 до 5 |
text | Строка | Нет | Текст отзыва |
isShown | Boolean | Да | Был ли показан отзыв ранее |
Ответ на отзыв
Пример
{
"text": "Молодец!",
"markBefore": 1955.00,
"markIncrease": 50.00,
"markDecrease": 0,
"markCurrent": 2005.00,
"time": "2024-01-26 17:34:17.0"
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
text | Строка | Да | Отзыв |
markBefore | Число | Да | Количество баллов до |
markIncrease | Число | Да | Начисление баллов |
markDecrease | Число | Да | Списание баллов |
markCurrent | Число | Да | Количество баллов после |
time | Строка | Да | Момент создания в формате yyyy-mm-dd hh:mm:ss |
Акция
Пример
{
"priorityOfShow": 1,
"messageType": "AppStockNVisitStylization",
"messageId": 64,
"header": "Шаблон с n-ой покупкой",
"message": "купите 4 кофе ок! купи https://bonusmoney.pro/panel/admin/allStock/",
"imageURL": "https://bmappmobileapp.s3-us-west-1.amazonaws.com/21_4b187445-9d2b-41a3-ace5-d63175ef2399.png",
"period": "",
"start": "2020-01-01 00:00:00.0",
"end": "2020-01-01 00:00:00.0",
"visitsCounter": {
"visits": 0,
"targetVisits": 4,
"bonuses": 0
},
"coupon": null
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
priorityOfShow | Число | Нет | Приоритет показа |
messageType | Тип сообщения | Да | Тип сообщения |
messageId | Число | Нет | Идентификатор акции |
header | Строка | Да | Заголовок |
message | Строка | Да | Сообщение |
imageURL | Строка | Нет | Картинка |
imagesURL | Строка | Нет | Список картинок |
iconExpirationPromoCode | Строка | Нет | Иконка сгорания промокода |
iconNoPromoCode | Строка | Нет | Иконка отсутствия промокода |
period | Строка | Нет | Период |
start | Строка | Нет | Время начала показа в формате yyyy-mm-dd hh:mm:ss |
end | Строка | Нет | Время конца показа в формате yyyy-mm-dd hh:mm:ss |
visitsCounter | Визиты | Нет | Визиты |
coupon | Купон | Нет | Купон |
Тип сообщения
Пример
"AppStockNVisitStylization"
Возможные значения
AppStockNVisitStylization
- акция с N-ной покупкойAppSimpleMessage
- простая акция из заголовка и текстаAppImageMessage
- акция с картинкойAppMultipleImageMessage
- акция с множеством картинокAppCouponMessage
- акция с купоном
Визиты
Пример
{
"visits": 0,
"targetVisits": 4,
"bonuses": 0
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
visits | Число | Да | Количество посещений |
targetVisits | Число | Да | Количество посещений для получения бонуса |
bonuses | Число | Да | Полученные бонусы |
Купон
Пример
{
"isUnique": false,
"comboId": 5943,
"isBlocked": false,
"number": "promoKOT",
"isActivated": false,
"timeCreate": "2024-02-01 14:46:46.0",
"timeActivate": null,
"validTo": "2024-02-11 14:46:46.0"
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
isUnique | Логический | Да | Состояние уникальности |
comboId | Число | Да | Идентификатор |
isBlocked | Логический | Да | Состояние блокировка |
number | Строка | Да | Промокод |
isActivated | Логический | Да | Состояние активации |
timeCreate | Строка | Да | Время создания в формате yyyy-mm-dd hh:mm:ss |
timeActivate | Строка | Нет | Время активации в формате yyyy-mm-dd hh:mm:ss |
validTo | Строка | Да | Время активности в формате yyyy-mm-dd hh:mm:ss |
Событие с баллами
Пример
{
"id": "13905322",
"name": "Ответ на отзыв",
"time": "2024-02-02 14:26:21.0",
"markBefore": 2025,
"markIncrease": 12,
"markDecrease": 0,
"markCurrent": 2037,
"type": "COMMENT",
"content": {
"transaction": {
"orderId": 13905322,
"time": "2024-01-23 14:01:09.0",
"receiptNumber": "1",
"type": "SELL",
"positions": [
{
"quantity": 1,
"unitId": 1808985,
"name": "БАД №1",
"externalUnitId": "dc49ec5h-1242-11ed-b513-3c7c3fc28c05",
"price": 1092,
"priceWithDiscount": 1092,
"externalDiscount": 0,
"minimumPrice": 0,
"canPayByMark": true,
"canMarkIncrease": true,
"cashLoyaltyDiscount": 0,
"cashDiscount": 0,
"markSpendDiscount": 0,
"combos": []
}
],
"cash": 1092,
"finalCash": 1092,
"externalCashDiscount": 0,
"cashStockDiscount": 0,
"cashDiscount": 0,
"markBefore": 1736.6,
"markIncrease": 218.4,
"markDecrease": 0,
"markCurrent": 1955,
"store": {
"storeId": "a9670af4-eb8e-11ec-a428-b06ebf2fab22",
"name": "Розничный магазин",
"type": "ONE_C_STORE"
}
},
"comment": {
"comment": "ккк",
"start": 5,
"isShown": true,
"response": "df"
}
}
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
id | Строка | Да | Идентификатор события |
name | Строка | Да | Название события |
time | Строка | Да | Время события в формате yyyy-mm-dd hh:mm:ss |
markBefore | Число | Да | Количество баллов до |
markIncrease | Число | Да | Начисление баллов |
markDecrease | Число | Да | Списание баллов |
markCurrent | Число | Да | Количество баллов после |
type | Тип события с баллами | Да | Тип |
content | Контент события с баллами | Нет | Контент |
Тип события с баллами
Пример
"TRANSACTION"
Возможные значения
TRANSACTION
- списание/начисление за транзакциюCOMMENT
- начисление за отзывMESSAGE
- начисление за акцию или начисление с сообщениемEVENT
- событие с балламиOTHER
- другое событие
Контент события с баллами
Пример
{
"transaction": {
"orderId": 13905322,
"time": "2024-01-23 14:01:09.0",
"receiptNumber": "1",
"type": "SELL",
"positions": [
{
"quantity": 1,
"unitId": 1808985,
"name": "БАД №1",
"externalUnitId": "dc49ec5h-1242-11ed-b513-3c7c3fc28c05",
"price": 1092,
"priceWithDiscount": 1092,
"externalDiscount": 0,
"minimumPrice": 0,
"canPayByMark": true,
"canMarkIncrease": true,
"cashLoyaltyDiscount": 0,
"cashDiscount": 0,
"markSpendDiscount": 0,
"combos": []
}
],
"cash": 1092,
"finalCash": 1092,
"externalCashDiscount": 0,
"cashStockDiscount": 0,
"cashDiscount": 0,
"markBefore": 1736.6,
"markIncrease": 218.4,
"markDecrease": 0,
"markCurrent": 1955,
"store": {
"storeId": "a9670af4-eb8e-11ec-a428-b06ebf2fab22",
"name": "Розничный магазин",
"type": "ONE_C_STORE"
}
},
"comment": {
"comment": "ккк",
"start": 5,
"isShown": true,
"response": "df"
}
}
Возможные значения
- Транзакция с отзывом - если тип события
TRANSACTION
илиCOMMENT
- Сообщение - если тип события
MESSAGE
- Событие с баллами - если тип события
EVENT
Сообщение
Пример
{
"messageType": "AppStockNVisitStylization",
"messageId": 64,
"header": "Шаблон с n-ой покупкой",
"message": "купите 4 кофе ок! купи https://bonusmoney.pro/panel/admin/allStock/",
"imageURL": "https://bmappmobileapp.s3-us-west-1.amazonaws.com/21_4b187445-9d2b-41a3-ace5-d63175ef2399.png"
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
messageType | Тип сообщения | Да | Тип сообщения |
header | Строка | Да | Заголовок |
message | Строка | Да | Сообщение |
imageURL | Строка | Нет | Картинка |
imagesURL | Строка | Нет | Список картинок |
Стилизация отзывов
Пример
{
"imageRateNone": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/star.png",
"imageRateOk": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/star_yellow.png",
"imagesFunny": [
"https://bmappmobileapp.s3.us-west-1.amazonaws.com/face_0.png",
"https://bmappmobileapp.s3.us-west-1.amazonaws.com/face_1.png",
"https://bmappmobileapp.s3.us-west-1.amazonaws.com/face_2.png",
"https://bmappmobileapp.s3.us-west-1.amazonaws.com/face_3.png",
"https://bmappmobileapp.s3.us-west-1.amazonaws.com/face_4.png",
"https://bmappmobileapp.s3.us-west-1.amazonaws.com/face_5.png"
]
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
imageRateNone | Строка | Да | Картинка неактивной единицы рейтинга |
imageRateOk | Строка | Да | Картинка активной единицы рейтинга |
imagesFunny | Список строк | Да | Список картинок, меняющихся в зависимости от установленного рейтинга |
Стилизация уровней
Пример
{
"imageMarkToCash": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/assept_document_white.png",
"imageSumToLvl": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/need_sum_white.png",
"imageDelayedMarkActivation": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/shopping_bag_white.png"
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
imageMarkToCash | Строка | Да | Иконка оплаты баллами |
imageSumToLvl | Строка | Да | Иконка суммы до уровня |
imageDelayedMarkActivation | Строка | Да | Иконка запоздалого начисления баллов |
Стилизация баллов
Пример
{
"imageDecrease": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/flame_white.png"
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
imageDecrease | Строка | Да | Иконка сгорания баллов |
Стилизация магазинов
Пример
{
"iconPhone": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/phone_white.png",
"iconAddress": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/marker_icon_white.png",
"iconMetro": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/icon_metro_white.png"
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
iconPhone | Строка | Да | Иконка телефона |
iconAddress | Строка | Да | Иконка адреса |
iconMetro | Строка | Да | Иконка метро |
Стилизация профиля
Пример
{
"iconName": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/first_name_white.png",
"iconSurname": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/last_name_white.png",
"iconPatronymic": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/patronymic_white.png",
"iconBDay": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/gift_white.png",
"iconMale": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/gender_white.png",
"iconEmail": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/mail_white.png",
"iconPhone": "https://bmappmobileapp.s3.us-west-1.amazonaws.com/phone_white.png",
"iconPhoneVerified": "https://bmappmobileapp.s3-us-west-1.amazonaws.com/21_aed5228f-5ce8-4aca-ab08-b26199613b58.png"
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
iconName | Строка | Да | Иконка имени клиента |
iconSurname | Строка | Да | Иконка фамилии клиента |
iconPatronymic | Строка | Да | Иконка отчества клиента |
iconMale | Строка | Да | Иконка пола клиента |
iconEmail | Строка | Да | Иконка электронной почты клиента |
iconPhone | Строка | Да | Иконка номера телефона клиента |
iconPhoneVerified | Строка | Да | Иконка подтверждения номера телефона клиента |
Стилизация QR кода
Пример
{
"buttonColor": "#FF00FF3C",
"buttonTextColor": "#FFA5EFAE"
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
buttonColor | Строка | Да | Цвет кнопки |
buttonTextColor | Строка | Да | Цвет контента кнопки |
Уведомление
Пример
{
"id": "projects/bonuspay-aec9c/messages/0:1685444821980566%e40a645be40a645b",
"header": "Поздравляем Вас с днем рождения!",
"message": "Дарим Вам 150 баллов и желаем приятных покупок!",
"time": "2023-05-30 14:07:01.0"
}
Поля
Название | Тип | Необходмость | Описание |
---|---|---|---|
id | Строка | Да | Идентификатор |
header | Строка | Да | Заголовок |
message | Строка | Да | Сообщение |
time | Строка | Да | Момент совершения транзакции в формате yyyy-mm-dd hh:mm:ss |