Network: Difference between revisions
| (8 intermediate revisions by the same user not shown) | |||
| Line 201: | Line 201: | ||
==== migration ==== | ==== migration ==== | ||
[[Migration_services|Migration]] service storage. | [[Migration_services|Migration]] service storage. | ||
[20.0.0+] The below save_data_migrations URLs were moved elsewhere under [[#transfer|transfer]]. | |||
URLs: | |||
<nowiki>https://migration.%.scsi.srv.nintendo.net/api/nx/v1/account_migrations/gen_key | |||
https://migration.%.scsi.srv.nintendo.net/api/nx/v1/account_migrations/get_key | |||
https://migration.%.scsi.srv.nintendo.net/api/nx/v1/save_data_migrations/gen_key | |||
https://migration.%.scsi.srv.nintendo.net/api/nx/v1/save_data_migrations/get_key</nowiki> | |||
==== storage ==== | ==== storage ==== | ||
| Line 218: | Line 226: | ||
Response (without survey_request_id): {"survey_requests":[]} | Response (without survey_request_id): {"survey_requests":[]} | ||
==== transfer ==== | |||
Used by [[Migration_services|Migration]] starting with [20.0.0+]. | |||
The URL is "%s%s", where the first "%s" is <nowiki>"https://transfer.hac.%.banco.srv.nintendo.net/api/console/v1/transfer_events"</nowiki>, and the second "%s" is one of the following: | |||
/start | |||
/%lld/%s (where %s is one of the following as selected by an input param: "finish_transfer", "finish_upload", "finish_download", "abort_transfer", "abort_upload") | |||
/%lld | |||
/%lld/rollback | |||
/%lld/register_destination | |||
?type=%d | |||
"/%lld/save_datas/%lld/generate_key_seed_package" / "/%lld/generate_key_seed_package", depending on an input param (the former is only used by [[Migration_services|IDownloader]] cmd400) | |||
/%lld/save_datas/start_upload | |||
/%lld/save_datas/%lld/finish_upload | |||
/%lld/save_datas/%lld | |||
/%lld/save_datas/%lld/component_files/start_upload | |||
/%lld/save_datas/%lld/component_files/%lld/finish_upload | |||
/%lld/save_datas/%lld/component_files | |||
/%lld/save_datas | |||
/%lld/save_datas/%lld/start_download | |||
/%lld/save_datas/%lld/finish_download | |||
/%lld/save_datas/%lld/component_files | |||
/%lld/album_data_archives/start_upload | |||
/%lld/album_data_archives/%lld/finish_upload | |||
/%lld/album_data_archives/%lld | |||
/%lld/album_data_archives/%lld/start_download | |||
/%lld/album_data_archives/%lld | |||
/%lld/album_data_archives/%lld/finish_download | |||
/%lld/album_data_archives | |||
These use the following request headers: | |||
User-Agent: libcurl (nnHttp; {...}) | |||
Accept: */* | |||
Content-Type: application/json | |||
Authorization: Bearer {token} | |||
{Content-Length as needed} | |||
The above token is from using [[Account_services|IManagerForSystemService EnsureIdTokenCacheAsync]], with the output from [[Account_services|IManagerForSystemService LoadIdTokenCache]] being used as the token. | |||
* "/start": | |||
** The json POST data contains the following: | |||
*** <code>{"type":<type>,"scope":<scope>,"src_device_appearance_main":"<str0>","src_device_appearance_controller":"<str1>"}</code> | |||
*** <type> is 0 for local (nn::migration::device::IServer and nn::migration::savedata::IServer), 1 for Uploader (nn::migration::device::IUploader). | |||
*** <scope> is 0 for device (nn::migration::device::IServer and nn::migration::device::IUploader), 1 for savedata (nn::migration::savedata::IServer). | |||
*** <str0> is the output from [[NS_services|ns]] IApplicationManagerInterface cmd4063, <str1> is from cmd4064. | |||
** The json response is parsed as the following (HTTP status must be 201): | |||
*** <code>{"transfer_event":{"transfer_event_id":<unknown>,"status":<status_str>,"error":<str>,"src_device_serial":<str>,"src_device_appearance_main":<str>,"dst_device_serial":<str>,"src_device_type":<unknown>,"created_at":<timestamp>,"expires_at":<timestamp>}}</code> | |||
*** The minimum required fields are status and created_at. <status_str> must match one of various strings, such as "started". | |||
== Others == | == Others == | ||
| Line 229: | Line 286: | ||
* "c-%.accounts.nintendo.com" | * "c-%.accounts.nintendo.com" | ||
* "capi.%.op2.nintendo.net" | * "capi.%.op2.nintendo.net" | ||
[[NIM_services|nim]]: | |||
* "bvc-hac-%.cdn.nintendo.net" | |||
News, friends and game content: | News, friends and game content: | ||
| Line 250: | Line 310: | ||
* "problems.dragons.nintendo.net" | * "problems.dragons.nintendo.net" | ||
* "moon.nintendo.com" | * "moon.nintendo.com" | ||
==== bvc ==== | |||
Used by nim [[NIM_services#RequestCheckSafeSystemVersion|RequestCheckSafeSystemVersion]]. | |||
URLs: | |||
<nowiki>"https://bvc-hac-%.cdn.nintendo.net/%d-%d-%d"</nowiki> | |||
The data for each "%d" is the first 3-bytes from the [[System_Version_Title|SystemVersion]]. | |||
==== scsi-policy ==== | ==== scsi-policy ==== | ||
Used by [[OLSC_services|OLSC]] and [[Migration_services|migration]]. | Used by [[OLSC_services|OLSC]] and [[Migration_services|migration]]. | ||
[20.0.0+] This is no longer used by [[Migration_services|migration]]. | |||
Migration URL: | |||
<nowiki>"https://scsi-policy-%.cdn.nintendo.net/api/nx/v1/save_data_migration_policy/%016llx/%05u?dtoken="</nowiki> | <nowiki>"https://scsi-policy-%.cdn.nintendo.net/api/nx/v1/save_data_migration_policy/%016llx/%05u?dtoken="</nowiki> | ||