Assist_Design/freebit-api-docs/PA02-01_account-registration.md

192 lines
8.9 KiB
Markdown
Raw Normal View History

# PA02-01 - Account Registration (アカウント登録)
## Overview
Creates a new account for the requested service.
- Account creation is **asynchronous** - may take up to 10 minutes from specified time
- When using User Management Service:
- Master account on PTv2 is required; other service accounts are optional
- Master account can be created new or use existing
- All created accounts are linked via the master account
---
## Request
### Method
`POST` (JSON format)
### URL
```
https://[host]/emptool/api/master/addAcnt/
```
### Authentication
Obtained via separate authentication API, included in request parameters.
### POST Parameters
| No | Parameter | Name | Required | Description |
| --- | --------- | --------------- | -------- | ----------------------------------- |
| 1 | json | JSON Parameters | ◎ | Main request body |
| 2 | version | Version Info | △ | Version number specified by freebit |
### JSON Parameters
| No | Parameter | Name | Level | Type | Required | Description |
| --- | ----------------------- | ------------------ | ----- | ---------------------- | -------- | --------------------------------------------------------------------------------------------------------------- |
| 1 | authKey | Authentication Key | 1 | Alphanumeric | ◎ | Obtained from OEM authentication |
| 2 | masterAccount | Master Account | 1 | Alphanumeric + symbols | △ | IIC master account. Required when using User Management Service |
| 3 | masterPassword | Master Password | 1 | Alphanumeric + symbols | △ | IIC master password. Required when createType is "new" with User Management Service |
| 4 | startDate | Start Date | 1 | Alphanumeric | - | Date when account becomes active. Immediate if not specified |
| 5 | createType | Registration Type | 1 | Alphanumeric | ◎ | `"new"`: Create new master account, `"add"`: Add to existing. "add" not allowed without User Management Service |
| 6 | relationCode | Relation Code | 1 | Alphanumeric | △ | Required when using User Management Service |
| 7 | requestDatas | Request Data | 1 | Array | ◎ | List of service accounts to create |
| 8 | requestDatas[].kind | Service Type | 2 | Alphanumeric | ◎ | Service type (e.g., "MVNO", "MASTER") |
| 9 | requestDatas[].account | Account | 2 | Alphanumeric + symbols | ○ | Service account. For MVNO, specify phone number |
| 10 | requestDatas[].password | Login Password | 2 | Alphanumeric + symbols | △ | Service password. Not specified for MVNO |
| 11 | requestDatas[].planCode | Plan Code | 2 | Alphanumeric | △ | Plan to apply (MVNO) |
### MVNO Service Options
| No | Parameter | Name | Type | Min | Max | Required | Description |
| --- | --------- | ------------------ | ------------------ | --- | --- | -------- | ------------------------------------------- |
| 1 | globalIp | Global IP (yes/no) | Half-width numeric | 2 | 2 | △ | Whether to use global IP. Contract required |
**Legend:** ◎ Required | ○ Required within level | △ Conditional
---
## Request Examples
### Without User Management Service
```json
{
"authKey": "XXXXXXXXXX",
"createType": "new",
"requestDatas": [
{
"kind": "MVNO",
"account": "08038433843",
"planCode": "LTE3G_P01"
}
]
}
```
### With User Management Service
```json
{
"authKey": "XXXXXXXXXX",
"masterAccount": "testAccount@test.ne.jp",
"masterPassword": "password123",
"createType": "new",
"relationCode": "BA-ABA-001",
"requestDatas": [
{
"kind": "MVNO",
"account": "08038433843",
"planCode": "LTE3G_P01"
}
]
}
```
---
## Response
### Format
JSON
### Parameters
| No | Parameter | Name | Level | Type | Description |
| --- | -------------------------- | ------------- | ----- | ---------------------- | ------------------------------------------------------------------------ |
| 1 | resultCode | Result Code | 1 | Numeric | Overall result code |
| 2 | status | Status | 1 | Object | Overall status |
| 3 | status.message | Message | 2 | Alphanumeric + symbols | Overall result message |
| 4 | status.statusCode | Status Code | 2 | Numeric | Overall status code |
| 5 | responseDatas | Response Data | 1 | Array | Processed service account information |
| 6 | responseDatas[].kind | Service Type | 2 | Alphanumeric + symbols | Service type |
| 7 | responseDatas[].resultCode | Result Code | 2 | Numeric | Per-account result code |
| 8 | responseDatas[].account | Account | 2 | Alphanumeric + symbols | For MVNO, phone number is returned |
| 9 | responseDatas[].ipv4 | IPv4 Address | 2 | Alphanumeric + symbols | Allocated IP if fixed IP specified. Empty ("") if not. Contract required |
| 10 | responseDatas[].ipv6 | IPv6 Address | 2 | Alphanumeric + symbols | Allocated IP if fixed IP specified. Empty ("") if not. Contract required |
---
## Response Codes
| Status | Status Code | Detail Code | Message | Description |
| ------ | ----------- | ----------- | ----------- | ------------------------------------------------------ |
| ○ | 200 | 100 | OK | Success |
| × | 400 | 200 | Bad Request | Parameter error - kind issue |
| × | 400 | 201 | Bad Request | Parameter error - account/to/tempAccount issue |
| × | 400 | 202 | Bad Request | Parameter error - password issue |
| × | 400 | 204 | Bad Request | Parameter error - other parameter issue |
| × | 400 | 220 | Bad Request | Specified plan does not exist |
| × | 500 | 208 | NG | Account duplicate error |
| × | 500 | 210 | NG | Account not found error |
| × | 500 | 212 | NG | Request failed due to error in another service account |
| × | 500 | 233 | NG | Specified service is not provided |
| × | 500 | 900 | NG | Unexpected error occurred |
---
## Response Examples
### Without User Management Service (Success)
```json
{
"resultCode": "100",
"status": {
"message": "OK",
"statusCode": "200"
},
"responseDatas": [
{
"kind": "MVNO",
"account": "09999999999",
"ipv4": "",
"ipv6": "",
"resultCode": "100"
}
]
}
```
### With User Management Service (Success)
```json
{
"resultCode": "100",
"status": {
"message": "OK",
"statusCode": "200"
},
"responseDatas": [
{
"kind": "MASTER",
"account": "testAccount@test.ne.jp",
"resultCode": "100"
},
{
"kind": "MVNO",
"account": "09999999999",
"ipv4": "",
"ipv6": "",
"resultCode": "100"
}
]
}
```