API CDI 2015

API CDI 2015

in API Development

Posted by: Pat Cavit.9234

Pat Cavit.9234

Web Programming Lead

Next

Welcome to the 2015 API CDI thread!

This is intended to be a slightly more structured location for us to discuss the various current & upcoming public APIs. In the past these threads were scattered all over the place (though the old suggestions sticky has some useful links) and I’d like to centralize things a bit. Especially as we start shipping the first of the authenticated APIs it feels like the right time to start this process.

So here’s how I’d like this to work.

  • Discussion around more philosophical topics like future APIs, high-level details, etc will be handled in this thread.
  • Actual API details (fields, formats, etc) will be discussed via pull requests against the api-cdi GitHub repository. These provide trackable history of changes as well as cleaner formatting options.
  • Try to keep your posts relatively brief. Giant walls of text are hard to parse and discuss succinctly.
  • Other CDI caveats and warnings apply. In the API forum we try to be more open about what we’re working on, but things change quickly and we try to spend more time working than posting.
  • If you’re going to comment on a PR on the forums instead of on GitHub, quote the exact commit you want to discuss.

Example post commenting on a commit:

I think that lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse commodo augue sit amet augue fermentum maximus. Suspendisse eu faucibus neque, sagittis bibendum arcu. Mauris hendrerit.

The most important thing to remember is that this whole idea is a work in progress! We’re open to modifying the process based on your feedback.

Current Proposals

(edited by Pat Cavit.9234)

API CDI 2015

in API Development

Posted by: dlonie.6547

dlonie.6547

One API endpoint I’d like to see would provide access to historical trading post data — for example, to get the data to produce a graph similar to those on gw2spidy, gw2tp, etc.

Doing this currently requires constructing an external database and scraping the APIs regularly to populate it, and data from before the scrapes started is never accessible.

Before putting up a proposal for the endpoint parameters and response format, would something like this be possible? I.e., does ArenaNet store a detailed history of trading point data? Would the sheer amount of data that would potentially be pushed through their servers be problematic?

And thanks for starting this Pat — the APIs are one of the coolest things about this game for people like me

API CDI 2015

in API Development

Posted by: Pat Cavit.9234

Previous

Pat Cavit.9234

Web Programming Lead

Next

One API endpoint I’d like to see would provide access to historical trading post data — for example, to get the data to produce a graph similar to those on gw2spidy, gw2tp, etc.

Doing this currently requires constructing an external database and scraping the APIs regularly to populate it, and data from before the scrapes started is never accessible.

Before putting up a proposal for the endpoint parameters and response format, would something like this be possible? I.e., does ArenaNet store a detailed history of trading point data? Would the sheer amount of data that would potentially be pushed through their servers be problematic?

And thanks for starting this Pat — the APIs are one of the coolest things about this game for people like me

Lawton’s got a proposal for a user-specific TP transactions history endpoint he should be putting up as a PR. We need to get authenticated APIs up & stable before that API can become a reality though.

AFAIK we don’t track historical buy/sell data for items on the TP due to not having a need for it & it’s a lot of data. Something I can double-check though.

API CDI 2015

in API Development

Posted by: MithranArkanere.8957

MithranArkanere.8957

All I want for now is just 3 things:

  • Some sort of authentication, so the API can get permission to get info about an account and its characters.
  • A way to get the info of all copies of a map, and the info of a particular copy of a map. Combined with the authentication and the events API, it’ll be able to tell you the event of the particular copy of the map the current character of an account is in just like before megaserver.
  • Also combined with the authentication, a way to pull contact lists, and be able to pull the locations of the reciprocal friends of that account if they are in the same copy of the map.
SUGGEST-A-TRON says:
PAY—ONCE—UNLOCKS—ARE—ALWAYS—BETTER.
No exceptions!

API CDI 2015

in API Development

Posted by: Elrey.5472

Elrey.5472

Something that i’d like (but i don’t know if you guys want or can provide) is an API for enemies information such as:

  • Enemy skills (to check their cooldowns and effects) .
  • Enemy stats (base stats, not scaled ones).
  • Enemy buffs
  • Other enemies information.

