# Bill Fetch by Client Request ID API

#### <mark style="color:blue;">**API for fetching a Customer Bill, based on Client Request ID**</mark>

| Endpoint                                                                                                         |
| ---------------------------------------------------------------------------------------------------------------- |
| **Request:&#x20;**<mark style="color:blue;">**GET /couapp/bills/fetch/byClientId?clientReqId=vgRdasd248**</mark> |

<mark style="color:blue;">**Request Parameters**</mark>

**The various parameters are explained below:**

| Parent Property/Element                    | Property/Element Name | Mandatory | Data Type    | Description       |
| ------------------------------------------ | --------------------- | --------- | ------------ | ----------------- |
| **\[ROOT]** (No parent property / element) | clientReqId           | M         | Alphanumeric | Fixed Length – 10 |

<mark style="color:blue;">**Response Parameters**</mark>

**The various parameters are explained below:**

| Parent Property/Element                    | Property/Element Name | Mandatory | Data Type    | Description                                                                                                                                    |
| ------------------------------------------ | --------------------- | --------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| **\[ROOT]** (No parent property / element) | billId                | M         | UUID         | Fixed LenMachine-generated Unique ID for a Bill, used internallygth – 10                                                                       |
|                                            | refId                 | M         | Alphanumeric | Code generated by the Biller Operating Unit that acquires the customer for every bill fetch transaction initiated and used across all messages |
|                                            | billerId              | M         | String       | Unique ID assigned to the Biller by NPCI Fixed length - 14                                                                                     |
|                                            | status                | M         | String       | Status of the Operation                                                                                                                        |
|                                            | actionType            | C         | String       | Type of Bill Payment. Possible Values: BILL\_FETCH QUICKPAY BILL\_VALIDATE                                                                     |
|                                            | userId                | M         | Alphanumeric | Agent id Fixed length - 20                                                                                                                     |
|                                            | creationDate          | M         | String       | ISO 8601 Timestamp for the Bill Creation date                                                                                                  |
|                                            | modifiedDate          | M         | String       | ISO 8601 Timestamp for the Bill Modification date                                                                                              |
|                                            | createdEpochDate      | M         | Nuemric      | UNIX Epoch Timestamp for the Bill Creation date                                                                                                |
|                                            | modifiedEpochDate     | M         | Numeric      | UNIX Epoch Timestamp for the Bill Modification date                                                                                            |
| **billerResponse**                         | billId                | M         | String       | Machine-generated Unique ID for a Bill, used internally                                                                                        |
|                                            | amount                | M         | String       | Actual bill amount inclusive of all charges                                                                                                    |
|                                            | billDate              | M         | String       | This field denotes generation date of the bill                                                                                                 |
|                                            | billNumber            | M         | String       | This field denotes the bill number of the bill fetch / payment message requested                                                               |
|                                            | billPeriod            | M         | String       | The bill period of the bill fetch / payment requested                                                                                          |
|                                            | custConvFee           | M         | String       | Customer convenience fee (CCF1) paid by the Customer Operating Unit                                                                            |
|                                            | couCustConvFee        | M         | String       | Customer convenience fee (CCF2), paid by the Customer to Customer Operating Unit                                                               |
|                                            | dueDate               | M         | String       | This field denotes due date of the bill                                                                                                        |
|                                            | customerName          | M         | String       | This field denotes due date of the bill                                                                                                        |
|                                            | amountOption          | M         | Boolean      | A flag indicating if the Biller supports Amount Options                                                                                        |
|                                            | tagList               | M         | String       | Amount Breakup Options eg:{"name": "Additional Charges", "value": "500"}                                                                       |
| **additionalInfo**                         | name                  | C         | String       | Name of the Additional Info Parameter                                                                                                          |
|                                            | value                 | C         | String       | Value of the Additional Info Parameter                                                                                                         |
| **customerParams**                         | name                  | C         | String       | Name of the Customer Parameter attribute                                                                                                       |
|                                            | value                 | C         | String       | Value of the Customer Parameter attribute                                                                                                      |
| **generalResp**                            | statusCode            | M         | Numeric      | 200- SUCCESS Other than 200-Failure                                                                                                            |
|                                            | status                | M         | String       | It is either “Success” or failure                                                                                                              |
|                                            | message               | M         | String       | Contains the reason message for failure / success                                                                                              |
|                                            | remarks               | C         | String       |                                                                                                                                                |

<mark style="color:blue;">**Json Formatted Response Example (success response)**</mark>

```json
{
"genericResponse": { 
"message": "",
"remarks": "",
"status": "Success", 
"statusCode": "200"
},
"billId": "1ced7566-1add-4e01-9ed6-04cd67ac9684", 
"refId": "BlgcYxtJCrLU18BDm8rVDHQl0Hqf9x2XONi", 
"billerId": "DKAFEE000PUN01",
"status": "BILL_FETCH_SUCCESS",
"actionType": "BILL_FETCH", 
"userId": "FE41FE42BNK519012345",
"billerResponse": {
"billId": "1ced7566-1add-4e01-9ed6-04cd67ac9684", 
"amount": "1142000",
"billDate": "2021-12-09",
"billNumber": "59",
"billPeriod": "NA",
"custConvFee": "0",
"couCustConvFee": "0",
"dueDate": "2022-01-31",
"customerName": "AGAMJOT TEST ", 
"amountOption": false,
"tagList": null
},
"additionalInfo": [
{
"additionalInfoId": null, 
"name": "Student Name", 
"value": "AGAMJOT TEST "
},
{
"additionalInfoId": null, 
"name": "Father Name", 
"value": "VIRENDER SINGH"
},
{
"additionalInfoId": null, 
"name": "Class",
"value": "STD I"
},
{
"additionalInfoId": null,
"name": "Section",
"value": "A"
},
{
"additionalInfoId": null, 
"name": "TUITION FEE",
"value": "8670"
},
{
"additionalInfoId": null, 
"name": "E-CARE FEE",
"value": "900"
},
{
"additionalInfoId": null, 
"name": "COMPUTER FEE",
"value": "1350"
},
{
"additionalInfoId": null, 
"name": "EXAM FEE",
"value": "500"
}
],
"customerParams": [
{
"name": "Admission No/Application No/GR No", 
"value": "LF3130",
"type": null
},
{
"name": "Date Of Birth (DD-MM-YYYY)", 
"value": null,
"type": null
},
{
"name": "Mobile No", 
"value": null,
"type": null
}
],
"creationDate": "2021-12-09T08:37:40.082462", 
"modifiedDate": "2021-12-09T08:37:42.303627",
"createdEpochDate": 1639039060,
"modifiedEpochDate": 1639039062
}    
```

<mark style="color:blue;">**Json Formatted Response Example (failure response)**</mark>

```json
{
"genericResponse": { 
"message": "",
"remarks": "Fetch Request not supported, only QuickPay permitted", 
"status": "Failure",
"statusCode": "500"
},
"billId": "XXXXXXXX-7d79-4e3c-bd2d-382276669ba9",
"refId": "xxXXXxxxxxS4VZlr9bUF2lCCzFc4823081150", 
"billerId": "XXXXXXXXXXXXXX",
"status": "BILL_FETCH_FAILED",
"actionType": "BILL_FETCH", 
"userId": "FE41XXXXXXXXXXXXXX",
"billerResponse": null, 
"customerParams": [
{}
],
"creationDate": "2022-11-04T11:50:50+05:30", 
"modifiedDate": "2022-11-04T11:50:50.460818",
"createdEpochDate": 1667542850,
"modifiedEpochDate": 1667542850
}
```
