Skip to content
Hanzhao Lin edited this page Oct 3, 2016 · 24 revisions

Don't be evil.

Server is running on http://poi.0u0.moe/ now.

You can get latest data dumped from http://poi.0u0.moe/dump/poi-production.tar.gz.

API

All APIs are following the same format:

  • URL: http://[SERVER_NAME]/api/report/v2/[API_NAME]
  • Method: POST
  • Body: data=[JSON_PAYLOAD]

where SERVER_NAME are currently poi.0u0.moe. For now there are 3 possible API_NAME available, namely create_ship, create_item, drop_ship. JSON_PAYLOAD is the JSON encoded / serialized data you are supposed to send, its content varies depending on API_NAME, see following sections for detail.

Construction

URL: http://[SERVER_NAME]/api/report/v2/create_ship
Field Type Explanation
items [Number] Items for construction, from api_item1 to api_item5 in KanColle game api
kdockId Number Dock ID, examples: [0, 3], note the index is 0-based, if you get it from KanColle API's api_kdock_id field, you need to minus 1 from it.
secretary Number Secretaryship's ship_id
shipId Number Result ship id
highspeed Number use highspeed. [0, 1, 10]
teitokuLv Number Game player's level
largeFlag Boolean Set to true if it was LSC(大型舰建造)
origin String (Optional) It's the name of your report plugin, requests' User-Agent will be used if not present

Development

URL: http://[SERVER_NAME]/api/report/v2/create_item
Field Type Explanation
items [Number] (Same as construction)
secretary Number (Same as construction)
itemId Number api_slot_item.api_slotitem_id on success. If development failed, api_fdata will be a comma separated list, get the second element from it (e.g. if api_fdata = "2,33", you should fill this field with 33)
teitokuLv Number (Same as construction)
successful Boolean (Successful or unsuccessful.)
origin String (Same as construction)

Drop ship

URL: http://[SERVER_NAME]/api/report/v2/drop_ship
Field Type Explanation
shipId Number The ship_id got, -1 for nothing got
mapId Number (Current map, 5-5 is 55, 1-6 is 16...)
quest String (api_quest_name from KanColle API, the name of current map)
cellId Number api_no from KanColle API, the name of enemy's fleet
enemy String (api_enemy_info.api_deck_name from KanColle API, the name of enemy's fleet deck)
rank String One of: ('S', 'A', 'B', 'C', 'D', 'E')
isBoss Boolean Set to true if it is a boss node (api_color_no == 5)
teitokuLv Number (Same as construction)
mapLv Number Event specific indicating difficulties chosen (甲乙丙). api_eventmap.api_selected_rank if this is an event map, 0 otherwise.
enemyShips [Number] api_ship_ke.slice(1, 7), 0 is always -1 therefore useless
enemyFormation Number api_formation[1]
origin String (Same as construction)

Implementations

Several KanColle tools/plugins have implemented supports for this, you can refer to them when in question:

Clone this wiki locally