This article aims at informing API consumers of upcoming changes on Sis ID Controls API for the part of FR & NL verifications supported by SepaMail Diamond. It also applies to natural persons verifications.
Background
Bank account ownership verification in Sis ID relies on internal and external sources. Historically, the first external sources used was SepaMail Diamond.
Verifications supported using SepaMail Diamond includes a set of dedicated and specific properties :
- Specific reasonCodes and reasonLabels starting by SD-XX
- Other specific properties at verification level on the POST/checks API response
- Other specific properties at batch level on the /audition routes responses
For instance :
"reasons": [
"S-NR",
"I-NR",
"CLH-SINR",
"COH-CRL",
"SD-V"
],
"sepamailVerificationStatus": "VERIFIED",
"sepamailReportCodes": [
"01001",
"02001",
"03001"
],
"reasonLabels": {
"sepamail.code.01001": "01001 (existant and valid IBAN)",
"sepamail.status.VERIFIED": "The IBAN and the company are verified by the SEPAmail DIAMOND service.",
"sepamail.code.03001": "03001 (correct SIREN)",
"sepamail.code.02001": "02001 (correct customer type)",
"reason.code.I-NR": "IBAN not added on the platform.",
"reason.code.CLH-SINR": "Analysis of your payment history: company and IBAN unknown.",
"reason.code.S-NR": "Company not enrolled on the platform.",
"reason.code.COH-CRL": "Analysis of the community's payment history: combination known but with a low payment frequency."
},
{
"id": "",
"name": "Import #2 of August 31, 2020",
"nbItems": 387,
"nbAuditedItems": 352,
"nbErrorItems": 35,
"completed": false,
"failed": false,
"classificationResult": {
"high": 297,
"medium": 19,
"low": 11,
"no": 25
},
"nbPendingSepamail": 15,
"errors": ""
}
As Sis ID grew its portfolio of integrated bank account ownership verification external data sources, a generic model was introduced to represent data collected from a variety of providers under the MV-XX reasonCode and reasonLabel category. All other data sources having a similar role to SepaMail Diamond are nested in this MV-XX category that is available since Q1 2023.
Simplification
Sis ID rationalizes the portfolio of integrated data sources and API properties.
Ultimately, SD-XX codes and related properties will be deprecated and sunsetted under an agenda to be precised along 2026 and all results using an external source of truth for bank account ownership, both for legal and natural persons will be harmonized under the M-XX concept
{
...
"reasons": [
"S-NR",
"I-NR",
"CLH-SINR",
"COH-SINR",
"MV-M"
],
"reasonLabels": {
"reason.code.COH-SINR": "Analysis of the community's payment history: company and bank details unknown.",
"reason.code.MV-M": "Match of bank details with an account owner has been verified by the service: NAME.",
"reason.code.I-NR": "Bank details not added on the platform.",
"reason.code.CLH-SINR": "Analysis of your payment history: company and bank details unknown.",
"reason.code.S-NR": "Company not enrolled on the platform."
},
"lastMatchVerificationDetail": {
"dataProvider": "NAME",
"status": "MATCH",
"categories": [],
"date": "2023-01-16T09:42:21.440Z"
},
...
}
Mapping
This section provides guidance for mapping from the existing SD-XX codes to the MV-XX codes
| Existing reason code | Corresponding reason code |
Label These new labels will be applied in a second phase |
| SD-P | MV-P | External source: verification in progress |
| SD-V | MV-M | External source: match between bank details and third party validated |
| SD-NV | MV-NM | External source: correspondence between bank details and third party invalidated |
| SD-IV | MV-U | External source: data not eligible |
| MV-TO | External source: timeout | |
| MV-ERR | External source: technical error | |
| MV-CM | External source: partial match between bank details and third party |
What should you do about it?
As an API consumer :
- Check the dependancy level of your integration to SD-XX reasonCodes and reasonsLabels as well as with other SepaMail Diamond specifics properties :
nbPendingSepaMailsepamailVerificationStatussepamailReportCodessepamail.code.XXsepamail.status.XX
- Check the readyness of your integration to MV-XX reasonCodes and reasonsLabels. By default, it should be OK.
- Review the API documentation available here
- Reach out to your Sis ID contact to ask for configuration switching from the current to the new model