Enregistrer vos clients

Cette page vous explique comment enregistrer des parties et en annuler l'enregistrement afin de créer des résultats de prédiction:

  1. Assurez-vous d'être prêt à enregistrer des groupes
  2. Préparer les tableaux d'inscription des partis
  3. Utilisez la méthode projects.locations.instances.importRegisteredParties pour enregistrer ou annuler l'enregistrement de groupes.
  4. Valider la réponse de la méthode
  5. (Facultatif) Exporter une table de parties enregistrées

Avant de commencer

Avant de commencer, vous avez besoin d'une instance d'AML basée sur l'IA.

Pour permettre à un modèle de créer des prédictions de score de risque, vous devez d'abord enregistrer les parties. Nous vous recommandons d'enregistrer des parties si vous disposez déjà des éléments suivants:

Quand enregistrer des partis ?

Avant de pouvoir créer des prédictions pour une partie dans l'un de vos ensembles de données, vous devez enregistrer la partie. L'inscription n'est pas requise pour l'entraînement, le réglage ou le rétrotest.

Les résultats de prédiction permettent d'enquêter sur des clients pour blanchiment d'argent au cours d'une phase de production ou de test/parallèle.

L'enregistrement de parties entraîne des coûts mensuels supplémentaires par partie enregistrée (consultez la page des tarifs pour plus d'informations).

Préparer les tableaux d'enregistrement d'un parti

Pour en savoir plus sur l'enregistrement de parties, consultez la page des tarifs.

Préparez une table pour le secteur d'activité pour lequel vous souhaitez enregistrer des partis. Cette table d'enregistrement de parti peut être un sous-ensemble de la table Party.

Schéma Retail Parties

ColonneTypeDescription
party_idSTRINGIdentifiant unique de la partie dans les ensembles de données de l'instance
party_sizeSTRINGNULL ; le contenu est ignoré pour les enregistrements de revendeurs

Schéma des parties commerciales

ColonneTypeDescription
party_idSTRINGIdentifiant unique de la partie dans les ensembles de données de l'instance
party_sizeSTRING Nombre de personnes demandé. Le niveau est basé sur le nombre moyen de transactions mensuelles pour la partie au cours des 365 jours précédents :
  • SMALL pour les petites parties commerciales enregistrant en moyenne moins de 500 transactions mensuelles
  • LARGE pour les grandes parties commerciales enregistrant en moyenne 500 transactions mensuelles

Toutes les valeurs sont sensibles à la casse.

Comment enregistrer des partis

Les parties sont enregistrées séparément pour chaque instance d'AML basée sur l'IA. Veuillez noter les points suivants :

  • Les particuliers et les parties commerciales doivent être enregistrés séparément. Utilisez des appels d'API et des tables d'enregistrement de parties distinctes. Si une partie figure dans les deux listes, elles sont considérées comme des enregistrements distincts.
  • Les prédictions exigent que toutes les parties soient enregistrées auprès du secteur d'activité associé à la version de moteur utilisée. Vous ne pouvez pas créer de résultats de prédiction si un ensemble de données contient une partie non enregistrée dans la même activité.
  • La table d'enregistrement de partis fournie permet soit d'ajouter à la liste existante des parties enregistrées dans l'instance, soit de remplacer tous les partis enregistrés pour la branche d'activité indiquée dans l'instance.
  • Une fois l'enregistrement effectué, l'enregistrement d'une partie ne peut pas être annulé pendant un certain temps (consultez la page des tarifs). Pour cette raison, vous pouvez définir le champ validateOnly sur TRUE. Ce champ vous permet de voir l'effet net et la réponse de la méthode sans modifier les parties enregistrées. Une fois l'opération terminée, vous pouvez réexécuter l'opération et définir le paramètre validateOnly sur FALSE.
  • Vérifiez toujours la réponse à une requête d'enregistrement pour vous assurer que toutes les parties ont bien été enregistrées, même si une requête validateOnly précédente a abouti.
  • Pour les enregistrements de tiers commerciaux, une valeur autre que SMALL ou LARGE dans le champ party_size de la table d'enregistrement des parties déclenche une erreur (Invalid party_size present in table). Les parties enregistrées ne sont pas mises à jour.
  • Pour les enregistrements de partis commerciaux, le champ party_size est ignoré et toutes les parties figurant dans la table d'enregistrement de parties fournie sont enregistrées.

