Drakma.1549:

I know that the TP API is not explicitly approved for use; however, is there anybody out there currently using this and just started experiencing issues today?

I can authenticate and pull about 3 to 5 items then suddenly ERROR 500.

Anybody else seeing this?

Samuirai.4561:

Can confirm this. When you look at the response you will actually see this:

 {"code":3005,"product":1014,"module":8000,"line":972,"text":"StsGate: request flooding {Game.gw2.Trade/GetListings}, ... 

It seems they implemented a DoS prevention feature and only allow a certain amount of request per timeframe.

Drakma.1549:

Well this certainly sucks. I guess it’s time to start testing what the “acceptable” time period is between requests.

Samuirai.4561:

Just found a trick to circumvent the protection :P

If they wanted to stop TP analysis and automatic trading, they failed.

aeneq.1760:

Just found a trick to circumvent the protection :P

If they wanted to stop TP analysis and automatic trading, they failed.

Are you saying you are doing automated trading?

Samuirai.4561:

I didn’t say that. It’s just the most obvious reason why they would want to implement a flooding protection.

I do this: http://www.youtube.com/watch?v=gcuQqclFzog

DarkSpirit.7046:

Obviously they are not even attempting to stop third party apps from accessing the TP at this time. Not all third party apps are well written and some are just too spammy and it can be hard to tell the difference between a poorly written app and a DOS attack.

I can understand why they added flooding protection as they need to preserve a minimum level of responsiveness for the TP experience for the rest of the players and since third party apps hit the same TP server as the game clients, it makes sense for them to setup flooding protection. This can easily be mitigated in the app code through some caching and cleverer programming otherwise, simply add some sleeps.

I would have preferred it if they return a 503 status code instead with a Retry-After information in their response header though but whatever.

Lumiere.4609:

It should not be a 503 it should be a 429 – Too Many Requests

http://en.wikipedia.org/wiki/List_of_HTTP_status_codes and for the nerdy: http://tools.ietf.org/html/rfc6585

DarkSpirit.7046:

It should not be a 503 it should be a 429 – Too Many Requests

http://en.wikipedia.org/wiki/List_of_HTTP_status_codes and for the nerdy: http://tools.ietf.org/html/rfc6585

I don’t care as long as it returns a Retry-After header.