Varonth.5830:

Yeah, let’s just compile all of our suggestions into one thread. Does seem like a good idea to me.

I am also going to list what we have so far.

  • General
    • Personalised information via OAuth
    • HTTP access for non critical data
    • Multi-Language requests (without the lang parameter, you get all localisations at once).
  • Events
    • Datetime informations for events
    • Coordinates for events
    • Add map_id to the response
    • Level of the event
    • Number of people participating in the event
    • Scaling of the event
    • Meta that it is part of
    • If it is a Group Event
  • Recipes
    • Field indicating if the recipe is a refine, part or item – different xp gained for each. Unless type is supposed to fill that function
    • Which craftingprofessions can use this recipe
    • Recipe source. Discovery, learned automatically, learned from recipe(breadcrumb to recipe IE “35 karma, Scholar Tholin – Krongar Pass(Timberline Falls 50-60)”)
    • Recipe name
    • Generated Item ID for recipe item if needed
  • WvW
  • PvP (alot of these require the OAuth implementation first)
    • User informations:
      • Profession usage
      • Rank/ELO rating/GLICKO rating
      • Match results
      • If player is playing
    • Leaderboards
  • New API suggestions
    • Requesting guildnames
      • Suggested feature ingame: guild leaders may add additional info and tags which could be used for an advanced search aka. guild recruitment tool.
      • Vault informations
      • Guild roster
      • List of upgrades purchased/available/queued/etc
      • Insignia image
    • Requesting skill and trait informations
    • Request of current build number. This could also include additional informations, like datetime of the last patch
    • Character informations (needs OAuth implementation first)
      • Character Names
      • Race
      • Portrait image link (the one you get when you target someone. Presumably these are pre-baked and downloaded from somewhere?)
      • Represented Guild
      • Chosen Organisation (Whispers, Priory, Vigil, None)
      • Charisma, Dignity, Ferocity values
      • Currently selected title
      • Full list of guild memberships
      • Amount of currency
      • Amount of inventory space
      • Map completion status
      • World completion status
      • Heart completion status
    • Personal Achievement API (needs OAuth implementation first)
      • Achievement status for individual achievements
      • Total points
    • Public Achievement API
      • Just like items etc, an API to request all the Achievements ingame with value etc
    • Map API
      • Population on Maps
      • Number of overflows
      • Population of overflows
      • Ability to pull up an image of the map area
      • List of hearts available
      • Level scaling of Map

Varonth.5830:

Reserving, just in case

smiley.1438:

  • Items
    • Item codes used to link items ingame

Well, you can calculate the Itemcodes on your own (ofc it would be easier to get them via the API…)
http://wiki.guildwars2.com/wiki/Chat_link_format
http://wiki-de.guildwars2.com/wiki/Benutzer:Drake_Shadowstorm/Sandkasten7

  • New API suggestions
    • Requesting guildnames

Suggested feature ingame: guild leaders may add additional info and tags which could be used for an advanced search aka. guild recruitment tool.

Varonth.5830:

  • Items
    • Item codes used to link items ingame

Well, you can calculate the Itemcodes on your own (ofc it would be easier to get them via the API…)
http://wiki.guildwars2.com/wiki/Chat_link_format
http://wiki-de.guildwars2.com/wiki/Benutzer:Drake_Shadowstorm/Sandkasten7

  • New API suggestions
    • Requesting guildnames

Suggested feature ingame: guild leaders may add additional info and tags which could be used for an advanced search aka. guild recruitment tool.

I saw the Item code thing. I just compiled every suggestion in the other threads so far.
Added the ingame suggestion for guild.

Ironfist.2895:

a Character API in general to be able to pull the following basic info

  • Character Name
  • Race
  • Class
  • Portrait image link (the one you get when you target someone. Presumably these are pre-baked and downloaded from somewhere?)
  • Represented Guild

A couple of small things I’d personally like that would be nice to get but not required:

  • Chosen Organisation (Whispers, Priory, Vigil, None)
  • Charisma, Dignity, Ferocity values

