API CDI 2015

API CDI 2015

in API Development

Posted by: Pat Cavit.9234

Previous

Pat Cavit.9234

Web Programming Lead

Next

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)

This is a longer-term question, we don’t have a complete answer yet. I’d like to move to that model after we’ve plumbed more of the data through, I just don’t know how we’d support that sanely within our codebase. I also haven’t seen any implementations of a model like that in an API I’ve used/investigated so I don’t know what sort of best practices we should follow.

I’d write up your proposal in a forum post or gist, it’s too long-term of an idea for a PR to be very useful right now. After we’ve gotten over the hump of exposing most of the useful/interesting data available I’d like to circle back around on a consistency pass that would potentially include a more flexible versioning story.

In terms of the current /v2 API, once we ship the API it won’t have fields deleted or renamed. We may add fields as more data becomes available.

API CDI 2015

in API Development

Posted by: zerorogue.9410

zerorogue.9410

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.

I had a few paragraphs written with everything I would hope to have with an account API including achievements, but I shortened it down so it was not so “wall of texty”

I would hope to have nearly everything in game viewable in API form, but my #1 hope is to get synergy from site to game so you can plug your data into a site and get personalized guides.

On that point I do hope we have a public and a private space for accounts. Public is basic data on the account, (Character names,Professions, levels, Status, Map currently on, Achievement points, hours played?) Private is everything else and requires authentication.

The private data should be kept secure so players who like their privacy are private.

For instance a system similar to the two step authentication that we have to login. Where a player generates access keys that they give to sites that are valid only for one ip. (although this would be an issue for anyone with a roaming ip. Perhapses make an access account?)

API CDI 2015

in API Development

Posted by: smiley.1438

smiley.1438

I’ve already proposed some json structure changes for the WvW APIs, so i’m gonna link these here for now – i’ll create some PR tomorrow.

matches.json https://gist.github.com/codemasher/8876102#file-matches3-json
match_details.json https://gist.github.com/codemasher/8894954
objectives.json https://gist.github.com/codemasher/bac2b4f87e7af128087e#file-gw2_objectives-json
(more to follow)

Thanks for the new floors.json, thats basically what i’ve proposed earlier

API CDI 2015

in API Development

Posted by: Sol Solus.3167

Sol Solus.3167

The trading post APIs only accept IDs, so it would make sense to have an item name search API to get that ID. Right now the only way to implement name search is to maintain your own database, which is burdensome for non-website apps.

Preferably, it would allow type, rarity, etc. filters via parameters.

Rainmeter overlays:
World Boss Timer | WvW Map

API CDI 2015

in API Development

Posted by: Lawton Campbell

Previous

Lawton Campbell

Web Programmer

Next

I’ve already proposed some json structure changes for the WvW APIs, so i’m gonna link these here for now – i’ll create some PR tomorrow.

matches.json https://gist.github.com/codemasher/8876102#file-matches3-json
match_details.json https://gist.github.com/codemasher/8894954
objectives.json https://gist.github.com/codemasher/bac2b4f87e7af128087e#file-gw2_objectives-json
(more to follow)

Ooh, those look shiny. In addition to fixing up the response format, I definitely do want to get the objective flip times in there, though I think that’ll take some more involved backend changes.

The trading post APIs only accept IDs, so it would make sense to have an item name search API to get that ID. Right now the only way to implement name search is to maintain your own database, which is burdensome for non-website apps.

Preferably, it would allow type, rarity, etc. filters via parameters.

Actual search endpoints is definitely something I’ve been looking into. The way we pull content data right now is to basically load stuff from the dat file — which is designed for semi-random access and doesn’t really yield itself to indexing. So I’m trying to pull all the data into a more normalized format so we can load it into search indexes and index all the things (not just items/recipes, but also future endpoints like skills and maps and whatnot). Still a ways from being production ready though ;_;

API CDI 2015

in API Development

Posted by: famfamfam.9137

famfamfam.9137

I’m interested in plans for versioning and compat…

I’d write up your proposal in a forum post or gist, it’s too long-term of an idea for a PR to be very useful right now.

If I get a chance I’ll gist a story and proposal.

After we’ve gotten over the hump of exposing most of the useful/interesting data available I’d like to circle back around on a consistency pass that would potentially include a more flexible versioning story.

Understandable and preferred. Looking forward to auth!

