1. Hello!

    First of all, welcome to MapleLegends! You are currently viewing the forums as a guest, so you can only view the first post of every topic. We highly recommend registering so you can be part of our community.

    By registering to our forums you can introduce yourself and make your first friends, talk in the shoutbox, contribute, and much more!

    This process only takes a few minutes and you can always decide to lurk even after!

    - MapleLegends Administration-
  2. Experiencing disconnecting after inserting your login info? Make sure you are on the latest MapleLegends version. The current latest version is found by clicking here.
    Dismiss Notice

Public API

Discussion in 'Suggestions' started by Alexus, Jul 21, 2024.

  1. Alexus
    Offline

    Alexus Mano

    12
    1
    15
    Jul 7, 2024
    1:28 AM
    Hey!

    I am wondering what the odds are for creating and allowing usage of an API for the server.
    In short, it can open up some tools and nice quality of life, as well as being helpful to connect and manage certain stuff, depending on the extent of the API. Below are some examples. If any of these are already available that's super cool and I'd love to hear about it.

    Character information API
    An endpoint to fetch simple character information, things like Level, class, equipment. Could also attach more information but I think that would be a solid start. Usage could be for things like creating and updating forum signature, attaching to twitch streams, either as a simple chat message or with a twitch plugin to showcase player information. Could also be cool to create a private separate ranking for things like guilds and their members.

    Library API
    Open up the library to be queried by external sources to allow creation of own tools using the data, either by directly querying it to keep data up to date, or by making a replica of the database. Sometimes I notice values are different from other sources than from the Library, so I assume it is specifically for this server, meaning I could not always be sure the data is correct from other places.

    Marketplace API
    I doubt this is something that would get implemented, as it sort of removes a lot of the nostalgic feeling of using the free market right now with owls, or even blindly walking around to browse. However, I would personally love some different types of endpoints for the FM, including currently listed items, history of sold and/or listed items, etc. Currently Owlrepo exists but is limited to uploaded data. This would allow for more up to date and accurate data. If you want to make a stretch you could argue it helps against scalping and scamming, but I agree it would be grasping for straws.


    I could probably write up a few more ones, but some have some overlap with the above ones, and I don't want to get too invested in what is most likely not going to happen. Would love to hear the reasons to not have these, or just other ideas as well.

    Edit: To add onto the new information gotten from replies - There is an API, so while it can be expanded with some of the above stuff, one thing I'd like is some documentation. I feel making it easier to make tools will greatly benefit the community.
     
    Last edited: Aug 3, 2024
    • Agree Agree x 4
  2. Shadowaa
    Offline

    Shadowaa Mushmom

    50
    10
    60
    Feb 23, 2024
    Male
    7:28 AM
    Shadowaa
    Bowmaster
    150
  3. redpotion
    Offline

    redpotion Mixed Golem

    168
    53
    178
    May 23, 2024
    Female
    4:28 PM
    Miko
    Priest
    100
    Last edited: Jul 22, 2024
  4. Kargo
    Offline

    Kargo Designer Staff Member Graphics Designer

    1,189
    791
    441
    Mar 5, 2015
    Male
    Dungeon: Wild Kargo's Area
    1:28 AM
    Kargo
    Shadower
    Flow + LeFay
    I would love to see this with an official website/library revamp. If people can make their own application that is fine, but I think viewing players equipment and in depth stats, my own fm store and library should definitely be on the official site.

    I think this also ties in a bit with my in depth ranking suggestion, as both of these combined could act as a complete site revamp:

    https://forum.maplelegends.com/index.php?threads/an-in-depth-ranking-system.54660/
     
  5. redpotion
    Offline

    redpotion Mixed Golem

    168
    53
    178
    May 23, 2024
    Female
    4:28 PM
    Miko
    Priest
    100
    I'm hesitant to recommend a full revamp because it represents far more dev effort, and I would truly hate for a perfectly serviceable "build it yourself" option to be foregone for months or years because a "more perfect and vertically integrated" first-party solution is being worked on.

    More is better though. Would be nice for sure.
     
  6. OP
    OP
    Alexus
    Offline

    Alexus Mano

    12
    1
    15
    Jul 7, 2024
    1:28 AM
    Wow, that's what I hoping for when it comes to Character API, it would be cool for a lot of things! Can imagine it being possible to expand beyond that, to accommodate more things like what Kargo suggest(read more at that quote). I was unaware there already existed an API, is there any other ones? I feel there's a lot of room to exand.

    I read through it and I was expecting that reception of it, as it is very abusable to be able to query the current FM. I do however think there's other routes to help the market, such as querying a history of sold items, or items that has been put on the FM(but not currently on it). This would help at least one of my issues right now, which is finding accurate prices for some items. Owlrepo is great, but it is limited to what is being uploaded, and sometimes there hasn't been any uploads for months for some items, and when I use an Owl in game I instead find that the price differs quite a bit.

    I believe it was Dark Scroll for Face Accessory for Avoidability 30% that I was selling the other day, Owl repo has it at "min 650k", p25/50/avg was 7,6m/8,7m/7,4m. However, I used an owl in game and I might misremember but it was closer to 5.9m, which is a rather big difference in price for an item that wasn't even updated that long ago. On top of this, some less added items can vary a lot. This can also go both ways, as you can see, min value is very low, and sometimes items go up in price quite a bit too.

    This is not actually a huge problem in itself though, as it is part of learning the market and so on, however I don't think it is wrong to say that some people will always feel very anxious about losing out on mesos because they were unaware that an item sells for way more than what they put it up for. Hell, it being manually added by players could open up for abuse, as the sample size will be limited to only those who upload the items to there, compared to it being queried across all shops, adding a lot more sample size which makes it harder to manipulate the market price for things.

    Once again though, I don't think being able to query the currently available items is smart without really thinking through of possible ways to prevent botting from snagging anything. The only solution I could think would be to limit the queries to items that have been posted for a longer time in the FM, making it so Owling for an item gives you an advantage there, but even then, I don't think that's enough.

    One potential thing that can be added would be to allow to authenticate to your account, and link it with the API to share your own data freely, such as currently listed items on the FM. This is a lot more work though, both in terms of implementing a way to link it together, but also to make sure it isn't abused. However, I thought of a draft for it:

    Add API key authentication for an account.
    This authentication get access to 2 endpoints:
    POST /fm
    Create a link of current active FM shop, which will return listed items and so on.
    DELETE /fm
    Invalidates above link.

    The POST and DELETE requires usage of the API key, but the link to the shop that is created is independent. This allows users to for example create a link to their shop on the forum to share, or elsewhere to share the status of the items. They then have control whenever they want to share it, and also when they want to remove it.

    I think the ranking system would be cool, which is what I mentioned above about extending the player API, it doesn't have to be the same endpoint, to avoid people querying a lot of data when not needed. Some could be a bit trickier to add unless it is logged in some way that is easy to query(scroll streaks, mesos spent at NPC's, time to different level milestones, jump quest times). However, things that are logged in an easily query-able would be super cool to get access to.
     
    Last edited: Jul 22, 2024
    • Like Like x 1
  7. OP
    OP
    Alexus
    Offline

    Alexus Mano

    12
    1
    15
    Jul 7, 2024
    1:28 AM
    Yeah, I think it is a better option to open up APIs to allow the community to build on top of it, when what is currently there is serviceable for what it is supposed to do. I don't think there's really anything in the suggestions I made for API's that I would expect being used on the site itself.
     
    • Agree Agree x 1
  8. Kargo
    Offline

    Kargo Designer Staff Member Graphics Designer

    1,189
    791
    441
    Mar 5, 2015
    Male
    Dungeon: Wild Kargo's Area
    1:28 AM
    Kargo
    Shadower
    Flow + LeFay
    Web devs are separate though, but I obviously don’t know their schedule :p


    Of course, what’s there now works and already has more features than necessary.

    Having proper character profile pages when clicking someone on the rankings, like it shows now with level up date and time, but way more in depth with stats, gear and nicer graphics would be cool to have in my opinion, though obviously not necessary.
     
  9. redpotion
    Offline

    redpotion Mixed Golem

    168
    53
    178
    May 23, 2024
    Female
    4:28 PM
    Miko
    Priest
    100
    For me it's less about who does the work and more just the reality that designing and exposing an API + fashioning a frontend to present it is, necessarily, more work than just designing and exposing an API alone.
     

Share This Page