Account Management Protocol - RainMz/NintendoClients GitHub Wiki
NEX Protocols > Account Management (25)
Most methods cannot be used by normal users.
Method ID | Method Name |
---|---|
1 | CreateAccount |
2 | DeleteAccount |
3 | DisableAccount |
4 | ChangePassword |
5 | TestCapability |
6 | GetName |
7 | GetAccountData |
8 | GetPrivateData |
9 | GetPublicData |
10 | GetMultiplePublicData |
11 | UpdateAccountName |
12 | UpdateAccountEmail |
13 | UpdateCustomData |
14 | FindByNameRegex |
15 | UpdateAccountExpiryDate |
16 | UpdateAccountEffectiveDate |
17 | UpdateStatus |
18 | GetStatus |
19 | GetLastConnectionStats |
20 | ResetPassword |
21 | CreateAccountWithCustomData |
22 | RetrieveAccount |
23 | UpdateAccount |
24 | ChangePasswordByGuest |
25 | FindByNameLike |
26 | CustomCreateAccount |
27 | NintendoCreateAccount |
28 | LookupOrCreateAccount |
29 | DisconnectPrincipal |
30 | DisconnectAllPrincipals |
(1) CreateAccount
Request
Type | Name |
---|---|
String | strPrincipalName |
String | strKey |
Uint32 | uiGroups |
String | strEmail |
Response
Type | Name |
---|---|
Result | %retval% |
(2) DeleteAccount
Request
Type | Name |
---|---|
PID | idPrincipal |
Response
This method does not return anything.
(3) DisableAccount
Request
Type | Name |
---|---|
PID | idPrincipal |
DateTime | dtUntil |
String | strMessage |
Response
Type | Name |
---|---|
Result | %retval% |
(4) ChangePassword
Request
Type | Name |
---|---|
String | strNewKey |
Response
Type | Name |
---|---|
Bool | %retval% |
(5) TestCapability
Request
Type | Name |
---|---|
Uint32 | uiCapability |
Response
Type | Name |
---|---|
Bool | %retval% |
(6) GetName
Request
Type | Name |
---|---|
PID | idPrincipal |
Response
Type | Name |
---|---|
String | strName |
(7) GetAccountData
Request
This method does not take any parameters
Response
Type | Name |
---|---|
Uint32 | %retval% |
AccountData | oAccountData |
(8) GetPrivateData
Request
This method does not take any parameters.
Response
Type | Name |
---|---|
Bool | %retval% |
Data | oData |
(9) GetPublicData
Request
Type | Name |
---|---|
PID | idPrincipal |
Response
Type | Name |
---|---|
Bool | %retval% |
Data | oData |
(10) GetMultiplePublicData
Request
Type | Name |
---|---|
List<PID> | lstPrincipals |
Response
Type | Name |
---|---|
Bool | %retval% |
List<Data> | oData |
(11) UpdateAccountName
Request
Type | Name |
---|---|
String | strName |
Response
Type | Name |
---|---|
Result | %retval% |
(12) UpdateAccountEmail
Request
Type | Name |
---|---|
String | strName |
Response
Type | Name |
---|---|
Result | %retval% |
(13) UpdateCustomData
Request
Type | Name |
---|---|
Data | oPublicData |
Data | oPrivateData |
Response
Type | Name |
---|---|
Result | %retval% |
(14) FindByNameRegex
Request
Type | Name |
---|---|
Uint32 | uiGroups |
String | strRegex |
ResultRange | resultRange |
Response
Type | Name |
---|---|
List<BasicAccountInfo> | plstAccounts |
(15) UpdateAccountExpiryDate
Request
Type | Name |
---|---|
PID | idPrincipal |
DateTime | dtExpiry |
String | strExpiredMessage |
Response
This method does not return anything.
(16) UpdateAccountEffectiveDate
Request
Type | Name |
---|---|
PID | idPrincipal |
DateTime | dtEffectiveFrom |
String | strNotEffectiveMessage |
Response
This method does not return anything.
(17) UpdateStatus
Request
Type | Name |
---|---|
String | strStatus |
Response
This method does not return anything.
(18) GetStatus
Request
Type | Name |
---|---|
PID | idPrincipal |
Response
Type | Name |
---|---|
String | strStatus |
(19) GetLastConnectionStats
Request
Type | Name |
---|---|
PID | idPrincipal |
Response
Type | Name |
---|---|
DateTime | dtLastSessionLogin |
DateTime | dtLastSessionLogout |
DateTime | dtCurrentSessionLogin |
(20) ResetPassword
Request
This method does not take any parameters.
Response
Type | Name |
---|---|
Bool | %retval% |
(21) CreateAccountWithCustomData
Request
Type | Name |
---|---|
String | strPrincipalName |
String | strKey |
Uint32 | uiGroups |
String | strEmail |
Data | oPublicData |
Data | oPrivateData |
Response
This method does not return anything.
(22) RetrieveAccount
Request
This method does not take any parameters.
Response
Type | Name |
---|---|
AccountData | oAccountData |
Data | oPublicData |
Data | oPrivateData |
(23) UpdateAccount
Request
Type | Name |
---|---|
String | strKey |
String | strEmail |
Data | oPublicData |
Data | oPrivateData |
Response
This method does not return anything.
(24) ChangePasswordByGuest
Request
Type | Name |
---|---|
String | strPrincipalName |
String | strEmail |
String | strKey |
Response
This method does not return anything.
(25) FindByNameLike
Request
Type | Name |
---|---|
Uint32 | uiGroups |
String | strLike |
ResultRange | resultRange |
Response
Type | Name |
---|---|
List<BasicAccountInfo> | plstAccounts |
(26) CustomCreateAccount
Request
Type | Name |
---|---|
String | strPrincipalName |
String | strKey |
Uint32 | uiGroups |
String | strEmail |
Data | oAuthData |
Response
Type | Name |
---|---|
PID | pid |
(27) NintendoCreateAccount
Request
Type | Name |
---|---|
String | strPrincipalName |
String | strKey |
Uint32 | uiGroups |
String | strEmail |
Data | oAuthData |
oAuthData is either NintendoCreateAccountData (Wii U) or AccountExtraInfo (3DS).
Response
Type | Name |
---|---|
PID | pid |
String | pidHMAC |
(28) LookupOrCreateAccount
Request
Type | Name |
---|---|
String | strPrincipalName |
String | strKey |
Uint32 | uiGroups |
String | strEmail |
Data | oAuthData |
Response
Type | Name |
---|---|
PID | pid |
(29) DisconnectPrincipal
Request
Type | Name |
---|---|
PID | idPrincipal |
Response
Type | Name |
---|---|
Bool | %retval% |
(30) DisconnectAllPrincipals
Request
This method does not take any parameters.
Response
Type | Name |
---|---|
Bool | %retval% |
Key Derivation
Some functions take a key string. This is a hex string derived from the password using the following method:
Platform | Method |
---|---|
3DS / Wii U | MD5-hash the password 65000 times |
Switch | MD5-hash the password once |
Types
Structure)
BasicAccountInfo (Type | Name |
---|---|
PID | m_pidOwner |
String | m_strName |
Structure)
AccountData (Type | Name |
---|---|
PID | m_pid |
String | m_strName |
Uint32 | m_uiGroups |
String | m_strEmail |
DateTime | m_dtCreationDate |
DateTime | m_dtEffectiveDate |
String | m_strNotEffectiveMsg |
DateTime | m_dtExpiryDate |
String | m_strExpiredMsg |
Structure)
AccountExtraInfo (Type | Description |
---|---|
Uint64 | Unknown |
Uint32 | Unknown |
String | NEX token |
Structure)
NintendoCreateAccountData (Type | Description |
---|---|
NNAInfo | NNA info |
String | NEX token |
DateTime | Birthday |
Uint64 | Unknown |