# PA05-38 - MVNO Contract Line Change (MVNO契約変更依頼) ## Overview Changes the contract line type (4G/5G) for the specified account. - Processing takes approximately **30 minutes** per request (may vary with load) - Once called, the request is **immediately locked** - subsequent requests for the same account are rejected until processing completes - Requests **cannot be cancelled** once submitted; the only option is to wait for completion --- ## Request ### Method `POST` (JSON format) ### URL ``` https://[host]/emptool/api/mvno/contractline/change/ ``` ### Authentication Obtained via separate authentication API, included in request parameters. ### POST Parameters | No | Parameter | Name | Required | Description | | --- | --------- | --------------- | -------- | ----------------- | | 1 | json | JSON Parameters | ◎ | Main request body | ### JSON Parameters | No | Parameter | Name | Level | Type | Min | Max | Required | Description | | --- | ------------- | ------------------ | ----- | ---------------------- | --- | --- | -------- | ----------------------------------------------------------------------------------------------- | | 1 | authKey | Authentication Key | 1 | Alphanumeric | - | - | ◎ | Obtained from OEM authentication | | 2 | account | Account | 1 | Alphanumeric + symbols | - | - | ◎ | Target account. For MVNO, specify the phone number | | 3 | productNumber | Product Number | 1 | Alphanumeric | 15 | 15 | △ | First 2 chars uppercase alpha, remaining 13 digits (e.g., `AXxxxxxxxxxxxxx`, `DNxxxxxxxxxxxxx`) | | 4 | contractLine | Contract Line Type | 1 | Alphanumeric + symbols | 2 | 2 | ◎ | `"4G"`: Change to 4G line, `"5G"`: Change to 5G line | **Legend:** ◎ Required | △ Conditional --- ## Request Examples ### Basic (without product number) ```json { "authKey": "XXXXXXXXXX", "account": "09012345678", "contractLine": "5G" } ``` ### With Product Number ```json { "authKey": "XXXXXXXXXX", "account": "09012345678", "productNumber": "AX1234567890123", "contractLine": "4G" } ``` --- ## Response ### Format JSON ### Parameters | No | Parameter | Name | Level | Type | Description | | --- | ----------------- | ------------------ | ----- | ---------------------- | ------------------------- | | 1 | resultCode | Result Code | 1 | Numeric | Processing result code | | 2 | status | Status | 1 | Object | Status details | | 3 | status.message | Message | 2 | Alphanumeric + symbols | Processing result message | | 4 | status.statusCode | Detail Result Code | 2 | Numeric | Detailed status code | --- ## Response Codes | Status | Status Code | Detail Code | Message | Description | | ------ | ----------- | ----------- | ----------- | -------------------------------------------------------- | | ○ | 200 | 100 | OK | Success | | × | 400 | 201 | Bad Request | Parameter error - account (account/to/tempAccount) issue | | × | 400 | 228 | Bad Request | Parameter error - authentication key (authKey) issue | | × | 400 | 266 | Bad Request | Parameter error - product number issue | | × | 400 | 360 | Bad Request | Parameter error - contract type issue | | × | 403 | 205 | Auth Error | Authentication key problem | | × | 500 | 210 | NG | Account not found error | | × | 500 | 361 | NG | Account already has the target contract line type | | × | 500 | 362 | NG | Account is currently processing a contract change | | × | 500 | 900 | NG | Unexpected error occurred | --- ## Response Examples ### Success ```json { "resultCode": "100", "status": { "message": "OK", "statusCode": "200" } } ``` ### Error ```json { "resultCode": "900", "status": { "message": "NG", "statusCode": "500" } } ```