being able to get Achievements in the Leaderboards API would be good as well (total points and overall rank if possible)

Killer Rhino.6794:

I was expecting some lerp’ed coordinates to come with the event infos. That way we could map locations of active events onto a map of the zone they’re occurring in.

smiley.1438:

I’m currently creating a local database for most of the static stuff – a corresponding map_id for every event would make life easier.

The Talcmaster.7391:

Adding on to the character API ideas:

  • Full list of guild memberships
  • Karma and Coin amounts
  • Inventory space
  • List of accomplished Achievements

I also don’t recommend hiding most of the information because it could make for some really interesting demographic data about a world, area, event, etc. Just hide any unique IDs or names and return the rest. On that note, some things I would like to see added to a Map based API:

  • Current Map Population
  • Number of Overflows
  • Specific Overflow populations
  • Ability to pull up an image of the map area
  • List of hearts available
  • Level scaling of Map
    A count of the number of active events would be nice too, but that can already be rolled up. As for Guild API:
  • List of associated accounts (and their rep/online status)
  • Number of total accounts and also characters associated with guild
  • List of upgrades purchased/available/queued/etc
  • Insignia image

Some of this will need to be hidden, but I think most people would like the guild name, size and insignia at least to be available to websites. Additions to the Event API:

  • Level of the event
  • Number of people participating in the event
  • Scaling of the event
  • Meta that it is part of
  • If it is a Group Event

Mungrul.9358:

Sorry, not a programmer at all, but I’m wondering if it would be possible using these tools to make something that tracks the status of Orrian temples and notifies you when a particular Karma vendor is available and what server they’re available on?

anzenketh.3759:

Sorry, not a programmer at all, but I’m wondering if it would be possible using these tools to make something that tracks the status of Orrian temples and notifies you when a particular Karma vendor is available and what server they’re available on?

From what I understand of the API yes. You would want to look for a recent success.

Geozz.7082:

Hi all,

First of all : Thanks to Arena net to provide such tools !!

If found something that, in my opinion, is not really a good idea :

In the JSON event :

{"events":[{"world_id":2301,map_id,“event_id”:“CFBC4A8C-2917-478A-9063-1A8B43CC8C38”,“state”:"Success"}]}

world_id and map_id values are integer/number but in map_names and world_name the values are strings.

It’s confusing when you don’t pay attention.

Geozz

Maugrey.4063:

Just one small sugesstion, about the events.json :
- possibility to call the service with multi-value

For example, a list of event on differents servers :
– events.json?world_id=1001,1002&event_id=5FFE9CFD-E39B-4750-9F73-C399C2448EAB,FDF62772-EB62-43CD-96DE-C6B4F040CA3A,CCBD0048-2D02-449F-AEB3-384A562E7A32 (or whatever the format of the parameters).

It would be really great.
For the moment, the only solution is to call once all the event, or call one event at a time.

smiley.1438:

Just noticed, that the recipe_details API doesn’t return a name for a given id – so, please add the name and also the item_id for the recipe-item which unlocks the given recipe (if applies)

https://api.guildwars2.com/v1/recipe_details.json?recipe_id=1&lang=en

Varonth.5830:

Added the new stuff suggested.

DarkSpirit.7046:

Adding this other suggestion thread:

https://forum-en.guildwars2.com/forum/community/api/Item-Recipe-API-suggestions/first#post2065694

DarkSpirit.7046:

Sorry, not a programmer at all, but I’m wondering if it would be possible using these tools to make something that tracks the status of Orrian temples and notifies you when a particular Karma vendor is available and what server they’re available on?

In theory, yes there is that potential but because of the existing bugs in this API, we have not figured out a good way to do that at the moment. I am waiting for the next game patch, which is expected to fix these bugs, before looking into this again.

Unless someone would like to enlighten us by providing a working example.

smiley.1438:

