New endpoints: guild ranks/members.

New endpoints: guild ranks/members.

in API Development

Posted by: Lawton Campbell

Lawton Campbell

Web Programmer

Next

Just wanted to call out that we turned on some new endpoints today (and some new endpoints last week) to start exposing guild stuff.

Note that authenticated guild endpoints are only available to API keys from guild leaders, for now.

Anyway, new endpoints (mostly documented on github because forum formatting is really hard):

Pretty straightforward.

Working on unbitrotting the rest of the guild endpoints for dumping the event log (which contains info to track treasury donations) and stash contents, as well as adding stuff to track the current treasury status.

New endpoints: guild ranks/members.

in API Development

Posted by: Nabrok.9023

Nabrok.9023

A lot of my members have the join date as null. I’m guessing that’s because this was only tracked after a certain date and those people joined before that date.

What is that date?

“I’m not a PvE, WvW, or PvP player – I am a Guild Wars 2 player”
Tarnished Coast – Dissentient [DIS]
All classes

New endpoints: guild ranks/members.

in API Development

Posted by: Lawton Campbell

Previous

Lawton Campbell

Web Programmer

Next

A lot of my members have the join date as null. I’m guessing that’s because this was only tracked after a certain date and those people joined before that date.

What is that date?

Looks like the change that added join time tracking was integrated into the live branch on March 19, 2013. Usually once something’s on the live branch it’s live in a matter of days, but I’m not sure where the deploy logs live (or how to query them) so I’m not sure I can get more accurate than that.

New endpoints: guild ranks/members.

in API Development

Posted by: Nabrok.9023

Nabrok.9023

Good enough, thanks!

“I’m not a PvE, WvW, or PvP player – I am a Guild Wars 2 player”
Tarnished Coast – Dissentient [DIS]
All classes

New endpoints: guild ranks/members.

in API Development

Posted by: Awolf.9123

Awolf.9123

Is there any chance we’ll be able to see the online/offline status of guild members on the roster through the API? I’d love to create a graph to see peak activity times.

New endpoints: guild ranks/members.

in API Development

Posted by: Lawton Campbell

Previous

Lawton Campbell

Web Programmer

Next

Is there any chance we’ll be able to see the online/offline status of guild members on the roster through the API? I’d love to create a graph to see peak activity times.

Seems reasonable. Created a github issue for this.

New endpoints: guild ranks/members.

in API Development

Posted by: Markus.6492

Markus.6492

/v2/guild/permissions is not located

Guild: Teufelspack [Arrr]
Function: Captain

New endpoints: guild ranks/members.

in API Development

Posted by: Lawton Campbell

Previous

Lawton Campbell

Web Programmer

Next

/v2/guild/permissions is not located

Were you looking for https://api.guildwars2.com/v2/guild/permissions?

New endpoints: guild ranks/members.

in API Development

Posted by: Foghladha.2506

Foghladha.2506

Any chance we can get Last Login added to the members list?

Benjamin “Foghladha.2506” Foley
Founder, Gaiscioch Community [GSCH] | Gaiscioch Magazine | Twitch | YouTube | Twitter
Proud Resident of Mercenary Server Sanctum of Rall | 6 Year Extra-Life Charity Event Participant

New endpoints: guild ranks/members.

in API Development

Posted by: Teddiebear.1573

Teddiebear.1573

/v2/guild/permissions is not located

Were you looking for https://api.guildwars2.com/v2/guild/permissions?

Going out on a limb and think he is referring to it not being localized into, say German.
Not sure if its normal to localize these though, seeing as they look like property strings and not actual text strings.

New endpoints: guild ranks/members.

in API Development

Posted by: Lawton Campbell

Previous

Lawton Campbell

Web Programmer

Next

/v2/guild/permissions is not located

Were you looking for https://api.guildwars2.com/v2/guild/permissions?

Going out on a limb and think he is referring to it not being localized into, say German.

The endpoint totally supports localization :/

Any chance we can get Last Login added to the members list?

It’s on the todo list

New endpoints: guild ranks/members.

in API Development

Posted by: Teddiebear.1573

Teddiebear.1573

/v2/guild/permissions is not located

Were you looking for https://api.guildwars2.com/v2/guild/permissions?

Going out on a limb and think he is referring to it not being localized into, say German.

The endpoint totally supports localization :/

Any chance we can get Last Login added to the members list?

It’s on the todo list

My bad, had to add ids=all for it to display it, so that it includes the actual textstrings.

On an unrelated note, how goes the unbitrotting of the rest of the guild API? Any ETA?

New endpoints: guild ranks/members.

in API Development

Posted by: Lawton Campbell

Previous

Lawton Campbell

Web Programmer

Next

On an unrelated note, how goes the unbitrotting of the rest of the guild API? Any ETA?

Eh, ran into some minor technical issues with exposing the event log but everything else is coming along. Not planning on releasing anything else this year (this is the last week before our holiday break), but I’m hoping to turn on the treasury and stash bits sometime in January.

New endpoints: guild ranks/members.

