DSP2 Introduction Here will be documented the DSP2 functionalities of the Iliad78 API.
Code examples are displayed in each section; tabs available in the menu allow you to switch them to various programming languages.
Banks The bank object is structured as follows:
{
"front_name" : "Crédit Agricole" ,
"front_subbank" : "CAM Alsace Vosges" ,
"front_type" : 1 ,
"id" : "b9b8be2d-36dd-44ec-8e71-513c2c3f055a" ,
"logo" : "https://dsp2.iliad78.net/static/ca.jpg" ,
"name" : "ca"
}
Full parameter list and description of the bank object Parameter Description Type id Id of the bank String front_type Type of the bank (1 part, 2 pro, 3 both) Enum 1
, 2
, 3
front_subbank Human readable name of the subbank String, Optional name Logical name of bank, can be used to group subbanks and query the API String front_name Human readable name of the bank String logo Url to logo hosted by us String
Get list of supported banks HTTP request
/v1/bank/all
?name=
name
&front_type=
front_type
Query parameters Parameter Description name Logical name of the bank to retrieve (will fetch all subbanks, if any) front_type Type of bank (1 part, 2 pro, 3 both)
Parameter Description id_bank The ID of the bank to retrieve
Return payload 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 [
{
"front_name" : "Crédit Agricole" ,
"front_subbank" : "CAM Brie Picardie" ,
"front_type" : 1 ,
"id" : "bank_MNQUwlHuVwFahzG5xlfjSv5T" ,
"logo" : "https://dsp2.iliad78.net/static/ca.jpg" ,
"name" : "ca"
},
{
"front_name" : "Crédit Agricole" ,
"front_subbank" : "CAM de Guadeloupe" ,
"front_type" : 1 ,
"id" : "bank_5acZBAyjp0je1kg8DIbhJaWw" ,
"logo" : "https://dsp2.iliad78.net/static/ca.jpg" ,
"name" : "ca"
},
{
"front_name" : "La Banque Postale" ,
"front_type" : 1 ,
"id" : "bank_D8X5ep13eGolJKsDZ7qdFttH" ,
"logo" : "https://dsp2.iliad78.net/static/lbp.jpg" ,
"name" : "lbp"
},
...
]
Code examples Filter banks The above command returns a JSON structed as follows:
json 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 [
{
"front_name" : "BNP Paribas" ,
"front_subbank" : "Fake BNPP subbank 1" ,
"front_type" : 2 ,
"id" : "bank_YX5ZaGYh517B74LC0SurKWbS" ,
"logo" : "https://dsp2.iliad78.net/static/bnpp.jpg" ,
"name" : "bnpp"
},
{
"front_name" : "BNP Paribas" ,
"front_subbank" : "Fake BNPP subbank 2" ,
"front_type" : 2 ,
"id" : "bank_r8XkKfAL46tdDA575T3OfLLu" ,
"logo" : "https://dsp2.iliad78.net/static/bnpp.jpg" ,
"name" : "bnpp"
}
]
Get single bank The above command returns a JSON structed as follows:
Authorization Full parameter list and description of the authorization object Field Description Type id authorization's id String, fixed size = 29 created_at The Unix timestamp representing creation date of the object in local time Int status Status of the customer authorization Enum authorized
, created
, requested
, failed
, renew
redirect_url Url used to redirect to to launch the authorization process String redirect_url_expiration Time in seconds before the url expires Int customer Customer object concerned by this authorization Object, Optional sepa Sepa object concerned by this authorization Object, optional
Authorization status
Value Description authorized
Customer authorized with banks, DSP2 operations can be performed created
Customer needs to be authorized requested
Customer is authorizing Iliad78 to retrieve their info failed
Customer authorization failed renew
Customer's bank token expired and needs to be refreshed
Create an authorization HTTP request Data parameters Parameter Description Field customer Id of the customer or customer object String or Object, Optional sepa Id of the sepa or sepa object String or Object, Optional
Code examples The above command returns a JSON structured as follows:
Get authorization HTTP request
/v1/authorization/
id_authorization
Query parameters Parameter Description id_authorization ID of customer
Return parameters Parameter Type id String, fixed size = 29 created_at Int status Enum authorized
, created
, requested
, failed
, renew
redirect_url String redirect_url_expiration Int customer Object, Optional sepa Object, optional
Authorization process Interactive flow In the interactive flow you redirect your customers to our bank selection page and we will redirect them to your redirect_url
when the authorization process is done.
HTTP request
/v1/selection/
id_authorization
?redirect_url=
redirect_url
Although we describe the structure of the redirect url here it's best to use the one provided at the creation of the customer as we reserve the right to change the structure of this url.
Query parameters Parameter Description id_authorization ID of Authorization redirect_url URL where your customer will be redirected after the authorization process
API flow In the API flow you get the list of all available banks and create an authorization request and redirect your customer to the url we provide you, then finally we will redirect to your redirect_url
when the authorization process is done.
This flow allows you to integrate more of the overall customer experience directly.
HTTP request
/v1/authorize/
id_authorization
?redirect_url=
redirect_url
Query parameters Parameter Description authorization ID of Authorization redirect_url URL where your customer will be redirected after the authorization process
Warning
This endpoints only accepts data as form-encoded (application/x-www-form-urlencoded
) and not JSON (application/json
) like all other endpoints
Data parameters Parameter Description id_bank ID of bank to authorize for
Return parameters Parameter Description redirect_url URL where you need to redirect you customer to authorize
Code examples The above command returns a JSON structured as follows:
Scoring Score object description Field Description Type id ID of score UUID4 customer Customer object Object, Optional sepa Sepa object Object, Optional duration Duration of loan in days Int amount Amount of loan, in cents int upfront Upfront amount to pay int, optional instalment Amount due each month int, optional identity_match Whether the customer is the owner of the account None when not computed, then bool account_active Account is active None when not computed, then bool funds_ready Any account's balance > upfront + 2 instalments, needs values for upfront
and instalment
None when not computed, then bool monthly_credit Has (a) monthly credit transaction(s) None when not computed, then bool score Score (0-100) Int status Status of score Enum done
, queued
, computing
, failed
Create score request HTTP request Data parameters Field Description id_object Customer or Sepa ID
Data parameters Field Description duration Duration of the loan amount Amount of the loan upfront Upfront amount to pay instalment Amount due each month
Return parameters Field Description id ID of score customer Customer object sepa Sepa object duration Duration of loan in days amount Amount of loan in cents upfront Upfront amount to pay instalment Amount due each month score Score (0-100) status Status of score identity_match Whether the customer is the owner of the account age_check Any account is older than 3 months funds_ready Any account's balance > upfront + 2 instalments monthly_credit Any account as a monthly credit transaction
Code examples The above command returns a JSON structured as follows:
JSON 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 {
"id" : "scor_g5ldE58PkjhwqcWx4KlD87Po" ,
"customer" : {
"created" : 1538562173 ,
"email" : "david@example.net" ,
"id" : "cust_9Cle7TXKkjhwqcWx4Kl5cQYk" ,
"mobile" : "+33639980102" ,
"name" : "David Coaster"
},
"duration" : 90 ,
"amount" : 15050 ,
"upfront" : 3000 ,
"installment" : 4000 ,
"score" : null ,
"status" : "queued" ,
"identity_match" : null ,
"age_check" : null ,
"funds_ready" : null ,
"monthly_credit" : null ,
"solvability" : null
}
Get score HTTP request
/v1/
id_object
/score/
id_score
Query parameters Field Description id_object Customer or Sepa ID id_score ID of score to fetch
Return parameters Field Description id ID of score id_customer ID of customer id_sepa ID of sepa duration Duration of loan in days amount Amount of loan score Score (0-100) status Status of score
Code examples The above command returns a JSON structured as follows:
JSON 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 {
"id" : "scor_g5ldE58PkjhwqcWx4KlD87Po" ,
"customer" : {
"created" : 1538562173 ,
"email" : "david@example.net" ,
"id" : "cust_9Cle7TXKkjhwqcWx4Kl5cQYk" ,
"mobile" : "+33639980102" ,
"name" : "David Coaster"
},
"duration" : 90 ,
"amount" : 15050 ,
"score" : 59 ,
"status" : "done" ,
"identity_match" : true ,
"age_check" : false ,
"funds_ready" : true ,
"monthly_credit" : true ,
"solvability" : true
}
Accounts Account model Field Description Type id Id of account as returned by the bank String name Name of the account String ownership Enum holder
, coholder
, attorney
, minorcustodian
, legalguardian
, nominee
, successor
, trustee
, type Type of the account Enum cacc
, card
area Technical information on account subspace within bank Object, Optional usage Account usage Enum priv
, orga
, Optional
Card Account specific fields
Field Description Type linked_account Id of account the card depends on String card_number Obfuscated card number String number_info Technical information on card number Object, Optional
Cash Account specific fields
Field Description Type iban IBAN of the account String currency Currency of the account (ISO4217) String
Ownership
Value Description holder Account owner coholder Account co-owner attorney Generic case for delegated access minorcustodian Delegated access for minor legalguardian Delegated access mandated by legal action nominee Nomited by account holder to represent successor Account ownership transferred on death trustee Beneficial ownership
Get account list HTTP request Data parameters Field Description id_object Customer or Sepa ID
Return payload JSON 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 [
{
"id" : "7LdcBk78dzkepO3Gf23" ,
"name" : "Mr et Mme Dupuis" ,
"ownership" : "coholder" ,
"type" : "cacc" ,
"usage" : "priv" ,
"iban" : "FR0510096000704728284613U81" ,
"currency" : "EUR"
},
{
"id" : "6LdcKRZ8d8pepO3Zop6" ,
"name" : "Carte débit différé" ,
"ownership" : "holder" ,
"type" : "card" ,
"usage" : "priv" ,
"linked_account" : "7LdcBk78dzkepO3Gf23" ,
"card_number" : "************3037"
}
]
Code examples Balances Balance model Field Description Type id_account ID of the account concerned String type Balance type Enum xpcd
, clbd
, valu
, itav
, prcd
, othr
amount Blance amount, in cents Int currency Balance currency (ISO4217) String name Balance name String id_last_transaction Id of the last transaction used to compute the balance String, optional
Balance Type
Value Description xpcd ISO20022 Expected clbd ISO20022 ClosingBooked valu Value-date balance itav ISO20022 InterimAvailable prcd ISO20022 PreviouslyClosedBooked othr Other Balance
Get account balances HTTP request
/v1/
id_object
/account/
id_account
/balance
Query parameters Field Description id_object ID of customer or sepa id_account ID of account returned by call on /account
endpoint
Return payload JSON 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 [
{
"id_account" : "7LdcBk78dzkepO3Gf23" ,
"type" : "xpcd" ,
"amount" : 256649 ,
"currency" : "EUR" ,
"name" : "Balance attendue"
},
{
"id_account" : "7LdcBk78dzkepO3Gf23" ,
"type" : "clbd" ,
"amount" : 257849 ,
"currency" : "EUR" ,
"name" : "Balance attendue" ,
"id_last_transaction" : "O6Bc45EldzkegP3Gfv5"
}
]
Code examples Transactions Transaction model Field Description Type id Id of the transaction String, Optional id_account Id of the account this transaction is from String label Label of transaction String amount Transaction amount, in cents Int currency Transaction currency (ISO4217) String date_operation Date when the operation took place Isoformat Date/Datetime String, Optional date_processed Date when the bank processed the operation Isoformat Date/Datetime String, Optional credit_debit_indicator Whether the transaction credits or debits funds Enum crdt
, dbit
status Transaction status Enum book
, pdng
, futr
, info
Transaction Status
Value Description book Transaction is processed pdng Transaction is awaiting processing (already affects instant balance) futr Transaction has not yet happened info Not a real transaction
Get transaction list HTTP request
/v1/
id_object
/account/
id_account
/transaction
Query parameters Field Description id_object ID of customer or sepa id_account ID of account returned by call on /account
endpoint
Return payload JSON 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 [
{
"id_account" : "7LdcBk78dzkepO3Gf23" ,
"label" : "Retrait DAB" ,
"amount" : 5000 ,
"currency" : "EUR" ,
"date_operation" : "2022-03-23" ,
"credit_debit_indicator" : "dbit" ,
"status" : "pdng"
},
{
"id" : "G5gpBkr5D8kepO3Gt53" ,
"id_account" : "7LdcBk78dzkepO3Gf23" ,
"label" : "Salaire" ,
"amount" : 200000 ,
"currency" : "USD" ,
"date_processed" : "2022-03-01T00:00:00" ,
"credit_debit_indicator" : "crdt" ,
"status" : "book"
},
...
]
Code examples