--- 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`