Все запросы должны отправляться на адрес https://tg.keksik.io/api/1.0/{метод}
Все запросы должны передаваться через метод POST в виде JSON массива. В заголовке Content-type должно передаваться application/json.
Текущая версия API 1.0. Версия API будет повышаться при изменении полей в старых методах. При добавлении новых полей, а также при добавлении новых методов, версия API НЕ будет повышаться.
Внимание! У API есть ограничения. Суточный лимит запросов - 3000. Не чаще одного запроса в 5 секунд.
Для каждого запроса вы всегда должны передавать следующие параметры:
Параметр | Описание |
---|---|
accountinteger, обязательно | ID аккаунта. |
tokenstring, обязательно | Секретный токен. |
Если запрос был выполнен с ошибкой, то вы получите следующий ответ:
Параметр | Описание |
---|---|
successboolean, обязательно | Успешность обработки запроса сервером. Будет возвращено значение false |
errorinteger, обязательно | Индекс ошибки. |
msgstring, обязательно | Описание ошибки. |
Параметр | Описание |
---|---|
success boolean, обязательно
|
Успешность обработки запроса сервером. |
balance integer, обязательно
|
Баланс аккаунта в копейках. |
Параметр | Описание |
---|---|
offset integer
|
Смещение по выборке сборов. Если не передать данный параметр, то вернется список последних 20 сборов. |
Параметр | Описание |
---|---|
success boolean, обязательно
|
Успешность обработки запроса сервером. |
list array of objects, обязательно
|
Список сборов. |
id integer, обязательно
|
ID сбора в системе. |
received integer, обязательно
|
Собрано на данный момент в рублях. |
backers integer, обязательно
|
Количество задонативших. |
goal integer
|
Цель сбора в рублях. Если цель не установлена, то данное поле не будет возвращено. |
Параметр | Описание |
---|---|
id integer, обязательно
|
ID сбора в системе. |
received integer
|
Собрано на данный момент в рублях. |
backers integer
|
Количество задонативших. |
goal integer
|
Цель сбора в рублях. Для удаления цели сбора следует передать 0 (ноль). |
Параметр | Описание |
---|---|
success boolean, обязательно
|
Успешность обработки запроса сервером. |
У данного метода есть лимиты. Лимит составляет 100 запросов в сутки. Для регулярной проверки новых донатов используйте метод donates/last.
Параметр | Описание |
---|---|
campaign integer
|
ID сбора в системе. Если не передать данный параметр, то вернутся донаты всех ваших сборов. |
len integer
|
Количество донатов в списке. Максимум 100. По умолчанию 20. |
offset integer
|
Смещение по выборке донатов. |
start_date integer
|
Временная метка по UNIX (в миллисекундах). Задает минимальную дату и время выбираемых донатов. |
end_date integer
|
Временная метка по UNIX (в миллисекундах). Задает максимальную дату и время выбираемых донатов. |
sort string
|
Метод сортировки. По умолчанию date. Возможные значения: date - сортировка по дате; amount - сортировка по сумме. |
reverse boolean
|
Направление сортировки. По умолчанию false. Возможные значения: false - сортировка по убыванию; true - сортировка по возрастанию. |
Параметр | Описание |
---|---|
success boolean, обязательно
|
Успешность обработки запроса сервером. |
list array of objects, обязательно
|
Список донатов. |
id integer, обязательно
|
ID доната в системе. |
campaign integer
|
ID сбора в системе. Данное поле возвращается только если не передать параметр campaign в запросе. |
user integer
|
ID пользователя совершившего донат. Если донат отправлен анонимно, то поле будет отсутствовать. |
date integer, обязательно
|
Временная метка по UNIX (в миллисекундах) даты и времени доната. |
amount integer, обязательно
|
Сумма доната в копейках. |
total integer, обязательно
|
Сумма поступившая на баланс личного кабинета в копейках. |
msg string
|
Сообщение прикрепленное к донату. |
anonym bool, обязательно
|
Если донат был отправлен анонимно, то значение будет true. |
answer string
|
Текст ответа администратора на донат. |
answer_is_private bool
|
Если ответ администратора на донат виден только отправителю доната, то значение будет true. |
status string, обязательно
|
Статус доната Возможные значения: new - новый донат; public - опубликован; hidden - скрыт; refunded - по донату был оформлен возврат средств. |
reward array of objects
|
Если не было выбрано вознаграждение, то данное поле будет отсутствовать. |
id integer, обязательно
|
ID вознаграждения в системе. |
title string, обязательно
|
Название вознаграждения. |
opinteger | Данный параметр содержит целое положительное число, которое присваивается донату, при переходе пользователя по ссылке при донате. Для использования данного параметра, добавьте к ссылке ?start=op123456789, где вместо 123456789 можно указать любое целое положительное число в интервале от 1 до 4294967295. Пример ссылки на приложение - https://t.me/keksikio_donate_bot?start=op123456789. |
У данного метода есть лимиты. Если вы не передаете параметр last, то лимит составит 100 запросов в сутки. Если передавать параметр last, то допускается 1 запрос в минуту, но общее количество запросов к данному методу не ограничено. Для получения уведомлений о новых донатах советуем использовать Callback API.
Параметр | Описание |
---|---|
campaign integer
|
ID сбора в системе. Если не передать данный параметр, то вернутся донаты всех ваших сборов. |
last integer
|
ID последнего полученного доната. Если данный параметр передан, вернется список с более новыми донатами. Если не передавать данный параметр, то вернется список последних 20 донатов. Таким образом вы можете при первом запросе не передав этот параметр получить актуальный список последних донатов, выбрать из списка самый последний донат и в следующем запросе передать ID этого доната, чтобы проверить наличие новых донатов. Если вернется пустой массив, то продолжайте передавать тот же ID. Как только в массиве вернется какое-то количество новых донатов, обновите ID последнего доната и в новом запросе передайте обновленный ID. Обратите внимание, что можно делать только 1 запрос в минуту. Для моментального оповещения о новых донатах используйте наш Callback API. |
Параметр | Описание |
---|---|
success boolean, обязательно
|
Успешность обработки запроса сервером. |
list array of objects, обязательно
|
Список донатов. |
id integer, обязательно
|
ID доната в системе. |
campaign integer
|
ID сбора в системе. Данное поле возвращается только если не передать параметр campaign в запросе. |
user integer, обязательно
|
VK ID пользователя совершившего донат. Если донат отправлен анонимно, то значение данного поле будет 0. |
date integer, обязательно
|
Временная метка по UNIX (в миллисекундах) даты и времени доната. |
amount integer, обязательно
|
Сумма доната в копейках. |
total integer, обязательно
|
Сумма поступившая на баланс личного кабинета в копейках. |
msg string
|
Сообщение прикрепленное к донату. |
anonym bool, обязательно
|
Если донат был отправлен анонимно, то значение будет true. |
answer string
|
Текст ответа администратора на донат. |
answer_is_private bool
|
Если ответ администратора на донат виден только отправителю доната, то значение будет true. |
status string, обязательно
|
Статус доната Возможные значения: new - новый донат; public - опубликован; hidden - скрыт; refunded - по донату был оформлен возврат средств. |
reward array of objects
|
Если не было выбрано вознаграждение, то данное поле будет отсутствовать. |
id integer, обязательно
|
ID вознаграждения в системе. |
title string, обязательно
|
Название вознаграждения. |
opinteger | Данный параметр содержит целое положительное число, которое присваивается донату, при переходе пользователя по ссылке при донате. Для использования данного параметра, добавьте к ссылке ?start=op123456789, где вместо 123456789 можно указать любое целое положительное число в интервале от 1 до 4294967295. Пример ссылки на приложение - https://t.me/keksikio_donate_bot?start=op123456789. |
Параметр | Описание |
---|---|
id integer, обязательно
|
ID доната в системе. |
status string, обязательно
|
Новый статус видимости доната. Возможные значения: public - опубликован; hidden - скрыт. |
Параметр | Описание |
---|---|
success boolean, обязательно
|
Успешность обработки запроса сервером. |
Параметр | Описание |
---|---|
id integer, обязательно
|
ID доната в системе. |
answer string, обязательно
|
Текст ответа. Для удаления ответа следует передать пустую строку. |
private boolean
|
Сделать ответ видимым только для отправителя доната. |
Параметр | Описание |
---|---|
success boolean, обязательно
|
Успешность обработки запроса сервером. |
Параметр | Описание |
---|---|
id integer, обязательно
|
ID доната в системе. |
msg string, обязательно
|
Текст сообщения. |
Параметр | Описание |
---|---|
success boolean, обязательно
|
Успешность обработки запроса сервером. |
Параметр | Описание |
---|---|
id integer, обязательно
|
ID сбора в системе. |
Параметр | Описание |
---|---|
success boolean, обязательно
|
Успешность обработки запроса сервером. |
list array of objects, обязательно
|
Список вознаграждений. |
id integer, обязательно
|
ID вознаграждения в системе. |
title string, обязательно
|
Название вознаграждения. |
description string
|
Описание вознаграждения. |
limits integer
|
Количество позиций данного вознаграждения. |
min_donate integer
|
Минимальный донат для получения текущего вознаграждения. |
Параметр | Описание |
---|---|
id integer, обязательно
|
ID вознаграждения в системе. |
title string
|
Название вознаграждения. |
description string
|
Описание вознаграждения. |
limits integer
|
Количество позиций данного вознаграждения. Для отключения лимита на количество позиций вознаграждения следует передать 0 (ноль). |
min_donate integer
|
Минимальный донат для получения текущего вознаграждения. Для отключения минимального порога размера доната следует передать 0 (ноль). |
Параметр | Описание |
---|---|
success boolean, обязательно
|
Успешность обработки запроса сервером. |
Параметр | Описание |
---|---|
len integer
|
Количество заявок на выплату в списке. Максимум 100. По умолчанию 20. |
offset integer
|
Смещение по выборке заявок на выплату. |
Параметр | Описание |
---|---|
success boolean, обязательно
|
Успешность обработки запроса сервером. |
list array of objects, обязательно
|
Список заявок на выплату. |
id integer, обязательно
|
ID заявки на выплату в системе. |
status integer, обязательно
|
Статус вывода. processing - заявка обрабатывается; paid - заявка выполнена; canceled - заявка отклонена. |
created integer, обязательно
|
Временная метка по unix (в миллисекундах) даты и времени создания заявки. |
processed integer
|
Временная метка по unix (в миллисекундах) даты и времени обработки заявки. Не будет возвращено в случае если заявка на выплату находится в статусе processing. |
system string, обязательно
|
Платежная система.
sbp - СБП; card-rub - банковская карта (российская); yoomoney - ЮMoney; mobile - счет мобильного телефона. |
purse string, обязательно
|
Номер счета в платежной системе, на который заказана выплата. |
bank string
|
Индитификатор банка, в который была заказана выплата. Данный параметр возвращается только для СБП выплат. |
amount integer, обязательно
|
Сумма выплаты в копейках указанная в заявке. |
api boolean, обязательно
|
Если выплата была заказна через API, то вернется true. |
Параметр | Описание |
---|---|
id integer, обязательно
|
ID заявки на выплату в системе. |
Параметр | Описание |
---|---|
success boolean, обязательно
|
Успешность обработки запроса сервером. |
status integer, обязательно
|
Статус вывода. processing - заявка обрабатывается; paid - заявка выполнена; canceled - заявка отклонена. |
created integer, обязательно
|
Временная метка по unix (в миллисекундах) даты и времени создания заявки. |
processed integer
|
Временная метка по unix (в миллисекундах) даты и времени обработки заявки. Не будет возвращено в случае если заявка на выплату находится в статусе processing. |
system string, обязательно
|
Платежная система.
sbp - СБП; card-rub - банковская карта (российская); yoomoney - ЮMoney; mobile - счет мобильного телефона. |
purse string, обязательно
|
Номер счета в платежной системе, на который заказана выплата. |
bank string
|
Индитификатор банка, в который была заказана выплата. Данный параметр возвращается только для СБП выплат. |
amount integer, обязательно
|
Сумма выплаты в копейках указанная в заявке. |
api boolean, обязательно
|
Если выплата была заказна через API, то вернется true. |
Параметр | Описание |
---|---|
system string, обязательно
|
Платежная система.
sbp - СБП; card-rub - банковская карта (российская), в первый раз карточку необходимо привязать; yoomoney - ЮMoney; mobile - счет мобильного телефона. |
purse string, обязательно
|
Номер счета в платежной системе, на который заказана выплата. |
bank string
|
Идентификатор банка, в который нужно произвести выплату. Данный параметр передается и обязателен только для СБП выплат. Список идентификаторов банков можно получить с помощью API метода payouts/sbp-banks. |
amount integer, обязательно
|
Сумма выплаты в копейках указанная в заявке. |
Параметр | Описание |
---|---|
success boolean, обязательно
|
Успешность обработки запроса сервером. |
id integer, обязательно
|
ID заявки на выплату в системе. |
Параметр | Описание |
---|---|
success boolean, обязательно
|
Успешность обработки запроса сервером. |
link_bank_card string, обязательно
|
Ссылка для оплаты счета, чтобы мы смогли привязать карточку. После оплаты счета средства вернутся обратно на карточку. |
Параметр | Описание |
---|---|
card_number string, обязательно
|
Номер карточки. |
Параметр | Описание |
---|---|
success boolean, обязательно
|
Успешность обработки запроса сервером. |
status string, обязательно
|
Статус привязки карточки.
not_linked - карточка не была привязана ранее; linked - карточка успешно привязана; wrong_card - счет для привязки был оплачен с другой карточки. |
Параметр | Описание |
---|---|
success boolean, обязательно
|
Успешность обработки запроса сервером. |
list array of objects, обязательно
|
Список банков. |
id integer, обязательно
|
ID банка. |
title string, обязательно
|
Название банка. |
Callback API позволяет задать адрес страницы, на которую, при наступлении нового события (например, поступил новый донат), мы будем отправлять уведомление.
Обратите внимание! На любое уведомление, ваш сервер должен ответить в JSON формате:
Если не ответить подобным образом, то наш сервер будет считать, что уведомление не доставлено и повторит отправку уведомления еще раз через какое-то время.
На уведомления типа confirmation ваш сервер должен ответить:
Код подтверждения можно найти в личном кабинете.
Для того, чтобы проверить входящее сообщение, нужно получить хеш сообщения и сравнить его с хешом переданным нашим сервером в заголовке X-Signature. Для получения хеша воспользуйтесь алгоритмом HMAC-SHA256. В него необходимо передать тело сообщения без изменений (до того как оно будет расшифровано из JSON объекта) и секретный ключ, который можно получить в личном каибенете во вкладке API.
Пример получения хеша для PHP:
Параметр | Описание |
---|---|
account integer, обязательно
|
ID аккаунта. |
type string, обязательно
|
Тип события. Возможные значения: confirmation - подтверждение адреса вашего сервера; new_donate - новый донат; payment_status - изменение статуса заявки на выплату. |
hash string, обязательно
|
Хеш запроса. Нужен для проверки того, что уведомление получено от нашего сервера, а не от злоумышленника. Подробнее про проверку хеша читайте в разделе Проверка хеша запроса. |
Параметр | Описание |
---|---|
data array of objects, обязательно
|
Объект с информацией о донате. |
id integer, обязательно
|
ID доната в системе. |
campaign integer, обязательно
|
ID сбора в системе. Если не передать данный параметр, то вернутся донаты всех ваших сборов. |
user integer, обязательно
|
ID пользователя совершившего донат. Если донат отправлен анонимно, то значение данного поле будет 0. |
date integer, обязательно
|
Временная метка по UNIX (в миллисекундах) даты и времени доната. |
amount integer, обязательно
|
Сумма доната в копейках. |
total integer, обязательно
|
Сумма поступившая на баланс личного кабинета в копейках. |
msg string
|
Сообщение прикрепленное к донату. |
anonym bool, обязательно
|
Если донат был отправлен анонимно, то значение будет true. |
reward array of objects
|
Если не было выбрано вознаграждение, то данное поле будет отсутствовать. |
id integer, обязательно
|
ID вознаграждения в системе. |
title string, обязательно
|
Название вознаграждения. |
opinteger | Данный параметр содержит целое положительное число, которое присваивается донату, при переходе пользователя по ссылке при донате. Для использования данного параметра, добавьте к ссылке ?start=op123456789, где вместо 123456789 можно указать любое целое положительное число в интервале от 1 до 4294967295. Пример ссылки на приложение - https://t.me/keksikio_donate_bot?start=op123456789. |
Параметр | Описание |
---|---|
data array of objects, обязательно
|
Объект с информацией о заявке на выплату. |
status integer, обязательно
|
Статус вывода. paid - заявка выполнена; canceled - заявка отклонена. |
created integer, обязательно
|
Временная метка по unix (в миллисекундах) даты и времени создания заявки. |
processed integer, обязательно
|
Временная метка по unix (в миллисекундах) даты и времени обработки заявки. |
system string, обязательно
|
Платежная система.
sbp - СБП; card-rub - банковская карта (российская); yoomoney - ЮMoney; mobile - счет мобильного телефона; usdt-trc20 - USDT (TRC20). |
purse string, обязательно
|
Номер счета в платежной системе, на который заказана выплата. |
bank string
|
Индитификатор банка, в который была заказана выплата. Данный параметр возвращается только для СБП выплат. |
amount integer, обязательно
|
Сумма выплаты в копейках указанная в заявке. |
api boolean, обязательно
|
Если выплата была заказна через API, то вернется true. |
Параметр | Описание |
---|---|
data array of objects, обязательно
|
Объект с информацией о подписке. |
channel integer, обязательно
|
ID канала в Telegram. |
campaign integer, обязательно
|
ID сбора. |
user integer, обязательно
|
ID пользователя. |
action string, обязательно
|
Тип действия. Возможные варианты: added - пользователь добавлен в подписку; ended - подписка пользователя закончилась; removed - подписка пользователя была принудительно аннулирована. |
added_at integer, обязательно
|
Время начала подписки. |
remove_at integer
|
Время окончания подписки. Если к каналу предоставлен безлимитный по времени доступ, то данное поле не будет возвращено. |