# Common API

## Country/Region List

{% hint style="info" %}
This interface is updated very infrequently, so please localize the data before calling it.
{% endhint %}

```
POST /merchant/core/mcb/common/region
```

**Request**

<table><thead><tr><th width="163.52716064453125">param</th><th width="166.05596923828125">Type</th><th width="150.750244140625">Required</th><th>Remark</th></tr></thead><tbody><tr><td></td><td></td><td></td><td></td></tr></tbody></table>

**Response**

<table><thead><tr><th width="162.400390625">Param</th><th width="119">Type</th><th width="124.6893310546875">Required</th><th>Remark</th></tr></thead><tbody><tr><td>code</td><td>String</td><td>true</td><td>Country/Region code ISO 3166-1 alpha-<em>2</em></td></tr><tr><td>standardCode</td><td>String</td><td>true</td><td>Country/Region code ISO 3166-1 alpha-3</td></tr><tr><td>name</td><td>String</td><td>true</td><td>Country/Region name</td></tr></tbody></table>

**Example Response**

```json
{
    "success": true,
    "code": 200,
    "msg": "Success",
    "data":
    [
        {
            "code": "AU",
            "standardCode": "AUS",
            "name": "Australia"
        },
        {
            "code": "BD",
            "standardCode": "BGD",
            "name": "Bangladesh"
        }
    ]
}
```

## City List

{% hint style="info" %}
This interface is updated very infrequently, so please localize the data before calling it.
{% endhint %}

```
POST /merchant/core/mcb/common/city
```

**Request**

<table><thead><tr><th width="163.52716064453125">param</th><th width="111.38800048828125">Type</th><th width="106.715087890625">Required</th><th>Remark</th></tr></thead><tbody><tr><td>regionCode</td><td>String</td><td>false</td><td>Country/Region code ISO 3166-1 alpha-<em>2</em></td></tr></tbody></table>

**Response**

<table><thead><tr><th width="194.74249267578125">Param</th><th width="84.67596435546875">Type</th><th width="109.2738037109375">Required</th><th>Remark</th></tr></thead><tbody><tr><td>code</td><td>String</td><td>true</td><td>city code</td></tr><tr><td>name</td><td>String</td><td>true</td><td>city name</td></tr><tr><td>country</td><td>String</td><td>true</td><td>Country/Region code ISO 3166-1 alpha-<em>2</em></td></tr><tr><td>countryStandardCode</td><td>String</td><td>true</td><td>Country/Region code ISO 3166-1 alpha-3</td></tr></tbody></table>

**Example Response**

```json
{
    "success": true,
    "code": 200,
    "msg": "Success",
    "data":
    [
        {
            "code": "AU_01",
            "name": "test",
            "country": "AU",
            "countryStandardCode": "AUS"
        }
    ]
}
```

## City List-v2

It includes two levels: province/state/region and city.

{% hint style="info" %}
This interface is updated very infrequently, so please localize the data before calling it.
{% endhint %}

```
POST /merchant/core/mcb/common/v2/city
```

**Request**

<table><thead><tr><th width="163.52716064453125">param</th><th width="111.38800048828125">Type</th><th width="106.715087890625">Required</th><th>Remark</th></tr></thead><tbody><tr><td>regionCode</td><td>String</td><td>false</td><td>Country/Region code ISO 3166-1 alpha-<em>2</em></td></tr></tbody></table>

**Response**

<table><thead><tr><th width="194.74249267578125">Param</th><th width="84.67596435546875">Type</th><th width="109.2738037109375">Required</th><th>Remark</th></tr></thead><tbody><tr><td>code</td><td>String</td><td>true</td><td>city code</td></tr><tr><td>name</td><td>String</td><td>true</td><td>city name</td></tr><tr><td>country</td><td>String</td><td>true</td><td>Country/Region code ISO 3166-1 alpha-<em>2</em></td></tr><tr><td>countryStandardCode</td><td>String</td><td>true</td><td>Country/Region code ISO 3166-1 alpha-3</td></tr><tr><td>parentCode</td><td>String</td><td>true</td><td>Parent code</td></tr><tr><td>children</td><td>List</td><td>true</td><td>children city list</td></tr><tr><td>children[0].code</td><td>String</td><td>true</td><td>city code</td></tr><tr><td>children[0].name</td><td>String</td><td>true</td><td>city name</td></tr><tr><td>children[0].country</td><td>String</td><td>true</td><td>Country/Region code ISO 3166-1 alpha-<em>2</em></td></tr><tr><td>children[0].countryStandardCode</td><td>String</td><td>true</td><td>Country/Region code ISO 3166-1 alpha-3</td></tr><tr><td>children[0].parentCode</td><td>String</td><td>true</td><td>Parent code</td></tr><tr><td>children[0].children</td><td>String</td><td>true</td><td>children city list</td></tr></tbody></table>

