GraphQL API

Seyna Claims propose deux API :
  • Rest API (Non disponible pour le moment)
  • GraphQL
Image without caption

Nouveau dans GraphQL ?

Avant de vous plonger dans notre documentation, nous vous suggérons de prendre un moment pour vous familiariser avec les concepts de base de GraphQL. Vous trouverez une introduction courte et agréable ici même, et si vous souhaitez approfondir, il existe de nombreuses ressources fantastiques : N’hésitez pas à lire Introduction to GraphQL et How to GraphQL.

Se connecter à l’API GraphQL

L’API Claims est une API GraphQL, disponible sur l’URL suivante :
Pour utiliser l’API, vous avez besoin
  • Un client graphQL
  • Un token
Mais surtout, il est nécessaire d’avoir :
  • D’avoir une ID de portefeuille (fourni par Seyna)

Rappel des concepts manipulés

Seyna Claims s'appuie sur les notions suivantes :
  • Un formulaire (Form) qui permet la déclaration de sinistre
  • Sinistre (Claim) qui centralise l’ensemble des informations
  • Des documents (document) liés au sinistre
  • Des paiements (payment) et des coûts associés à une garantie.
    • Image without caption

Comment récupérer un Token d’identification ?

Pour récupérer un token, il faut se rendre sur la page de “paramètres” 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

À compléter

Utiliser GraphQL

Un client GraphQL, c’est un peu comme un client RPC. Toutes les requêtes sont des POST HTTP vers un seul end point, et le corps de la requête contient la méthode à appeler, les arguments, et le retour souhaité. On peut utiliser un client HTTP standard comme cURL, un client graphQL dédié ou une application.

Faire une requête graphQL

Une fois que l’on a le lien vers son endpoint et son token, on peut simplement construire sa requête HTTP et l’envoyer. Un exemple avec cURL :
shell
curl 'https://graphql.seyna.eu/schema:{SCHEMA_ID}/graphql' \ -H 'authorization: Bearer {TOKEN}' \ -H 'content-type: application/json' \ --data-raw $'{ "query": "query { helloWorld { message } }" }' \ --compressed

Créer un sinistre

La création d’un sinistre peut être faite depuis le formulaire mais également depuis API. Pour cela, il est nécessaire d’envoyer l’ensemble des données au bon format. Le format utilisé est le JSO
Voici les étapes API pour créer le sinistre :
  • CreateClaimInput
  • UpdateClaimFormData
  • UpdateClaimStatusInput en le passant de DRAFT à NEW
graphql
mutation Mutation($input: MutationCreateClaimInput!) { createClaim(input: $input) { } } { "input": { "portfolioId": null, } }
graphql
mutation UpdateClaimFormData($input: MutationUpdateClaimFormDataInput!) { updateClaimFormData(input: $input) { } } { "input": { "formData": null, "id": null } }
graphql
mutation UpdateClaimFormData($input: MutationUpdateClaimStatusInput!) { updateClaimStatus(input: $input) { } } "input": { "id": null, "status": "NEW" } }
À noter que le formContent est l’ensemble des données provenant d’un formulaire. Il est au format Json.

Consulter un sinistre

Vous pouvez consulter une liste de sinistre ou un sinistre en particulier.
Ci-dessous un exemple de requête GraphQL pour consulter un sinistre :
graphql
query Query($claimId: ID!) { claim(id: $claimId) { id data documents { id file { downloadUrl } status type { name } } occurredAt status type threadEntries { id } } } { "claimId": null, }
À noter que vous pouvez consulter l’ensemble des éléments liés au sinistre :
  • Les documents
  • La timeline
  • Les transactions

Mettre à jour un statut de sinistre

Les statuts possibles d’un sinistre sont :
  • DONE
  • NEW
  • PENDING
  • REJECTED
Ci-dessous un exemple de requête GraphQL pour mettre à jour le statut d’un sinistre
graphql
mutation Mutation($input: MutationUpdateClaimStatusInput!) { updateClaimStatus(input: $input) { id } } { "claimId": null, "input": { "id": null, "status": null } }

Ajouter un Commentaire

Ci-dessous un exemple de requête GraphQL pour ajouter un commentaire à un sinistre :
graphql
mutation Mutation($input: MutationAddCommentInput!) { addComment(input: $input) { id } } { "claimId": null, "input": { "claimId": null, "content": null, "files": null } }

Autres mutations et query

Vous pouvez faire beaucoup d’autres requêtes. Pour cela vous pouvez accéder directement aux différentes mutations dans le schéma GraphQL.