API CDI 2015

in API Development

Posted by: Bugabuga.9721

Bugabuga.9721

I’ve already proposed some json structure changes for the WvW APIs, so i’m gonna link these here for now – i’ll create some PR tomorrow.

matches.json https://gist.github.com/codemasher/8876102#file-matches3-json
match_details.json https://gist.github.com/codemasher/8894954
objectives.json https://gist.github.com/codemasher/bac2b4f87e7af128087e#file-gw2_objectives-json
(more to follow)

Thanks for the new floors.json, thats basically what i’ve proposed earlier

That makes me wonder — perhaps there should be “abbreviated” mode of endpoint? (and further compact it like this: https://gist.github.com/msmolev/c22210d53d10a4edd233 ) if volume of data transmitted is causing problems.

What will be the acceptable rate of requests for v2 API?

API CDI 2015

in API Development

Posted by: Pat Cavit.9234

Previous

Pat Cavit.9234

Web Programming Lead

Next

Thanks for the new floors.json, thats basically what i’ve proposed earlier

No problem! Thanks for all your suggestions, they were really useful.

I’ve already proposed some json structure changes for the WvW APIs, so i’m gonna link these here for now – i’ll create some PR tomorrow.

matches.json https://gist.github.com/codemasher/8876102#file-matches3-json
match_details.json https://gist.github.com/codemasher/8894954
objectives.json https://gist.github.com/codemasher/bac2b4f87e7af128087e#file-gw2_objectives-json
(more to follow)

Thanks for the new floors.json, thats basically what i’ve proposed earlier

That makes me wonder — perhaps there should be “abbreviated” mode of endpoint? (and further compact it like this: https://gist.github.com/msmolev/c22210d53d10a4edd233 ) if volume of data transmitted is causing problems.

Unless there are amazing savings from doing so either on our end or the consumer’s end I’m not particularly interested in supporting two output styles for a particular endpoint. That just sounds like more code to write/debug/write tests for/maintain. I decided to investigate what the actual over-the-wire costs are for /v1/wvw/matches.json.

We gzip all responses for clients that support it (almost everyone) and the current /v1/wvw/matches.json output while verbose isn’t crazy. It’s 2.6KB uncompressed, but over the wire it’s only 380 bytes. The examples matches2.json starts out significantly smaller at ~700 bytes, and after gzip it’s down to ~325 bytes. So overall savings over the original file of 55 bytes.

I’m definitely not going to build & maintain two code paths to save 55 bytes over the wire, sorry.

What will be the acceptable rate of requests for v2 API?

All of our API responses are cached for some period of time, so right now we aren’t enforcing any particular limits. It would be simple for us to rate limit endpoints in the future but we’re going into this in good faith that people won’t abuse it. Also our API frontends are pretty robust and giving them a good workout from time to time is nothing for us to panic about.

If you start noticing slowness/spotty responses though do let us know!

(edited by Pat Cavit.9234)

API CDI 2015

in API Development

Posted by: aRestless.6213

aRestless.6213

Flip times for WvW would be great! Would solve quite a few of my problems with that endpoint.

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

API CDI 2015

in API Development

Posted by: DeviantShark.6548

DeviantShark.6548

Okay, this is actually the first time I post to a cdi, so forgive me if i made everything wrong. I just believe I speak for others with what I ’am about to say:

Guild-API
With the possibility of authentication there ought to be some guild-roster-api, but i don’t know how this should be implemented. Obviously there should be a setting in the ingame privileges tab like “API-Access” which grants those rights to a specivic guild group.
But then again, since this would be an ingame change this might not fit in here.

Now why would I love this?
Leading a somewhat medium sized guild (100+) it is getting tricky remembering all names as well as the invite date, and the date of first representation. Also this would allow to show some statistics about how much of his online time the person is actually representing said guild. Also this could help figuring out which content the guild is mostly doing. If 60% of people are almost exclusively bashing doors in the borderlands and only 2% are doing fractals every now and then, the next contest probably shouldn’t be fractals, if you know what I mean.

Statistics can help a lot achieving balance for the players.

Squirreltail? What’s that? [AUT] Oachkatzlschwoaf
We are constantly looking for Guildmembers which contribute to an awesome community

API CDI 2015

in API Development

Posted by: Ravenmoon.5318

Ravenmoon.5318

I would like to see improved Guild API which would help make better community websites with stuff like

  • Members (Representing/Not Representing/Total)
  • Member Character Names
  • Upgrades Queue
  • Some sort of a log for completed guild missions
  • Guild bank? (shouldn’t be an issue to make it public data :O )
  • And maybe an extension for the upcoming expack, like .. does the guild have a hall, how does it look like
  • GvG History
  • Upcoming GvG Matches

I’d like to see people being able to extract pictures of their toons, or at least avatars.

I would love to see steps being taken to get back the Events API, including a way for people to PICK the server in-game (i know, i know this isn’t exactly an API request, but I’m sure you guys can bring more attention/weight to this detail than a simple user like me)

Also sPvP could see some love, by having an API endpoint interfacing with the leaderboards, and maybe even a build data (not necessary, I do see how that can be used to gain unfair advantage, knowing your enemy and all). The basics could be covered, like rank, and some achievements data, like players killed, points made and stuff like that.

API CDI 2015

in API Development

Posted by: Lumiere.4609

Lumiere.4609

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.

(snip)
Also sPvP could see some love, by having an API endpoint interfacing with the leaderboards, and maybe even a build data (not necessary, I do see how that can be used to gain unfair advantage, knowing your enemy and all). The basics could be covered, like rank, and some achievements data, like players killed, points made and stuff like that.

https://forum-en.gw2archive.eu/forum/community/api/Proposal-Structured-PvP-API/first#post4802052

I’ll write a PR this weekend…

Yagami Yukari- 80 Sylvari Guardian | Yagami Vita – 80 Human Ele
Strike Force – Jade Quarry

API CDI 2015

in API Development

Posted by: smiley.1438

smiley.1438

Actual search endpoints is definitely something I’ve been looking into. The way we pull content data right now is to basically load stuff from the dat file — which is designed for semi-random access and doesn’t really yield itself to indexing. So I’m trying to pull all the data into a more normalized format so we can load it into search indexes and index all the things (not just items/recipes, but also future endpoints like skills and maps and whatnot). Still a ways from being production ready though ;_;

Pretty please with sugar on top! Especially a search endpoint for the maps API (POIs and stuff) would be extremely helpful to create maps for the Wikis.

So please: (couldn’t resist)

Attachments:

API CDI 2015

in API Development

Posted by: quenoz.3859

quenoz.3859

i would be really excited about a possibility to have guild chat outside of the game too, maybe somewhat like twitch allows to connect to their irc: http://help.twitch.tv/customer/en/portal/articles/1302780-twitch-irc

The Unlikely Plan [TUP] Raid Leader

API CDI 2015

in API Development

Posted by: Light.7493

Light.7493

I would like to suggest implementation of Zone chat API. It should follow the footsteps of twitter API in terms of structure. Something like:
GET https://blahblah/chat?limit=100&zone=1

{
zone:1,
messages: [
{
“name”: “blah”,
“message”: “blahblah”,
“time”:“00:00:00 UTC”
},

{
“name”: “blah”,
“message”: “blahblah”,
“time”:“00:00:00 UTC”
}
]
}

API CDI 2015

in API Development

Posted by: dlonie.6547

dlonie.6547

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.

Would it be feasible to reduce the data to improve the database performance?

The query could return statistics for a time interval. For each item:

{
“id”: xxx,
“start_time”: xxx,
“end_time”: xxx,
“buy_price” : { “min”: xxx, “max”: xxx, “mean”: xxx },
“sell_price” : { “min”: xxx, “max”: xxx, “mean”: xxx },
“demand” : { “min”: xxx, “max”: xxx, “mean”: xxx },
“supply” : { “min”: xxx, “max”: xxx, “mean”: xxx },
“bought”: xxx,
“sold”: xxx
}

The further back in time, the coarser the granularity, e.g. for the last week/month the statistics could be stored at hourly intervals, for 1-12 months back, store at the day level, and for 12+ months back, store a weekly summary.

This would still allow users to plot a representative history, and provide enough detail for analyzing recent trends in the market history, without having to serve every individual transaction.

This would require a periodic sweep through the data to condense the summaries as they move into different level-of-detail windows, but would greatly reduce the amount of data.

(edited by dlonie.6547)

API CDI 2015

in API Development

Posted by: Khisanth.2948

Khisanth.2948

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.

The inactive timer thing is probably not possible but we should at least be able to get back to how the events API worked before megaserver.

There is no way to select which instance you end up so seeing which instances have what events doesn’t seem very useful.

API CDI 2015

in API Development

Posted by: Lawton Campbell

Previous

Lawton Campbell

Web Programmer

Next

With the possibility of authentication there ought to be some guild-roster-api, but i don’t know how this should be implemented. Obviously there should be a setting in the ingame privileges tab like “API-Access” which grants those rights to a specivic guild group.

Probably not going to be an in-game opt-in for this. Anyone in the guild can already see the roster in-game, so it doesn’t make sense to hide the roster from them out-of-game.

i would be really excited about a possibility to have guild chat outside of the game too, maybe somewhat like twitch allows to connect to their irc: http://help.twitch.tv/customer/en/portal/articles/1302780-twitch-irc

Out-of-game guild chat is definitely something I want to have, but we haven’t really settled on a protocol for it yet. XMPP, IRC and “something custom with HTTP+SSE” have all been tossed around as potentials but it’s not immediately clear which is most advantageous to implement. As far as interoperability with existing clients, IRC’s probably the winner (though it’s a horrible mess of a protocol).

API CDI 2015

in API Development

Posted by: Rising Dusk.2408

Rising Dusk.2408

So let’s say I want to “opt in” to an app or overlay that allows other players to perform a gear check on me in dungeon groups. How would I do that? Would I have to use the app? Or would there be a user preference in-game (disabled by default) that shares my information for others to pull from the API?

[VZ] Valor Zeal – Stormbluff Isle – Looking for steady, casual-friendly NA raiders!

API CDI 2015

in API Development

Posted by: wwwes.1398

wwwes.1398

I would like to throw my vote towards XMPP for group chats.

API CDI 2015

in API Development

Posted by: Lawton Campbell

Previous

Lawton Campbell

Web Programmer

Next

So let’s say I want to “opt in” to an app or overlay that allows other players to perform a gear check on me in dungeon groups. How would I do that? Would I have to use the app? Or would there be a user preference in-game (disabled by default) that shares my information for others to pull from the API?

You’d go to the app’s webpage, which would redirect you to the official sign-ins. After signing in, you’d be presented with an authorization prompt telling you what permissions the app is requesting. Clicking a “accept” button would send you back to the app and give the app a token they can use to make authenticated API requests on your behalf.

So, an example app, “pingyourgear.com”, might allow you to list your party members by name. You could them send them to the app — they’d log in and grant the app access to view their equipment. The app would pull their equipment and update it on your screen. The app could additionally save authentication tokens (with the user’s permission) so they’d only have to opt-in once — so any party members you add who’ve already used the app could have their current gear appear immediately on your UI.

API CDI 2015

in API Development

Posted by: coldwaterq.6258

coldwaterq.6258

Something I would like to see added to the items api is for the vendors that the item can be purchased from to be included, along with the price those vendors charge. Alternatively the lowest price charged by a vendor would also be nice.

API CDI 2015

in API Development

Posted by: ClockworkUnltd.2690

ClockworkUnltd.2690

For the authenticated api, I would like to request adding the time a particular skill was last used.

API CDI 2015

in API Development

Posted by: Lawton Campbell

Previous

Lawton Campbell

Web Programmer

Next

Something I would like to see added to the items api is for the vendors that the item can be purchased from to be included, along with the price those vendors charge. Alternatively the lowest price charged by a vendor would also be nice.

This is on my list, but it’s pretty far down as it is actually quite difficult to determine which vendors are (or have been) player-accessible, and under what conditions they’ll actually sell their items. Some additional discussion in this thread.

For the authenticated api, I would like to request adding the time a particular skill was last used.

This is more-or-less infeasible. The data we have access to is always between 1 and 5 minutes stale. The stream of data that could meaningfully contain skill usages (e.g., the raw logs) may be even more out-of-date.

Basically, none of the APIs actually talk to game servers and are heavily cached, so real-time info isn’t going to happen.

API CDI 2015

in API Development

Posted by: quenoz.3859

quenoz.3859

Out-of-game guild chat is definitely something I want to have

that is great to hear!

The Unlikely Plan [TUP] Raid Leader

API CDI 2015

in API Development

Posted by: Ravenmoon.5318

Ravenmoon.5318

With the possibility of authentication there ought to be some guild-roster-api, but i don’t know how this should be implemented. Obviously there should be a setting in the ingame privileges tab like “API-Access” which grants those rights to a specivic guild group.

Probably not going to be an in-game opt-in for this. Anyone in the guild can already see the roster in-game, so it doesn’t make sense to hide the roster from them out-of-game.

i would be really excited about a possibility to have guild chat outside of the game too, maybe somewhat like twitch allows to connect to their irc: http://help.twitch.tv/customer/en/portal/articles/1302780-twitch-irc

Out-of-game guild chat is definitely something I want to have, but we haven’t really settled on a protocol for it yet. XMPP, IRC and “something custom with HTTP+SSE” have all been tossed around as potentials but it’s not immediately clear which is most advantageous to implement. As far as interoperability with existing clients, IRC’s probably the winner (though it’s a horrible mess of a protocol).

Go with your own protocol. People are doing chatrooms with Node.js and socket.io ever since it released. WebSockets is a nice TCP/IP wrapper and is supported on all major browsers. Its easy to write against it so I can see client apps being developed around it too. If you limit the messages to 128 bytes, you won’t have to ever implement the protocol chunking, which saves you loads of work.

IRC is older than me (I’m 24 years old), it is time to let it go xD

WebSockets usability info: http://caniuse.com/#feat=websockets

(edited by Ravenmoon.5318)

API CDI 2015

in API Development

Posted by: dlonie.6547

dlonie.6547

IRC is older than me (I’m 24 years old), it is time to let it go xD

This is actually an advantage to using IRC (or another off-the-shelf technology) — existing chat clients already understand it and third party apps can use existing libraries since the protocol has had time to gain acceptance.

IRC has some cobwebs for sure, but everything understands it

Not to mention that it will only require them to develop an interface layer between GW2 chat and IRC, rather than build (and test and maintain) their own protocol/server implementation.

Gah. Now I sound like my boss does when I get carried away, wanting to rewrite everything myself. kitten I hate the real world >.<

API CDI 2015

in API Development

Posted by: Arcan Soulstorm.4356

Arcan Soulstorm.4356

I’d like to see a flag for waypoints in keeps and SMC in WvW as they are visble to every player by looking on the map.

API CDI 2015

in API Development

Posted by: mahri.8410

mahri.8410

I would like the API to provide location coordonates of players. If I would be able to see my guildmates location on Tyria map in a web app, there would be more collaboration.

Also, another suggestion for the API is 3D asset streaming. Currently, only 2D assets could be displayed, such as items. What I suggest here is 3D asset streaming.

This could be done in multiple ways . I’ve linked here a PDF called 3D mesh streaming based on predictive modelling :
http://thescipub.com/abstract/10.3844/jcssp.2012.1123.1133 (click read full pdf)

What I suggest is something like this: Let’s say we have a 3D model of a lion statue from the submerged Lion Arch. That statue is isolated, and more photos are taken around it, at different angles and zoom levels. The photos are stored on the server, associated with the respective asset. API users could request various photos. On the app side, the images are combined in spherical shapes ( think of Google Street View), with different sizes, based on zoom. So, that asset could be viewed in 3D inside the app.
I would suggest png format streaming, because it supports transparency. This could also be done for animations and particle effects.

(edited by mahri.8410)

API CDI 2015

in API Development

Posted by: ClockworkUnltd.2690

ClockworkUnltd.2690

I would like the API to provide location coordonates of players. If I would be able to see my guildmates location on Tyria map in a web app, there would be more collaboration.

I believe this can be done with the mumble API. It includes your coordinates, plus other information (such as the direction you are facing, etc). Others have created apps where you can track your own movement. Building on this, you should be able to centralize this information and display it to any users you wish to convey the information to.

API CDI 2015

in API Development

Posted by: Lawton Campbell

Previous

Lawton Campbell

Web Programmer

Next

IRC is older than me (I’m 24 years old), it is time to let it go xD

This is actually an advantage to using IRC (or another off-the-shelf technology) — existing chat clients already understand it and third party apps can use existing libraries since the protocol has had time to gain acceptance.

IRC has some cobwebs for sure, but everything understands it

I’m in the IRC boat myself, but arguably XMPP shares the same “doesn’t need a custom client” properties. Also, calling IRC cobwebby is a bit of an understatement — the protocol is riddled with all kinds of undocumented extensions and it really baffles me that clients are even capable of communicating with the wide range of implementations that they do.

The main issue with IRC/XMPP is that it would require a bridge to use within a browser. We need to internally figure out what our most common use-cases for a chat endpoint will be, I think.

There’s also an authentication issue with IRC/XMPP that I’m not sure how best to handle (e.g., OAuth2 isn’t really going to work for it), but eh.

I would like the API to provide location coordonates of players. If I would be able to see my guildmates location on Tyria map in a web app, there would be more collaboration.

This probably won’t be technically feasible. We don’t have real-time access to character data (it can be up to 5 minutes stale).

Also, another suggestion for the API is 3D asset streaming. Currently, only 2D assets could be displayed, such as items. What I suggest here is 3D asset streaming.

I’d prefer to just provide the 3D models and textures in a common format, then let the application render them directly with e.g., WebGL. Makes everything a bit less complicated.

Whether or not that’s something we can provide is a question that’s above my pay grade :P

As far as pre-rendered stuff goes, I really really want to provide character portraits though. There are some outstanding difficult-to-solve issues with rendering on servers that we’d have to sort out first though, so it’s probably not going to happen for a long while.

API CDI 2015

in API Development

Posted by: aRestless.6213

aRestless.6213

Whether or not that’s something we can provide is a question that’s above my pay grade :P

Even if you could decide that – you shouldn’t do it. There are already copy-paste low budget games out there that simply copy the Guild Wars 2 UI. Throwing out models and textures in a convenient easy-to-use format would only extend this content theft to all kinds of assets.

Edit, to avoid double post:

I would like the API to provide location coordonates of players. If I would be able to see my guildmates location on Tyria map in a web app, there would be more collaboration.

I believe this can be done with the mumble API.

Yep. Markers can already do that, although it would display your guild members on the ingame map instead of a web app. However, as soon as the current update is finished (features, performance, stability… ugh, I hate JavaScript) I’ll get in touch with the creators of various map-rendering projects to achieve interoperability. I’ll probably be able to provide a simple JavaScript wrapper that handles communication with a share server and spits out information about player positions and so on.

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: Rising Dusk.2408

Rising Dusk.2408

You’d go to the app’s webpage, which would redirect you to the official sign-ins. After signing in, you’d be presented with an authorization prompt telling you what permissions the app is requesting. Clicking a “accept” button would send you back to the app and give the app a token they can use to make authenticated API requests on your behalf.

So, an example app, “pingyourgear.com”, might allow you to list your party members by name. You could them send them to the app — they’d log in and grant the app access to view their equipment. The app would pull their equipment and update it on your screen. The app could additionally save authentication tokens (with the user’s permission) so they’d only have to opt-in once — so any party members you add who’ve already used the app could have their current gear appear immediately on your UI.

Makes perfect sense. Thanks so much for the very thorough walkthrough of the typical usage model!

[VZ] Valor Zeal – Stormbluff Isle – Looking for steady, casual-friendly NA raiders!

API CDI 2015

in API Development

Posted by: McWolfy.5924

McWolfy.5924

Befor release anet promised mobile apps. I think its a great opportunity to rise the gaming experience. Chat, tp buy-sell, something SAB kind of game (or SAB itself) etc…
Now we only have event timers, tp price check and wiki
I realy want to log in from my mobile and enjoy a part of the game

WSR→Piken→Deso→Piken→FSP→Deso
Just the WvW
R3200+

API CDI 2015

in API Development

Posted by: Tub.4560

Tub.4560

Also, calling IRC cobwebby is a bit of an understatement — the protocol is riddled with all kinds of undocumented extensions and it really baffles me that clients are even capable of communicating with the wide range of implementations that they do.

eh.. the extensions are either channel modes/user modes which a client is allowed to ignore, or arcane protocols for server-to-server communication. A client implementing all of RFC 1459 must work with all IRC servers, and a server implementing nothing but RFC 1459 must work with all clients. Implementing just some core functionality would be sufficient for everything.

That being said, I dislike IRC and XMPP because they’re unencrypted (or only optionally encrypted). I really don’t want external apps to start sending my guild chat unencrypted over the wire. I’m aware that all ingame-chat is fully logged by arenanet and thus should never be used for confidential information, but that doesn’t mean it should be readable by just anyone.

I also insist that it is always possible to see who is logged into the chat, including API logins. If someone decides to run a 24/7 logging-bot, I want to know.

As for feature requests: Eventually, I’d like to be able to export my character with weapon, armor and dyes in a pre-selected pose as a 3d model. You know, 3d printers. Not sure if that’s feasible (doesn’t the posing rely on vertex shaders, which are difficult to emulate on CPU?), but it’d be cool.

API CDI 2015

in API Development

Posted by: munkiman.3068

munkiman.3068

This probably won’t be technically feasible. We don’t have real-time access to character data (it can be up to 5 minutes stale).

I’m confused, this is possible now with mumble tracking, can you not write an extension that utilizes that code? This seems pretty straight forward to me and something mentioned before the game launched.

[TAO] Founder/Owner and Administrator for the NSP Server Website

API CDI 2015

in API Development

Posted by: Teranas.6150

Teranas.6150

I’m confused, this is possible now with mumble tracking, can you not write an extension that utilizes that code? This seems pretty straight forward to me and something mentioned before the game launched.

I suppose mumble retrieves its data directly from client side in real time meanwhile the API retrieves its data from pre cached databases of the server. This data will be pretty fast outdated when you get them from the API.

Two very different mechanisms.

API CDI 2015

in API Development

Posted by: Pat Cavit.9234

Previous

Pat Cavit.9234

Web Programming Lead

Next

Befor release anet promised mobile apps. I think its a great opportunity to rise the gaming experience. Chat, tp buy-sell, something SAB kind of game (or SAB itself) etc…
Now we only have event timers, tp price check and wiki
I realy want to log in from my mobile and enjoy a part of the game

That team hasn’t existed for years (I know, I was on it) it wasn’t going to ship anything unless we cut lots of stuff. The “Extended Experience” was doomed by a number of factors that aren’t worth going into, but I wouldn’t hold your breath for it to return in that form.

API CDI 2015

in API Development

Posted by: Lawton Campbell

Previous

Lawton Campbell

Web Programmer

Next

I’m confused, this is possible now with mumble tracking, can you not write an extension that utilizes that code? This seems pretty straight forward to me and something mentioned before the game launched.

I suppose mumble retrieves its data directly from client side in real time meanwhile the API retrieves its data from pre cached databases of the server. This data will be pretty fast outdated when you get them from the API.

Two very different mechanisms.

Pretty much on the money.

API CDI 2015

in API Development

Posted by: Erunno.3295

Erunno.3295

Is it possible to allow more than one value in the “lang”-parameter? Or “all” as possible value? This would allow to get more than one language with one request and would make these almost redundant requests required at the moment obsolete.

API CDI 2015

in API Development

Posted by: smiley.1438

smiley.1438

This would allow to get more than one language with one request and would make these almost redundant requests required at the moment obsolete.

This is what i’ve requested more than once, see also:

https://github.com/codemasher/api-cdi/commit/02fd35622ef844e3d8c2d7974e462c8478f6def2
https://github.com/codemasher/api-cdi/commit/c105219b42413e047ce0e985dca93a13910c5817

API CDI 2015

in API Development

Posted by: katz.8376

katz.8376

Is it feasible to add swords popping on a WvW objective to the API?

Druids of Dhuum [DoD]|Rally Bait [RALY]
~o hai there :D~ LONG LIVE ET

API CDI 2015

in API Development

Posted by: Pat Cavit.9234

Previous

Pat Cavit.9234

Web Programming Lead

Next

Is it possible to allow more than one value in the “lang”-parameter? Or “all” as possible value? This would allow to get more than one language with one request and would make these almost redundant requests required at the moment obsolete.

Potentially, but it isn’t something we’ve spent much time looking at just yet.

It raises a lot of format questions for me as to what the actual response would look like. Would it be the regular, language-specific responses repeated n times (where n is the number of requested languages)? That’s going to be a huge response for some endpoints. There are other options but it requires us to write a bunch more code to support it by changing the responses we get (remember, the API frontend you talk to is a middle-man) and I don’t really think it’s worth it.

Why do you need multiple languages in a single response?

API CDI 2015

in API Development

Posted by: Erunno.3295

Erunno.3295

Why do you need multiple languages in a single response?

I want to let the user search for items by different criterias. So my plan was to parse the data into a database and use indexes for the searches. To support several language i need to know the item names in theese languages. It is not a big problem to repeat the request and ignore everything except the names, but it would be easier to just fire one request and get everything I need.
Most of the data the apis provide doesn’t change very frequently, so imho it is feasible to cache it even without a database in the back.
The format smiley used in his pull-requests looks good to me. And if only one language is requested, it stays just like it is now.

P.S. There is a working work-around, so this is no high prio of course.

API CDI 2015

in API Development

Posted by: Pat Cavit.9234

Previous

Pat Cavit.9234

Web Programming Lead

Next

Why do you need multiple languages in a single response?

I want to let the user search for items by different criterias. So my plan was to parse the data into a database and use indexes for the searches. To support several language i need to know the item names in theese languages. It is not a big problem to repeat the request and ignore everything except the names, but it would be easier to just fire one request and get everything I need.
Most of the data the apis provide doesn’t change very frequently, so imho it is feasible to cache it even without a database in the back.
The format smiley used in his pull-requests looks good to me. And if only one language is requested, it stays just like it is now.

P.S. There is a working work-around, so this is no high prio of course.

Yeah, the problem I see with smiley’s PRs is that we have to write code for every endpoint to add comprehensions for the specific fields and transform them into objects. It’s not impossible of course, it’s just not a very good bang-for-our-buck change. We could work out a system to make marking up those fields easier or even diffing between responses from the backends but again, more important things atm.

We’ll keep it on the backburner, /v2 isn’t the end of the APIs & I’d like whatever comes next to offer more flexibility on things like this.

API CDI 2015

in API Development

Posted by: Teraphas.6210

Teraphas.6210

A request. I don’t do much work with api so i don’t know if this is possible. Could it either be made an api or an ingame option to track the storyline choices we have made?

say i am playing a second or third etc character of a race and i did the story so long ago that i don’t remember which missions i chose the first time. Could there be a way to see which paths we chose before. Nothing worse then either remembering wrong and having to restart. I had to reroll a charr because i forgot what legion i had made my first one and accidentally made my new one the same.

Yes i could (and had but lost)making notes as to which choices i make but with 8(and soon to be9) characters that is a lot of notes. and i could(and have) paused and consulted the awesome wiki but that takes a good bit of time and spoilers to read each mission to find out which you did before.

i saw talk here of being able to call up personal and account inventory stuff and was curious if the story and character creation choices were outside the realm of possibility.

especially if this was an ingame option(off by default probably) that showed up a little red text like when you know a recipe saying choice taken(maybe even with the number of times you have taken it) this would be great for us that are looking to explore all the various story paths and get a greater understanding of the Lore. especially since characters and events from certain arcs make their way into the LS.

You can’t spell Slaughter without Laughter

API CDI 2015

in API Development

Posted by: Lawton Campbell

Previous

Lawton Campbell

Web Programmer

Next

A request. I don’t do much work with api so i don’t know if this is possible. Could it either be made an api or an ingame option to track the storyline choices we have made?

say i am playing a second or third etc character of a race and i did the story so long ago that i don’t remember which missions i chose the first time. Could there be a way to see which paths we chose before. Nothing worse then either remembering wrong and having to restart. I had to reroll a charr because i forgot what legion i had made my first one and accidentally made my new one the same.

That’s already a thing. Check the “My Story” section of the “Story Journal” tab of the Hero Panel. The first entry has icons in the lower-right corner with tooltips indicating which character creation choices you made, and the other entries detail the choices you’ve made throughout your personal story.

It doesn’t give you the tl;dr “You pressed option 3” but it’s enough text to figure out which choice you chose.

API CDI 2015

in API Development

Posted by: Teraphas.6210

Teraphas.6210

yes but i mean as i am progressing the new character. I know the info is there but when i get to the end of the mission and need to make a choice i realize i have once again forgotten to write down what i have done before.

would just be nice to be able to turn it on ingame or use my phone or other monitor to quickly double check what pathes i have done with someone’s app that uses the api.

not hugely important but if the info is there would be nice to access it without having to jump on that charracter

You can’t spell Slaughter without Laughter

API CDI 2015

in API Development

Posted by: Valento.9852

Valento.9852

Attempts at ele specs:
Shaman
Conjurer

API CDI 2015

in API Development

Posted by: Lawton Campbell

Previous

Lawton Campbell

Web Programmer

Next