**Example Response**

```json
{
    "success": true,
    "code": 200,
    "msg": "Success",
    "data":
    [
        {
            "code": "AU-ACT",
            "name": "Australian Capital Territory",
            "parentCode": "0",
            "country": "AU",
            "countryStandardCode": "AUS",
            "children":
            [
                {
                    "code": "AU-ACT-80100",
                    "name": "Australian Capital Territory (Canberra)",
                    "parentCode": "AU-ACT",
                    "country": "AU",
                    "countryStandardCode": "AUS",
                    "children":
                    []
                }
            ]
        }
    ]
}
```

## Mobile Code List

{% hint style="info" %}
This interface is updated very infrequently, so please localize the data before calling it.
{% endhint %}

```
POST /merchant/core/mcb/common/mobileAreaCode
```

**Request**

<table><thead><tr><th width="163.52716064453125">param</th><th width="166.05596923828125">Type</th><th width="150.750244140625">Required</th><th>Remark</th></tr></thead><tbody><tr><td></td><td></td><td></td><td></td></tr></tbody></table>

**Response**

<table><thead><tr><th width="192.7352294921875">Param</th><th width="98.84393310546875">Type</th><th width="120.6402587890625">Required</th><th>Remark</th></tr></thead><tbody><tr><td>code</td><td>String</td><td>true</td><td>Mobile code. eg: +1</td></tr><tr><td>name</td><td>String</td><td>true</td><td>Region Name</td></tr><tr><td>areaCode</td><td>String</td><td>true</td><td>Region Code ISO 3166-1 alpha-2</td></tr><tr><td>language</td><td>String</td><td>true</td><td>Region Lanuage</td></tr><tr><td>enableGlobalTransfer</td><td>Boolean</td><td>true</td><td>Is Global Transfer Available</td></tr></tbody></table>

**Example Response**

```json
{
    "success": true,
    "code": 200,
    "msg": "Success",
    "data":
    [
        {
            "code": "+1",
            "name": "Canada",
            "areaCode": "CA",
            "language": "en_US",
            "enableGlobalTransfer": true
        }
    ]
}
```

## Upload File

{% hint style="info" %}
**content-type=multipart/form-data**; please generate an empty object for signature for this interface\
Only jpg, png, and pdf formats are supported; the file size cannot exceed 2M
{% endhint %}

```
POST /merchant/core/mcb/common/file/upload
```

**Request**

<table><thead><tr><th width="163.52716064453125">param</th><th width="136.88800048828125">Type</th><th width="106.343994140625">Required</th><th>Remark</th></tr></thead><tbody><tr><td>category</td><td>String</td><td>true</td><td>Please use the value: card</td></tr><tr><td>file</td><td>File</td><td>true</td><td>File</td></tr></tbody></table>

**Response**

<table><thead><tr><th width="192.7352294921875">Param</th><th width="98.84393310546875">Type</th><th width="120.6402587890625">Required</th><th>Remark</th></tr></thead><tbody><tr><td>fileId</td><td>String</td><td>true</td><td>File Id</td></tr></tbody></table>

**Example Response**

```json
{
    "success": true,
    "code": 200,
    "msg": "Success",
    "data":
    {
        "fileId": "c7bf3c1b-25d1-4b75-b519-1e6bf383d0a7"
    }
}
```

## Submit Work Order

```
POST /merchant/core/mcb/work/submit
```

**Request**

<table><thead><tr><th width="163.52716064453125">param</th><th width="80.75518798828125">Type</th><th width="106.285400390625">Required</th><th>Remark</th></tr></thead><tbody><tr><td>merchantOrderNo</td><td>String</td><td>true</td><td>Merchant order number. length[20...40]</td></tr><tr><td>title</td><td>String</td><td>true</td><td>title. length[1...255]</td></tr><tr><td>target</td><td>String</td><td>true</td><td>Target. length[1...255] eg CardNumer</td></tr><tr><td>content</td><td>String</td><td>false</td><td>Content. length[0...1000]</td></tr><tr><td>files</td><td>List</td><td>false</td><td>File ID. Call <a href="#upload-file">upload file</a> interface to get</td></tr><tr><td>tradeType</td><td>String</td><td>true</td><td>Type.<br><code>CARD_ACTIVE</code>: Card activation; <br><code>OTHER</code>: Other</td></tr></tbody></table>

**Response**

