Rest API


Seyna AML propose deux API :
  • Rest API
  • GraphQL
Image without caption

Version de l’API Rest de Seyna AML

La version la plus récente est la version 2022-12
Vous pouvez consulter la documentation complète avec ce lien :
Seyna API - Documentation
seyna documentation api

Se connecter à l’API Rest

Seyna AML propose une API Rest, disponible sur l’URL suivante :
Pour utiliser l’API, vous avez besoin
  • Un client Rest API
  • Un token
Mais surtout, il est nÉcessaire d’avoir :
  • D’avoir une ID de portefeuille (fourni par Seyna)
  • D’avoir activé Seyna AML pour ce portefeuille sur l’interface broker.

Rappel des concepts manipulés

Seyna AML s'appuie sur les notions suivantes:
  • Dossier surveillé (Record)
  • D'alerte (alert) à gérer sur un dossier
  • Une alerte peut avoir avec une ou plusieurs correspondances (match)
  • Des listes de sanctions (dataset) composées d'entités (entity) de type Personne ou Entreprise
    • Image without caption

Récupérer un Token d’identification

Pour récupérer un token, il faut se rendre sur la page de “paramètre” et cliquer sur Clés API.
Il faut ensuite ajouter une clé en cliquant sur Ajouter une clé
Puis récupérer son token en cliquant sur voir le token
Notez ce token, il sera utilisé pour authentifier les requêtes exécutées via le client graphQL et également pour les appels API Rest.

Récupérer l’identifiant du portefeuille

Afin de créer les dossiers surveillés, vous devez récupérer les identifiants de portefeuille. Pour cela vous devez aller sur l’interface, vérifiez que le portefeuille est activé. Vous trouverez l’identifiant sous le titre.
Image without caption

Créer un dossier surveillé

La fonctionnalité principale de l’API consiste à créer un dossier à surveiller.
Un dossier surveillé demande en entrée :
  • un nom
  • une identification (Dossier Business) ou une date de naissance (Dossier Personne)
  • une référence externe (facultatif)
  • un lien externe (facultatif)
  • une date de fin (facultatif)
Si vous ne mettez pas de date de fin, cela sera un dossier surveillé instantanément. Le traitement dans la réponse est différente entre :
  • un dossier surveillé instantanément : la vérification est synchrone.
  • un dossier avec une date de fin : la vérification se fait de manière asynchrone et peut prendre de 3 à 10 secondes. Nous faisons cela pour des raisons de performance.
Requête
json
POST https://gw.seyna.eu/2022-12/aml/records { "name": "sunt laborum magna minim anim", "portfolioId": "minim cupidatat irure", "birthdate": "1948-05-13", "type": "PERSON", "endDate": "1957-05-27", "externalLink": "id ipsum pariatur incididunt ea", "externalRef": "Lorem cillum" }
Réponse
json
{ "createdAt": "1950-11-29T16:51:59.371Z", "createdBy": "pariatur labore enim sed", "endDate": "1944-01-12", "id": "mollit nostrud cu", "lastCheckedAt": "1949-12-07T20:43:35.657Z", "name": "minim incididunt ut", "portfolioId": "Lorem Excepteur elit exerc", "startDate": "1977-05-26", "status": "OK_NO_ALERTS", "updatedAt": "1971-03-10T06:36:30.446Z", "updatedBy": "in", "identification": "enim ullamco id Lorem elit", "type": "BUSINESS", "externalLink": "commodo voluptate cupidatat proident", "externalRef": "sed laboris ut proident" }
  1. PENDING_INITIAL_CHECK: The record is being reviewed if it has or not any alerts
  1. NEW_ALERT: There is a new alert associated with the Record
  1. OK_NO_ALERTS: There are no alerts for the Record
  1. OK_ALL_ALERTS_RESOLVED: All the alerts of the Records are being resolved

Consulter un dossier surveillé

