November 22, 2022

Для вебапп

Базовый адрес: https://api.botboom.ru/wapp/
всё через post
в пост в теле передаётся json
если ошибка - ответом будет json вида {err: true}

Для авторизации используется ключ апи - берётся из панели управления, свой для каждого бота, может быть изменён.
Добавляется в конце адреса запроса.
Далее используется ключ 123456789


1. Получить пользователя
https://api.botboom.ru/wapp/user/get/123456789
тело запроса:
{chatId: 12345678} - chatId пользователя в Телеграм
ответ:
{user: {}}

2, 3. Каталог, товары:
https://api.botboom.ru/wapp/catalog/get/123456789
в теле можно передать пустой объект
ответ:
{category: [], goods: []}
массив категорий и товаров. в товаре есть ссылка на категорию - categoryId
6. https://api.botboom.ru/wapp/purchase/get/123456789
{chatId: 12345678} - chatId пользователя в Телеграм
ответ:
{orders: []}
массив заказов с суммами.
Если надо - добавлю товары в заказе
8. Рефералы
https://api.botboom.ru/wapp/user/referrals/123456789
тело запроса:
{chatId: 12345678} - chatId пользователя в Телеграм
ответ:
{user: {}, referrals: []}
сам юзер и массив пользователей - его рефералов

пример запроса на js:
axios.post('https://api.botboom.ru/wapp/purchase/get/123456789', {chatId: 304710365})
.then(function (response) {
console.log(response.data);
})

Пополнение баланса:

https://api.botboom.ru/wapp/balance/change/123456789
тело запроса:
{chatId: 12345678,

value: 100,

message: "привет"

}
ответ:
{err: false} если нет ошибок

Пользователю автоматически отправится сообщение о начислении.

Отправка сообщения:

https://api.botboom.ru/wapp/message/send/123456789
тело запроса:
{chatId: 12345678,

caption: "привет",

img: "https://api.botboom.ru/www/uploads/GarandSystembot/vlutelqiodytkxkvfcctgysp.jpg"

}

вместо chatId можно передать текстовой поле с меткой. Сообщение будет отправлено только пользователям у которых эта метка есть:
sendOnlyIfUserHaveTags: "admin"


ответ:
{err: false} если нет ошибок

Управление корзиной

Добавить в корзину:

/wapp/order/item/add/

передать chatId - чей заказ,

item_id - из каталога,

v - индекс варианта из массива variants

{
chatId: '12346578',
item_id: '',
v: 1
}

удалить

/wapp/order/item/remove/

{
chatId: '12346578',
item_id: '',
v: 1
}

аналогично добавлению

очистить заказ: /wapp/order/clear

{
chatId: '12346578'
}

отправить заказ: /wapp/order/finish/

{
chatId: '12346578'
}

Получить ссылки для оплаты по последнему заказу:

/wapp/payment/tinkoff/

{
chatId: '12346578',
totalAmount: 100
}

totalAmount - сумма в рублях.

В боте должна быть подключена оплата через тиньков.

Ответ:

{
    "paymentURL": "https://securepayments.tinkoff.ru/uByenrg5",
    "sbp": {
        "Success": true,
        "ErrorCode": "0",
        "Message": "OK",
        "TerminalKey": "1664867695811",
        "Data": "https://qr.nspk.ru/AD10003J54GITS1G8LPBB6BQP26LGBJJ?type=02&bank=100000000004&sum=10000&cur=RUB&crc=C5EE",
        "OrderId": "63a2d7e767fdf74520bb8dea",
        "PaymentId": 2128544727
    }
}

или

{
    "err": true,
    "data": {
        "Success": false,
        "ErrorCode": "251",
        "Message": "Неверные параметры.",
        "Details": "Неверная сумма. Сумма должна быть больше или равна 100 копеек."
    }
}

paymentURL - адрес для оплаты. Если включен сбп - то ссылка на qr код в соответствующем объекте.

Установить метку:

/wapp/user/settag/

{
chatId: '12346578',
tag: 'client'
}

tag - метка добавится пользователю.