Как отвязать телефон от lootdog
Подключение к торговой площадке Lootdog
Краткое описание Lootdog.io
Краткое описание взаимодействия
Термины
Привязка аккаунта
Передача предметов на площадку
Передача предметов с площадки партнеру
Отчеты о продажах
Краткое описание Lootdog.io
Это торговая площадка (или просто площадка), позволяющая пользователям торговать между собой вещами из игр. Пользователь может перенести свои игровые предметы на площадку, продать их и вывести деньги или купить другие предметы и использовать их в игре.
Краткое описание взаимодействия
После интеграции с партнером пользователи смогут выставлять предметы из инвентаря партнера на продажу на площадке и передавать их с площадки в инвентарь пользователя партнера.
Для пользователя партнера появляется кнопка "Продать на lootdog.io", после нажатия которой предмет пропадает из инвентаря партнера и появляется в инвентаре пользователя на площадке в его аккаунте. Если пользователь еще не имеет привязанного аккаунта на площадке, то ему нужно сначала авторизоваться (или зарегистрироваться на торговой площадке) и затем подтвердить привязку аккаунта партнера к аккаунту площадки. После привзяки аккаунта создается секретный токен привязки (секрет пользователя), который известен площадке и игре.
Термины
Предмет - конкретный экземпляр игрового предмета, который принадлежит конкретному пользователю. Если у пользователя, например, несколько танков "Т-34", то это несколько предметов.
Продукт - тип предметов. Пользователи продавая предметы одного продукта конкурируют по цене. В предыдущем примере "Т-34" это продукт, несколько экземпляров (предметов) которого находятся в инвентаре у пользователя.
ИД партнера - секретный идентификатор, который выдается партнеру при подключении к площадке. Используется для работы с API площадки.
Секрет партнера - секретный ключ, который выдается партнеру при подключении к площадке. Используется для работы с API площадки.
Секрет пользователя - секретный ключ, который выдается партнеру при привязке пользователя. Используется для передачи предметов в инвентарь пользователя на площадке.
Пин-код - уникальный секретный ключ, генерируемый для предмета. Позволяет активировать (добавить) предмет в инвентаре пользователя.
Привязка аккаунта
Привязка аккаунта инициируется партнером перед первой передачей предмета на площадку. Опишем ее по шагам:
Передача предметов на площадку
POST /api/partner/create_item
Передача предмета из инвентаря пользователя партнера в инвентарь пользователя на площадке (в теле запроса передается JSON)
- token - Строка. Секрет пользователя
- items - Массив объектов. Список предметов к передаче, со следующими параметрами:
product_id - Строка. ИД продукта на стороне партнера (может быть много предметов с одним идентификатором продукта)
Поля продукта используются для заполнения карточки продукта и это происходит один раз при передаче первого предмета с таким продуктом. Для редактирования уже созданного продукта необходимо обратиться к администрации площадки.
Этот запрос можно повторять несколько раз. Если предмет с таким секретным кодом уже был передан на площадку, то он не задублируется, а будет проигнорирован.
Предполагаемый метод обработки ошибок (например если ответ был не получен или из-за недоступности API площадки) таков: повторять тот же запрос пока в ответ не придет код ответа 200.
Передача предметов с площадки партнеру
Для решения этой задачи есть два способа
Открытый пин-код
В этом случае, когда пользователь хочет активировать предмет у партнера, он нажимает на площадке кнопку "Открыть ПИН". После этого пользователь получает item_code (полученный в методе create_items) и может его активировать его у партнера. Для этого в клиенте и на сайте у партнера необходимо реализовать страницу, на которой можно посмотреть что за предмет содержится в коде и возможность перенести его в инвентарь для авторизованного пользователя.
Позразумевается, что каждый код уникален и его нельзя активировать у партнера дважды.
В случае открытых пин-кодов пользователи после открытия могут передавать пин-код друг другу и активировать пин-код можно будет на любом аккаунте.
Закрытый пин-код
В этом случае пользователь не увидит пин-код, а может его только активировать на аккаунте партнера, который привязан к аккаунту площадки. Для использования этого варианта необходимо предварительно передать адрес API партнера сотрудникам площадки.
Для этого партнеру необходимо реализовать метод API для активации кодов вида "<адрес api партнера>/token/return" со следующими параметрами:
- tid - Строка. Идентификатор операции
- uid - Строка. Идентификатор пользователя у партнера
- token - Строка. Пин-код, который нужно активировать (добавить в инвентарь)
- sig - Строка. Подпись запроса (механизм получения подписи описан ниже)
Для получения подписи запроса необходимо подписать алгоритмом HMAC идентификатор транзакции, а в качестве ключа использовать секрет партнера.
Данные для секрета партнера: "partner_secret_1"
Запрос можно повторять несколько раз, с одинаковым идентификатором транзакции и она должна вернуть тот же результат.
- status - результат выполнения ("ok" или "error")
- message - уточнение статуса (Например, "Invalid token")
Любой код ответа, отличный от 200 будет воспринят как внутренняя ошибка сервиса и будет предпринята попытка повторить транзакцию через некоторое время. При возврате 200 и status равным "error" будет означать что код не может быть активирован и пользователь увидит ошибку о невозможности активации
Отчеты о продажах
Читайте также: