BeCLM - Documentation APIs

PUT CHECK RISK PM KYC


Cet endpoint de l'API permet de créer ou mettre à jour les informations d'une personne morale, et de lancer le filtrage.

Une réponse synchrone est reçue suite à la création ou mise à jour de la personne morale.

Une réponse asynchrone est reçue suite à l’exécution des contrôles sur la personne, contenant les résultats de ces contrôles


Description

Les descriptions complètes de l’appel et de la réponse asynchrone sont accessibles sur notre swagger


Méthode

PUT


Paramètres d’entrée

Param

Type

Description

Exemple

sourceName

String

Nom technique de la source sur laquelle la personne morale va être créée

CLIENTS

externalRefId

String

La référence de la personne morale qui va être créée ou mise à jour

134679852

Exemple de body

{{
  "contracts": [
    {
      "type": "type",
      "number": "123456",
      "insurer": "insurer",
      "startDate": "2024-10-23",
      "endDate": "2025-10-23"
    }
  ],
  "personAdditionalInformation": {
    "personType": "personType",
    "genderCode": "genderCode",
    "birthYear": "birthYear",
    "birthMonth": "birthMonth",
    "birthPlace": "birthPlace",
    "legalForm": "legalForm",
    "iban": "truncatedIban"
  },
  "personMetaData": {
    "entities": [
      "entity"
    ],
    "subEntities": [
      "subEntity"
    ]
  },
  "personCustomFields": [
    {
      "personCustomFieldDescriptorId": "personCustomFieldDescriptorId",
      "value": "1500.58"
    }
  ],
  "sirenCode": "123456789",
  "name": "Example Legal Entity",
  "creationDate": "2019-10-23",
  "oriasId": "12345678",
  "naf": "B06_10Z",
  "postalAddress": {
    "address": "1 rue du test",
    "zipCode": "40500",
    "city": "COUDURES",
    "country": "FRA",
    "building": "Appartement 01"
  },
  "registrationDate": "2020-11-24",
  "issuingOffice": "issuingOffice",
  "contract": {
    "startDate": "2025-03-01T10:00:00Z",
    "endDate": "2026-03-01T10:00:00Z",
    "legalEntityRef": {
      "sourceName": "sourceName",
      "externalRefId": "externalRefId"
    }
  },
  "siret": "12345678901234",
  "legalCategory": "legalCategory",
  "personType": "personType",
  "headcount": 11,
  "headcountRange": "R010_049",
  "legalEntityExtraData": {
    "occupation": "occupation"
  }
}

}

 

Réponse synchrone

Sortie immédiate : 

Champ

Type

Description fonctionnelle

Exemple

name

String

Raison sociale

Example Legal Entity

sirenCode

String

Numéro SIREN, alimente les contrôles SIREN, BODACC et sectoriels

123456789

siret

String

Numéro SIRET, contrôlé par cohérence avec le SIREN

12345678901234

legalCategory

String

Catégorie juridique

SAS

personType

String

Sous-type de personne

PROSPECT

naf

Enum

Code APE/NAF, alimente le contrôle "secteur d'activité à risque"

B06_10Z

creationDate

Date

Date de création de la société

2019-10-23

registrationDate

Date

Date d'immatriculation

2020-11-24

issuingOffice

String

Office / greffe d'immatriculation

Préfecture de Bordeaux

oriasId

String

Numéro ORIAS, alimente le contrôle ORIAS et le co-courtage

12345678

headcount

Integer

Effectif exact

11

headcountRange

Enum

Tranche d'effectif, alimente le contrôle de risque taille

R010_049

postalAddress.*

Objet

Adresse postale

1 rue du test, 40500 COUDURES, FRA (bâtiment : Appartement 01)

nationality

Enum (code pays)

Pays de rattachement, alimente les contrôles de risque pays

FRA

contract.*

Objet

Contrat de rattachement à une autre entité

