Assist_Design/freebit-api-docs/PA05-38_mvno-contract-change.md
Temuulen Ankhbayar be09c78491 docs: add Freebit API specification docs (PA05-05/06/18/19/20/33/38/41)
Translated Freebit API specs for voice options, semi-black registration,
state changes, OTA activation, contract changes, and eSIM activation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 18:06:10 +09:00

132 lines
4.7 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.

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