Bungie-net / api

Resources for the Bungie.net API
Other
1.22k stars 92 forks source link

Feature Request Idea: Add A Community Rewards System #760

Open lowlines opened 5 years ago

lowlines commented 5 years ago

This is an idea I've had since I helped run a community event for Battleborn Day back in May 2018. Basically, I'd love to see a way for community run events to apply for rewards, get approval and then send like a batch API request with a list of account ids that were eligible for a given event and reward.

Example scenario: Players signup for an event and the organizers start tracking them by their account id. Several players are selected as the overall winners but everyone who signs up also gets a reward. There's potential here for a large number of participants so it'd be unrealistic for a community manager to manually apply rewards to each player, however if you were able to send them a notification with all the users as a list via the APIs, they'd just have to sign off on it.

Given how initiatives like MOTW are currently done, I imagine Bungie community managers have access to a form for applying rewards for a given account, but I doubt it is built for a large scale type reward system.

The new triumph system has created a bunch of opportunities to run cool community events where a third party could track the objectives and unlock their own custom rewards. ie getting 20 triple kill medals, or killing a given boss a certain number of times or perhaps doing carries through Trials! Rather than just rewarding the top winners, it would motivate participation more if you could set up rewards for the accomplishments of each individual.

Endpoint Ideas:

POST RegisterCommunityEvent
{
title: "",
description: "",
eventImage: "",
start: "TIMESTAMP",
end: "TIMESTAMP"
rewards: [
{type: "first-place", itemHash: 0, quantity: 1},
{type: "second-place", itemHash: 0, quantity: 1},
{type: "third-place", itemHash: 0, quantity: 1},
{type: "participation", itemHash: 0, quantity: 1}
]
}

^ This could also be an actual form on Bungie.net like the Creations page.

GET GetCommunityEvents

^ Return a list of events the user has created with a status on whether it has been approved.

POST RedeemCommunityRewards
{
eventId: 0,
rewardId: 0,
users: [
{destinyMembershipId: 0, membershipType: 0}
]
}

^ A batch request for assigning rewards to users. You could do this a bunch of ways.

An alternative could be to have 2 endpoints.

POST RedeemCommunityRewardsForUser
{
eventId: 0,
rewardId: 0,
destinyMembershipId: 0,
membershipType: 0
}

^ One for adding a user to an event and assigning what rewards they get.

POST SubmitCommunityRewardsForApproval
{
eventId: 0
}

^ And a second endpoint for sending it off the entire event to the community manager for approval. You'd probably also want to have an endpoint for removing a user in the case of an error.

This is like a dream idea that I'd love to one day see implemented in games like Destiny and I definitely don't expect it to be feasible or even possible to do right now (or ever). But it can't help to put the idea out there and see what people do with it!

vthornheart-bng commented 5 years ago

I think that's a fun idea personally! Let me tag it as Enhancements and Distant Future Wishlist - I don't think we'd be able to do something like that anytime soon, and I don't know if we ever would... but it's an interesting idea that I think could at least use a discussion internally.

lowlines commented 5 years ago

My thoughts exactly! It's an idea that would have to get support internally for it to even happen, but I think there's potential for some really interesting community engagement if it ever came to pass.