This information could be used to understand a fight better than guessing, which is a problem sometimes.

ES Wiki Sysop. Vanquiser of the Marionette, Lover of the Aetherpath.
Aens / Ellantriel / Nao To Mori / Saelyth. Commander
Guias de Raids en español / Spanish raiding guides

API CDI 2015

in API Development

Posted by: anzenketh.3759

anzenketh.3759

Due to the frequency of changes to skills it is hard to create a build calculator. It would be nice if we had a API that gave us skill information.

In Game: Storm Bluff Isle — Anzz, Anzenketh Kyoto

API CDI 2015

in API Development

Posted by: darthmaim.6017

darthmaim.6017

I might try to go through the old suggestion thread this weekend and create issues for everything that deserves more discussion.
It’s great that you guys are finally using github, so that it’s easier for us to make suggestions, discuss features and follow updates than it is in a forum.

API CDI 2015

in API Development

Posted by: Cronos.6532

Cronos.6532

It would be pretty nice to still be able to use the API to pinpoint which events are taking place on a certain /ip server address; this was removed with megaservers.

Ethereal Guardians [EG]
etherealguardians.com

API CDI 2015

in API Development

Posted by: Torsailr.8456

Torsailr.8456

All I want for now is just 3 things:

  • Some sort of authentication, so the API can get permission to get info about an account and its characters.
  • A way to get the info of all copies of a map, and the info of a particular copy of a map. Combined with the authentication and the events API, it’ll be able to tell you the event of the particular copy of the map the current character of an account is in just like before megaserver.
  • Also combined with the authentication, a way to pull contact lists, and be able to pull the locations of the reciprocal friends of that account if they are in the same copy of the map.

Is it possible to take this a step further?

Be able to get a list of what events are active, or the timers on the inactive events for all instances of a given map?

IE, if I wanted to do Balthazar but I’m in Queensdale. Being able to see if there are any instances in progress or about to start would be nice. This would make it easier for people to organize on specific maps to do these events.

API CDI 2015

in API Development

Posted by: Samuirai.4561

Samuirai.4561

API CDI 2015

in API Development

Posted by: BLUna.7928

BLUna.7928

Some PvP API would be fantastic. I think it would be really cool if we could potentially create something like dotabuff but it just does not seem possible at the moment. Being able to access things like match details (kills, deaths, points, builds players were running) would be fantastic not only for match sites but also for things like post game breakdowns in tournaments.

Retired GW2 Shoutcaster
Now Casting CS:GO with ESEA
Twitter: @BLUCSGO

API CDI 2015

in API Development

Posted by: Samuirai.4561

Samuirai.4561

gw2spidy, gw2tp, etc. allow us to see historical prices. It’s not ideal but ok. What we lack is a API that gives us the amount of transactions that happened in a set time frame. Example:

/v2/commerce/transactions?ids=1234

{ “listed”: 9999, “ordered”: 1111, “sold”: 5555, “bought”: 5678}

Historical data on this would be great too, but it’s enough for now to have updates every minute or every 10 minutes, so we can populate our own databases.

API CDI 2015

in API Development

Posted by: dlonie.6547

dlonie.6547

Lawton’s got a proposal for a user-specific TP transactions history endpoint he should be putting up as a PR. We need to get authenticated APIs up & stable before that API can become a reality though.

O.o really? That would open up oh-so many possibilities for me. I hope this happens quickly, though I imagine it won’t be one of the first ones tested +1 to this idea!

AFAIK we don’t track historical buy/sell data for items on the TP due to not having a need for it & it’s a lot of data. Something I can double-check though.

I’m somewhat shocked to hear that — I’d have thought the economist would have wanted this info stored somewhere for various reasons. Looking forward to hearing if this is doable!

What we lack is a API that gives us the amount of transactions that happened in a set time frame. Example:

/v2/commerce/transactions?ids=1234

{ “listed”: 9999, “ordered”: 1111, “sold”: 5555, “bought”: 5678}

