Assist_Design/freebit-api-docs/PA02-01_account-registration.md
Temuuleenn 191a377657 fix: enhance Order Activation Flow and improve WHMCS integration
- Refactor executeSfActivatedUpdate to only set Activation_Status__c, deferring Status change.
- Update WHMCS custom fields with new SIM Number, Serial Number, and EID after order acceptance.
- Modify Opportunity WH_Registeration__c field for better WHMCS linking.
- Populate new SIM Inventory assignment fields: Assigned_Account__c, Assigned_Order__c, SIM_Type__c.
- Remove support for PA05-18 Semi-Black SIM registration, switching to PA02-01 call.
- Adjust me-status check to verify Status: Processed instead of Activated.
2026-02-05 16:26:46 +09:00

192 lines
8.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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"
}
]
}
```