---
# System prepended metadata

title: CathayCareApproveDetailAPI
tags: [Documentation, agentportal]

---

---
title: 'CathayCareApproveDetailAPI'
disqus: hackmd
---

## **CathayCareApproveDetail**
Version | Handler | Desc   | Date 
------- | ------- | ------ | ----------
1.0.0   | Jum     | Create | 2025-05-19

**Description**:  
Call API in core to get information for Cathay Care insurance input.

| 環境 | 網址 |
| ---- | ---- |
| SIT  | https://api-sit.cathay-ins.com.vn:9527/guarantee/api/CathayCare/CathayCareApproveDetail |
| UAT  | https://api-uat.cathay-ins.com.vn:9527/guarantee/api/CathayCare/CathayCareApproveDetail |
| Core | /cxinsvn/servlet/HttpDispatcher/ATWA_1000/getHealthCareApproveDetailForAP |

---

## Header規格設計
### 1. 前端呼叫 API Gateway Header 參數 (同既有規範)

| 項目                   | 說明 |
| ----------------------- | ---- |
| Method                  | POST |
| Required Request Header | Content-Type : application/json; charset=UTF-8 |
| Required Request Header | x-api-version=1 |
| Bearer Token            | Call login API for receiving "access_token". This token is Bearer Token format. For details, please refer to the [login api](/lfbsyk40QCuaISPSf0x30g) |

### 2. 中台呼叫核心 Header 參數

參數名        | 型態   | 必須 | 說明
------------- | ------ | ---- | ----------------------
CLIENT_TARGET | String | Y    | 登入帳號，帶前端傳入的參數 loginId
TOKEN         | String | Y    | 前面登入時會拿到的 TOKEN 字串
LG_CODE       | String | Y    | 語系代碼，越文：vi-VN，英文：en-US，中文：zh-TW，若此參數未傳入，會預設回傳越文

---

## Request
### API Gateway

FIELD     | TYPE    | REQUIRED | NOTED
--------- | ------- | -------- | -------------------
language  | String  | Y        | LANGUAGE FOR MESSAGE
loginId   | String  | Y        | LOGIN ID
token     | String  | Y        | TOKEN
agntEmpno | String  | N        | Agent employee number
polNo     | String  | N        | Policy number
cntrNo    | String  | N        | Contact number


### Request 範例

1. 前端Request API Gateway 範例
```json=
{
    "language":"zh-TW",
    "loginId": "0100014373",
    "token": "NlXEt66fejIrQvIGampcPnLVdmIYVo0wdZf8T5H5xkM5lpVpvuhDn9qSaAQDSkbkOdUjxvXufQpyH0WZWvQThw==",
    "prodPolCode":"AC01007",
    "agntEmpno":"0100014373",
    "cntrNo":"210601168725"
}
```
```json=
{
    "language":"zh-TW",
    "loginId": "0100014373",
    "token": "NlXEt66fejIrQvIGampcPnLVdmIYVo0wdZf8T5H5xkM5lpVpvuhDn9qSaAQDSkbkOdUjxvXufQpyH0WZWvQThw==",
    "agntEmpno":"0100014373",
    "polNo":"CI21P4004909"
}
```

2. 中台呼叫核心API範例
```json=
{
 "AGNT_EMPNO":"0100014373",
 "CNTR_NO":"210601168725"
}
```
```json=
{
 "AGNT_EMPNO":"0100014373",
 "POL_NO": "CI19P4060026"
}
```
## Response

---

### Response Fields
| Field Name | Data Type | Length | Description |
| ---------- | --------- | ------ | ----------- |
| status     | Integer   | 3      | **200**: Success, **999**: Cathay core error, **500**: System error, **504**: Timeout |
| success    | Boolean   | -      | Indicates if the request was successful |
| message    | String    | -      | "Success" or an error message |
| total      | Integer   | -      | Total number of records in `data` |
| data       | Object    | -      | Data list (returns null if no data is available) |

---

### Relationship Reference
The `relationship` field combines `INSR_RELATION` + `INSR_RELATION_MEMO` and is displayed directly in Vietnamese.

| INSR_RELATION Code | Relationship Display         | Notes |
| ----------------- | --------------------------- | ----- |
| 1                 | Tôi (Self)                  | Code 1, self |
| 2                 | vợ chồng (Spouse)           | Code 2, spouse |
| 3                 | con cái (Child)             | Code 3, child |
| 4                 | cha mẹ (Parent)             | Code 4, parent |
| 6                 | anh chị em ruột (Sibling)   | From `INSR_RELATION_MEMO`, sibling |
| 6                 | người nuôi dưỡng (Guardian) | From `INSR_RELATION_MEMO`, guardian |