This is a solid suggestion I’d like to see as well. There’s really no good way to get at this information, in game or otherwise, and it’d be very useful for various market analyses. I’ll add that the “bought” and “sold” quantities should ensure that pulled listings aren’t counted, as that’s an issue with how we’re currently trying to measure these things (using the naive approach of diffing the listing quantities).
Thanks again!

(edited by dlonie.6547)

API CDI 2015

in API Development

Posted by: Teranas.6150

Teranas.6150

I would love to see Trait and Skill endpoints. I think those information should have been part of the API since v1.

Those endpoints would let us develope better build constructors and BBCode plugins for our forums.

They should provide information about the behavior of skills and traits.

title
description
damage modifier
conditions
boons
radius
stun(breaker)
max distance
combo effects
target count
casttime
cooldown
references to applied (de)buffs
type of skill (utility, weapon skill)
corresponding class
corresponding race

And of course: references to their corresponding icon files. I really think i missed some important infomation that should be included …

I may write a pull request for this if no one else will do it.

API CDI 2015

in API Development

Posted by: aRestless.6213

aRestless.6213

First of all thanks a whole bunch for doing this! As a developer it is very encouraging to hear that you do your best to support us a bit more!

My project heavily relies on the Mumble API and it would be fantastic to have some additional information through the web API to better deal with what I already get, for example

  • Information about the (vertical) dimensions of floors sufficient to convert from player position to floor
  • Zoom Level Information for dungeon maps. For example: Ascalonian Catacombs are on continent Tyria and therefor should have 8 zoom levels, but since dungeons have their own map view, ingame there are only 2 zoom levels. Arah has 4.
  • Zoom Level to magnification factor. For Tyria I pretty much figured the magnification factors out by myself, but they seem to differ a bit between Tyria and the Mists … and of course dungeons.

I apologise in advance if any of these are already possible – I’d be grateful for any advise. Additionally, from authenticated APIs I’d welcome two basic things:

  • Currently represented guild
  • Home Server for WvW (since Megaservers the Mumble API seems to be broken in that aspect)

Also I’m hoping for a Single Sign On solution for authentication … because account theft is a bad thing.

Never lose track of your friends again, with Who’s Talking for Overwolf

(edited by aRestless.6213)

API CDI 2015

in API Development

Posted by: poke.3712

poke.3712

Also I’m hoping for a Single Sign On solution for authentication … because account theft is a bad thing.

For the authenticated API, OAuth2 will be used. So you will have the standard login on account.guildwars2.com, just like with the forums, to authorize applications to use your data. You could even use this as a sign-on functionality for applications that don’t use the API at all.

@poke // GW2W //

API CDI 2015

in API Development

Posted by: Pat Cavit.9234

Previous

Pat Cavit.9234

Web Programming Lead

Next

/v2/skills is something Lawton’s been working on for a bit. Due to the way they’ve been organically constructed over time it’s a real hairy thing to make skill data be as regular as you’d want in an API. A proposal for that should be going up in the near future.

All authenticated APIs will be using OAuth2 and authenticating against https://account.guildwars2.com, yes.

(edited by Pat Cavit.9234)

API CDI 2015

in API Development

Posted by: Teranas.6150

Teranas.6150

/v2/skills is something Lawton’s been working on for a bit. Due to the way they’ve been organically constructed over time it’s a real hairy thing to make as regular as you’d want in an API. A proposal for that should be going up in the near future.

Very nice to hear!

API CDI 2015

in API Development

Posted by: AfterXII.2761

AfterXII.2761

As a guild leader and a web/phone app developer, I took a look at the announcement of API authentication and immediately thought of the following possibilities for new implementations:

Personal Account

  • Personal bank contents, assets, wallet, etc
  • Current guilds (with flag on current rep)

Guild

  • Roster endpoint
  • MOTD endpoint
  • Guild bank endpoint
  • Guild chat endpoint (amazing applications possible with this endpoint)
