Enregistrer vos clients

Cette page vous explique comment enregistrer et désenregistrer des parties pour créer des résultats de prédiction:

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

Avant de commencer

Avant de commencer, vous avez besoin d'une instance d'IA AML.

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

Quand enregistrer des parties

Avant de pouvoir créer des prédictions pour un parti dans l'un de vos ensembles de données, vous devez enregistrer le parti. L'enregistrement n'est pas nécessaire pour l'entraînement, le réglage ni le backtesting.

Les résultats de prédiction sont utilisés pour enquêter sur les clients pour blanchiment d'argent lors d'une phase de production ou de test (parallèle). Vous pouvez également créer vos propres processus de gouvernance et d'analyse de modèle autour des résultats que vous obtenez des prédictions.

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

Préparer les tableaux d'enregistrement des partis

Consultez la page Tarifs pour en savoir plus sur l'enregistrement des parties.

Préparez un tableau pour le secteur d'activité pour lequel vous souhaitez enregistrer des parties. Si vous avez déjà enregistré des partis, cette table d'enregistrement des partis peut contenir un sous-ensemble des partis de la table Parti que vous souhaitez utiliser pour les résultats de prédiction.

Schéma des parties Retail

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 marchands

Schéma des parties commerciales

ColonneTypeDescription
party_idSTRINGIdentifiant unique de la partie dans les ensembles de données de l'instance
party_sizeSTRING Taille du groupe demandée. Le niveau est basé sur le nombre moyen de transactions mensuelles de la partie au cours des 365 derniers jours :
  • SMALL pour les petites parties commerciales réalisant moins de 500 transactions par mois en moyenne
  • LARGE pour les grands acteurs commerciaux dont le nombre moyen de transactions mensuelles est supérieur ou égal à 500

Toutes les valeurs sont sensibles à la casse.