---

### Data Fields
| Field Name        | Core Parameter     | Data Type | Required | Description |
| ----------------- | ----------------- | --------- | -------- | ----------- |
| approveDetail       | APPROVE_DETAIL      | Object    | Y        | Policy data |
| cntrNo            | CNTR_NO           | String    | Y        | Contract number |
| procNo            | PROC_NO           | String    | Y        | Acceptance number |
| prodCode          | PROD_CODE         | String    | Y        | Product category code (Motorcycle: C / Car: C / Travel: A / Accident: A) |
| polNo             | POL_NO            | String    | Y        | Previous policy number |
| procCode          | PROC_CODE         | String    | Y        | Acceptance process status |
| prodPolCode       | PROD_POL_CODE     | String    | Y        | Product policy category code |
| customerName      | CUSTOMER_NAME     | String    | Y        | Applicant name |
| certificateType   | CERTIFICATE_TYPE  | String    | Y        | Applicant certificate type (1: National ID, 2: Birth Certificate, 3: Passport, 4: Military ID, 5: Other, 6: Tax ID) |
| certificateNumber | CERTIFICATE_NUMBER | String   | Y        | Applicant ID number (ID/Birth Certificate: 12 digits; Passport: 7–10 digits) |
| gender            | GENDER            | String    | Y        | Applicant gender (1: Male, 2: Female) |
| nationalId        | NATIONAL_ID       | String    | Y        | Applicant nationality |
| birthday          | INSR_BIRTHDAY     | Date      | Y        | Applicant birthdate (YYYY-MM-DD) |
| phoneNo           | PHONE_NO          | String    | Y        | Phone number |
| addr              | ADDR              | String    | Y        | Applicant address |
| polDt             | POL_DT            | DateTime  | Y        | Old policy effective date (YYYY-MM-DD HH:MM:SS) |
| polDueDt          | POL_DUE_DT        | DateTime  | Y        | Old policy expiration date (YYYY-MM-DD HH:MM:SS) |
| prem              | PREM              | Decimal   | Y        | Actual premium collected |
| taxes             | TAXES             | Decimal   | Y        | Taxes |
| rate              | RATE              | Decimal   | Y        | Tax rate |
| hbdMemo           | HND_MEMO          | String    | Y        | Underwriter rejection reason (most recent record) |
| printType         | PRINT_TYPE        | String    | Y        | Policy format (1: Electronic, 2: Paper) |
| crtEmpno          | CRT_EMPNO         | String    | Y        | Input employee ID |
| crtName           | CRT_NAME          | String    | Y        | Input employee name |
| crtDt             | CRT_DT            | DateTime  | Y        | Input date/time (YYYY-MM-DD HH:MM:SS) |
| typePol           | TYPE_POL          | String    | Y        | Policy submission type (M:SAG, B:MBW, others: Offline) |
| saleWay           | SALE_WAY          | String    | Y        | Submission channel |
| polDate           | POL_DATE          | Date      | Y        | E-policy sending date (YYYY-MM-DD) |
| rank              | RANK              | String    | Y        | Insurance pack rank (1–5): 1–Bronze, 2–Silver, 3–Gold, 4–Platinum, 5–Diamond |
| paytDetail        | PAYT_DEAE         | String    | N        | Payment details |
| polEmail          | POL_EMAIL         | String    | Y        | E-policy recipient email |
| polPrntDate       | POL_PRNT_DATE     | DateTime  | Y        | Issuance date (YYYY-MM-DD HH:MM:SS) |
| payTime           | PAY_TIME          | DateTime  | Y        | Payment time (YYYY-MM-DD HH:MM:SS) |
| payKind           | PAY_KIND          | String    | Y        | Payment method (1: CS Cathay Life, 2: Bank Transfer, 3: MoMo, 4: Mobile Web) |
| payOption         | PAY_OPTION        | String    | Y        | Payment option (0: Pay by Agent, 1: Pay by Client) |
| insrList          | INSR_LIST         | List      | Y        | Accident insurance application roster (multiple) |
| premList          | PREM_LIST         | List      | Y        | Accident insurance premium records (multiple, nested within `insrList`, matched by `CNTR_NO` & `INSR_NO`) |
| diseaseList       | -                 | List      | N        | Disease information list |
| declareList       | -                 | List      | N        | Declaration information list |

---

