Thanks to the tireless efforts of Xcelled we now have the full daily shadow missions algorithm ourselves! This means we no longer have to pull SM information from Kukulu or Sigkill, and unlike Sigkill, this should be wholly accurate for future dates.
We will still be caching Kukulu and Sigkill for the time being but the front page won't use them anymore.
Following is API information which frankly none of you will need.
I've written a similar API to SM Dailies as I did to the weather data but have also mapped the old SM format to this. That means you may access a single day at: http://mabi.world/sm/mww/2016/02/22.json as before (but with mww as kukulu or sigkill)
The format for this is then: http://mabi.world/sm/{{source}}/{{year}}/{{month}}/{{day}}.json
However you may also query the API directly to do things like date ranges, queries per town, etc. This is done at: http://mabi.world/missions.php
The query arguments for this endpoint are as follows:
- server - english (default), japan, or korea.
- locale - english, japan, or korea. Defaults to the specified server.
- of - CSV of tara and/or tail, shows only the specified towns. Default is to show all cities.
- from - Start date in ISO format (like 2016-02-22T07:00:00) in the given timezone. Defaults to now.
- to - End date/time of interval, much like from. Unused by default.
- duration - You may specify this instead of to. You can either pass the number of days to show or specify a time interval of the form hours:minutes. Default is 1.
tz - Either +/-hours:minutes (from GMT) or +/-minutes. Defaults to server time (Pacific time). Note that raw offsets don't regard DST but the default does. - now using naive times, not sure if this will change, may affect "now" in the future.
- simple - If set to true, returns only the first day flattened into the main object, like the .json accessor. Defaults to false.
The return format is in JSON:
{
"from": date requested in ISO format with offset,
"locale": requested locale,
"missions" : [
{
"Day": date and time of when the missions rolled over to this (or the requested from/to, on the ends)
"Taillteann": {
"Normal": regular daily mission name,
"VIP": VIP daily mission name,
},
"Tara": {
"Normal": regular daily mission name,
"VIP": VIP daily mission name,
},
}
... ],
"errors": [ any errors that happened ] // does not exist if no errors occurred
}
As stated, simple=true flattens the first day into the main object. This means the missions key won't exist and Taillteann/Tara will be in the base object like so:
{
"from": ...,
"locale": ...,
"Taillteann": { ... }
"Tara": { ... },
"errors": [ ... ]
}
Future possibilities:
- A next argument with allows you to request a mission and it will show when the next one occurs.
- An in return value in the day objects, saying when the changeover will be in either hours or minutes (default) specified by a companion in argument.
Posted by Kadalyn (administrator) on 23 February 2016 at 00:16. Edited by Kadalyn (administrator) on 23 July 2021 at 17:54. |