http://gw2shinies.com/ – A Guild Wars 2 Trading Post Service
http://gw2tno.com/ – The Nameless Ones [TNO]

API CDI 2015

in API Development

Posted by: Lawton Campbell

Previous

Lawton Campbell

Web Programmer

Next

All I want for now is just 3 things:

  • Some sort of authentication, so the API can get permission to get info about an account and its characters.

I put together a PR about upcoming /v2/account API. The PR has more details, but it’ll give you the ability to authenticate users and determine their homeworld (and eventually more stuff is planned for it).

Wanted to have it released this week, but having some fun technical issues with the deployment.

As a guild leader and a web/phone app developer, I took a look at the announcement of API authentication and immediately thought of the following possibilities for implementation:

Personal Account

  • Personal bank contents, assets, wallet, etc
  • Current guilds (with flag on current rep)

The personal bank account (and material storage) is planned for the /v2/account API (see the PR link above), as is the current guilds an account belongs to. The currently represented guild will probably live in /v2/characters, and the roster in an account-specific guild endpoint (haven’t really sorted out the design for that yet).

Anyway lemmie get some more writeups posted on Github for you guys to peruse.

API CDI 2015

in API Development

Posted by: AfterXII.2761

AfterXII.2761

All I want for now is just 3 things:

  • Some sort of authentication, so the API can get permission to get info about an account and its characters.

I put together a PR about upcoming /v2/account API. The PR has more details, but it’ll give you the ability to authenticate users and determine their homeworld (and eventually more stuff is planned for it).

Wanted to have it released this week, but having some fun technical issues with the deployment.

As a guild leader and a web/phone app developer, I took a look at the announcement of API authentication and immediately thought of the following possibilities for implementation:

Personal Account

  • Personal bank contents, assets, wallet, etc
  • Current guilds (with flag on current rep)

The personal bank account (and material storage) is planned for the /v2/account API (see the PR link above), as is the current guilds an account belongs to. The currently represented guild will probably live in /v2/characters, and the roster in an account-specific guild endpoint (haven’t really sorted out the design for that yet).

Anyway lemmie get some more writeups posted on Github for you guys to peruse.

Sounds awesome, cant wait!

http://gw2shinies.com/ – A Guild Wars 2 Trading Post Service
http://gw2tno.com/ – The Nameless Ones [TNO]

API CDI 2015

in API Development

Posted by: Immortius.4537

Immortius.4537

Basic Metadata APIs

There are a number of basic metadata apis I think it would be nice to have:
professions – Information on the available professions.
weapon_types – Information on weapon types – what they are, whether they are 1-handed, 2-handed, off-hand?
weight_classes – Information on weight classes (heavy/medium/light)
armor_types – Information on armor types (helm/shoulders/helmAquatic/etc)
damage_types – Information on the weapon damage types (physical, lightning, fire, ice)

While these are pretty constant, there is currently no way to get a proper, language specific display name for these things from the API. In some cases the “identifier” used to refer to these things can be a touch confusing (the whole harpoon/spear harpoongun/speargun thing). Additionally it would be nice to link these things up so that for a class you can find out the weight class and usable weapon types.

API CDI 2015

in API Development

Posted by: poke.3712

poke.3712

There’s not really much use for that. You can just encode that statically within your application and safe heavy HTTP requests that way. As you said yourself, that data is very constant.

If you want, I can write down that data for you.

@poke // GW2W //

API CDI 2015

in API Development

Posted by: The Geil.8605

The Geil.8605

Some of these are most likely a mix between /v2/account- and /v2/character-data, but I was just brainstorming of all storts of information that would be nice to see somewhere in those.

Account API
	Achievements
	Characters
	Collections
		Minipets
		Outfits
		Mail Carriers
	Skins
		Armor
			Light
			Medium
			Heavy
		Weapons
			One-handed
				Main Hand
				Off Hand
			Two-handed
	sPvP (Account Specific)
		Games Played
			Ranked Games
			Unranked Games
		Kills
	PvE (Account Specific)
		Dungeons
			Stories Completed
			Paths Completed
	WvW (Account Specific)
		Rank
		Kills
		Captures
			Castle
			Keep
			Tower
			Camp