du 2025-03-01T10:00:00Z au 2026-03-01T10:00:00Z, rattaché à sourceName / externalRefId

contracts[]

Liste

Contrats d'assurance

{ "type": "type", "number": "123456", "insurer": "insurer", "startDate": "2024-10-23", "endDate": "2025-10-23" }

personAdditionalInformation.*

Objet

Informations complémentaires, partagées avec le modèle PP

{ "personType": "personType", "genderCode": "genderCode", "birthYear": "birthYear", "birthMonth": "birthMonth", "birthPlace": "birthPlace", "legalForm": "legalForm", "iban": "truncatedIban" }

personMetaData.*

Objet

Rattachements internes

{ "entities": ["entity"], "subEntities": ["subEntity"] }

personCustomFields[]

Liste

Champs personnalisés paramétrés par société

{ "personCustomFieldDescriptorId": "personCustomFieldDescriptorId", "value": "1500.58" }

legalEntityExtraData.occupation

String

Activité déclarée


relationshipEndDate

Date

Date de fin de relation commerciale, peut servir à la radiation automatique selon votre configuration.

2026-06-30



Exemple de réponse obtenue quand la personne morale a été créée/mise à jour :
JSON
{
  "contracts": [
    {
      "type": "type",
      "number": "123456",
      "insurer": "insurer",
      "startDate": "2024-10-23",
      "endDate": "2025-10-23"
    }
  ],
  "personAdditionalInformation": {
    "personType": "personType",
    "genderCode": "genderCode",
    "birthYear": "birthYear",
    "birthMonth": "birthMonth",
    "birthPlace": "birthPlace",
    "legalForm": "legalForm",
    "iban": "truncatedIban"
  },
  "personMetaData": {
    "entities": [
      "entity"
    ],
    "subEntities": [
      "subEntity"
    ]
  },
  "personCustomFields": [
    {
      "personCustomFieldDescriptorId": "67b5ffc62d446968eeb0faa4",
      "value": "FRA"
    }
  ],
  "sirenCode": "325050383",
  "name": "Example Legal Entity",
  "creationDate": "2019-10-23",
  "oriasId": "12345678",
  "naf": "B06_10Z",
  "postalAddress": {
    "address": "1 rue du test",
    "zipCode": "40500",
    "city": "COUDURES",
    "country": "FRA",
    "building": "Appartement 01"
  },
  "registrationDate": "2020-11-24",
  "issuingOffice": "issuingOffice",
  "contract": {
    "startDate": "2025-03-01T10:00:00Z",
    "endDate": "2026-03-01T10:00:00Z"
  },
  "siret": "12345678942420",
  "legalCategory": "legalCategory",
  "personType": "personType",
  "headcount": 11,
  "headcountRange": "R010_049",
  "legalEntityExtraData": {
    "occupation": "occupation"
  }
}



 

Réponse asynchrone

Champ

Type

Description fonctionnelle

Exemple

eventId

String (UUID)

Identifiant unique de cet évènement de callback

60b1dbdb-42b0-43dd-a9bf-d22c48ceec4c

type

String

Constante ASYNC_RESPONSE identifiant la nature de l'évènement

ASYNC_RESPONSE

data.externalRef.sourceName / externalRefId

Objet

Référence de la personne morale contrôlée, à rapprocher de votre système

{ "sourceName": "sourceName", "externalRefId": "externalRefId" }

Pour chaque contrôle actif sur votre source :

data.controlsData.riskStatus

Enum

Statut global du dossier de risque suite à l'ensemble des contrôles

POTENTIAL_RISK

data.controlsData.lastControlDate

Date-heure

Date du dernier contrôle exécuté

2025-03-05T10:00:00Z

data.controlsData.pcrId

String

Identifiant de la trace de contrôle immuable (PCR), à conserver si vous devez faire référence à ce contrôle auprès du support BeCLM

2025-03-05T10:00:00.000Z-KYC-cb3b5b33-6929-4caf-b27e-60fdbaa7cdef

controlResults[].controlFamilyId / controlFamilyName

String

Famille fonctionnelle du contrôle (ex. "Risques LCB-FT", "Risques Bodacc")

66fa8d123bce49b2393135e5 / Risques LCB-FT

controlResults[].controlTypeId / controlTypeName

Integer / String

Identifiant et nom technique du contrôle exécuté

3 / GafiControl

controlResults[].date

Date-heure

Date d'exécution de ce contrôle précis

2025-03-05T10:00:00Z

controlResults[].computed

Boolean

Indique si le contrôle a effectivement été calculé (données suffisantes)

true

controlResults[].score

Integer (0-100)

Score de risque du contrôle

100

controlResults[].status

Enum

Résultat du contrôle

POTENTIAL_RISK

controlResults[].description

String

Libellé métier du contrôle

Contrôle GAFI

controlResults[].controlData

String

Donnée client ayant servi de base au calcul du contrôle

Pays de résidence : FRANCE

controlResults[].type

Enum

Type de contrôle : détermine les champs additionnels présents ci-dessous (discriminant)

THRESHOLD

controlResults[].riskFolderId (si type = BLACKLIST_PEP)

String

Référence du dossier de risque associé dans le module GDA/PPE/AM

88fa8d123bce49b2393139f0

controlResults[].oriasRegistration.* (si type = ORIAS)

Objet

Détail de l'immatriculation ORIAS trouvée (catégorie, statut, activités bancaires, mandants)

{ "categoryName": "CIF", "status": "REGISTERED", "bankActivities": [], "mandators": [] }

controlResults[].nbOfPastYearEvents (si type = BODACC_EVENT)

Integer

Nombre d'évènements de ce type publiés au BODACC sur les 12 derniers mois

1

controlResults[].personLinkBlacklistPepAmControlResultSummaries[] (si type = LINKED_PERSON, variante screening)

Liste

Résultats de screening (GDA/PEP/AM) sur chaque personne liée

{ "externalRefId": "LinkedPersonExternalRefId", "score": 80, "status": "POTENTIAL_RISK" }

controlResults[].controlResultSummaries[] (si type = LINKED_PERSON ou VIGILANCE, variante vigilance)

Liste

Résultats de vigilance sur chaque personne liée

{ "externalRefId": "LinkedPersonExternalRefId", "score": 75, "status": "POTENTIAL_RISK", "vigilanceCombinationName": "Vigilance TEST" }

controlResults[].vigilanceCombinationName (si type = VIGILANCE)

String

Nom de la combinaison de vigilance déclenchée

Vigilance allégée

controlResults[].vigilanceStatus (si type = VIGILANCE)

Enum

Niveau de vigilance calculé

HIGH_VIGILANCE_STATUS


