NetStone API

API

API

Changelog

2.1.1

05. Nov 24

 

Fixed
  • Page margin too large on mobile
  • Landing page scrolling horizontally on mobile
  • Demo too wide on mobile once data loaded

2.1.0

03. Nov 24

Added
  • Landing Page
    • Basic introduction to the project
    • Demo for retrieving data
    • Links to Changelog, Swagger UI, and OpenAPI definition
  • "Data refreshed" exchanges
    • Previous queues were published to queues whenever data was requested through queue, no matter whether it was cached or not
    • New exchanges are published to whenever data is refreshed from Lodestone, not when it was cached
Changed
  • Outgoing queues are now exchanges
    • See "Breaking Changes" for further details
  • Default API version is now 2
  • API version 1 marked as obsolete
    • Will be removed in a future release
  • Swagger UI now always available
Breaking Changes
  • Outgoing RabbitMQ messages are now published to exchanges instead of queues
    • Allows fanout exchange to publish messages to multiple queues
    • Requires manual configuration of exchange -> queue binding
    • If RabbitMQ was used before, both exchange and queue will exist and only 

2.0.3

28. Sep 24

 

Fixed
  • Free company members failed to parse if at least one of its members had been cached before

2.0.2

27. Sep 24

 

Fixed
  • Grand Company parsing fails under certain circumstances

2.0.1

22. Sep 24

Changed
  • Version is printed to console on startup

2.0.0

22. Sep 24

 

Complete revamp of the API. Instead of simply parsing and returning NetStone data, Lodestone data is now mapped onto database entities and cached. Retrieving character data can now return cached data as DTOs, or refresh data from the Lodestone and return as said DTOs.

Added
  • Character achievement parsing
  • NetStone entity to database mapping
  • Caching of database entities
    • Character + attributes
    • Character ClassJobs
    • Character Minions
    • Character Mounts
    • Character Achievements
    • Free Company
    • Free Company Memberes
  • NetStone.Api.Client project for easy data retrieval in .NET projects
  • Various unit tests to compare parsed data and data mapped to database entities and DTOs
  • Additional properties in DTOs like whether data is cached, when it was last refreshed, and collection totals + percentages
  • RabbitMQ support for all endpoints

 

1.1.0b

15. Jul 24

Added
  • Dawntrail Jobs parsing
    • They were ignored before, now data is actually being parsed

1.0.3b

01. Jul 24

Fixed
  • Exception when parsing Dawntrail jobs

1.0.2b

15. Apr 24

Fixed
  • Exception when parsing free company rankings for free companies without ranking(s)

1.0.1b

27. Jan 24

Fixed
  • Exception when parsing disciples of the hand/land

1.0.0b

25. Jan 24

Initial Release
  • Character parsing
    • Character
    • ClassJobs
    • Minions
    • Mounts
  • Free Company parsing
    • Free Company
    • Free Company members

 

API

RabbitMQ

Queues (inbound)

Name REST API method Associated Exchanges (see below for details)
netstone-get-character /Character/{lodestoneId} netstone-get-character-result
netstone-get-character-refreshed
netstone-get-character-class-jobs /Character/ClassJobs/{lodestoneId}

netstone-get-character-class-jobs-result

netstone-get-character-class-jobs-refreshed

netstone-get-character-minions /Character/Minions/{lodestoneId}

netstone-get-character-minions-result

netstone-get-character-minions-refreshed

netstone-get-character-mounts /Character/Mounts/{lodestoneId}

netstone-get-character-mounts-result

netstone-get-character-mounts-refreshed

netstone-get-character-achievements /Character/Achievements/{lodestoneId}

netstone-get-character-achievements-result

netstone-get-character-achievements-refreshed

netstone-get-free-company /FreeCompany/{lodestoneId}

netstone-get-free-company-result

netstone-get-free-company-refreshed

netstone-get-free-company-members /FreeCompany/Members/{lodestoneId}

netstone-get-free-company-members-result

netstone-get-free-company-members-refreshed

Exchanges (outbound)

Name Sent When
netstone-get-character-result Character data requested through queue.
netstone-get-character-refreshed Character data refreshed from Lodestone.
netstone-get-character-class-jobs-result Character's class jobs requested through queue.
netstone-get-character-class-jobs-refreshed Character's class jobs refreshed from Lodestone.

netstone-get-character-minions-result

Character's minions requested through queue.

netstone-get-character-minions-refreshed

Character's minions refreshed from Lodestone.

netstone-get-character-mounts-result

Character's mounts requested through queue.

netstone-get-character-mounts-refreshed

Character's mounts refreshed from Lodestone.

netstone-get-character-achievements-result

Character's achievements requested through queue.

netstone-get-character-achievements-refreshed

Character's achievements refreshed from Lodestone.

netstone-get-free-company-result

Free Company data requested through queue.

netstone-get-free-company-refreshed

Free Company data refreshed from Lodestone.

netstone-get-free-company-members-result

Free Company's members requested through queue.

netstone-get-free-company-members-refreshed

Free Company's members refreshed from Lodestone.

- "result" exchanges are always (cached or not) filled when data was requested through inbound queue, NOT when requested through API.
- "refreshed" exchanges are filled whenever data was refreshed from the Lodestone, no matter whether through inbound queue or API. It is however NOT filled when data was returned from cache.

API Client

API Client

Changelog

2.1.0

03. Nov 24

 

Added
  • Resilience
    • Client now tries a request again if it fails
    • Replaces previous logic for access token refresh
Fixed
  • Typo in "Craftsmanship" attribute
Maintenance
  • Check amount of members returned by free company members endpoint
    • One error case was previously not caught by not checking length
  • Add missing free companies from NetStone API to client tests

2.0.3

29. Sep 24

 

Fixed
  • Free Company members were not being received

2.0.2

27. Sep 24

 

Fixed
  • Wrong primary attributes for Ninja and Viper
Maintenance
  • Add additional character tests previously added to API

2.0.1

22. Sep 24

Maintenance
  • Use common extension for version output

2.0.0

22. Sep 24

 

Initial Release
  • Full support for all NetStone API methods
    • Character
    • Free Company