Character API
	Equipped
		Armor
		Weapons
		Trinkets
	Crafting
		Current Disciplines
		Discipline Levels
	sPvP (Character Specific)
		Games Played
			Ranked Games
			Unranked Games
		Kills
	PvE (Character Specific)
		Dungeons
			Stories Completed
			Paths Completed
	WvW (Character Specific)
		Rank
		Kills
		Captures
			Castle
			Keep
			Tower
			Camp
	Build
		PvE/WvW
		sPvP
Seafarer’s Rest – Get off Me [LAND]
GW2.Ninja – Tickets.GW2.Ninja – Collections.GW2.Ninja – Directory.GW2.Ninja
Want a GW2.Link shortlink? Send me an in-game message.

API CDI 2015

in API Development

Posted by: Divus.3175

Divus.3175

About historical tp data.

Either John Smith has his own server with all (I mean ALL) the data, or you have it somewhere in some form of historic tables. That’s just a wild guess.

About pvp api.

  • current pvp match by account name or character name.
  • past pvp matches, i.e. results of pvp tournament by character name / flag (but I feel there’s no any indicator of so)
  • ranked and unranked statistics – how many games are played by day, what’s the most played map, etc.
  • what’s the percentage of each profession in pvp – statistics

About pve api

  • what’s the missing part of map completion by character (players wants it for such a long time, and api would give a chance to create app showing these stuff interactively)
  • collection by account name
[KING] Desolation – Pikan Parom (engineer), Grace Parom (ele)

API CDI 2015

in API Development

Posted by: Blumoon.5437

Blumoon.5437

I’m really stoked about all of this. I’ve had a few app ideas floating around in my head for some time now, but they all require the authenticated APIs. I’m really happy to hear they’re coming soon.

API CDI 2015

in API Development

Posted by: Immortius.4537

Immortius.4537

There’s not really much use for that. You can just encode that statically within your application and safe heavy HTTP requests that way. As you said yourself, that data is very constant.

If you want, I can write down that data for you.

I agree it should be stored statically in an application.

However the question is where to source the information. I guess each each developer can go in-game and write it out manually these details for each of the four supported languages. I just feel it is appropriate for completeness to include in the APIs, so we have an easier source for it.

Obviously the upcoming inclusion of a new profession and new specialisations means this information isn’t quite constant either.

API CDI 2015

in API Development

Posted by: Pat Cavit.9234

Previous

Pat Cavit.9234

Web Programming Lead

Next

About historical tp data.

Either John Smith has his own server with all (I mean ALL) the data, or you have it somewhere in some form of historic tables. That’s just a wild guess.

John Smith has access to offline data querying stuff that isn’t suitable to expose via the API, sadly.

Also his secret is that he really gets most of his data from the fiber-optic cable in his brain that is wired directly to the DB servers in the datacenter. Limits his range of motion quite a bit, but at least his query latency is low.

API CDI 2015

in API Development

Posted by: Lawton Campbell

Previous

Lawton Campbell

Web Programmer

Next

Just finished an initial writeup of the current in-dev state of /v2/skills. It’s still quite a bit away from being ready for public consumption, mostly just looking for ways to improve the output format.

About historical tp data.

Either John Smith has his own server with all (I mean ALL) the data, or you have it somewhere in some form of historic tables. That’s just a wild guess.

Querying it is neither fast nor scalable, so it’s very unlikely that we’ll be able to provide access to anything beyond what you can see via the in-game UI. I think the current cutoff for the transaction history is three months, but might be mistaken about that.

API CDI 2015

in API Development

Posted by: Aerodin.2795

Aerodin.2795

It would be pretty nice to still be able to use the API to pinpoint which events are taking place on a certain /ip server address; this was removed with megaservers.

I second this one. I suspect that it’s not quite that simple on the backend, but if it’s possible, it’d be awesome to get the events api back.