Oh, while we’re at it: what about adding all languages to a response instead of retrieving 4 responses? So that a response for https://api.guildwars2.com/v1/item_details.json?item_id=29175 would look like this:

{
	item_id: "29175",
	name: {
		de: "Der Jäger",
		en: "The Hunter",
		es: "El Cazador",
		fr: "Le chasseur"
	}
	description: {
		de: "<c=@flavor>Diese Waffe wird verwendet, um das legendäre Gewehr "Das Raubtier" zu fertigen</c>",
		en: "<c=@flavor>This weapon is used to craft the legendary rifle The Predator</c>",
		es: "<c=@flavor>Esta arma se usó para forjar el legendario rifle El Depredador</c>",
		fr: "<c=@flavor>Cette arme sert à fabriquer le légendaire fusil Prédateur.</c>"
	}
	type: "Weapon",
	level: "80",
	rarity: "Exotic",
	vendor_value: "396",
	game_types: [
		"Activity",
		"Dungeon",
		"Pve",
		"Wvw"
	],
	flags: [
		"HideSuffix"
	],
	restrictions: [ ],
	weapon: {
		type: "Rifle",
		damage_type: "Physical",
		min_power: "986",
		max_power: "1205",
		defense: "0",
		infusion_slots: [ ],
		infix_upgrade: {
			buff: "",
			attributes: [
				{
					attribute: "Power",
					modifier: "179"
				},
				{
					attribute: "Precision",
					modifier: "128"
				},
				{
					attribute: "CritDamage",
					modifier: "9"
				}
			]
		},
		suffix_item_id: "24561"
	}
}

This way you could reduce requests and traffic beside making our lives easier

Varonth.5830:

Oh, while we’re at it: what about adding all languages to a response instead of retrieving 4 responses? So that a response for https://api.guildwars2.com/v1/item_details.json?item_id=29175 would look like this:

{
	item_id: "29175",
	name_de: "Der Jäger",
	name_en: "The Hunter",
	name_es: "El Cazador",
	name_fr: "Le chasseur",
	description_de: "&lt;c=@flavor&gt;Diese Waffe wird verwendet, um das legendäre Gewehr "Das Raubtier" zu fertigen&lt;/c&gt;",
	description_en: "&lt;c=@flavor&gt;This weapon is used to craft the legendary rifle The Predator&lt;/c&gt;",
	description_es: "&lt;c=@flavor&gt;Esta arma se usó para forjar el legendario rifle El Depredador&lt;/c&gt;",
	description_fr: "&lt;c=@flavor&gt;Cette arme sert à fabriquer le légendaire fusil Prédateur.&lt;/c&gt;",
	type: "Weapon",
	level: "80",
	rarity: "Exotic",
	vendor_value: "396",
	game_types: [
		"Activity",
		"Dungeon",
		"Pve",
		"Wvw"
	],
	flags: [
		"HideSuffix"
	],
	restrictions: [ ],
	weapon: {
		type: "Rifle",
		damage_type: "Physical",
		min_power: "986",
		max_power: "1205",
		defense: "0",
		infusion_slots: [ ],
		infix_upgrade: {
			buff: "",
			attributes: [
				{
					attribute: "Power",
					modifier: "179"
				},
				{
					attribute: "Precision",
					modifier: "128"
				},
				{
					attribute: "CritDamage",
					modifier: "9"
				}
			]
		},
		suffix_item_id: "24561"
	}
}

This way you could reduce requests and traffic beside making our lives easier

Well, I will add it to the list for now, but I think this should be specified more. I think, instead of always requesting all languages, the optional parameter should still exist.

There are alot of reason to not query all the languages at all times.

smiley.1438:

There are alot of reason to not query all the languages at all times.

This may be true for the events list which would grow huge if it delivers all languages but for those detailed requests it may be fine

simple calculation:

the original response is ~650 bytes
this * 4 languages * ~25k items = 65MB traffic

the response i suggested is ~1050 bytes
this * ~25k items = 26.25MB traffic and 1/4 of the requests