Maintenance for the week of March 25:
• [COMPLETE] ESO Store and Account System for maintenance – March 28, 9:00AM EDT (13:00 UTC) - 12:00PM EDT (16:00 UTC)

Update 3 API Patch Notes & Change Log (LIVE)

ZOS_JessicaFolsom
ZOS_JessicaFolsom
Community Manager
ESO UI API Patch Notes (Version 100008)
These patch notes highlight the larger changes to the ESO API for Update 3, which is currently on the PTS. For the full, updated API take a look at the newest version of the ESO UI documentation.

Items
We added several new functions for querying item information using an item link as the argument. This API provides a general way to fetch item properties, regardless of the system that owns the item. It also reveals more information about items that were part of systems that didn’t have dedicated query functions for all of their properties. Many systems already return item links such as crafting, trading house, inventory, etc.

Added Item Link API
  • GetItemLinkName
  • GetItemLinkItemType
  • GetItemLinkArmorType
  • GetItemLinkWeaponType
  • GetItemLinkWeaponPower
  • GetItemLinkArmorRating(string itemLink, bool considerCondition)
    • If considerCondition is true, the result value is scaled down based on how damaged the armor is.
  • GetItemLinkRequiredLevel
  • GetItemLinkRequiredVeteranRank
  • GetItemLinkValue(string itemLink, bool considerCondition)
    • If considerCondition is true, the result value is scaled down based on how damaged the armor is.
  • GetItemLinkCondition
    • Return value is a percentage from 0% - 100%.
  • DoesItemLinkHaveArmorDecay
  • GetItemLinkMaxEnchantCharges
  • GetItemLinkNumEnchantCharges
  • DoesItemLinkHaveEnchantCharges
  • GetItemLinkEnchantInfo
  • GetItemLinkOnUseAbilityInfo
  • GetItemLinkTraitInfo
  • GetItemLinkSetInfo
  • GetItemLinkSetBonusInfo
  • GetItemLinkFlavorText
  • IsItemLinkCrafted
  • IsItemLinkVendorTrash
  • GetItemLinkSiegeMaxHP
    • Returns the max HP of the siege created by this item.
  • GetItemLinkQuality
  • GetItemLinkSiegeType
  • IsItemLinkUnique
  • IsItemLinkUniqueEquipped
  • GetItemLinkEquipType
  • IsItemLinkConsumable
  • GetItemLinkCraftingSkillType
  • IsItemLinkEnchantingRune
  • GetItemLinkEnchantingRuneClassification
  • IsItemLinkBound
  • GetItemLinkBindType
  • GetItemLinkGlyphMinMaxLevels
  • GetItemLinkBookTitle
  • IsItemLinkBookKnown

We also added some new functions that take the bagId and slotIndex of an item as arguments.

Added Item API
  • GetItemRequiredLevel
  • GetItemRequiredVeteranRank
  • GetItemCreatorName
  • GetItemArmorType
  • GetItemWeaponType
  • GetItemUniqueId
    • Returns a 64 bit value that uniquely identifies that particular item. To compare these 64 bit values use AreId64sEqual or CompareId64s. Relational operators are not guaranteed to work in all cases.

Gamepad
We are in the early stages of adding PC support for gamepad input. Several functions for querying trigger, stick, and button states will appear in the documentation, but these functions have not yet been enabled.

Bags
We modified the bag API to remove some deprecated information and add more information about free and used slots.

Added Bag API
  • GetBagSize(Bag bagId)
  • GetNumBagUsedSlots(Bag bagId)
  • GetNumBagFreeSlots(Bag bagId)

Removed Bag API
  • GetBagInfo(Bag bagId)
    • This function has been replaced with GetBagSize because the icon return value was no longer valid.

Guild Rank Icons
Guild rank icons were previously static textures assigned to each rank, but now players can select from a range of icons when creating or editing a rank. These new API functions reflect this change. You can query the icon index for a guild rank using GetGuildRankIconIndex and then query texture paths using the index as an argument with the other functions. Existing helper functions such as GetFinalGuildRankTextureLarge will continue to work. Functions that used to map from a rank to a hard coded texture path such as GetDefaultGuildRankTextureLarge no longer exist.