Enregistrer des parties

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

  • Les parties commerciales et de vente au détail doivent être enregistrées séparément. Utilisez des appels d'API et des tables d'enregistrement de parti distincts. Si un parti figure dans les deux listes, il est considéré comme deux enregistrements distincts.
  • Pour les prédictions, toutes les parties doivent être enregistrées auprès de la branche d'activité associée à la version du moteur utilisée. Vous ne pouvez pas créer de résultats de prédiction si un ensemble de données contenant des parties non enregistrées dans la même activité est utilisé.
  • La table d'enregistrement des parties fournie permet d'ajouter des parties à la liste existante des parties enregistrées dans l'instance ou de remplacer toutes les parties enregistrées pour le secteur d'activité fourni dans l'instance.
  • Une fois enregistrée, une fête ne peut pas être désinscrite pendant un certain temps (voir 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 la validation effectuée, vous pouvez réexécuter l'opération et définir le paramètre validateOnly sur FALSE.
  • Vérifiez toujours la réponse d'une demande d'enregistrement pour vous assurer que toutes les parties ont bien été enregistrées, même si une demande validateOnly précédente a réussi.
  • Pour les enregistrements de parties commerciales, 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 parties commerciales, le champ party_size est ignoré et toutes les parties de la table d'enregistrement de parties fournie sont enregistrées.

Pour importer des parties enregistrées, utilisez la méthode projects.locations.instances.importRegisteredParties.

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

Avant d'utiliser les données de requête ci-dessous, 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.
    Afficher les emplacements
    • us-central1
    • us-east1
    • asia-south1
    • europe-west1
    • europe-west2
    • europe-west4
    • northamerica-northeast1
    • southamerica-east1
    • australia-southeast1
  • 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 partis enregistrés
  • PARTY_REGISTRATION_TABLE: table qui liste les parties enregistrées
  • UPDATE_MODE: utilisez REPLACE pour remplacer les parties pouvant être supprimées dans la table des parties enregistrées par de nouvelles parties, ou APPEND pour ajouter de nouvelles parties à la table des parties enregistrées.
  • LINE_OF_BUSINESS: ce champ doit correspondre à la valeur lineOfBusiness dans la version du moteur utilisée par la configuration du moteur. Utilisez COMMERCIAL pour les clients de la banque commerciale (entités juridiques et physiques) ou RETAIL pour les clients de la banque de détail.

Corps JSON de la requête :

{
  "partyTables": [
     "bq://PROJECT_ID.BQ_INPUT_REGISTERED_PARTIES_DATASET_NAME.PARTY_REGISTRATION_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.PARTY_REGISTRATION_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.PARTY_REGISTRATION_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": "2023-03-14T15:52:55.358979323Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID",
    "verb": "importRegisteredParties",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Pour savoir comment obtenir le résultat de l'opération de longue durée, consultez la section Gérer les opérations de longue durée.

Réponse d'enregistrement

Lorsque l'opération de longue durée est 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 une fois l'opération de mise à jour terminée
partiesUptieredinteger Nombre total de parties commerciales qui sont passées de la catégorie "petite" à la catégorie "grande"
partiesDowntieredinteger Nombre total de parties commerciales qui sont rétrogradées de grandes à petites
partiesFailedToDowntierinteger Nombre total de parties commerciales qui n'ont pas pu passer de la catégorie "grande entreprise" à la catégorie "petite entreprise"
partiesFailedToRemoveinteger Nombre de parties qui n'ont pas été supprimées par cette opération

Comment désenregistrer des parties

Les parties sont désinscrites par instance d'IA AML à l'aide de la même méthode projects.locations.instances.importRegisteredParties et remplacent la liste existante des parties. Définissez le champ mode sur REPLACE. Ce paramètre désinscrit toutes les parties actuellement enregistrées (pour le secteur d'activité fourni) qui ne figurent pas dans le tableau d'enregistrement des parties fourni.

Réponses à la demande de résiliation

Une fois l'opération terminée, vérifiez la réponse de l'API pour vérifier si l'opération a abouti au résultat souhaité en termes de nombre de parties ajoutées ou supprimées, et du 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, un client ne peut pas être radié tant qu'un nombre minimum de jours ne s'est pas écoulé.

Exporter les parties enregistrées

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

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

Avant d'utiliser les données de requête ci-dessous, 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.
    Afficher les emplacements
    • us-central1
    • us-east1
    • asia-south1
    • europe-west1
    • europe-west2
    • europe-west4
    • northamerica-northeast1
    • southamerica-east1
    • australia-southeast1
  • 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
  • PARTY_REGISTRATION_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: effacer toutes les données existantes de la table BigQuery avant d'écrire dans la table.
  • LINE_OF_BUSINESS: utilisez COMMERCIAL pour les clients de la banque commerciale (entités juridiques et physiques) ou RETAIL pour les clients de la banque de détail.

Corps JSON de la requête :

{
  "dataset": {
    "tableUri": "bq://PROJECT_ID.BQ_OUTPUT_DATASET_NAME.PARTY_REGISTRATION_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.PARTY_REGISTRATION_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.PARTY_REGISTRATION_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": "2023-03-14T15:52:55.358979323Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID",
    "verb": "exportRegisteredParties",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Pour savoir comment obtenir le résultat de l'opération de longue durée, consultez la section 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 Indique le niveau pour les clients commerciaux (grandes entreprises ou petites entreprises). Ce champ ne s'applique pas aux clients particuliers.
  • NULL pour tous les clients marchands
  • SMALL pour les petites parties commerciales réalisant moins de 500 transactions par mois en moyenne
  • LARGE pour les grands acteurs commerciaux dont le nombre moyen de transactions mensuelles est supérieur ou égal à 500

Toutes les valeurs sont sensibles à la casse.

earliest_remove_timeSTRINGDate et heure les plus anciennes auxquelles la partie peut être supprimée
party_with_prediction_intentSTRINGIndicateur suggérant si une fête a été prédite depuis l'enregistrement
registration_or_uptier_timeSTRINGHeure à laquelle la fête a été enregistrée ou mise à niveau