For the future APIs, from a high-level standpoint I’ve been thinking that any APIs that promote community are going to be the most useful. Having access to some of your account information, such as bank contents, characters, etc, is cool and all, but I don’t see them having as wide of an impact as something that enhances the GW2 community.

A perfect example of this is an expanded guild API. I’ll try to post a PR with more details, but I’m picturing an API that provides more details, starting with a roster of players, ranks, map locations, etc. Further expanding that with Authentication could bring guild management features, such as managing player ranks, invites, upgrade queue, etc. It’d be freaking awesome.

Author of GW2 PAO

API CDI 2015

in API Development

Posted by: aRestless.6213

aRestless.6213

Guild management and especially member management can be a big problem in larger guilds. Having Roster and Roster History exposed would be a huge thing.

Never lose track of your friends again, with Who’s Talking for Overwolf

API CDI 2015

in API Development

Posted by: poke.3712

poke.3712

However the question is where to source the information.

You are welcome to put this on the official wiki (which also serves as the place for the API documentation), so application developers can get the data they need in a parsable format.

@poke // GW2W //

API CDI 2015

in API Development

Posted by: veggies.2178

veggies.2178

As a proud owner of 11 “mule” alts out of 35 character slots, i like the api changes, but one thing that anoyed me is the lack of api for character inventory.

I had to create a lot alts to separate materials ex “axyd ore, axyd bloodstoner, axyd fluffer” and would love to see something done about it like for example ?accountid=1234?altname=axyd%20ore?invtype=bags (options are bank or character bags) and that would query out item item id & quantity for all bags equipped.

You mentioned bank storage and think thats cool but the one we hoarders need the most is to export mules presonal inventories.

Id also be happy if we could have like 100 bank tabs cause 7 is way too little….but thats another forum

Axyd — [TWIN]

API CDI 2015

in API Development

Posted by: Lawton Campbell

Previous

Lawton Campbell

Web Programmer

Next

As a proud owner of 11 “mule” alts out of 35 character slots, i like the api changes, but one thing that anoyed me is the lack of api for character inventory.

We’re planning to eventually expose character inventories via the /v2/characters endpoint (and the account bank via /v2/account) so that someone can write a webapp to locate where you put that extra stack of Superior Sigils of Wrath or Lemongrass Poultry Soup. I’ll post a link to the Github PR once I’ve got the endpoint proposal writeup finished.

API CDI 2015

in API Development

Posted by: veggies.2178

veggies.2178

As a proud owner of 11 “mule” alts out of 35 character slots, i like the api changes, but one thing that anoyed me is the lack of api for character inventory.

We’re planning to eventually expose character inventories via the /v2/characters endpoint (and the account bank via /v2/account) so that someone can write a webapp to locate where you put that extra stack of Superior Sigils of Wrath or Lemongrass Poultry Soup. I’ll post a link to the Github PR once I’ve got the endpoint proposal writeup finished.

Thank you very much.
Been waiting for it since….1 month after launch lol

Axyd — [TWIN]

API CDI 2015

in API Development

Posted by: Lawton Campbell

Previous

Lawton Campbell

Web Programmer

Next

Guild management and especially member management can be a big problem in larger guilds. Having Roster and Roster History exposed would be a huge thing.

This is definitely on my todo list, but I don’t yet have any designs for the endpoints. One of my guild leaders exports the influence log by hand to a spreadsheet so he can compute and graph various engagement metrics — that’s really something that should be automatable.

API CDI 2015

in API Development

Posted by: Remfin.4892

Remfin.4892

Just to be clear, when we keep talking about authentication and authentication APIs, what scenarios are intended to be supported?

  • “User” APIs (apps calling APIs)
  • “Server” APIs (servers/websites calling APIs On-Behalf-Of)
  • External authentication (ala OpenID and such) (being able to get and verify a token that ANet says you’re “X”)

API CDI 2015

in API Development

Posted by: icepotato.6037

icepotato.6037

As a proud owner of 11 “mule” alts out of 35 character slots, i like the api changes, but one thing that anoyed me is the lack of api for character inventory.