Pour importer des groupes enregistrés, utilisez la méthode projects.locations.instances.importRegisteredParties.

(Les informations suivantes sont également disponibles dans Créer et gérer des instances.)

Avant d'utiliser les données de requête, effectuez les remplacements suivants:

  • PROJECT_ID : ID de votre projet Google Cloud répertorié dans les paramètres IAM.
  • LOCATION: emplacement de l'instance ; utilisez l'une des régions disponibles :
    • us-central1
    • us-east1
    • asia-south1
    • europe-west1
    • europe-west2
    • europe-west4
    • northamerica-northeast1
    • southamerica-east1
  • INSTANCE_ID: identifiant défini par l'utilisateur pour l'instance
  • BQ_INPUT_REGISTERED_PARTIES_DATASET_NAME: ensemble de données BigQuery contenant une table décrivant les parties enregistrées
  • REGISTERED_PARTIES_TABLE: table répertoriant les parties enregistrées.
  • UPDATE_MODE: utilisez la méthode REPLACE pour remplacer les parties pouvant être supprimées dans la table des parties enregistrées par de nouvelles parties, ou la méthode APPEND pour ajouter de nouvelles parties à cette table.
  • LINE_OF_BUSINESS: ce champ doit correspondre à la valeur lineOfBusiness de la version du moteur utilisée par la configuration du moteur ; utilisez COMMERCIAL pour les clients des banques commerciales (entités légales et naturelles) ou RETAIL pour les clients des banques de détail

Corps JSON de la requête :

{
  "partyTables": [
     "bq://PROJECT_ID.BQ_INPUT_REGISTERED_PARTIES_DATASET_NAME.REGISTERED_PARTIES_TABLE"
  ],
  "mode": "UPDATE_MODE",
  "lineOfBusiness": "LINE_OF_BUSINESS"
}

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

cat > request.json << 'EOF'
{
  "partyTables": [
     "bq://PROJECT_ID.BQ_INPUT_REGISTERED_PARTIES_DATASET_NAME.REGISTERED_PARTIES_TABLE"
  ],
  "mode": "UPDATE_MODE",
  "lineOfBusiness": "LINE_OF_BUSINESS"
}
EOF

Exécutez ensuite la commande suivante pour envoyer votre requête REST :

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:importRegisteredParties"

PowerShell

Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

@'
{
  "partyTables": [
     "bq://PROJECT_ID.BQ_INPUT_REGISTERED_PARTIES_DATASET_NAME.REGISTERED_PARTIES_TABLE"
  ],
  "mode": "UPDATE_MODE",
  "lineOfBusiness": "LINE_OF_BUSINESS"
}
'@  | Out-File -FilePath request.json -Encoding utf8

Exécutez ensuite la commande suivante pour envoyer votre requête REST :

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:importRegisteredParties" | Select-Object -Expand Content

Vous devriez recevoir une réponse JSON de ce type :

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
    "createTime": CREATE_TIME,
    "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID",
    "verb": "importRegisteredParties",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Pour savoir comment obtenir le résultat d'une opération de longue durée (LRO), consultez la page Gérer les opérations de longue durée.

Réponse d'inscription

Une fois l'opération de longue durée terminée, la réponse indique le nombre de parties ajoutées, supprimées ou mises à jour par l'opération.

Champ de réponseTypeDescription
partiesAddedinteger Nombre de parties ajoutées par cette opération
partiesRemovedinteger Nombre de parties supprimées par cette opération
partiesTotalinteger Nombre total de parties enregistrées dans cette instance après la fin de l'opération de mise à jour
partiesUptieredinteger Nombre total de tiers commerciaux qui sont passés de petite à grande
partiesDowntieredinteger Nombre total de tiers commerciaux qui sont passés de "grande" à "petite"
partiesFailedToDowntierinteger Nombre total de parties commerciales qui n'ont pas pu passer d'une grande à une petite
partiesFailedToRemoveinteger Nombre de parties qui n'ont pas pu être supprimées lors de cette opération

Annuler l'enregistrement de parties

