(edited by DarkSpirit.7046)
[API Suggestion] Trading Post API
I’m sceptical about being able to buy and sell stuff from outside the game. My view is, if you plan to game the trading post (which is fine!) you have to also be playing the game. If you can only buy or sell you won’t be able to abuse the potential for optimization you have in third party applications to generate gold faster than your competitors. However, then we’ll have people complaining that you can’t do both so it may be better to restrict a TP API to observation.
Interacting with the gem store is unaffected by the above, obviously.
I am concerned with the ability to buy and sell via the API while I agree it would be nice it can lead to some computerized manipulation of the market for a select few. This should be thought out carefully and with communication of John Smith (Which i am sure if implemented would happen)
When we talk about buy & selling there’s a couple design questions:
- Where does the money come from/go to?
- Where does the item come from/go to?
For buying items, it seems perfectly reasonable to work:
- Money comes from your bank vault.
- Items are waiting at Trading Post for pickup.
For selling, the money side is fine (it’s at the TP), however I’m a bit more dubious on where the item comes from. Can you only sell from bank? Do you specify a character?
If hacked, does this let a gold seller speed-wipe your account?
Naw, I don’t see a good solution here, so it makes sense to leave things one-sided.
Thus, I’d say people could possibly buy offline, but not sell.
On the public side, however, I’d love to see the listings you see in the TP for “3 people are selling 110 for 1s17c; 2 people are selling 1,231 for 1s20c; …” and similar for buy orders.
That, and get the Gem <—> Gold ratios.
As for buying and selling there is not much difference with what we already have now anyway.
With websites like gw2spidy and goldwars2, they can already monitor prices for you. And if the app can monitor prices, they can easily notify you if the price hits a certain user-defined limit. All you need to do is login to the game and buy/sell. I don’t see the difference between buying from the app or buying from the game except for maybe a delay of 1 minute to login to the game. This only serves as an added inconvenience to your users and I don’t see any other advantage the app user would have besides this little convenience. But if many of you think that buying through the app is too big an advantage then so be it and I am fine with not having that and the app would just produce notifications. I am just wondering how would I feel if it hits my price limit, my phone app notifies me but I can’t login to the game because I am in the office.
John Smith and ArenaNet should already be aware of gw2spidy and Zicore’s TP notifier tool. There are many users who asked for ArenaNet’s opinion about them but ArenaNet chose not to comment on them at the moment.
(edited by DarkSpirit.7046)
YEAH! Trading Post bots!!! Awesome idea… not!
As soon as they allow buying/selling stuff using the API, the game is ruined once and for all.
At the moment it’s only currently possible to buy through the ‘API’ and that’s already an incredibly powerful tool for power traders. It allows you to capitalize on markets that no sane person would do by hand, giving an unfair advantage. If you add selling in there, people with large gold stores will be able to automate some scary stuff, resulting in certain artificial bubbles that will definitely not be beneficial to the GW2 community.
No! Please do not allow buying/selling in the TP outside of the game. Way too many bots would be ran.
Buying (but probably not selling) of gems outside of the game seem fine to me though
BUT: I would love to be able to track my TP buy/sell orders outside of the game. I would also like to be able to download my entire buy/sell history.
This only serves as an added inconvenience to your users…
That inconvenience is crucial for balance purposes. If you allow for buying and selling via an API you open up for AI trading and you don’t want to go there. The irritation of being stuck in your office and not being able to act on a notification is the price you pay for being able to get notifications at all, which, officially, you can’t right now.
Maybe if ArenaNet creates its own app for mobile devices so you can sell/buy on the Trading Post, that’d be ok, but further encouraging botting on the Trading Post won’t make most of us happy. So yeah, with great power comes great responsibility and not every player feels responsible for a good game economy if it profits themselve.
Bottom line: Probably a bad idea to create such a powerful API. (Being able to buy something from the gem store would be a nice feature, though.)
(edited by yakobu.4183)
People from Anet have commented previously on sites like gw2spidy, and specifically said that they love that people are going through the trouble of making stuff like that and are releasing all of this API stuff so that people can keep making cool things like that. Way back when they were talking about releasing their own mobile application, the ability to buy/sell/cancel trades was part of the plan.
The TP bot thing is a bit overblown. Making money on the trading post isn’t a pure function of time invested like the rest of the game is. Even if you have an automated system that buys and sells things at a given price, people need to agree to those price points, so the time gained by automating it and not just waiting to do it yourself becomes mostly incidental. It is just a convenience. Also, if I want to play the market from my phone, that’s really my own business. Why should I have to be on my computer to stare at a bunch of numbers and text?
Fun on someone else’s schedule is not fun
YEAH! Trading Post bots!!! Awesome idea… not!
As soon as they allow buying/selling stuff using the API, the game is ruined once and for all.
There are already bots in this game even without an api! I have even seen bots that teleport to pick up items. And I am sure there are no released api to support that. Even though the current unofficial TP web api does not support selling of items, that doesn’t stop bots from selling items. I have already seen selling bots mentioned on the internet by bot writers with details on how it works.
Would not releasing an api to buy or sell in the TP prevent bots from appearing in the game or even prevent TP bots from auto buying and selling? I don’t think so. Even if ArenaNet removes the entire web interface for the TP, it is still possible to buy and sell using autoit scripts or by referencing scanned function points in the game client. Bot writers have already written harnesses that expose these function points to plugged-in bot modules. The only thing that would achieve is to make apps less usable for the legit users. I can understand if non-technical players may think that way, but surely you guys, who have more technical knowledge, can see that.
That said, if many players are still uncomfortable to enable buying and selling through apps, then so be it. Only the bots would have those capabilities then. Releasing an official api only serves to bring legit app writers to write apps for users. Not releasing an api has no bearing on bot prevention or bot capabilities. It would only impact the capabilities of legit apps.
(edited by DarkSpirit.7046)
I’m heavily against a PUT/POST trading post API. Generally speaking I think all API should be limited to GET (reading) only. Keep in-game world-altering interaction in-game.
(edited by Gilgamesh.2561)
*sarcasm on* OK, then lets add a teleport function, a wallhack, zoomhack, speedhack, etc. - because... you know: its already possible for a few bots or hack-tools. *sarcasm off*
There is a *huge* difference between *some* bots that are probably able to use the TP and an official, easy-to-use API which allows pretty much every coder to write an app which buys/sells automatically.
IMHO it would be the worst move ANet could make to allow the API to automate stuff like this.
Besides managing guilds and *probably* sending chat-messages I wouldn’t allow the API to influence "gameplay" at all.
sarcasm on OK, then lets add a teleport function, a wallhack, zoomhack, speedhack, etc. – because… you know: its already possible for a few bots or hack-tools. sarcasm off
There is a huge difference between some bots that are probably able to use the TP and an official, easy-to-use API which allows pretty much every coder to write an app which buys/sells automatically.
Just because many of us have the technical knowledge to write our own bots doesn’t mean we do. They are not that difficult to write and at a minimum, anyone who knows how to write an autoit script can create a simple bot to buy/sell on the TP. You don’t even need to know a real programming language.
The question you should ask yourself is, do you want legit apps to have those capabilities or not? Not whether it is easy to write a bot with those apis as bots do not need official apis to be released to enable bot capabilities one way or another.
I would prefer the “fear of bots” to be taken out of this api discussion, as it is out-of-topic for this thread, and move on to discussing user scenarios and how we can make useful TP apps for legit users. Please move bot discussions to other threads or to the BLTC forum.
(edited by DarkSpirit.7046)
The question you should ask yourself is, do you want legit apps to have those capabilities or not?
Not. I have no desire to see ArenaNet officially support out-of-game (two-way) trading post transactions, regardless of past intentions. In my not the least bit humble opinion, the cost of being able to use the trading post is having to play the game for which the trading post was made. This shouldn’t be a place to do hobby stocks trading.
I’m generally a vocal advocate of convenience and ease of use but here I think it would be a mistake. Of course, I regret the in-game trading post interface is as awful as it is, but so it goes. An obvious step for the community would be to make something decent in place of that.
I would prefer the “fear of bots” to be taken out of this api discussion, as it is out-of-topic for this thread, and move on to discussing user scenarios and how we can make useful TP apps for legit users.
You’re the one that keeps going back to it. Bots in particular aren’t relevant but the question of how much power we should have over the trading post with an API very much is.
You’re the one that keeps going back to it. Bots in particular aren’t relevant but the question of how much power we should have over the trading post with an API very much is.
You basically stated why I was drawn into that discussion in the first place. How much power we should have over the trading post with an API should NOT be relevant to this thread. That is not our call to make but ArenaNet’s. Remember also that developers need to be registered and be given an api key so there would be some accountability if we chose to use the api. In any case, as far as this thread is concerned, let us drop any bot discussion from now on and think only of legit scenarios.
How about accessing the gem store? That should help ArenaNet advertise their gem store items across multiple platforms. Access to view and buy current promotional items and other gem store items would be nice.
(edited by DarkSpirit.7046)
I have but one concern about an API to buy and sell in the TP: Security. I bet that as soon as an API to trade in the TP is released, someone will find an exploit to “steal” things from other users (placing a buy order of 1c with his char, and fulfilling it with another person char).
So, for me, a TP API for trading should be a big NO.
I agree, DarkSpirit, we should focus on the grand hopes and dreams for what we personally would like to be able to build, and let the devs decide whether or not that is a reasonable request. No hurt in suggesting, right?
That being said: I would like to be able to retrieve the entire list of current listings out there. All in one go would be nice (don’t worry, I can handle the throughput), but just for specific items would be fine (the ids= type of parameter would be nice if this is the case). Last actual transaction for items with price and time would be great too. Being able to pull in gemstore items would be great. Exchange rate for gems to coins and back is a must have. Getting current prices out from behind the authentication barrier would also be great.
Fun on someone else’s schedule is not fun
I have but one concern about an API to buy and sell in the TP: Security. I bet that as soon as an API to trade in the TP is released, someone will find an exploit to “steal” things from other users (placing a buy order of 1c with his char, and fulfilling it with another person char).
Then they can easily know who the person is and ban him. The developer key used for the api call can also be banned.
If you want to talk about general api security, this is not the thread. Note that this is just an api suggestion thread and the purpose is to actually give suggestions to enable grand scenarios that users would find useful.. We can ask for anything we want here but ArenaNet would only give what they deem to be suitable, which would be a percentage of these scenarios. So I am not worried about security and you should not be at this time! Please don’t let your fear of bots and hackers hinder our brainstorming for legit users app experiences on this thread.
(edited by DarkSpirit.7046)
With regards to buying and selling, it would nice if we have an api to:
1. View our character inventory so we can decide what to sell and if we have enough inventory space to buy certain items.
2. We also need an api to find out how much gold our character has.
3. Having a datetime stamp on the buy/sell listings of an item would also be nice.
4. Have a Upgrade field in the item record to point to the upgrade item id of the upgrade socketed within the item.
(edited by DarkSpirit.7046)
I’d like to have an ability to actually view, filter and parse “My Transactions”.
You know when you’ve something in stack @ page 88 out of 237 pages but don’t know if stack has 2 units or 238 units? And when you try to sell it uses only first 10 pages with “Add to my lowest listing” so there’s not really an easy way to check the listing without few minutes clicking.
Outsource rng → profit.
A few minutes?
I’ve had upwards of 50 pages of stuff for sale, anything that lets us at this data would be a mixed blessing. A blessing to us users, a curse to the back-end servers…
//Yamagawa
I would like to have possibility to link TP to guild web page as well – so one could browse it in similar way as in-game
I’m curious what ArenaNet’s economy stuff guy, John Smith I believe was his name, has to say about this back and forth here about grand scale automation of trading post buys and sales.
Nice suggestion…
Bots everywhere,selling and buying..
It’s possible to fully automate the trading post, you just need an auto clicker or something to pickup items, since that isn’t part of the trading post website. Buying can already be done outside the game, that’s the easy part. Selling can only be done through the game, since the website doesn’t actually handle it. The website tells the game to sell the item. To automate this part, you hijack the trading post and insert your own scripts, telling it what to sell.
There’s also a small bug/flaw with the trading post window. When you close it, it doesn’t actually close, it’s just hidden. This isn’t really a problem for players, but this part wastes a lot of resources on the server side, since probably a lot of people do this. If you close the window while on the sell tab, any changes to your inventory will request an update. Every time you open a bag or loot a mob for example, a request is made for those items.
Nice suggestion…
Bots everywhere,selling and buying..
By the same argument, every other API exposed by ArenaNet can be said to encourage botting. Bots can use the events api to run from events to events to farm loot/points. Bots can use the mumble shared memory to work as a team, etc.
The best way to prevent bots is simply not having a computer game in the first place. Bots do not need an exposed set of API to do their work. Typically, code caves can be easily found and exploited. Therefore the APIs are mainly for legit programs that abide to the terms of service. Not releasing any API would definitely not make bots disappear.
A read-only API would be perfectly fine I think… It would enable viewing of current status, notifications, etc…
Nice suggestion…
Bots everywhere,selling and buying..By the same argument, every other API exposed by ArenaNet can be said to encourage botting. Bots can use the events api to run from events to events to farm loot/points. Bots can use the mumble shared memory to work as a team, etc.
The best way to prevent bots is simply not having a computer game in the first place. Bots do not need an exposed set of API to do their work. Typically, code caves can be easily found and exploited. Therefore the APIs are mainly for legit programs that abide to the terms of service. Not releasing any API would definitely not make bots disappear.
How a bot can run to an event if we dont have coordinates?? Anyway,a bot inside a game is easy to find,not the same in outside
I don’t expect them to add anything that involves interacting with character inventories, just like I don’t expect APIs that allow people to move their characters, use skills, loot, and so on. Even beyond the concerns of botting (and I’m boggled people here are actually suggesting that’s a non-issue), they do still want players to actually play the game in order to play the game.
I’m not posting here to argue against it. I’m posting here to say it’s absurd to expect in-game character interactions to be anything other than read-only.
How a bot can run to an event if we dont have coordinates?? Anyway,a bot inside a game is easy to find,not the same in outside
Why don’t we have coordinates?? Check this out:
https://api.guildwars2.com/v1/event_details.json?event_id=BC6495A4-6CE9-4E12-A26F-6BDF8CFA74D6
A bot inside of a game may not be as easy to find if nobody reports it. If I am running a bot I would choose to guest in a less populated server.
I don’t expect them to add anything that involves interacting with character inventories, just like I don’t expect APIs that allow people to move their characters, use skills, loot, and so on. Even beyond the concerns of botting (and I’m boggled people here are actually suggesting that’s a non-issue), they do still want players to actually play the game in order to play the game.
I’m not posting here to argue against it. I’m posting here to say it’s absurd to expect in-game character interactions to be anything other than read-only.
I don’t expect that from ArenaNet either, but it would be a pleasant surprise if they do. Why? Because bots already have the capability to do that and a lot more (see Healix’s post above for an example). What is lacking are the user scenarios supported by legit programs, as the hands of legit programmers are tied by conforming to the terms of service.
I am a big supporter of ArenaNet exposing their APIs and most people who think that exposing APIs would encourage bots do not seem to understand how bots are built in the first place. The official APIs would be monitored and require the use of developer keys (i.e. ArenaNet may charge an annual fee for this) in the future. Non-official APIs, created by bot authors, however, do not have such restrictions.
Perhaps read-only APIs would suffice but, as developers, we have to think about the user scenarios that we are going to support. ArenaNet is encouraging mobile apps development through their API, so what would be the user scenarios that your users would like to have, in the mobile case for the trading post? Would read-only API suffice, or would we not be able to provide to our users what they really want in our mobile apps outside of the existing gw2spidy api?
Thinking of this another way, if you are a mobile user, what kind of gw2 trading post mobile apps would be so fantastic that you would be willing to pay for, considering that gw2spidy mobile apps are already common?
(edited by DarkSpirit.7046)
Thinking of this another way, if you are a mobile user, what kind of gw2 trading post mobile apps would be so fantastic that you would be willing to pay for, considering that gw2spidy mobile apps are already common?
None. I don’t think I’d ever pay money for an app, especially not considering the amount of things fans will produce for free.
Thinking of this another way, if you are a mobile user, what kind of gw2 trading post mobile apps would be so fantastic that you would be willing to pay for, considering that gw2spidy mobile apps are already common?
None. I don’t think I’d ever pay money for an app, especially not considering the amount of things fans will produce for free.
Not everyone thinks like you then, otherwise web sites like Gold Wars 2 would have no subscribers.
Furthermore, if ArenaNet charges for API access in order to deter bots from using their APIs, due to all these complaints about encouraging bots, then legit programmers may have to pass this cost down to their customers, either that or take a monetary loss.
Note that their plan is to have every registered developer hold a developer key to access their api, each having their own quota. What I don’t understand is, why would people think that such a system be more attractive to bot writers than the bot APIs that they already have through hacking the client for free.
In any case, if bots using their APIs turns out to be a problem, I would support ArenaNet charging a fee to access their APIs. But this would ultimately raise the cost of legit programs. ArenaNet may decide to close the free access of their unofficial Trading Post API, effecting gw2spidy, once their official Trading Post API is out. So no more fear of bots exploiting such APIs, at the cost of fewer free apps.
(edited by DarkSpirit.7046)
Heh, people paying for that definitely surprises me, guess I’m behind the times with these things. I’m definitely against Anet charging for the use of their API and I’d agree with you that bot users can easily do their thing without any API published by Anet.
I’d say it’s more the fear about such bots being ‘legal’ due to the publishing of certain API than it is the existence of them that’s causing people to disagree with it. Theoretically bots that are currently operating, should be banned. I have my doubts about how efficient Anet is about banning certain types of bots, but if the release of certain API would legitimize them, they wouldn’t be banning them for sure.
I feel that charging for API usage would give a potential unfair advantage to those willing or able to pay for certain tools over those who won’t/can’t. Obviously this won’t affect all areas of the game equally, but I still feel it goes against the spirit of what they’re trying to do by keeping their cash shop pay2win-free.
ArenaNet probably has a priority list. Even if exposing APIs, increases their risk of ‘legitimizing’ bots, it may be worth that risk considering the pay-off. They have increased mind share and presence through their apps and they bring users closer to the game than ever before.
It would be a grave mistake if they back off from publishing the BEST trading post API that they can give, just because of that fear. Instead of letting botters dictate the directions that the game should take, they should dictate for themselves where they want to take GW2, then worry about botters later. Either they decide to do a good job of supporting mobile scenarios that would really compel users, or they shouldn’t even try publishing any API, wasting their resources as a result.
I would like to believe that ArenaNet is a bold and innovative company who doesn’t back down from taking that chance to improve their game and user experiences, despite the fact that botters are always lurking.
Releasing APIs or not is a big decision for them. I can only hope that they would not let their fear of bots overwhelm them and prevent them from releasing the best set of APIs that they can release. They should go do what gives the best experiences for the game and their users, trusting that their “bot defense team” can meet up to that new challenge.
(edited by DarkSpirit.7046)
Thing with legitimizing bots is it would kill the marketplace for most players. Not hurt it. It’d make it dead. I could easily, with buy sell and price hooks to the API, make a program that flipped anything as had a lax price, and buy up cheap mats for crafting in-demand goods. I’ve more or less finished code that evaluates most of that, it’s just missing trend analysis and the buy/sell hooks (and rest assured, it will NEVER buy/sell).
//Yamagawa
Gw2gadget.com – crafting gadget now in beta – a java application that knows crafting like nothing else does.
It’s already possible to fully bot the TP, so there’s no point in using it as a reason to not do something.
Changing how picking up items works to something like an inventory that could be accessed through the TP (api) could open up some interesting possibilities. This would allow people to play the TP detached from the character, allowing for out of game trading. I imagine this was originally in the design plan as part of the extended experience, maybe even as a paid service, since why else design it as a webpage that can be accessed out of game.
At this time, I could write an app that could allow you to use the trading post as if you were in-game, with the exception of picking up items, which isn’t actually part of the TP. The only requirement is that the game has to be running.
Healix is right. Bots can already auto undercut, buy and sell. Bot authors also share code and they have been working together to enhance their bots, on their own forums.
Dumbing down the API because of the fear of bots would just get you a ‘lol’ response from the bot community. Why would they need to go through an API that requires them to identify themselves with developer keys and a quota system, when they have always been able to perform all these things for free anyway. The only people you are going to hurt would be legit users.
If that is not enough, like I have said before, I am fine even if ArenaNet decides to charge for the usage of their APIs, just to discourage botters from using it even more. But this would deter free programs from circulating (unless the developer takes a monetary loss).
If we go with the subscription model, ArenaNet would need to declare that all other programmatic access to their Trading Post, outside of the game and their official API, be illegal and thus bannable. This means Ruben would have to decide if he wants to keep the gw2spidy website open by subscribing. The free gw2psidy api that doesn’t have a quota, and all apps/bots that rely on it for free access, would have to close or stop working. ArenaNet has to tighten security around their current unofficial TP api to prevent rogue apps/bots from gaining free access by pretending to be a GW2 game client.
This will reduce the number of free apps available around the TP but if you really want to combat bots, that would be the price to pay. It would not make them all go away, but it would certainly make things harder for them.
(edited by DarkSpirit.7046)
I would like to see a TP API which gives you all current buy and sell listings with their current unit price and quantity. That way you can more easily identify trading walls. Right now it is really tough to do this in the game client.
Those are my expectations about a TP API:
- A way to gather all buy and sell order of an item withouth making 64000 requests on the TP website (with the actual limitation of 5 req/sec it’s really impossible to have a really updated DB). It should be a sort of bulk function, we give a list of item (or, if it is more simple an item type and/or subtype), and we get buy/sell lists and quantity for each price in each list. Number of users with buy/sell orders is also useful but not essential.
- Number of transactions on the current day (or hour) for each item. It will be an interesting parameter to track and to easly understand “what’s going on?”. The top traded list on TP homepage already do this in some way…
With OAuth I will like to see
- A list of all item owned by the current user (bank an collectible), to generate presonalized crafting list/guides.
I’m stuck with the development of my website due to the first point in the list. To have a reasonable updated prices DB, I expect to get all prices every 30 min, and with the current hack, it’s really impossible to get those info.
If you just want the basic prices (not top 10 orders) you can call the search function with count=0.
If you just want the basic prices (not top 10 orders) you can call the search function with count=0.
TY but I don’t need basic prices, I need the complete buy/sell list with quantity for every price for every item :-D