### Insured List Details
| Field Name | Core Parameter | Data Type | Required | Description |
| ---------- | --------------- | --------- | -------- | ----------- |
| cntrNo | CNTR_NO | String | Y | Contract number |
| insrNo | INSR_NO | String | Y | Insured client number |
| serNo | SER_NO | String | Y | Roster sequence number |
| insrName | INSR_NAME | String | Y | Insured name |
| insrCertType | INSR_CERT_TYPE | String | Y | Insured certificate type |
| insrCertNumber | INSR_CERT_NUMBER | String | Y | Insured ID number |
| insrAge | INSR_AGE | Decimal | Y | Age at time of insurance |
| sex | INSR_GENDER | String | Y | Gender (1: Male, 2: Female) |
| insrBirthday | INSR_BIRTHDAY | Date | Y | Birthdate (YYYY-MM-DD) |
| insrProj | INSR_PROJ | String | Y | Insurance project |
| relationship | INSR_RELATION + INSR_RELATION_MEMO | String | Y | Relationship to applicant (displayed in Vietnamese) |
| assignBeneficiary | ASSIGN_BENEFICIARY | Integer | N | Beneficiary type (0: Law, 1: Assign) |
| numberBeneficiary | NUMBER_BENEFICIARY | Integer | N | Number of beneficiaries |
| beneficiaries | BENEFICIARIES | List | N | Beneficiary list |
| effDate | EFF_DATE | Date | Y | Rider effective date (YYYY-MM-DD) |
| expDate | EXP_DATE | Date | Y | Rider expiration date (YYYY-MM-DD) |
| insuranceInforce | insurance_inforce | String | N | Health check: customer inforce insurance |
| insuranceCancelOrDecline | insurance_cancel_or_decline | String | N | Health check: customer cancel or decline insurance |
| insuranceRenewCancelOrDecline | insurance_renew_cancel_or_decline | String | N | Health check: customer cancel or decline renew insurance |
| yearlyCheckups | yearly_checkups | String | N | Health check: customer yearly checkup |
| institutionLast3 | institution_last3 | String | N | Health check: customer institution last 3 years |
| medicalHistory | medical_history | String | N | Health check: customer medical history |
| rank | prod_rank | String | N | Rank of product |

---

### Beneficiaries Details
| Field Name | Core Parameter | Data Type | Required | Description |
| ---------- | --------------- | --------- | -------- | ----------- |
| beneficiaryRelationship | BENEFICIARY_RELATIONSHIP | String | N | Relationship of beneficiary |
| beneficiaryCertType | BENEFICIARY_CERT_TYPE | String | N | Type of beneficiary certificate |
| beneficiaryCertNumber | BENEFICIARY_CERT_NUMBER | String | N | Certificate number of beneficiary |
| beneficiaryName | BENEFICIARY_NAME | String | N | Name of beneficiary |
| beneficiaryBirthday | BENEFICIARY_BIRTHDAY | Date | N | Birthday of beneficiary (YYYY-MM-DD) |
| sex | SEX | String | N | Gender of beneficiary |
| beneficiaryPhone | BENEFICIARY_PHONE | String | N | Phone number of beneficiary |
| beneficiaryAddress | BENEFICIARY_ADDRESS | String | N | Address of beneficiary |
| ratio | RATIO | Decimal | N | Allocation ratio |
| jobCat | JOB_CAT | String | Y | Occupation category code |
| workCont | work_cont | String | Y | User-provided occupation description |

---

### Premium List Details
| Field Name | Core Parameter | Data Type | Required | Description |
| ---------- | --------------- | --------- | -------- | ----------- |
| discPrem | DISC_PREM | Decimal | Y | Discounted premium |
| realPrem | REAL_PREM | Decimal | Y | Actual premium collected |
| fronPrem | FRON_PREM | Decimal | Y | Foreign currency premium |
| fronDiscPrem | FRON_DISC_PREM | Decimal | Y | Foreign currency discounted premium |
| fronRealPrem | FRON_REAL_PREM | Decimal | Y | Foreign currency actual premium collected |
| amt | AMT | Decimal | Y | Coverage amount |
| fronAmt | FRON_AMT | Decimal | Y | Foreign currency coverage amount |
| effeStatDate | EFFE_STAT_DATE | Date | Y | Effective start date (YYYY-MM-DD) |
| effeEndDate | EFFE_END_DATE | Date | Y | Effective end date (YYYY-MM-DD) |
| prodId | PROD_ID | String | Y | Product ID |
| prodNm | PROD_NM | String | Y | Product name |

---

