Всем привет. Сегодня попробую изложить некоторые полезные фишки программного инструментария ВК Коин (АПИ). Хотите получать оплату по ссылке? Хотите скрыть свое имя при переводе и придумать название своего магазина? Отлично, это будет в этом ролике.
Для начала надо получить специальный ключ или токен для работы с ВК Коин АПИ, это безболезненно и выдаёт его официальное приложение ВК Коин при переходе по специальной ссылке: vk.com/coin#create_merchant (ссылки будут в конце статьи). Программистом быть не нужно для этих операций.
Если такого окна не появилось, то сбросьте кеш приложения или попробуйте с компьютера. Ключ показывается только один раз, сохраните его в надежном месте. Обязательно скопируйте его и сохраните в текстовом файле для удобства работы. Он состоит не только из букв и цифр, но и различных знаков. На всякий случай сделайте скриншот. Но не кому не давайте свой токен, т.к. с помощью него можно перевести любую сумму с вашего ВК Коина.
Для начала работы, настоятельно рекомендую установить программу Postman (ссылка будет в описании) для отправки запросов к АПИ ВК Коин, при этом даже если вы программист, я всё-равно рекомендую её установить, чтобы проверять запросы.
Начнём с самого простого и нужного, с формирования вашей ссылки на оплату. Именно переходя по ней человек будет видеть не вашу фамилию и имя а название магазина или его номер (прямо как в СССР), если название вы не установите. Единственной, но очень неприятной особенностью является, то что такой входящий платёж вы не увидите в приложении ВК Коин, он практически сразу пропадёт. В данном случае либо просить разработчиков сделать доработку приложения ВК Коин и встроить фильтры для вывода платежей, как частному лицу или как в магазин, а пока этого нет платёж можно проверить через АПИ.
Ссылка на оплату состоит из нескольких частей:
vk.com/coin#x(часть1)_ (часть2)_ (часть3)_(часть4)
Часть 1: Ваш идентификатор ВКонтакте.
Часть 2: Сумма перевода в тысячных долях (1000). То есть чтобы перевести 3к нужно вбить 3000000.
Часть 3: Payload – любое число от -2000000000 до 2000000000, вернется вам в списке транзаций. Можно ставить любое число, модно придумать цифры обозначающие назначение платежа, если вы программист можете использовать для других целей при автоматических платежах. Можно сделать внутренний номер транзации к примеру.
Часть 4: может отутствовать, если стоит число 1, то будет затребоваться фиксированная сумма для платежа, пользователь не может изменить сумму перевода.
vk.com/coin#x538809843_1000_2000000000_1 — свободная сумма
vk.com/coin#x538809843_1000_2000000000 — фиксированная сумма
Далее их надо объединить в такую ссылку: vk.com/coin#x 538809843_1000_ 2000000000_1
Это и будет ссылка на оплату для пользователя (обратите внимание, что самому себе переводы запрещены).
Для создания ссылки нам не потребовалась программа Postman. Для дальнейших дейтсвий она будет уже нужна. К слову пользоваться её сможет и обычный пользователь, я попробую рассказать как можно более доступно. Скачайте и установите её по ссылке в описании.
Для начала нам надо создать запрос в программе выбираем File, New и далее Request. Затем можно ввести название запроса, чтобы потом его можно было легко найти и повторить. Запросы сохраняются в истории программы. Также надо создать коллекцию запросов, у нас ведь их будет возможно несколько видов, я назвал «ВК Коин 1», а сам запрос «Название магазина ВК Коин».
Дальше перед нами предстоит пустое окно запроса. И нам предстоит работа по его заполнению.
Нам нужно изменить тип запроса на POST. Ввести адрес запроса. Установить в разделе тип raw, вид запроса application/json и в тело запроса ввести сам запрос. Запросы я приведу в комментариях, вам надо будет только подставить свои данные.
Нажав кнопку SEND получаем ответ сервера response=1 (видимо хорошо)
И вуаля, мы поменяли название магазина.
Рассмотрим конкретнее.
Адрес функции смены названия магазина: https://coin-without-bugs.vkforms.ru/merchant/set/
Запрос состоит из трёх параметров:
name – Название магазина
merchantId – Ваш идентификатор ВКонтакте
key — ваш токен, который вы получили
Обратите внимание что название может быть закешированно на срок до 5 часов. Сбросить кеш никак нельзя, поэтому возможно название не сразу поменяется.
Хорошо, деньги мы получили, название магазина поменяли, теперь нужно узнать кто и сколько нам переводит в таком случае. Как я говорил, из истории в приложении ВК Коин информация пропадает.
Итак, получение списка транзакций ВК Коин. Также создаём новый запрос, затем всё тоже самое нужно изменить тип запроса на POST. Ввести адрес запроса. Установить в разделе тип raw, вид запроса application/json и в тело запроса ввести сам запрос. От смены названия магазина будет отличаться только телом запроса. После нажатия кнопки Send получаем список транзакций, для удобного просмотра удобно выбрать формат ответа JSON и Pretty.
Формат запроса для получения списка транзаций VK Coin:
merchantId – Ваш идентификатор ВКонтакте
key — ваш токен, который вы получили
tx – количество возвращаемых транзакций [1] или [2]
В ключе tx можно указать массив id транзакций, если указать [1], то вернуться 1000 последних транзакций со ссылок на оплату. [2] — 100 последних транзакций на текущий аккаунт.
Если указать в параметре lastTx номер последней транзакции то будут возвращены только транзакции после указанной (но не более 1000 и 100 соотвественно).
В ответе возращается:
Id — Ваш идентификатор ВКонтакте
from_id — идентификатор ВКонтакте от кого платёж
to_id — идентификатор ВКонтакте кому платёж
amount — сумма
type – тип платежа ???,
payload – то число которое мы давали в ссылке возвращается к нам.
created_at – дата транзакции
Ну и крайнее на сегодня, перевод коинов получателю. Также создаём новый запрос с названием «Перевод коинов», затем всё тоже самое нужно изменить тип запроса на POST. Ввести адрес запроса. Установить в разделе тип raw, вид запроса application/json и в тело запроса ввести сам запрос. От смены названия магазина будет отличаться только телом запроса. После нажатия кнопки Send получаем ответ сервера.
Формат запроса на перевод коинов:
merchantId – Ваш идентификатор ВКонтакте
key — ваш токен, который вы получили
toId — идентификатор ВКонтакте кому платёж
amount — сумма
В ответ вы получите от сервера в случае успешного перевода:
Ответ содержащий следующую информацию id, amount — сумму транзакции.
Запрещено делать одновременно два перевода (метод send). Иначе вы получите ошибку ANOTHER_TRANSACTION_IN_PROGRESS_AT_SAME_TIME
Обращения к методу получения транзакций не лимитированы, но рекоменуется обращаться не чаще 1 раза в секунду.
При переводе можно получить ошибку 422, merchantid or key or tx is not valid Такую ошибку можно получить если не передавать заголовок запроса Content-Type: application/json
Но можно получить и такую {«error»:{«code»:422,»message»:»BAD_ARGS»}} в случае неправильных данных.
Всем спасибо за просмотр.
Далее идут ссылки:
► Скачать Postman: https://www.getpostman.com/downloads/
► Получение токена ВК Коин: https://vk.com/coin#create_merchant
► Ссылка на оплату: https://vk.com/coin#x538809843_1000_2000000000_1 (пример)
►Смена названия магазина:
Адрес: https://coin-without-bugs.vkforms.ru/merchant/set/
{
«name»: «имя»,
«merchantId»:вашидВК,
«key»:»токен ВК Коин»
}
►Получение списка транзакций ВК Коин:
Адрес: https://coin-without-bugs.vkforms.ru/merchant/tx/
{
«merchantId»:вашидВК,
key»:»токен ВК Коин»,
«tx»:[1]
}
►Перевод коинов ВК Коин:
Адрес: https://coin-without-bugs.vkforms.ru/merchant/send/
{
«merchantId»: вашидВК,
«key»: «токен ВК Коин»,
«toId»: получательидВК,
«amount»: сумма*1000
}
Необходимо подставить ваши данные для работы.
Меняем название магазина VK Coins. Работа с API VK Coin.