in API Development

Posted by: bxt.7691

bxt.7691

> Any chance we can get Last Login added to the members list?

Ideally also if they are repping the guild or not, so perhaps three states: Repping, NotRepping and Offline. If that isn’t possible maybe a Last Rep date on top of the last log in?

New endpoints: guild ranks/members.

in API Development

Posted by: dagneyandleo.6378

dagneyandleo.6378

So, already put a bit of a thing together authenticating Slack signups based on the members API (I’m very very lucky to have Liss in my guild ). Please tell me if you are able to break this so I can fix it: http://gw2mathhammer.com/slack.html

I almost feel guilty asking for a feature request cause everything’s so awesome but…

Is there any chance we could have the upgrades list the vendors they come from? I’ve got guild-aggregated list from a few people (http://gw2mathhammer.com/js/aetherium/upgradedata.js), but I would love to be able to pull from the API instead of crowd-sourcing guildies. Categories/vendors make it a bit unmanageable though.

[KnT] Blackgate
Lythereal Fields, lvl 80 mesmer, Lythiele, lvl 80 ele, and Lythigrr, lvl 80 guard

New endpoints: guild ranks/members.

in API Development

Posted by: queicherius.2563

queicherius.2563

Here is part of what I made for gw2efficiency: https://gist.github.com/queicherius/eb41a5ad53923884234c

Maybe that helps

New endpoints: guild ranks/members.

in API Development

Posted by: Lawton Campbell

Previous

Lawton Campbell

Web Programmer

Next

Any chance we can get Last Login added to the members list?

Ideally also if they are repping the guild or not, so perhaps three states: Repping, NotRepping and Offline. If that isn’t possible maybe a Last Rep date on top of the last log in?

Can definitely look into it. If the rep status is on there, it’ll definitely be separate from the online/offline field — the tristate doesn’t support the “offline but repping” pair. I’m pretty sure last rep date isn’t tracked on the backend though, so that likely won’t be in there (might be wrong).

Is there any chance we could have the upgrades list the vendors they come from? I’ve got guild-aggregated list from a few people (http://gw2mathhammer.com/js/aetherium/upgradedata.js), but I would love to be able to pull from the API instead of crowd-sourcing guildies. Categories/vendors make it a bit unmanageable though.

IIRC when I looked into exposing vendor data in general awhile back it was totally infeasible — the way it works is that there’s a generic “open vendor $id” script command so to only show accessible vendors the backend would have to figure out which scripts it was possible for a player to trigger. A lot of them are pretty easy to figure out since they’re usually tied to dialog options, but there’s a both a handful of debug-only dialogs that you’ll never see as a player, and a handful of vendors that aren’t accessible via dialogs (e.g., the ecto gambling one that you open with an item).

Anyway, the implementation on both our sides would be the same — a hardcoded list. In cases like that I think it’s better to keep it on the application side since you guys can move faster if/when the hardcoded list changes/breaks.

New endpoints: guild ranks/members.

in API Development

Posted by: Holox.3528

Holox.3528

It must not be hardcoded. We are able to check the prerequisites of each upgrade and compare them with the IDs of the “vendor upgrades”. For example the “Guild Armorer 1” (ID 38) has 350 as prerequisite. 350 is the “Market Restoration 1”, so we know the Guild Armorer is part of the Market. Sometimes we must check the prerequisite of the prerequisite to get the “vendor upgrade”, but this technique totally worked for me. The only exception is the “Further Exploration” (ID 641) which has the Tavern as prerequisite but a special vendor. The only hardcoded part are the IDs of the “vendor upgrades” but all other upgrades are modifiable.

(edited by Holox.3528)

New endpoints: guild ranks/members.

in API Development

Posted by: Lawton Campbell

Previous

Lawton Campbell

Web Programmer

Next

It must not be hardcoded. We are able to check the prerequisites of each upgrade and compare them with the IDs of the “vendor upgrades”.

Right, but determining which upgrade vendors are player-accessible is an exceptionally difficult problem — without pulling in a whole bunch of dependencies (e.g., large parts of the game logic) the implementation would just be a whitelist of “these vendors are player-accessible, look at their upgrade lists to determine which vendor sells which upgrades”.

New endpoints: guild ranks/members.

in API Development

Posted by: Teddiebear.1573

Teddiebear.1573

Following up on the “vendorlist” that Holox asked for, are there any upgrades in any of the branches that requires an upgrade from another one, and later on in the tree its the other way around? Kind of hard to explain, but going to try:
Say you have two branches, the tavern and the workshop.
Say an upgrade in the workshop branch requires Tavern 1. You create Tavern 1 and subsequently the workshop upgrade. Then later on when you want to unlock an upgrade in the tavern branch, you see that it requires Workshop 2.
This leaves the two branches with quite high coupling. Are there any upgrades like that or any plans to add this?

On another note though, are there any way to traverse the tree downwards, or do I have to find the first upgrade, then loop through every upgrade and see if the one I found is a requirement? Otherwise just keeping an internal list and adding to that every time a new upgrade is available?

New endpoints: guild ranks/members.

in API Development

Posted by: Lawton Campbell

Previous

Lawton Campbell

Web Programmer

Next

This leaves the two branches with quite high coupling. Are there any upgrades like that or any plans to add this?

So, I just tossed together an upgrade tree visualization thing with vis.js: warning may crash browser (source). Probably want to open it with Chrome because Firefox is choking on it a bit for me.

The per-vendor trees basically start at each of the “Restoration 1” upgrades; from the visualization it doesn’t seem like there’s any coupling at all between the trees. They’re all currently self-contained, though it’s technologically possible for a new upgrade to have cross-tree prerequisites. I don’t work on the game so I have no idea what our future plans are, this is just idle speculation.

Anyway, I’m not very knowledgeable about the upgrade tree; you’re better off having a gander at the data yourself.

On another note though, are there any way to traverse the tree downwards, or do I have to find the first upgrade, then loop through every upgrade and see if the one I found is a requirement? Otherwise just keeping an internal list and adding to that every time a new upgrade is available?

IMO the easiest way is to just fetch all upgrades with the first request (via ?ids=all), then delinearize the objects into either a tree or an edge table. vis.js wants an edge table, so that’s what I’ve done in the example. But yeah, you basically have to do it yourself (sorry).

Also as an aside, vis.js is much more awesome than I expected it’d be.

(edited by Lawton Campbell.8517)

New endpoints: guild ranks/members.

in API Development

Posted by: Teddiebear.1573

Teddiebear.1573

This leaves the two branches with quite high coupling. Are there any upgrades like that or any plans to add this?

So, I just tossed together an upgrade tree visualization thing with vis.js: warning may crash browser (source). Probably want to open it with Chrome because Firefox is choking on it a bit for me.

The per-vendor trees basically start at each of the “Restoration 1” upgrades; from the visualization it doesn’t seem like there’s any coupling at all between the trees. They’re all currently self-contained, though it’s technologically possible for a new upgrade to have cross-tree prerequisites. I don’t work on the game so I have no idea what our future plans are, this is just idle speculation.

Anyway, I’m not very knowledgeable about the upgrade tree; you’re better off having a gander at the data yourself.

Ah, thanks. The reason I was wondering if there were any cross-vendor upgrades, was that otherwise you could use each “restoration” as a marker for which vendor it comes from. If there were any cross-vendor upgrades, it would mess up that idea.

Seeing as at the moment there are not any cross-vendor upgrades, you just need to create a link between the vendors and each restoration, and from there just add everything that depends on the restoration.

On another note though, are there any way to traverse the tree downwards, or do I have to find the first upgrade, then loop through every upgrade and see if the one I found is a requirement? Otherwise just keeping an internal list and adding to that every time a new upgrade is available?

IMO the easiest way is to just fetch all upgrades with the first request (via ?ids=all), then delinearize the objects into either a tree or an edge table. vis.js wants an edge table, so that’s what I’ve done in the example. But yeah, you basically have to do it yourself (sorry).

Also as an aside, vis.js is much more awesome than I expected it’d be.

Aye, seems the only way to really do it, is to parse the whole thing and create a tree like you did with vis.js (Gotta check out that.. The tree looked beautiful in presentation, with a few ugly “paths”)

New endpoints: guild ranks/members.

in API Development

Posted by: Phaeton.9582

Phaeton.9582

> Any chance we can get Last Login added to the members list?

Ideally also if they are repping the guild or not, so perhaps three states: Repping, NotRepping and Offline. If that isn’t possible maybe a Last Rep date on top of the last log in?

Bump


Phaatonn, London UK

New endpoints: guild ranks/members.

in API Development

Posted by: poebel.4780

poebel.4780

Just a quick question, how are “guild leaders” defined?
Is it any rank with all permissions or just the highest rank in the guild or …?

New endpoints: guild ranks/members.

in API Development

Posted by: Lawton Campbell

Previous

Lawton Campbell

Web Programmer

Just a quick question, how are “guild leaders” defined?
Is it any rank with all permissions or just the highest rank in the guild or …?

The top-most rank in the guild UI panel is special; it’s the “leader” rank (has id=1 in the API). It’s not just any rank with all permissions.

New endpoints: guild ranks/members.

in API Development

Posted by: xRemainNameless.3842

xRemainNameless.3842

I would LOVE this endpoint if it could, as others have suggested, show if guild members are currently online. I would like to expand on that idea and ask if it’s possible to view the current map the member is on, along with the map IP address. This would make thing based around attendance tracking VERY easy for guild leaders.

Other than that, keep up the awesome work!

New endpoints: guild ranks/members.

in API Development

Posted by: bxt.7691

bxt.7691

Some potential issue with the ’are they online’ and ’are they repping us’ is when they log in and not auto play, or sit at the char screen, then I’ve noticed that can show them as online and repping just with a location of ’unknown’. So either we need their location too (I guess your map suggestion does that!) or some clearer definition of online.