### Disease List Details
| Field Name | Core Parameter | Data Type | Required | Description |
| ---------- | --------------- | --------- | -------- | ----------- |
| serNo | ser_no | String | N | Sequence |
| diagnose | diagnose | String | N | Diagnosis detail |
| diagnosisDate | diagnosis_date | Date | N | Diagnosis date (YYYY-MM-DD) |
| diagnosisResult | diagnosis_result | String | N | Diagnosis result |
| diagnosisHospitalAddress | diagnosis_hospital_address | String | N | Diagnosis hospital address |
| insrName | insr_name | String | N | Insured name |

---

### Declaration List Details
| Field Name | Core Parameter | Data Type | Required | Description |
| ---------- | --------------- | --------- | -------- | ----------- |
| serNo | ser_no | String | N | Sequence |
| insrAvailableDate | insr_available_date | Date | N | Insured available date (YYYY-MM-DD) |
| insrCompanyNo | insr_company_no | String | N | Insured company ID |
| insrPrice | insr_price | Decimal | N | Insured price |
| insrStatus | insr_status | String | N | Insured status |
| insrName | insr_name | String | N | Insured name |


### Response 範例

```json=
{
  "status": 200,
  "success": true,
  "message": "Success",
  "total": 1,
  "data": {
    "approveDetail": {
      "cntrNo": "240270067683",
      "procNo": "PC24A0000013",
      "prodCode": "A",
      "polNo": "CI24PC000336",
      "procCode": "5",
      "prodPolCode": "AC01017",
      "customerName": "ĐƠN PC TO COPY",
      "certificateType": "1",
      "certificateNumber": "190029295",
      "gender": "2",
      "nationalId": "VIETN",
      "birthday": "2006-02-21",
      "phoneNo": "0785683609",
      "addr": "quận Hải Châu, Thành Phố Đà Nẵng",
      "polDt": "2024-02-22 10:30:00",
      "polDueDt": "2025-02-22 10:30:00",
      "prem": 1686000,
      "taxes": 0,
      "rate": 0,
      "hbdMemo": null,
      "printType": "1",
      "crtEmpno": "0100007225",
      "crtName": "Từ Vĩnh Quang (徐義侊)",
      "crtDt": "2024-02-21 11:01:30",
      "typePol": "M",
      "saleWay": "2",
      "polDate": "2024-02-21",
      "rank": "1",
      "paytDetail": "Thanh toán qua ngân hàng",
      "polEmail": "nguyenducchaungoc@gmail.com",
      "polPrntDate": "2024-02-22 10:45:00",
      "payTime": "2024-02-21 11:10:00",
      "payKind": "2",
      "payOption": "1"
    },
    "insrList": [
      {
        "cntrNo": "240270067683",
        "insrNo": "0032452742",
        "serNo": "0",
        "insrName": "ĐƠN PC TO COPY",
        "insrCertType": "1",
        "insrCertNumber": "190029295",
        "insrAge": 18,
        "sex": "2",
        "insrBirthday": "2006-02-21",
        "insrProj": "PMA",
        "relationship": "anh chị em ruột",
        "assignBeneficiary": 1,
        "numberBeneficiary": 1,
        "beneficiaries": [
          {
            "beneficiaryRelationship": "3",
            "beneficiaryCertType": "1",
            "beneficiaryCertNumber": "190029296",
            "beneficiaryName": "NTH",
            "beneficiaryBirthday": "1994-10-10",
            "sex": "2",
            "beneficiaryPhone": "0979200263",
            "beneficiaryAddress": "Tân Uyên, Bình Dương",
            "ratio": 100.0,
            "jobCat": "190101",
            "workCont": "Người quản lý"
          }
        ],
        "effDate": "2024-02-22",
        "expDate": "2025-02-22",
        "insuranceInforce": "N",
        "insuranceCancelOrDecline": "N",
        "insuranceRenewCancelOrDecline": "N",
        "yearlyCheckups": "N",
        "institutionLast3": "N",
        "medicalHistory": "N",
        "rank": "1",
        "premList": [
          {
            "discPrem": 0,
            "realPrem": 90000,
            "fronPrem": null,
            "fronDiscPrem": null,
            "fronRealPrem": null,
            "amt": 100000000,
            "fronAmt": null,
            "effeStatDate": "2024-02-22",
            "effeEndDate": "2025-02-22",
            "prodId": "PMA",
            "prodNm": "Bảo hiểm sức khỏe Cathay - Tử vong hoặc thương tật vĩnh viễn do tai nạn"
          }
        ]
      }
    ],
    "diseaseList": [],
    "declareList": []
  }
}

```

```

###### tags: `agentportal` `Documentation`