Added New Guild Rank Icon API
  • GetGuildRankIconIndex
  • GetNumGuildRankIcons
  • GetGuildRankSmallIcon
  • GetGuildRankLargeIcon
  • GetGuildRankListHighlightIcon
  • GetGuildRankListUpIcon
  • GetGuildRankListDownIcon
    • Removed Old Guild Rank Icon API
  • GetDefaultGuildRankTextureListUp
  • GetDefaultGuildRankTextureListDown
  • GetDefaultGuildRankHighlight
  • GetDefaultGuildRankTextureLarge
  • GetDefaultGuildRankTextureSmall

Guild Kiosk (Trader)
New functions and events were added to support guild kiosks. These functions (except for GetKioskPurchaseCost and GetGuildOwnedKioskInfo) will only return results while the player is interacting with a guild kiosk.

Added Guild Kiosk API
  • GetKioskBidWindowSecondsRemaining
  • GetKioskGuildInfo
    • Returns information about the guild you are inquiring on behalf of.
  • GuildKioskBid
  • GuildKioskPurchase
  • GetGuildOwnedKioskInfo
    • Returns the name of the kiosk that the guild owns.
  • GetKioskPurchaseCost
    • Returns the cost to purchase an unclaimed guild kiosk.

Added Guild Kiosk Events
  • EVENT_GUILD_KIOSK_CONSIDER_BID_START
  • EVENT_GUILD_KIOSK_CONSIDER_BID_STOP
  • EVENT_GUILD_KIOSK_CONSIDER_PURCHASE_START
  • EVENT_GUILD_KIOSK_CONSIDER_PURCHASE_STOP
  • EVENT_GUILD_KIOSK_ERROR

Guild Bank
We added new API for managing the guild bank. These functions are only usable when the player is connected to a specific guild bank.

Added Guild Bank API
  • GetGuildBankedMoney
  • DepositMoneyIntoGuildBank
  • WithdrawMoneyFromGuildBank

Heraldry
We also added functions for managing guild heraldry. These functions join the heraldry functions from last patch.

Added Heraldry API
  • IsCreatingHeraldryForFirstTime
  • RevertToSavedHeraldry
  • GetNumHeraldryItems
  • GetHeraldryItemInfo
  • BuyHeraldryItem
  • GetHeraldryItemLink
  • GetHeraldryGuildBankedMoney

Newly Functional Heraldry API
  • ApplyPendingHeraldryChanges
  • IsPlayerAllowedToEditHeraldry
  • IsCurrentlyCustomizingHeraldry
  • GetHeraldryCustomizationCosts
  • HasPendingHeraldryChanges
  • GetPendingHeraldryCost
  • SetPendingHeraldryIndices
  • GetPendingHeraldryIndices
  • GetNumHeraldryColors
  • GetHeraldryColorInfo
  • GetNumHeraldryBackgroundCategories
  • GetHeraldryBackgroundCategoryInfo
  • GetNumHeraldryBackgroundStyles
  • GetHeraldryBackgroundStyleInfo
  • GetNumHeraldryCrestCategories
  • GetHeraldryCrestCategoryInfo
  • GetNumHeraldryCrestStyles
  • GetHeraldryCrestStyleInfo
  • StartHeraldryCustomization
  • EndHeraldryCustomization

Abilities
We added several new functions for querying ability information. These functions use an abilityId as the argument. In this patch, abilityIds are only returned by GetAbilityIdByIndex, but more sources of abilityIds will be added in coming patches.

Added AbilityId API
  • GetAbilityIdByIndex(luaindex abilityIndex)
    • Returns an abilityId (integer) to be used in the following API calls.
  • DoesAbilityExist
  • GetAbilityName
  • IsAbilityPassive
  • GetAbilityCastInfo
    • Returns if the ability is channeled or casted, its channel time, and its cast time.
  • GetAbilityTargetDescription
    • Returns a textual description of how the ability is targeted (self, group, cone, etc).
  • GetAbilityRange
  • GetAbilityRadius
  • GetAbilityAngleDistance
  • GetAbilityCost
  • GetAbilityDescription
    • Returns a textual description of what the ability does.
  • GetAbilityUpgradeLines
    • Returns information about how the ability upgrades when the player morphs an existing ability into this new one. The function returns a set of three strings for each upgrade line. The strings are: a label for what is changing (for example, cooldown), the old value (for example, 10 seconds), and the new value (for example, 5 seconds).
  • GetAbilityNewEffectLines
    • Returns information about how the ability changes when the player morphs an existing ability into this new one. New effects are described with a single string.