We’re planning to eventually expose character inventories via the /v2/characters endpoint (and the account bank via /v2/account) so that someone can write a webapp to locate where you put that extra stack of Superior Sigils of Wrath or Lemongrass Poultry Soup. I’ll post a link to the Github PR once I’ve got the endpoint proposal writeup finished.

this would be great! another use case for this would be something like a crafting guide website that can peek into your inventory to accurately kitten if it’s cheaper to buy something or make it yourself.

API CDI 2015

in API Development

Posted by: Sytherek.7689

Sytherek.7689

After reading this thread, I’m concerned about privacy.

Will the API allow anyone to investigate, say, anyone else’s backpack or storage?

Are we going to have to worry about gear-check apps?

API CDI 2015

in API Development

Posted by: Pat Cavit.9234

Previous

Pat Cavit.9234

Web Programming Lead

Next

After reading this thread, I’m concerned about privacy.

Will the API allow anyone to investigate, say, anyone else’s backpack or storage?

Are we going to have to worry about gear-check apps?

No, you will have to give applications access to your data.

API CDI 2015

in API Development

Posted by: Remfin.4892

Remfin.4892

After reading this thread, I’m concerned about privacy.

Will the API allow anyone to investigate, say, anyone else’s backpack or storage?

Are we going to have to worry about gear-check apps?

*Assuming Server APIs are supported

Authenticated in this case means by the person who’s information is being displayed.

Can you look up a random person’s gear? No

Could a guild leader force you to expose your gear to him via a website, or a group of random people kick you if don’t put your gear on a publicly accessible website or its on there and they don’t like it? Yes. Don’t associate with those people (and maybe ANet will make up a rule around that kind of behavior).

API CDI 2015

in API Development

Posted by: Sytherek.7689

Sytherek.7689

After reading this thread, I’m concerned about privacy.

Will the API allow anyone to investigate, say, anyone else’s backpack or storage?

Are we going to have to worry about gear-check apps?

No, you will have to give applications access to your data.

Thanks for the prompt reply! I really do appreciate it…

API CDI 2015

in API Development

Posted by: Lawton Campbell

Previous

Lawton Campbell

Web Programmer

Next

Just to be clear, when we keep talking about authentication and authentication APIs, what scenarios are intended to be supported?

  • “User” APIs (apps calling APIs)
  • “Server” APIs (servers/websites calling APIs On-Behalf-Of)
  • External authentication (ala OpenID and such) (being able to get and verify a token that ANet says you’re “X”)

The authenticated APIs will use OAuth2, which is best described by the second (servers/websites calling APIs On-Behalf-Of). You must explicitly grant a server access to specific portions of your account for your data to be disclosed. Servers/API consumers cannot access any API which requires authentication without the explicit consent of the user whose data is exposed.

While technically OAuth2 isn’t meant to be used for authentication, the /v2/account endpoint will effectively provide external authentication so you can restrict e.g., guild websites to only people who are actually in the guild without relying wholly on manual in-game checks.

API CDI 2015

in API Development

Posted by: Drant.5902

Drant.5902

Can we get the current list of daily achievements, so we can mark for players what world boss or WvW capture is for today.

Also, the events.json could be revived for megaserver instances via /ip command. So people who do temples or daily zone events don’t have to wait or spam map chat asking for active events.

API CDI 2015

in API Development

Posted by: Lawton Campbell

Previous

Lawton Campbell

Web Programmer

Next

One API endpoint I’d like to see would provide access to historical trading post data — for example, to get the data to produce a graph similar to those on gw2spidy, gw2tp, etc.

Doing this currently requires constructing an external database and scraping the APIs regularly to populate it, and data from before the scrapes started is never accessible.

Before putting up a proposal for the endpoint parameters and response format, would something like this be possible? I.e., does ArenaNet store a detailed history of trading point data? Would the sheer amount of data that would potentially be pushed through their servers be problematic?

And thanks for starting this Pat — the APIs are one of the coolest things about this game for people like me