Exemple de réponse asynchrone obtenue :
JSON
{
  "eventId": "ad2c10df-d861-4634-baf7-eb314a56e92c",
  "data": {
    "externalRef": {
      "sourceName": "sourceName",
      "externalRefId": "externalRefId"
    },
    "controlsData": {
      "riskStatus": "POTENTIAL_RISK",
      "lastControlDate": "2025-03-05T10:00:00Z",
      "controlResults": [
        {
          "controlFamilyId": "66fa8d123bce49b2393135e5",
          "controlFamilyName": "Risques LCB-FT",
          "controlTypeId": 3,
          "controlTypeName": "GafiControl",
          "date": "2025-03-05T10:00:00Z",
          "computed": true,
          "score": 100,
          "status": "POTENTIAL_RISK",
          "description": "Contrôle GAFI",
          "controlData": "Donnée Client",
          "type": "THRESHOLD"
        },
        {
          "controlFamilyId": "66fa8d123bce49b2393135e5",
          "controlFamilyName": "Risques LCB-FT",
          "controlTypeId": 0,
          "controlTypeName": "BlacklistControl",
          "date": "2025-03-05T09:50:00Z",
          "computed": true,
          "score": 100,
          "status": "POTENTIAL_RISK",
          "description": "Contrôle GDA",
          "controlData": "Donnée Client",
          "riskFolderId": "88fa8d123bce49b2393139f0",
          "type": "BLACKLIST_PEP"
        },
        {
          "controlFamilyId": "66fa8d123bce49b2393135e5",
          "controlFamilyName": "Risques LCB-FT",
          "controlTypeId": 0,
          "controlTypeName": "OriasControl",
          "date": "2025-03-05T09:50:00Z",
          "computed": true,
          "score": 100,
          "status": "POTENTIAL_RISK",
          "description": "Contrôle Orias",
          "controlData": "Données Client",
          "oriasRegistration": {
            "number": "12345678",
            "status": "UNREGISTERED",
            "dateChecked": "2025-03-05T09:50:00Z"
          },
          "type": "ORIAS"
        },
        {
          "controlFamilyId": "66fa8d123bce49b2393135e5",
          "controlFamilyName": "Risques Bodacc",
          "controlTypeId": 0,
          "controlTypeName": "CreationBodaccEventControl",
          "date": "2025-03-05T09:50:00Z",
          "computed": true,
          "score": 100,
          "status": "POTENTIAL_RISK",
          "description": "Contrôle Bodacc",
          "controlData": "Données Client",
          "nbOfPastYearEvents": 1,
          "type": "BODACC_EVENT"
        },
        {
          "controlFamilyId": "66fa8d123bce49b2393135e5",
          "controlFamilyName": "Risques LCB-FT",
          "controlTypeId": 53,
          "controlTypeName": "BlacklistLinkedPersonControl",
          "date": "2025-03-05T09:50:00Z",
          "computed": true,
          "score": 80,
          "status": "POTENTIAL_RISK",
          "description": "Résultats de contrôle GDA pour les personnes liées",
          "controlData": "LinkedPersonExternalRefId - 80% - Risque potentiel ",
          "personLinkBlacklistPepAmControlResultSummaries": [
            {
              "externalRefId": "LinkedPersonExternalRefId",
              "score": 80,
              "status": "POTENTIAL_RISK"
            }
          ],
          "type": "LINKED_PERSON"
        },
        {
          "controlFamilyId": "66fa8d123bce49b2393135e5",
          "controlFamilyName": "Risques LCB-FT",
          "controlTypeId": 71,
          "controlTypeName": "VigilanceLinkedPersonControl",
          "date": "2025-03-05T09:50:00Z",
          "computed": true,
          "score": 75,
          "status": "POTENTIAL_RISK",
          "description": "Résultats de contrôle de vigilance pour les personnes liées",
          "controlData": "LinkedPersonExternalRefId - Vigilance élevée - Vigilance Test ",
          "controlResultSummaries": [
            {
              "externalRefId": "LinkedPersonExternalRefId",
              "score": 75,
              "status": "POTENTIAL_RISK",
              "vigilanceCombinationName": "Vigilance TEST"
            }
          ],
          "type": "LINKED_PERSON"
        },
        {
          "controlFamilyId": "66fa8d123bce49b2393135e5",
          "controlFamilyName": "Risques LCB-FT",
          "controlTypeId": 56,
          "controlTypeName": "VigilanceControl",
          "date": "2025-03-05T09:50:00Z",
          "computed": true,
          "score": 75,
          "status": "POTENTIAL_RISK",
          "description": "Données et résultats de contrôle de la personne",
          "vigilanceCombinationName": "Vigilance allégée",
          "vigilanceStatus": "HIGH_VIGILANCE_STATUS",
          "type": "VIGILANCE"
        }
      ],
      "pcrId": "2025-03-05T10:00:00.000Z-KYC-cb3b5b33-6929-4caf-b27e-60fdbaa7cdef"
    }
  },
  "type": "ASYNC_RESPONSE"
}