We also added new functions to query ability progression by abilityId.

Added Ability Progression API
  • GetAbilityProgressionRankFromAbilityId
  • GetAbilityProgressionXPInfoFromAbilityId

Miscellaneous Functions

Added Functions
  • CanJumpToGroupMember(string unitTag)
    • Returns true if the game client believes the local player can teleport to the group member in question. This function may return true even if a jump isn't possible due to the limits of the client's knowledge.
  • IsGroupMemberInRemoteRegion(string unitTag)
    • Returns true if the group member is not in the same zone as the local player. This includes being in a different instance of the same zone as well as being in a different zone.
  • GetGamepadIconPathForKeyCode
  • GetMouseIconPathForKeyCode
  • IsPlayerTryingToMove
  • GetMaxTraits
    • Returns the maximum number of traits that could be on an item.
  • GetCurrentTradingHouseGuildDetails
  • AnimationTimeline:SetPlaybackLoopsRemaining
  • LabelControl:SetDesaturation
  • TooltipControl:SetHeraldryItem
  • WindowManager:GetOverscanOffsets
  • WindowManager:SetOverscanOffsets
    • This function allows you to adjust the size of the GUI root control.
  • WindowManager:SetMouseFocusByName

Changed Functions
  • GetGuildEventInfo now returns six parameters describing the history event instead of five.
  • GetGameCameraInteractableActionInfo now returns an additional value which is a contextual link. This is used to return the name of the key when the additional info type is ADDITIONAL_INTERACT_INFO_REQUIRES_KEY.

Removed Functions
  • GetShortAllianceName
    • All short name functions and short strings were removed from localization. This also impacts ItemFilterType and KeyCode short names.

Enumerations
  • Added BIND_TYPE Enumeration
    • Returned by GetItemLinkBindType.
    • Values for all enumerations are listed in the full API documentation. Search for the enumeration prefix (for example, BIND_TYPE).
  • Added CAMPAIGN_LEVEL_REQ Enumeration
  • New Value for POWERTYPE Enumeration
    • POWERTYPE_HEALTH_BONUS
  • Added ENCHANTMENT_CATEGORY Enumeration
    • Intended for future trading house functionality. Not presently usable.
  • Added ENCHANTMENT_SEARCH_CATEGORY Enumeration
    • Intended for future trading house functionality. Not presently usable.
  • New Value for ADDITIONAL_INTERACT_INFO Enumeration
    • ADDITIONAL_INTERACT_INFO_REQUIRES_KEY
    • Returned by GetGameCameraInteractableActionInfo.
  • Added GAMEPAD_SETTING Enumeration
  • Added GAMEPAD_TOOLTIP_COLOR Enumeration
  • New Value for GUILD_PERMISSION Enumeration
    • GUILD_PERMISSION_BANK_WITHDRAW_GOLD
  • Added INSTANCE_DISPLAY_TYPE Enumeration
    • Returned by GetGameCameraInteractableActionInfo as the context when the additional info type is ADDITIONAL_INTERACT_INFO_INSTANCE_TYPE.
  • New Values for ITEM_SOUND_CATEGORY
    • Many new values. See the full documentation.
    • Returned by item sound query functions such as GetSlotItemSound and GetItemSoundCategoryFromLink.
  • Added SIEGE_TYPE Enumeration
    • Retuned by GetItemLinkSiegeType.
  • New Values for TUTORIAL_TRIGGER_ENUMERATION
    • Many new values. See the full documentation.
  • New Value for CAMPAIGN_REASSIGN_ERROR Enumeration
    • CAMPAIGN_REASSIGN_ERROR_LEVEL_REQUIREMENT_NOT_MET
  • New Values for GUILD_KIOSK Enumeration
    • GUILD_KIOSK_GUILD_OWNS_OTHER_KIOSK
    • GUILD_KIOSK_GUILD_TOO_SMALL
  • New Value for GUILD_PRIVILEGE Enumeration
    • GUILD_PRIVILEGE_HERALDRY
  • New Values for KEY Enumeration
    • Added values for gamepad keys. These begin with KEY_GAMEPAD_*, but are not currently generated.
    • Many new values. See the full documentation.
  • Added TRANSLATE_ANIMATION_DELTA_TYPE Enumeration
    • Used with the translate animation’s SetTranslateDeltas, SetDeltaOffsetX, and SetDeltaOffsetY
