Table of Contents |
---|
1. Data Source Import
The following types of data sources can now be created in DI:
Bank Connection data sources (imported via Web Form 2.0)
Schufa Credit Check data sources (provided by Schufa WS)
Bank Connection Data Source
Initial Import
The major prerequisites for creating a data source in DI is:
Obtaining a user access token from Access
Drawio | |
---|---|
zoom | 1 |
simple | 0 |
inComment | 0 |
pageId | 1542193157 |
custContentId | 1653637261 |
Table of Contents |
1. Data Source Import
The following types of data sources can now be created in DI:
Bank Connection data sources (imported via Web Form 2.0)
Schufa Credit Check data sources (provided by Schufa WS)
Bank Connection Data Source
Initial Import
The major prerequisites for creating a data source in DI is:
Obtaining a user access token from Access
Drawio | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
Data source synchronization call returned bank connection in status
FAILED
Calling GET/dataSources/{dataSourceId}/status resulted in status
FAILED
and codeUPDATE_REQUIRED
.
...
To create a report of a particular type (Chargebacks, Gambling, B2B Balances, Insurance) and of particular category (Risk, Cash Flow, B2B, Contracts ) , make a call to POST/cases/{caseId}/reports/ <report_category>/<report_type>.
NOTE: If there is a need for report to be re-generated automatically in particular time periods without additional user interaction, the interval
and intervalPeriod
fields need to be specified. Such a report will be considered continuous and will have associated with it child reports, created automatically inside of the same case file.
...
To get a report of a particular type (Chargebacks, Gambling, B2B Balances, Insurance) and of particular category (Risk, Cash Flow, B2B, Contracts) , make a call to GET/cases/{caseId}/reports/ <report_category>/<report_type>.
NOTE: Every case file may have maximum one report of a particular type: e.g. 1 case file may have 1 Chargebacks report, 1 Gambling report and 1 Insurance Report (child reports are not taken into account for this count).
...
The case file id
returned in the response of the call should be used as an input path parameter for GET cases/{caseId}/reports to retrieve the DAC report results.
...
There are two ways to set triggers:
Select one of the pre-defined triggers via POST /reports/{reportId}/triggers/cashFlow
Create your own trigger via POST /reports/{reportId}/triggers
Pre-defined triggers
For example, if the client wants to get notified, when the user’s salary amount will change, he can use SALARYAMOUNTCHANGE
pre-defined trigger.
Once the user’s salary changes, the client will get notified via the specified callbackUrl
about the report, from which the salary change information has been received.
...
/reports/{reportId}/triggers/cashFlow
Create your own trigger via POST /reports/{reportId}/triggers
Pre-defined triggers
For example, if the client wants to get notified, when the user’s salary amount will change, he can use SALARYAMOUNTCHANGE
pre-defined trigger. For this make a call to POST /reports/{reportId}/triggers/cashFlow with the triggerType
= SALARYAMOUNTCHANGE
and reportId
of the created by the client continuous Income Report, that contains salary transactions.
Thus, once an automatically created Income child report contains salary transaction with the amount different to the previously created Income report, the notification with the child report details will be sent to the specified in the request body callbackUrl
.
Creating your own trigger
In case none of the pre-defined triggers can cover client's needs, the client can create his own customized trigger.
Example 1
For example, if the client wants to get notified once the user concluded a new health insurance contract, the following trigger for continuous Contracts Report for Insurances can be set via POST /reports/{reportId}/triggers. To do this the client should find the contracts of contractType
= HEALTHINSURANCE
AND newContract
=true
, to ensure that the contract is new for the user.
Code Block |
---|
...
"triggers": [
{
"path": "$.contractsData[*].contractType",
"operator": "EQ",
"value": "HEALTHINSURANCE",
”and": [
{
"path": "$.contractsData[*].newContract",
"operator": "EQ",
"value": true
}
]
} |
Thus, once an automatically created Contracts Report for Insurance child report contains new health insurance contract, the notification with the child report details will be sent to the specified in the request body callbackUrl
.
Example 2
Another example of own triggers creation can be as follows: the client needs to be notified once a user has new gambling or debt collection-related transactions, to define risk level for user’s account. To do this, the client should find the transactions with GAMBLING
OR DEBTCOLLECTION
labels.
Code Block |
---|
...
"triggers": [
{
"path": "$.accountData[*].transactions[*].labels,
"operator": "EQ",
"value": "GAMBLING"
},
{
"path": "$.accountData[*].transactions[*].labels",
"operator": "EQ",
"value": "DEBTCOLLECTION"
}
]
} |
Thus, once an automatically created Spending child report contains new gambling or debt collection transactions, the notification with the child report details will be sent to the specified in the request body callbackUrl
.
5. User’s DI Data Deletion
In case it is needed to remove the DI data of the user, such as the created Data Sources, Reports, Cases, theDELETE/ user endpoint can be used.
To delete the user’s data it is mandatory to pass a valid user access_token
.
...
To ensure whether the deletion process has been finalized for the user, the obtained deletionId
should be used for GET /user/status/delete/{deletionId} call. The response of the call is aimed at providing the detailed data on the status of data deletion at each DI module (application).
...