Введение

Добро пожаловать в 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 Логический Да Пол
email Строка Да Почта
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 Логический Да Пол
email Строка Да Почта

Ответ

Клиент

Описание

Обновляет данные о клиенте.

Уровни

Запрос

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>'

Ответ

Cписок акций

Описание

Возвращает список активных акций.

Уведомления

Запрос

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 Число Нет Количество элементов на странице

Ответ

Cписок уведомлений

Описание

Возвращает список уведомлений по заданным параметрам пагинации.

Модели

Тип аутентификации

Пример

"SMS"

Возможные значения

Опции аутентификации

Пример

{
  "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
email Строка Нет Электронной почты
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"

Возможные значения

Стиль модуля

Пример

{
  "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"

Возможные значения

Позиция

Пример

{
  "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"

Возможные значения

Отзыв

Пример

{
  "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"

Возможные значения

Визиты

Пример

{
  "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": {
    "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"
  }
}

Возможные значения

Сообщение

Пример

{
  "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