Collection is the formal process by which our client receives payments from others.
API List
- /bcp-core/prepay/v1/prepaidwithModel
- /bcp-core/collection/v1/policyCollectionAndOffset
- /bcp-core/collection/v1/collectionApplication
- /bcp-core/collection/v1/confirmCollection
- /bcp-core/collection/v1/producerCollect
- /bcp-core/collection/v1/application
- /bcp-core/collection/v1/reverseCollection
In the following API, if a Receipt No. is passed in the request, this Receipt No. will be used directly and the system will no longer automatically generate a new one.
Meanwhile, these APIs also support the transmission of dynamic fields, which need to be configured in advance in the Data Dictionary of the Collection.
- /bcp-core/prepay/v1/prepaidwithModel
- /bcp-core/collection/v1/policyCollectionAndOffset
- /bcp-core/collection/v1/collectionApplication
- /bcp-core/collection/v1/producerCollect
Premium Pre-paid API (Cash Before Cover - Prepayment)
API Path
/bcp-core/prepay/v1/prepaidwithModel
Business Usage
Collect premium from the policyholder before policy issuance.
This is a separate process due to the extensive integration required for automated policy issuance after prepayment.
The premium pre-paid API facilitates the collection of premiums from prepaid policies, ensuring that clients make cash payments before the coverage case. No real fee information will be generated on the backend.
API Sample
Sample Request
{
"Amount": 1004.4,
"CurrencyCode": "BRL",
"CollectionType": 2,
"Payer": {
"AccountId": "",
"AccountNo": "",
"BankCode": "",
"PartyId": "",
"PartyCode": "CI00001023",
"PartyName": "0629",
"Paymode": "100",
"PartyRole": "1",
"BankId": "",
"ChequeNo": ""
},
"ExpenseModelList": [],
"ReceiptDate": "2023-12-20T14:55:55",
"NoteContent": "",
"BranchCode": "10002",
"ManualReceipt": 1,
"ReferencePerson": "",
"InsuranceAccountId": "",
"PolicyCurrency": "BRL",
"ProposalNoList":["PABTBTI0001295167"],
"ReferenceType": 1,
"RequestSystem": 1,
"PerpaidMaxPremium": 1004.4,
"ExchangeRate": 1,
"CustomerField001":"Field001",
"CustomerField002":"Field002"
}Sample Response
{
"Collection": {
"@pk": 9699282056,
"@type": "BcpCollection-Collection",
"Amount": 1004.4,
"Balance": 1004.4,
"BankAccountNo": "",
"BankCode": "",
"BizTransId": "969XXXXX54,B4FXXXXX6C76AXXXXXBD3F6A080XXXXX",
"BookingCurrencyCode": "BRL",
"BranchCode": "10002",
"BusinessObjectId": 1100002651715,
"ChequeNo": "",
"CollectionId": "969XXXXX56,13XXXXXB518A0DXXXXX43F84D58XXXXX",
"CollectionStatus": "1",
"CollectionType": "1",
"CurrencyCode": "BRL",
"DetailList": [{
"@pk": 9699282057,
"@type": "BcpCollectionDetail-CollectionDetail",
"Amount": 1004.4,
"BookingCurrencyCode": "BRL",
"BusinessObjectId": 110XXXXX51850,
"CollectionDetailId": 969XXXXX57,
"CurrencyCode": "BRL",
"DirectBookingEr": 1,
"DirectEr": 1,
"IsExpense": "N",
"LocalCurrencyCode": "BRL",
"RefId": "969XXXXX58,97BXXXXXAC2FXXXXX0B2A2E6AB4XXXXX",
"RefType": "2"
}],
"DirectBookingEr": 1,
"DirectEr": 1,
"HasMandate": "N",
"HasNote": "N",
"IsManualReceipt": "N",
"LocalCurrencyCode": "BRL",
"OrderIds": [9699282055],
"PayerPayeeCode": "CI00001023",
"PayerPayeeName": "PrePaidPolicy",
"PayerPayeeType": "1",
"PaymentMethod": "100",
"ReceiptNo": "RCT20231200000020",
"ReceiveBy": 10000001178005,
"ReceiveTime": "2023-12-20T14:02:36",
"ReferencePerson": "",
"VersionSeq": 1
},
"IsSuccessful": true,
"ReceiptNo": "RCT20231200000020",
"SuspenseNo": "RCT20231200000020"
}Internal Data Behavior
Related data dictionary:
BizTransaction,BcpPrepayOrder,BcpCollection,BcpCollectionDetail
- Input QuotationNo in the UI to query the associated data in
BcpBizTransactionandBcpPrepayOrderthrough the field QuotationNo stored in the main transaction data. BcpCollectionwill be generated to store the main collection information, and is associated withBcpPrepayOrderthrough the primary keyOrderId.BcpCollectionDetailwill be generated to store collection details.- Renew the field Balance and CommissionStatus.
What You Can Extend
After finishing the business process of BCP, relevant data should be sent back to PA to renew the status of PA orders and activate the automatic issue function.
Policy Premium Collection API
API Path
/bcp-core/collection/v1/policyCollectionAndOffset
Business Usage
The policy premium collection API facilitates the collection of premiums from issued policies. It involves a complex process that includes not only collecting money but also offsetting it against premiums and commission ARAP.
This process is usually applicable to customer billing and those personal product lines.
It is to collect money and perform offset directly so that AR can be directly collected in one step. Such collection and offset combination allows great transaction convenience.
API Sample
Sample Request
{
"Collection": {
"DetailList": [
{
"@type": "BcpCollectionDetail-CollectionDetail",
"Amount": 1004.4,
"CurrencyCode": "BRL",
"IsExpense": "N",
"BookingCurrencyCode": "BRL",
"LocalCurrencyCode": "BRL",
"DirectEr": 1,
"DirectBookingEr": 1
}
],
"@type": "BcpCollection-Collection",
"IsManualReceipt": 1,
"Amount": 1004.4,
"BranchCode": "{{orgCode}}",
"CurrencyCode": "BRL",
"BookingCurrencyCode": "BRL",
"LocalCurrencyCode": "BRL",
"PaymentMethod": "100",
"DirectEr": 1,
"DirectBookingEr": 1,
"InsurerAccountCode": "",
"DirectBusiEr": 1,
"PayerPayeeName": "PolicyCollection",
"CustomerField001":"Field001",
"CustomerField002":"Field002"
},
"ArapList": [
{
"@type": "BcpArap-Arap",
"ArapId": "969XXXXX78,33BXXXXX8394AXXXXX6B0862AD1XXXXX",
"IsOffsetByCommission": "N",
"OffsetByCommissionAmount": 93
}
]
}Sample Response
{
"ArapList": [{
"@pk": 9699392278,
"@type": "BcpArap-Arap",
"Amount": 1004.4,
"ArapCate": "1",
"ArapId": "969XXXXX78,33BXXXXX8394A5A4XXXXX862AD1XXXXX",
"ArapNo": "DR20231200002668",
"ArapStatus": "2",
"ArapType": "-1001",
"Balance": 0,
"BizTransId": "969XXXXX74,293XXXXXC7E70XXXXXCC93136BDXXXXX",
"BookingCurrencyCode": "BRL",
"BusinessObjectId": 110XXXXX51088,
"Commission": 93,
"CurrencyCode": "BRL",
"CurrentPeriod": 1,
"DirectBookingEr": 1,
"DirectEr": 1,
"DueDate": "2023-12-21",
"GenerateDate": "2023-12-20T11:49:38",
"HasMandate": "N",
"HasNote": "N",
"IsApproved": "N",
"IsOffsetByCommission": "N",
"LocalCurrencyCode": "INR",
"NeedStatement": "N",
"OffsetAmount": 0,
"OffsetByCommissionAmount": 0,
"PayerPayeeName": "PolicyCollection",
"PayerPayeeType": "IndiCustomer",
"PaymentMethod": "100",
"PeriodEndDate": "2023-12-21",
"PeriodStartDate": "2023-12-21",
"RefFeeId": 969XXXXX75,
"Tax": 74.4,
"TotalPeriods": 1,
"Transaction": {
"@pk": 9699392274,
"@type": "BcpBizTransaction-BizTransaction",
"BizModule": "10",
"BizSource": "1",
"BizTransId": "969XXXXX74,293XXXXXC7E702XXXXXC93136BDXXXXX",
"BizTransTime": "2023-12-20T11:49:35",
"BizTransType": "NEWBIZ",
"BizUniqueId": "972XXXXX05,CC1XXXXX66110XXXXX0B25D7E9CXXXXX",
"BookingCurrencyCode": "BRL",
"BranchCode": "10006",
"BranchName": "India Branch",
"BusinessObjectId": 110XXXXX51370,
"ChannelCode": "PTY10000052462004",
"ChannelName": "TEST0926",
"ChannelType": "14",
"ChannelTypeName": "Agent Company",
"CurrencyCode": "BRL",
"DirectBookingEr": 1,
"DirectEr": 1,
"HasMandate": "N",
"LocalCurrencyCode": "INR",
"PaymentMethod": "100",
"PaymentType": "1",
"PolicyHolderName": "PolicyCollection",
"PolicyNo": "POTBTI01226628",
"ProductCode": "TBTI",
"ProductLineCode": "Travel",
"ProductName": "API TEST",
"RefTransId": "972XXXXX05,CC1XXXXX66110XXXXX0B25D7E9CXXXXX",
"RefTransNo": "POTBTI01226628",
"TotalPeriods": 1
},
"VersionSeq": 2
}],
"Collection": {
"@pk": 9699392282,
"@type": "BcpCollection-Collection",
"Amount": 1004.4,
"ArapIds": [9699392278],
"Balance": 0,
"BookingCurrencyCode": "BRL",
"BranchCode": "{{orgCode}}",
"BusinessObjectId": 110XXXXX51715,
"CollectionId": "969XXXXX82,7C4XXXXXA0044CBXXXXX8702DEFXXXXX",
"CollectionStatus": "1",
"CollectionType": "3",
"CurrencyCode": "BRL",
"DetailList": [{
"@pk": 9699392283,
"@type": "BcpCollectionDetail-CollectionDetail",
"Amount": 1004.4,
"BookingCurrencyCode": "BRL",
"BusinessObjectId": 110XXXXX51850,
"CollectionDetailId": 9699392283,
"CurrencyCode": "BRL",
"DirectBookingEr": 1,
"DirectEr": 1,
"IsExpense": "N",
"LocalCurrencyCode": "BRL",
"RefId": "969XXXXX84,FD0XXXXX48D59XXXXXD61CBE240XXXXX",
"RefType": "2"
}],
"DirectBookingEr": 1,
"DirectBusiEr": 1,
"DirectEr": 1,
"HasMandate": "N",
"HasNote": "N",
"InsurerAccountCode": "",
"IsManualReceipt": "1",
"LocalCurrencyCode": "BRL",
"PayerPayeeName": "PolicyCollection",
"PaymentMethod": "100",
"ReceiptNo": "RCT20231200000019",
"ReceiveBy": 10000001178005,
"ReceiveTime": "2023-12-20T11:49:43",
"VersionSeq": 1
}
}Internal Data Behavior
The policyCollectionAndOffset business code is divided into three parts in practice.
- Step 1:Generate Collection
The following are data dictionaries involved in generating collections and their associative relationships.
- Generate the data of
BcpCollectionand associate it with the primary keyArapId of all BcpArapcharge data through ArapId. - Generate the data of
BcpCollectionDetailand associate it withBcpCollectionthrough the field of CollectionId. - Generate the data of
BcpSuspense, and ReferenceNo is the ReceiptNo field ofBcpCollection. Update the primary key field SuspenseId ofBcpSuspenseto the RefId field of allBcpCollectionDetaildata generated in the second step. - Generate the data of
BcpSuspenseDetailand associate it withBcpSuspensethrough SuspenseId, with the primary key field CollectionId ofBcpCollectionthrough the RefId field, and with the primary key field CollectionDetailId ofBcpCollectionDetailthrough the RefDetailId field. - Generate the fee data that needs to be sent to GL for the current operation, and send the data to GL based on the data table. The fee type in the data table corresponds to BcpExpenseType.
- Step 2-1: Use Commission Offset
Users can select commission offset on the UI. In the commission offset, the involved models and their associative relationships are as follows:
BizTransId,CurrentPeriod, andBcpFeeType=100600are used to query theBcpFeeassociated with the commission fee.- Query the associated data of
SalesCommissionthrough the FeeId and update the balance of commission to 0 and theCommissionStatusturns into 4 (offset). - Generate
BcpOffsetdata, and the main data comes from theBcpArap. - Generate two sets of
BcpOffsetDetaildata. One is about ARAP offset (RefType=3 ARAP), and the other is about commission offset (RefType=1 FEE). - Generate the fee data that needs to be sent to GL for the current operation, ensuring the data includes the fee type corresponding to BcpExpenseType.
- Step 2-2: Don’t Use Commission Offset
Users don’t select commission offset on UI. In the collection, the models involved in the commission and their associative relationship are as follows:
BizTransId,CurrentPeriod, andBcpFeeType=100600are used to query theBcpFeeassociated with the commission fee.- Query the associated data of
SalesCommissionthrough the FeeId and update theCommissionStatusturns into 2 (Waiting for Issue).
- Step 3: Use the Collection Generated in Step 1 to Offset
To offset the collection generated in Step 1, the involved data dictionaries and their associative relationships are as follows:
- Obtain the collection details through the primary key of the collection generated in Step 1 and RefType=2.
- Obtain the
BcpSuspensedata generated in Step 1 through the RefId ofBcpCollectionDetail. - Generate offset data, and the main data comes from
BcpArap. - Generate two pieces of
BcpOffsetDetaildata. When RefType=3, the data is about ARAP; and when RefType=2, it is about suspense. - Generate the fee type data that needs to be sent to GL for the current operation and send the data to GL based on the data table, namely the fee type corresponding to offsettype=2 (application) of BcpOffsetType.
What You Can Extend
When the above settlement is finished, it is required to transmit the data back to the business party.
Single Collection API
API Path
/bcp-core/collection/v1/collectionApplication
Business Usage
The single collection API collects premiums from any party and any operation, focusing solely on fees unrelated to customers and producers. It also incorporates an AR offsetting process.
This process is usually applicable to customer billing and those personal product lines.
It is to collect money and perform offset directly so that AR can be directly collected in one step. Such collection and offset combination allows great transaction convenience.
API Sample
Sample Request
{
"Collection": {
"DetailList": [
{
"@type": "BcpCollectionDetail-CollectionDetail",
"Amount": 256.12,
"CurrencyCode": "BRL",
"IsExpense": "N",
"BookingCurrencyCode": "BRL",
"LocalCurrencyCode": "BRL",
"DirectEr": 1,
"DirectBookingEr": 1
}
],
"@type": "BcpCollection-Collection",
"IsManualReceipt": 1,
"Amount": 256.12,
"BranchCode": "10001",
"CurrencyCode": "BRL",
"ReceiveTime": "2023-12-20T15:35:08",
"BookingCurrencyCode": "BRL",
"LocalCurrencyCode": "BRL",
"PaymentMethod": "100",
"DirectEr": 1,
"DirectBookingEr": 1,
"InsurerAccountCode": "",
"DirectBusiEr": 1,
"PayerPayeeCode": "CI00001023",
"PayerPayeeName": "StatementCollection",
"ReferenceInfo": "",
"InsurerAccountCode": "",
"BankAccountName": "",
"ChequeDate": null,
"CreditCardNo": "",
"CreditCardType": "",
"ApplyDate": null,
"BankAccountNo": "",
"DueDate": null,
"HolderCategory": "",
"HolderIdType": "",
"HolderIdNo": "",
"BankAgency": "",
"AgencyDigit": "",
"AccountDigit": "",
"AccountType": "",
"BankChargePre": "0",
"CustomerField001":"Field001",
"CustomerField002":"Field002"
},
"RefNo": "CI00001023",
"ArapList": [
{
"@type": "BcpArap-Arap",
"ArapId": "969XXXXX21,42EXXXXXE7BA22XXXXX3A31D706XXXXX",
"IsOffsetByCommission": "N",
"OffsetByCommissionAmount": 0
}
]
}Sample Response
{
"ArapList": [
{
"@pk": 9699392421,
"@type": "BcpArap-Arap",
"ArapId": "969XXXXX21,42EXXXXXE7BA22XXXXX3A31D706XXXXX",
"ArapStatus": "1",
"HasMandate": "N",
"HasNote": "N",
"IsApproved": "N",
"IsOffsetByCommission": "N",
"NeedStatement": "N",
"OffsetAmount": 0,
"OffsetByCommissionAmount": 0,
"VersionSeq": 0
}
],
"Collection": {
"@pk": 9699392439,
"@type": "BcpCollection-Collection",
"AccountDigit": "",
"AccountType": "",
"AgencyDigit": "",
"Amount": 256.12,
"ArapIds": [
9699392421
],
"Balance": 0,
"BankAccountNo": "",
"BankAgency": "",
"BankChargePre": 0,
"BookingCurrencyCode": "BRL",
"BranchCode": "10001",
"BusinessObjectId": 1100002651715,
"CollectionId": "969XXXXX39,E91XXXXXD01AC8XXXXX3ADEEA23XXXXX",
"CollectionStatus": "1",
"CollectionType": "2",
"CreditCardNo": "",
"CreditCardType": "",
"CurrencyCode": "BRL",
"DetailList": [
{
"@pk": 9699392440,
"@type": "BcpCollectionDetail-CollectionDetail",
"Amount": 256.12,
"BookingCurrencyCode": "BRL",
"BusinessObjectId": 1100002651850,
"CollectionDetailId": 9699392440,
"CurrencyCode": "BRL",
"DirectBookingEr": 1,
"DirectEr": 1,
"IsExpense": "N",
"LocalCurrencyCode": "BRL",
"RefId": "969XXXXX41,9ECXXXXX63B4CA4XXXXXC0D9731XXXXX",
"RefType": "2"
}
],
"DirectBookingEr": 1,
"DirectBusiEr": 1,
"DirectEr": 1,
"HasMandate": "N",
"HasNote": "N",
"HolderCategory": "",
"HolderIdNo": "",
"HolderIdType": "",
"InsurerAccountCode": "",
"IsManualReceipt": "1",
"LocalCurrencyCode": "BRL",
"PayerPayeeCode": "CI00001023",
"PayerPayeeName": "StatementCollection",
"PaymentMethod": "100",
"ReceiptNo": "RCT20231200000022",
"ReceiveBy": 10000046972028,
"ReceiveTime": "2023-12-20T15:35:21",
"ReferenceInfo": "",
"VersionSeq": 1,
"BankAccountName": ""
},
"RefNo": "CI00001023"
}Internal Data Behavior
The business code for “Collect” is similar to that of the policyCollectionAndOffset. However, “Collect” does not include a commission offset, which aligns with the process in Step 1, Step 2-1 and Step 3 of the policyCollectionAndOffset.
What You Can Extend
When the above settlement is finished, the data must be transmitted back to the business party.
Confirm Collection API
API Path
/bcp-core/collection/v1/confirmCollection
Business Usage
The confirm collection API facilitates secondary fee confirmation for special payment methods, such as checks, addressing scenarios where additional verification is necessary.
API Sample
Sample Request
[{
"@pk": 10473691741,
"@type": "BcpCollection-Collection",
"Amount": 1004.4,
"ArapIds": [10473721498],
"BookingCurrencyCode": "BRL",
"BranchCode": "10006",
"BusinessObjectId": 1100002651715,
"CollectionId": "104XXXXX741,72EXXXXXFDA287XXXXXBC89709CXXXXX",
"CollectionStatus": "1",
"CollectionType": "3",
"CurrencyCode": "BRL",
"DetailList": [{
"@pk": 10473691742,
"@type": "BcpCollectionDetail-CollectionDetail",
"Amount": 1004.4,
"BookingCurrencyCode": "BRL",
"BusinessObjectId": 1100002651850,
"CollectionDetailId": 10473691742,
"CurrencyCode": "BRL",
"DirectBookingEr": 1,
"DirectEr": 1,
"IsExpense": "N",
"LocalCurrencyCode": "BRL",
"RefId": "104XXXXX743,ACBXXXXX68A7497XXXXXF35D23EXXXXX",
"RefType": "2"
}],
"DirectBookingEr": 1,
"DirectEr": 1,
"HasMandate": "N",
"HasNote": "N",
"InsurerAccountCode": "",
"IsManualReceipt": "1",
"LocalCurrencyCode": "BRL",
"PayerPayeeName": "10000046972028",
"PaymentMethod": "102",
"ReceiptNo": "RCT20240500000006",
"ReceiveBy": 10000001178005,
"ReceiveTime": "2024-05-20T15:02:03",
"SystemReceiveBy": 10000001178005,
"SystemReceiveTime": "2024-05-20T15:02:03",
"VersionSeq": 1,
"ConfirmTime": "2024-01-01"
}]Sample Response
No returnProducer Collection API (Suspense Collection)
API Path
/bcp-core/collection/v1/producerCollect
Business Usage
The producer collection API is designed for collecting money specifically at the producer level.
This process is usually applicable to agent billing and those commercial product lines.
It is to collect money and park it in a temporary account, which is also called a Suspense Account. Later on, the account can be used to offset multiple ARs.
Such collection and offset separation allows for greater transaction flexibility.
API Sample
Sample Request
{
"Collection": {
"DetailList": [
{
"@type": "BcpCollectionDetail-CollectionDetail",
"Amount": 100000,
"CurrencyCode": "BRL",
"IsExpense": "N",
"BookingCurrencyCode": "BRL",
"LocalCurrencyCode": "BRL",
"DirectEr": 1,
"DirectBookingEr": 1
}
],
"@type": "BcpCollection-Collection",
"IsManualReceipt": 1,
"Amount": 100000,
"BranchCode": "10002",
"CurrencyCode": "BRL",
"BookingCurrencyCode": "BRL",
"LocalCurrencyCode": "BRL",
"PaymentMethod": "100",
"DirectEr": 100000,
"DirectBookingEr": 100000,
"InsurerAccountCode": "",
"DirectBusiEr": 100000,
"PayerPayeeCode": "PTY10000052461005",
"PayerPayeeName": "leitest0011",
"CustomerField001":"Field001",
"CustomerField002":"Field002"
},
"RefNo": "PTY10000052461005"
}Sample Response
{
"Collection": {
"@pk": 9699282068,
"@type": "BcpCollection-Collection",
"Amount": 100000,
"Balance": 100000,
"BookingCurrencyCode": "BRL",
"BranchCode": "10002",
"BusinessObjectId": 1100002651715,
"CollectionId": "969XXXXX68,408XXXXXB2C3BCXXXXXBAA1F90DXXXXX",
"CollectionStatus": "1",
"CollectionType": "4",
"CurrencyCode": "BRL",
"DetailList": [{
"@pk": 9699282069,
"@type": "BcpCollectionDetail-CollectionDetail",
"Amount": 100000,
"BookingCurrencyCode": "BRL",
"BusinessObjectId": 1100002651850,
"CollectionDetailId": 9699282069,
"CurrencyCode": "BRL",
"DirectBookingEr": 1,
"DirectEr": 1,
"IsExpense": "N",
"LocalCurrencyCode": "BRL",
"RefId": "969XXXXX70,466XXXXX503F0C8XXXXXC9B0173XXXXX",
"RefType": "2"
}],
"DirectBookingEr": 100000,
"DirectBusiEr": 100000,
"DirectEr": 100000,
"HasMandate": "N",
"HasNote": "N",
"InsurerAccountCode": "",
"IsManualReceipt": "1",
"LocalCurrencyCode": "BRL",
"PayerPayeeCode": "PTY10000052461005",
"PayerPayeeName": "leitest0011",
"PaymentMethod": "100",
"ReceiptNo": "RCT20231200000021",
"ReceiveBy": 10000001178005,
"ReceiveTime": "2023-12-20T14:52:48",
"VersionSeq": 1
},
"RefNo": "PTY10000052461005"
}Internal Data Behavior
The business code for “Collect” is similar to that of the policyCollectionAndOffset. “Collect” does not include commission and actual offset, which aligns with the process in Step 1 of the policyCollectionAndOffset.
Application API
API Path
/bcp-core/collection/v1/application
Business Usage
The application process offsets the AR with collected funds. It can be against multiple AR/AP to facilitate a large amount of collection, especially on behalf of channels.
API Sample
Sample Request
{
"ArapList": [
{
"@type": "BcpArap-Arap",
"ArapId":"969XXXXX65,5739XXXXX708F12F8B02D5676E1XXXXX"
}
],
"RefNo": "RCT20231200000021"
}Sample Response
[{
"@pk": 9699392312,
"@type": "BcpOffset-Offset",
"Amount": 1004.4,
"ApplicationNo": "RCT20231200000021",
"BookingCurrencyCode": "BRL",
"BusinessObjectId": 1100002652393,
"CurrencyCode": "BRL",
"DetailList": [{
"@pk": 9699392313,
"@type": "BcpOffsetDetail-OffsetDetail",
"Amount": 1004.4,
"BookingCurrencyCode": "BRL",
"BusinessObjectId": 1100002652469,
"CurrencyCode": "BRL",
"DirectBookingEr": 1,
"DirectEr": 1,
"LocalCurrencyCode": "BRL",
"OffsetDetailId": 9699392313,
"RefId": "969XXXXX65,573XXXXX3708F12XXXXXD5676E1XXXXX",
"RefType": "3"
}, {
"@pk": 9699392314,
"@type": "BcpOffsetDetail-OffsetDetail",
"Amount": 1004.4,
"BookingCurrencyCode": "BRL",
"BusinessObjectId": 1100002652469,
"CurrencyCode": "BRL",
"DirectBookingEr": 1,
"DirectEr": 1,
"LocalCurrencyCode": "BRL",
"OffsetDetailId": 9699392314,
"RefId": "969XXXXX70,466XXXXX503F0C8XXXXXC9B0173XXXXX",
"RefType": "2"
}],
"DirectBookingEr": 1,
"DirectEr": 1,
"HasNote": "N",
"LocalCurrencyCode": "BRL",
"OffsetBy": 10000001178005,
"OffsetCurrencyCode": "BRL",
"OffsetId": "969XXXXX12,35DXXXXX2020XXXXX9FC74C7B14XXXXX",
"OffsetNo": "OFS20231200000030",
"OffsetStatus": "1",
"OffsetTime": "2023-12-20T14:52:54",
"OffsetType": "2",
"VersionSeq": 1
}]Internal Data Behavior
The business code for “Collect” is similar to that of the policyCollectionAndOffset. However, “Collect” does not generate collection data and lacks a commission offset, making it consistent with step 2-1 and step 3 in the policyCollectionAndOffset.
What You Can Extend
When the above settlement is finished, it is required to transmit the data back to the business party.
Reverse Collection API
API Path
/bcp-core/collection/v1/reverseCollection
Business Usage
The reverse collection API is designed to reverse a collection transaction.
API Sample
Sample Request
[
"969XXXXX68,408XXXXXB2C3BC7XXXXXAA1F90XXXXX"
]Sample Response
{
"Model": [
{
"@pk": 9699282080,
"@type": "BcpReverse-Reverse",
"BusinessObjectId": 1100002652882,
"HasNote": "N",
"RefId": "969XXXXX68,408XXXXXB2C3BC7XXXXXAA1F90XXXXX",
"ReverseBy": 10000001178005,
"ReverseId": 9699282080,
"ReverseReason": "manual",
"ReverseTime": "2023-12-20T15:07:17",
"ReverseType": "1"
}
],
"Status": "OK"
}Internal Data Behavior
The business code of reverseCollection is divided into three parts in practice.
- Step 1: Generate Reversal Records and Details
The involved data dictionaries and their associative relationships are as follows:
GenerateBcpReversewith a collection type, and associate it with CollectionId and the primary key ofBcpCollectionthrough RefId. - Step 2: Reverse Offset
The data dictionaries involved in reverse offset and their associative relationships are as follows:
- Query the associated data from
BcpCollectionDetailwhere the RefType is suspense through the CollectionId ofBcpCollection. - Query the
BcpSuspensedata through the field RefId ofBcpCollectionDetail. - Query the associated Data of
BcpSuspenseDetail. - Query
BcpOffsetdata through ReceiptNo and BcpSuspenseDetail ofBcpCollection. - Use the RefId and
RefType of BcpSuspenseDetailto query the data concerning ARAP and suspense respectively. - Restore the values of fields where the data and status of ARAP and Commission change during the collection process to the ones before collection after querying the ARAP data.
- Generate the
BcpSuspenseDetaildata after querying the suspense data. - Generate the fee data that needs to be sent to GL for the current operation, and send the data to GL based on the data table. The fee type in the data table is corresponding to SuspenseType in BcpSuspenseType.
- Step 3: Reverse Collection
Data dictionaries involved in the reverse collection and their associative relationships are as follows:
- Query the associated data from
BcpCollectionDetailwhere the RefType is suspense through the CollectionId ofBcpCollection. - Query the
BcpSuspensedata through the field RefId ofBcpCollectionDetailassociated with theBcpSuspenseprimary key SuspenseId, and change SuspenseStatus into inactive. - Generate the fee data that needs to be sent to GL for the current operation, and send the data to GL based on the data table. The fee type is corresponding to SuspenseType in BcpSuspenseType.
What You Can Extend
After completing the reverse collection.