L'enregistrement des parties est annulé pour chaque instance d'AML basée sur l'IA en utilisant la même méthode projects.locations.instances.importRegisteredParties et en remplaçant la liste de parties existante. Définissez le champ mode sur REPLACE. Ce paramètre annule l'enregistrement des parties actuellement enregistrées (pour le secteur d'activité fourni) qui ne figurent pas dans le tableau d'enregistrement de parties fourni.

Réponses de désinscription

Une fois l'opération terminée, vérifiez la réponse de l'API pour vérifier si elle a abouti au résultat souhaité en termes de nombre de parties ajoutées ou supprimées, et de nombre total de parties enregistrées.

La réponse de l'API renvoie également le nombre de parties qui n'ont pas pu être supprimées en raison de contraintes (par exemple, en raison du nombre minimal de jours avant le désenregistrement d'une partie).

Exporter des partis enregistrés

Pour exporter des parties enregistrées, utilisez la méthode projects.locations.instances.exportRegisteredParties.

(Les informations suivantes sont également disponibles dans Créer et gérer des instances.)

Avant d'utiliser les données de requête, effectuez les remplacements suivants:

  • PROJECT_ID : ID de votre projet Google Cloud répertorié dans les paramètres IAM.
  • LOCATION: emplacement de l'instance ; utilisez l'une des régions disponibles :
    • us-central1
    • us-east1
    • asia-south1
    • europe-west1
    • europe-west2
    • europe-west4
    • northamerica-northeast1
    • southamerica-east1
  • INSTANCE_ID: identifiant défini par l'utilisateur pour l'instance
  • BQ_OUTPUT_DATASET_NAME: ensemble de données BigQuery dans lequel exporter une table décrivant les parties enregistrées
  • REGISTERED_PARTIES_TABLE: table dans laquelle écrire les parties enregistrées
  • WRITE_DISPOSITION: action qui se produit si la table de destination existe déjà. Utilisez l'une des valeurs suivantes :
    • WRITE_EMPTY : n'exporter les données que si la table BigQuery est vide
    • WRITE_TRUNCATE: efface toutes les données existantes de la table BigQuery avant d'écrire dans la table.
  • LINE_OF_BUSINESS: utilisez COMMERCIAL pour les clients de banques commerciales (juridiques et naturelles) ou RETAIL pour les clients de banques de détail

Corps JSON de la requête :

{
  "dataset": {
    "tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.REGISTERED_PARTIES_TABLE",
    "writeDisposition": "WRITE_DISPOSITION"
  },
  "lineOfBusiness": "LINE_OF_BUSINESS"
}

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

cat > request.json << 'EOF'
{
  "dataset": {
    "tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.REGISTERED_PARTIES_TABLE",
    "writeDisposition": "WRITE_DISPOSITION"
  },
  "lineOfBusiness": "LINE_OF_BUSINESS"
}
EOF

Exécutez ensuite la commande suivante pour envoyer votre requête REST :

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:exportRegisteredParties"

PowerShell

Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

@'
{
  "dataset": {
    "tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.REGISTERED_PARTIES_TABLE",
    "writeDisposition": "WRITE_DISPOSITION"
  },
  "lineOfBusiness": "LINE_OF_BUSINESS"
}
'@  | Out-File -FilePath request.json -Encoding utf8

Exécutez ensuite la commande suivante pour envoyer votre requête REST :

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:exportRegisteredParties" | Select-Object -Expand Content

Vous devriez recevoir une réponse JSON de ce type :

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
    "createTime": CREATE_TIME,
    "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID",
    "verb": "exportRegisteredParties",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Pour savoir comment obtenir le résultat d'une opération de longue durée (LRO), consultez la page Gérer les opérations de longue durée.

Cette méthode génère une table BigQuery avec le schéma suivant:

ColonneTypeDescription
party_idSTRINGIdentifiant unique de la partie dans les ensembles de données de l'instance
party_sizeSTRING Spécifie le niveau pour les clients commerciaux (grands ou petits). Ce champ ne s'applique pas aux marchands.
  • NULL pour tous les clients du secteur du commerce
  • SMALL pour les petites parties commerciales enregistrant en moyenne moins de 500 transactions mensuelles
  • LARGE pour les grandes parties commerciales enregistrant en moyenne 500 transactions mensuelles

Toutes les valeurs sont sensibles à la casse.

earliest_remove_timeSTRINGDate limite à laquelle le tiers peut être supprimé
party_with_prediction_intentSTRINGIndicateur qui suggère si une partie a été prédite depuis l'enregistrement
registration_or_uptier_timeSTRINGDate à laquelle la partie a été enregistrée ou mise à niveau