Jessica Folsom
Lead Community Manager - ZeniMax Online Studios
Facebook | Twitter | Twitch | Tumblr | Instagram | YouTube | Support
Staff Post
  • Cairenn
    Cairenn
    ✭✭✭
    Thanks Jess!
    Cairenn
    Co-founder & Administrator
    ESOUI
  • ShankThTank
    ShankThTank
    ✭✭
    @ZOS_JessicaFolsom‌ THANK YOU!

    I've been waiting and waiting for gamepad support! I figured it would be a no-brainer to add gamepad support on PC because (1) a lot of folks played Skyrim on PC with a gamepad, and (2) ESO is releasing on consoles anyway.

    I am so happy right now! I realize it's early, but do you plan on allowing players to remap controls on the gamepad?

    Thanks Jess!

    -Shank
  • katkat42
    katkat42
    ✭✭✭
    This. Is. AWESOME! I think ZO might be starting to get the hang of this!

    Now. You said, For the full, updated API take a look at the newest version of the ESO UI documentation. Where do I find this documentation?
    Stonehenge ROCKS!
  • Cairenn
    Cairenn
    ✭✭✭
    It's the attachment at the bottom of her post. :)
    Cairenn
    Co-founder & Administrator
    ESOUI
  • Sephiroth018
    Sephiroth018
    ✭✭
    Thanks for posting the PTS API changelog, I really appreciate that.
    But please make sure to also post the API changelog when releasing Update 3. Not hours or days later.
    And please also make sure the changelog is complete.
  • ZOS_AmeliaR
    ZOS_AmeliaR
    ✭✭✭✭✭
    Update: We've edited the title of this thread to reflect that these changes to the API are now live, rather than solely on PTS. Thanks!
    The Elder Scrolls Online: Tamriel Unlimited - ZeniMax Online Studios
    Facebook | Twitter | Google+ | Tumblr | Pinterest | YouTube | ESO Knowledge Base
    Staff Post
  • Flamage
    Flamage
    Soul Shriven
    Although it wasn't included in the patch notes, GetDisplayName() has been fixed and now returns the current account name.
  • Garkin
    Garkin
    ✭✭✭
    Update: We've edited the title of this thread to reflect that these changes to the API are now live, rather than solely on PTS. Thanks!
    Documentation does not contain all events. Events present in game, but missing in documentation:
    EVENT_FRIEND_ADDED
    EVENT_FRIEND_CHARACTER_LEVEL_CHANGED
    EVENT_FRIEND_CHARACTER_UPDATED
    EVENT_FRIEND_CHARACTER_VETERAN_RANK_CHANGED
    EVENT_FRIEND_CHARACTER_ZONE_CHANGED
    EVENT_FRIEND_NOTE_UPDATED
    EVENT_FRIEND_PLAYER_STATUS_CHANGED
    EVENT_FRIEND_REMOVED
    EVENT_FULLSCREEN_MODE_CHANGED
    EVENT_GAME_CREDITS_READY
    EVENT_GUILD_CLAIM_KEEP_CAMPAIGN_NOTIFICATION
    EVENT_GUILD_CLAIM_KEEP_RESPONSE
    EVENT_GUILD_DATA_LOADED
    EVENT_GUILD_DESCRIPTION_CHANGED
    EVENT_GUILD_HISTORY_CATEGORY_UPDATED
    EVENT_GUILD_HISTORY_RESPONSE_RECEIVED
    EVENT_GUILD_INVITE_ADDED
    EVENT_GUILD_INVITE_REMOVED
    EVENT_GUILD_INVITES_INITIALIZED
    EVENT_GUILD_KEEP_CLAIM_UPDATED
    EVENT_GUILD_LEVEL_CHANGED
    EVENT_GUILD_LOST_KEEP_CAMPAIGN_NOTIFICATION
    EVENT_GUILD_MEMBER_ADDED
    EVENT_GUILD_MEMBER_CHARACTER_LEVEL_CHANGED
    EVENT_GUILD_MEMBER_CHARACTER_UPDATED
    EVENT_GUILD_MEMBER_CHARACTER_VETERAN_RANK_CHANGED
    EVENT_GUILD_MEMBER_CHARACTER_ZONE_CHANGED
    EVENT_GUILD_MEMBER_NOTE_CHANGED
    EVENT_GUILD_MEMBER_PLAYER_STATUS_CHANGED
    EVENT_GUILD_MEMBER_RANK_CHANGED
    EVENT_GUILD_MEMBER_REMOVED
    EVENT_GUILD_MOTD_CHANGED
    EVENT_GUILD_NAME_AVAILABLE
    EVENT_GUILD_RANK_CHANGED
    EVENT_GUILD_RANKS_CHANGED
    EVENT_GUILD_RELEASE_KEEP_CAMPAIGN_NOTIFICATION
    EVENT_GUILD_RELEASE_KEEP_RESPONSE
    EVENT_GUILD_SELF_JOINED_GUILD
    EVENT_GUILD_SELF_LEFT_GUILD
    EVENT_IGNORE_ADDED
    EVENT_IGNORE_NOTE_UPDATED
    EVENT_IGNORE_ONLINE_CHARACTER_CHANGED
    EVENT_IGNORE_REMOVED
    EVENT_INCOMING_FRIEND_INVITE_ADDED
    EVENT_INCOMING_FRIEND_INVITE_NOTE_UPDATED
    EVENT_INCOMING_FRIEND_INVITE_REMOVED
    EVENT_OUTGOING_FRIEND_INVITE_ADDED
    EVENT_OUTGOING_FRIEND_INVITE_REMOVED
    EVENT_PLAYER_STATUS_CHANGED 
    EVENT_SAVE_GUILD_RANKS_RESPONSE
    EVENT_SOCIAL_DATA_LOADED
    EVENT_SOCIAL_ERROR
    
    Garkin / EU / CSF guild
    My addons: SkyShards, LoreBooks, Dustman, Map Coordinates, No, thank you, ... (full list)
    I'm taking care of: Azurah - Interface Enhanced, Srendarr - Aura, Buff & Debuff Tracker and more
    My folder with updated/modified addons: DROPBOX
  • Auldjohn
    Auldjohn
    ✭✭✭✭
    Thanks, @ZOS_JessicaFolsom‌ for posting this and attaching version 10008 of the API.

    Our guild is beta testing the Guild Launch ESO Roster Import Add-On. Our TESG web site is hosted by Guild Launch, which is part of Launch Media and GameSkinny. We've encountered some issues with the GL Add-On, which is still version 1.0.0 and flagged Out of Date by the ESO Launcher.

    The issues seem to be related to these API changes, since the ESO Roster Import Add-On was developed well before the Craglorn change and the entire Guild Extravaganza.

    To help with our troubleshooting the Add-On issues. I forwarded your API attachment to GL_Slater, Guild Launch Support Manager. I'm the primary admin for our web site, and our guild's single point of contact between Guild Launch Support and their Add-On developers.

    Is your attachment the complete current API? If not, please send it to me by PM here: @Auldjohn. I'll be happy to forward it to Slater.

    TIA and warm regards,
    banner_Auldjohn9361Pop.png
    Edited by Auldjohn on August 17, 2014 12:41PM
    @AuldjohnThe Elder Sages' GuildMaster Sage & Co-Founderfacebook.com/groups/theeldersagesguild
    "Old gamers never die; they just respawn and game on!" • Our Slogan: Have Fun!!

    Moot Envoy • Tamriel Foundry Adept • Steam ID Auldjohn
    YouTube auldjohnmastersage • Twitch AuldjohnPCGamer• Steam Group TESGs
  • randolphbenoit
    randolphbenoit
    ✭✭✭✭
    Gamepad
    We are in the early stages of adding PC support for gamepad input. Several functions for querying trigger, stick, and button states will appear in the documentation, but these functions have not yet been enabled.

    @ZOS_JessicaFolsom Whats the current update on game controllers for PC? Is this being dev along side of console?
    the NeXus Guild (NA-DC-Crafters) contact @randolphbenoit - Currently Allies to Fairy Tail of Tamriel (Social) and Brave Kore (DC PvP). https://twitter.com/randolphbenoit

    Saltrice - (Salt tolerant rice) Saltrice, pronounced just like it looks is, in fact, a kind of rice that can grow in paddies of either fresh or brackish water.
Sign In or Register to comment.