Ci-dessous un exemple de requête REST pour consulter un dossier
Requête
json
GET https://gw.seyna.eu/2022-12/aml/records/:id
Réponse
json
{ "createdAt": "1950-11-29T16:51:59.371Z", "createdBy": "pariatur labore enim sed", "endDate": "1944-01-12", "id": "mollit nostrud cu", "lastCheckedAt": "1949-12-07T20:43:35.657Z", "name": "minim incididunt ut", "portfolioId": "Lorem Excepteur elit exerc", "startDate": "1977-05-26", "status": "OK_NO_ALERTS", "updatedAt": "1971-03-10T06:36:30.446Z", "updatedBy": "in", "identification": "enim ullamco id Lorem elit", "type": "BUSINESS", "externalLink": "commodo voluptate cupidatat proident", "externalRef": "sed laboris ut proident" }
Vous pouvez aller récupérer la liste des alertes également.

Consulter une alerte

L’API permet également d’accéder en lecture aux différents objets qui constituent Seyna AML.
Dans l’alerte, vous avez accès à plusieurs objets :
  • le statut de l’alerte
  • les matchs qui sont les correspondances dans lesquelles vous avez les entités des listes de sanctions
  • la timeline qui comporte les emails et les commentaires
Ci-dessous un exemple de requête REST pour consulter une alerte
Requête
json
GET https://gw.seyna.eu/2022-12/aml/alerts/:id
Réponse
json
{ "createdAt": "1995-09-15T04:27:06.444Z", "updatedAt": "1954-10-09T06:34:02.986Z", "id": "urn:uuid:5f58cadc-254b-0a98-d9f7-896593a203fa", "matches": [ { "alertId": "occaecat", "createdAt": "2019-05-30T13:31:16.180Z", "entityId": "id consequat non consectetur mollit", "id": "dolor reprehenderit", "score": 0.87, "updatedAt": "1948-08-21T09:39:48.585Z" }, { "alertId": "veniam", "createdAt": "1987-01-02T12:44:13.255Z", "entityId": "fugiat commodo irure", "id": "consequat id", "score": 0.98, "updatedAt": "1956-03-09T09:40:17.376Z" } ], "status": "IN_PROGRESS", "threadId": "urn:uuid:66cf556e-bc3f-47f1-f7d8-795a8efb4ae2", "recordId": "93ac8419-b096-45af-93a6-be8b5e481b18" }
Les statuts des alertes sont :
  • "CREATED"
  • "IN_PROGRESS"
  • "RESOLVED”

Consulter une entité des listes de sanction

Ci-dessous un exemple de requête REST pour consulter une entité
Requête
json
GET https://gw.seyna.eu/2022-12/aml/entities/:id
Réponse
json
{ "createdAt": "1974-04-06T23:51:16.221Z", "datasetId": "mollit amet ea Excepteur in", "deletedAt": "1996-03-10T08:01:28.785Z", "id": "ipsum do sed", "name": "exercitation aliquip ex occaecat", "type": "PERSON", "updatedAt": "1974-12-15T06:27:11.905Z", "identification": "aute amet", "externalId": "in sunt anim ipsum do", "sourceUrl": "voluptat" }

Clôturer une alerte

Ci-dessous un exemple de requête REST pour clôturer une alerte
Requête
json
PATCH https://gw.seyna.eu/2022-12/aml/alerts/:id { "status": "RESOLVED" }
Reponse
json
{ "createdAt": "2001-02-01T01:09:15.090Z", "updatedAt": "1957-07-19T15:57:24.192Z", "id": "urn:uuid:4e2fa0ff-fc5c-0d1e-b628-02cb23327e63", "matches": [ { "alertId": "veniam ea laborum nostrud", "createdAt": "1985-05-31T20:43:35.861Z", "entityId": "deserunt id", "id": "in Lorem proident labore", "score": 0.87, "updatedAt": "1993-09-02T08:40:39.263Z" }, { "alertId": "consequat aute", "createdAt": "1950-06-05T06:34:16.175Z", "entityId": "est in fugiat elit", "id": "ea elit ut deserunt", "score": 0.9, "updatedAt": "1994-10-19T00:42:53.724Z" } ], "status": "RESOLVED", "threadId": "urn:uuid:74a56c19-4075-fd89-b425-bbecb6d43c3f", "recordId": "d475c9b6-aa4b-355e-e98a-f07cf484a6cc" }

Autres requêtes

Vous pouvez faire beaucoup d’autres requêtes à la documentation
Seyna API - Documentation
seyna documentation api