Probably a lot of work to get going (would need to implement fleet-up api), but the ability to sync fittings between the most used 3rd party doctrine manager and the most used 3rd party fittings manager would be a great help.
I've often thought about this. It would be helpful if someone could kind of document what apis there are for fleet up, how authentication for them works, etc. Once I get a list of requirements, can start to think about how to implement it. :D
Main page describing the Fleet-Up API is here:
AuthN/AuthZ looks a lot like the old EVE XML API system: as well as an "App Key", there is a "Userid"/"ApiCode" pair granting permissions to do various things. All three of these things go in the URI used to make a request.
List of available endpoints are here:
http://fleet-up.com/Api/Endpoints
There are endpoints to list all (visible) fittings and to retrieve an individual fitting. Same for Doctrines which in this context are just lists of fittings (but can overlap, i.e., a fitting can appear in multiple doctrines). All these endpoints are GET, i.e., read-only; there's no way to write a fitting back to Fleet-Up using its API, so you can't sync, just use Fleet-Up as a library.
Responses are JSON, but it doesn't look like they are in the same format as ESI returns:
AuthN/AuthZ looks a lot like the old EVE XML API system: as well as an "App Key", there is a "Userid"/"ApiCode" pair granting permissions to do various things. All three of these things go in the URI used to make a request.
Well that makes it like 150% easier than oauth, that's for damn sure.
Doctrines are like tags I imagine (a feature that's been discussed on/off for pyfa as well)
there's no way to write a fitting back to Fleet-Up using its AP
This particularly is a bummer, and reduces the usefulness of any potential integration beyond "these are the fittings my corp provides, download them"
EDIT: I've messaged the fleet up guy in hope that maybe we can introduce POST for the possibility of future integrations. 💥
@BoraVyvorant summarised the situation pretty well. Would love to support a PYFA integration. I'll implement the below to help plus anything else you might need.
PYFA / Fleet-Up integration would be great to see.
To add more to this thread:
{AppKey}/{UserId}/{ApiCode}/MyGroupMembershipsPosting Fits
Will take a closer look at proposal when I can, but so far looks like a good start. 👍
Having never really used Fleetup personally, I'm a little confused with it's structure. Is it based soley on "groups" (generally corporations / alliance)? Can a user have their own fitting repositories without having to choose a "group"
Just want to make sure I'm clear on the requirements / general structure of the third party
Thinking about (1) would the ability to create a Doctrine from pyfa be useful?
I'm actually thinking about revisiting tagging support in pyfa fairly soon, which is a long-sought after feature. I have a lot of ideas about it, but I think we can basically call "doctrines" tags in pyfa
For viewing fits I imagine we can take over the "Browse Eve Fitting" view
Probably. Either directly integrated, or maybe just copied, depending on implementation.
There's definitely going to be questions about how to manage linked fits, use cases, general workflow, etc. We should aim for simple integration for now, and expand once we get a bit of feedback from users on what they may like to see in terms of integration support. I should probably reintroduce myself to fleet up as well to get my head wrapped around what folks might like to use it for. :)
Also, don't know if it was mentioned or not, but there's probably some form of user access permissions (for viewing / adding / deleting fits), would need to figure out how to store that information so that we can avoid showing the user options to post if they can't actually post. :)
Yeah there seems to be an enabled option in “my groups” but need better to understand what access control implications are
Any word from fleet-up on implementing the required endpoints? :)
Most helpful comment
@BoraVyvorant summarised the situation pretty well. Would love to support a PYFA integration. I'll implement the below to help plus anything else you might need.
PYFA / Fleet-Up integration would be great to see.