<table><thead><tr><th width="192.7352294921875">Param</th><th width="98.84393310546875">Type</th><th width="120.6402587890625">Required</th><th>Remark</th></tr></thead><tbody><tr><td>merchantOrderNo</td><td>String</td><td>true</td><td>Merchant order number</td></tr><tr><td>orderNo</td><td>String</td><td>true</td><td>Platform order number</td></tr><tr><td>title</td><td>String</td><td>true</td><td>title</td></tr><tr><td>target</td><td>String</td><td>true</td><td>Target</td></tr><tr><td>content</td><td>String</td><td>false</td><td>Content</td></tr><tr><td>tradeType</td><td>String</td><td>true</td><td>Type.<br><code>CARD_ACTIVE</code>: Card activation; <br><code>OTHER</code>: Other</td></tr><tr><td>tradeStatus</td><td>String</td><td>true</td><td><p>Status. <br><code>wait_process</code>: pending; <br><code>processing</code>: processing; </p><p><code>success</code>: success; </p><p><code>fail</code>: failure</p></td></tr><tr><td>remark</td><td>String</td><td>false</td><td>Remark</td></tr><tr><td>createTime</td><td>Long</td><td>true</td><td>Millisecond timestamp</td></tr><tr><td>updateTime</td><td>Long</td><td>true</td><td>Millisecond timestamp</td></tr></tbody></table>

**Example Response**

```json
{
  "merchantOrderNo": "13243897979979797999008085",
  "orderNo": "WORK-202508071953472304731676672",
  "title": "ApplePay",
  "target": "5533700042831234",
  "content": "Active",
  "tradeType": "CARD_ACTIVE",
  "tradeStatus": "processing",
  "remark": null,
  "createTime": 1754607865000,
  "updateTime": 1754648044000
}
```

## Work Order List

```
POST /merchant/core/mcb/work/list
```

**Request**

<table><thead><tr><th width="163.52716064453125">param</th><th width="80.75518798828125">Type</th><th width="106.285400390625">Required</th><th>Remark</th></tr></thead><tbody><tr><td>merchantOrderNo</td><td>String</td><td>false</td><td>Merchant order number</td></tr><tr><td>orderNo</td><td>String</td><td>false</td><td>Platform order number</td></tr><tr><td>target</td><td>String</td><td>false</td><td>Target</td></tr><tr><td>tradeType</td><td>String</td><td>false</td><td>Type.<br><code>CARD_ACTIVE</code>: Card activation; <br><code>OTHER</code>: Other</td></tr><tr><td>tradeStatus</td><td>String</td><td>false</td><td><p>Status. <br><code>wait_process</code>: pending; <br><code>processing</code>: processing; </p><p><code>success</code>: success; </p><p><code>fail</code>: failure</p></td></tr></tbody></table>

**Response**

<table><thead><tr><th width="192.7352294921875">Param</th><th width="98.84393310546875">Type</th><th width="120.6402587890625">Required</th><th>Remark</th></tr></thead><tbody><tr><td>merchantOrderNo</td><td>String</td><td>true</td><td>Merchant order number</td></tr><tr><td>orderNo</td><td>String</td><td>true</td><td>Platform order number</td></tr><tr><td>title</td><td>String</td><td>true</td><td>title</td></tr><tr><td>target</td><td>String</td><td>true</td><td>Target</td></tr><tr><td>content</td><td>String</td><td>false</td><td>Content</td></tr><tr><td>tradeType</td><td>String</td><td>true</td><td>Type.<br><code>CARD_ACTIVE</code>: Card activation; <br><code>OTHER</code>: Other</td></tr><tr><td>tradeStatus</td><td>String</td><td>true</td><td><p>Status. <br><code>wait_process</code>: pending; <br><code>processing</code>: processing; </p><p><code>success</code>: success; </p><p><code>fail</code>: failure</p></td></tr><tr><td>remark</td><td>String</td><td>false</td><td>Remark</td></tr><tr><td>createTime</td><td>Long</td><td>true</td><td>Millisecond timestamp</td></tr><tr><td>updateTime</td><td>Long</td><td>true</td><td>Millisecond timestamp</td></tr></tbody></table>

**Example Response**

```json
{
  "success": true,
  "code": 200,
  "msg": "SUCCESS",
  "data": {
    "total": 1,
    "records": [
      {
        "merchantOrderNo": "13243897979979797999008085",
        "orderNo": "WORK-202508071953472304731676672",
        "title": "ApplePay",
        "target": "5533700042831234",
        "content": "Active",
        "tradeType": "CARD_ACTIVE",
        "tradeStatus": "processing",
        "remark": null,
        "createTime": 1754607865000,
        "updateTime": 1754648044000
      }
    ]
  }
}
```
