originally posted in:BungieNetPlatform
Technically the checklist (Calcified Fragments) Advisor is not available in a supported API at the moment, but I wanted to bring this up to the group at large.
Before the advisor is "officially" available , I would like to take the opportunity to change how it is implemented so that it won't be as painful to you all in the future. The benefits will hopefully be obvious; the drawbacks will be that anyone who is using the unsupported checklist advisor data already would have to do a slight re-implementation.
I want to change it from being a dictionary with key = Grimoire Card ID and value = boolean to a list with those as properties.
The benefit will be that the service itself will be able to consistently imply the ordering of the checklist. Right now you have to jump through some extra hoops to order them (or, if your JSON parser happens to support it, you may be getting them in order by coincidence).
If you have strong objection to this, speak now or forever hold your peace: it is likely that the contract will still be changed since we have this brief window of opportunity to improve it, but I'll at least be able to make a tally of who I owe a beer when we meet. Thanks for your understanding!
-
Okay, I've heard no strong objections, and have implemented the change. It'll be deployed with our next release. The contract ended up being of the form for a particular checklist: { identifier: "BLAH", checklistName: "BLAH NAME", checklistDescription: "Something vaguely Johnny Bravo-esque", entryType: [DestinyDefinitionType enum value], entries: [ { entityId: [The identifying number of the entity, be it item hash, card ID, or other in some theoretical future], state: true/false } ] And DestinyDefinitionType will have a new enum value, GrimoireCard (value 23).
-
ie so instead of: [quote]{ {cardId}: true/false }[/quote] It would be: [quote][ { cardId: {cardId}, checked: true/false } ][/quote]
-
I'm just starting out learning the API and exploring what I can do with it, so I'm decidedly not one of those folks who has complex implementations built already...but on a philosophical level, I'm 100% supportive of something being tweaked this early for greater benefit in the long run. Can I buy YOU (and anyone else involved with the API) a beer? ;p