Lawton’s got a proposal for a user-specific TP transactions history endpoint he should be putting up as a PR. We need to get authenticated APIs up & stable before that API can become a reality though.

Here’s the PR for /v2/commerce/transactions, which would allow users to delegate access to their trading post transaction history.

API CDI 2015

in API Development

Posted by: zerorogue.9410

zerorogue.9410

The most wanted thing for me has always been retrieving character/account data through the api.

Such things as.
-Retrieving their bank/inventories on their characters.
-Retrieving Build data(Traits, equipment,skills)
-Retrieving their wallet data.
-Retrieving their buy/sell orders on BLT.
-Retrieving their BLT Drop box.
-Generating avatar Icons (The login screen Icon of the character.)
-Crafting levels and unlocked recipes.
-Wardrobe unlocks.

On the matter of actual editing of character/game data through the API I would rather not have it. This is for the fact of two things. First is the obvious bot issue. Second would be the fact players would be using third party programs rather than just playing the game.

API CDI 2015

in API Development

Posted by: Lawton Campbell

Previous

Lawton Campbell

Web Programmer

Next

On the matter of actual editing of character/game data through the API I would rather not have it.

Don’t worry, it’s technically infeasible for us to edit game data. We only have a read-only copy (which is potentially ~5 minutes out-of-date) due to the nature of our architecture.

API CDI 2015

in API Development

Posted by: Bugabuga.9721

Bugabuga.9721

Is it possible/reasonable to ask for expanded wvw match API?

Such as have RI counter being present?
i.e.

{ 
   "id": 32, 
   "owner": "Red", 
   "owner_guild": "277CCE76-6254-4CF2-8A2D-15A30B7110BD", 
   "RI": "01:45" 
}
Or objective taking time?

Also for guild endpoint (guild_details) to have currently running guild buffs/upgrades?


 {
   "guild_id": "75FD83CF-0C45-4834-BC4C-097F93A487AF",
   "guild_name": "Veterans Of Lions Arch",
   "tag": "LA",
   "emblem": {
     "background_id": 27,
     "foreground_id": 114,
     "flags": [],
     "background_color_id": 11,
     "foreground_primary_color_id": 584,
     "foreground_secondary_color_id": 64
   },
    "upgrades": [{
      "id": "bearLope",
      "type": "guildRush",
      "expirationTime": "2015-02-19 18:55:00"
    }]
 }

Guild-related buffs could either be public or private and only visible to authenticated user (and, of course, can be split out into separate uuid-driven end-point, with ID being numeric)

API CDI 2015

in API Development

Posted by: Adelas.6598

Adelas.6598

We’re planning to eventually expose character inventories via the /v2/characters endpoint (and the account bank via /v2/account) so that someone can write a webapp to locate where you put that extra stack of Superior Sigils of Wrath or Lemongrass Poultry Soup.

sobs with joy

Sounds like it’s time to bake some more cookies…

Anyway, ZeroRogue has really nailed it for me, personally, with his list of things like bank and inventory items – the only thing I don’t see in his list is achievements. Having a website or phone app that could help me keep track of achievements would be AMAZING.

1. general account achievements
2. personal story and living story completion
3. map completion – being able to check an app to see which end of Lornar’s I need on my norn vs. what I need on my charr would allow me to coordinate mapping with my friends. Wow, would that be great.

In case it’s not obvious, I’m not a programmer/dev/whatnot, but if you made this particular information available to people who ARE, so they could write sites and apps for us, I would just melt with happiness.

API CDI 2015

in API Development

Posted by: famfamfam.9137

famfamfam.9137

I’m interested in plans for versioning and compat.

In terms of making PR requests for format changes to existing endpoints, do you have any plans for how versioning will be handled to not-break backwards compatibility for existing clients? What are your existing thoughts on this, and do you think its possible/reasonable to do while also adding the huge list of functional things people want from the API?

Would it be best to make a PR proposal for the ability to specify the specific endpoint version you want to use per-request and changes to?

(Typed out a longer post but the forums swallowed it)