API Partenaires GRU Publik : Récupération des demandes d’un tiers associés à un compte OiDC

Module « GRUPublik »

Récupération des demandes d’un tiers d’un compte

Contexte

EN TANT QU’ intégrateur Entr’ouvert

JE PEUX récupérer les demandes d’un tiers associés à un compte OiDC

AFIN DE restituer ces informations aux usagers de la GRU Publik.

L’accès à ces API est sécurisé avec la création d’un compte de service personnalisé (une demande est à soumettre auprès de votre chef de projet MGDIS).

Route

L’accès au module GRUPublik mes-demandes-pour-un-tiers permet d’accéder à la route ci-dessous :

Récupérer des demandes d’un tiers d’un compte
URL /pda-semi-public-api/api/tenants/{tenantId}/gru-publik/mes-demandes-pour-un-tiers?{{suboidc}}&{{tiersId}}&{{size}}&{{from}}
Paramètres URL

{{suboidc}} : identifiant d’un compte usager OIdC. Exemple : nom-p

{{tiersId}} : référence technique du tiers rattaché au compte. Exemple : 6Mh3gvHOv

{{teleservice}} : paramètre pouvant être multiple, permettant de filtrer sur un ou plusieurs téléservice de demande.

{{size}} : nombre de résultats retournées (par défaut 10). Exemple : 1
{{from}} : index de départ à partir duquel les éléments sont retournés. Exemple : 10

Les paramètres suboidc et tiersId sont obligatoires.

Description Opérations fonction du verbe
Verbe GET : récupérer une liste de demandes, les 10 premières par défaut triées par ordre de dernière modification
Headers réponse Cf exemple de retour
Code retour
200 Succès
403 Interdit
401 Non authentifié
404 Ressources introuvable

Types des objets

Réponse

Récupérer des demandes d’un tiers d’un compte

La réponse d’une route de lecture respectera le schéma suivant, avec la propriété « data » qui est positionnée avant la propriété « err » :

Nom Type Contenu Exemple
err number 0 en cas de succès, sinon code http de l’erreur

500

 
err_desc string description de l’erreur
 
data Object cette propriété est un objet json contenant les informations relatives aux demandes du compte, elle contient les champs si dessous
 
demandes Array<Object> il s’agit d’un tableau où chaque item représente une demande du tiers du compte passés en paramètre. Toutes les demandes pour ce tiers sont renvoyées
 
demandes.id string référence technique de la demande
 
demandes.text string title de la demande
 
demandes.datetime string date de création de la demande
2023-04-19T14:45:52.137Z
demandes.form_number string référence administrative de la demande

00000007

 
demandes.url string url permettant d’accéder au récapitulatif de la demande
 
demandes.form_status_is_endpoint boolean propriété booléenne calculée permettant de savoir si la demande est clôturée ou au statut « Soldée ». Si oui, la propriété est égale à true

true

 
demandes.draft boolean propriété booléenne calculée indiquant si la demande est en cours de création ou non (en cours de création : virtualStatus = REQUESTED)

false

 
demandes.action_usager boolean propriété booléenne calculée permettant de savoir si une action de l’usager est attendue sur la demande. Ce booléen est égal à true si une demande de compléments sur des pièces est au statut « Transmise » ou si une contribution pour modification ou redirection est au statut « Envoyée » (ASKED, PENDING, INPROGRESS). Dans les autres cas, le booléen est égal à false

true

 
demandes.compte_demandeur boolean propriété booléenne calculée permettant de savoir si le compte usager est rattaché au tiers demandeur de la demande en tant qu’administrateur du tiers. Si oui, la propriété est égale à true. demandes.tiers_beneficiaire : propriété booléenne calculée permettant de savoir si le compte usager est rattaché au tiers bénéficiaire de la demande. Si oui la propriété est égale à true. Dans le cas d’un dépôt simple (sans délégation), le bénéficiaire étant identique au tiers demandeur, la propriété « tiers_beneficiaire » est égale à true

false

 
demandes.status.id string code du statut de la demande (virtualStatus) (statuts calculés visibles dans la recherche des demandes notamment côté agent)
 
demandes.status.text string propriété de type chaine correspondant au libellé fonctionnel du statut de la demande (virtualStatus) (statuts calculés visibles dans la recherche des demandes notamment côté agent)
 
demandes.teleservice.id string référence du téléservice de la demande
 
demandes.teleservice.text string libellé du téléservice de la demande  

Exemple :

{
    "data": {
        "demandes": [
          {
            "id": "6Mh3gvHOv",
            "text": "Dépot d'aide à l'analyse produit - ASSOCIATION DE TEST",
            "datetime": "2022-07-01T13:16:43.762Z",
            "form_number": "00000004",
            "url": "http://mgdis-ftc-dev6.mgdis.ovh/aides/#/saintandre/connecte/dashboard/6Mh3gvHOv/recapitulatif",
            "form_status_is_endpoint": false,
            "draft": false,
            "action_usager": false,
            "compte_demandeur": true,
            "tiers_beneficiaire": false,
            "status": {
              "id": "SUPPORTED",
              "text": "Prise en charge"
            },
            "teleservice": {
              "id": "F_DEMOTEST",
              "text": "Aide à l'analyse produit"
            }
          },
          {
            "id": "3TGErwL9F",
            "text": "Dépot d'aide à l'analyse produit 2 - ASSOCIATION DE TEST",
            "datetime": "2022-07-01T13:16:43.762Z",
            "form_number": "00000005",
            "url": "http://mgdis-ftc-dev6.mgdis.ovh/aides/#/saintandre/connecte/dashboard/3TGErwL9F/recapitulatif",
            "form_status_is_endpoint": false,
            "draft": false,
            "action_usager": false,
            "compte_demandeur": true,
            "tiers_beneficiaire": false,
            "status": {
              "id": "SUPPORTED",
              "text": "Prise en charge"
            },
            "teleservice": {
              "id": "F_DEMOTEST",
              "text": "Aide à l'analyse produit"
            }
          }
        ]
  }
"err": 0, }
 

Précisions sur la réponse dans la propriété « err_desc »

Il y a 3 cas où l’erreur ne pourra pas être transmise dans cette propriété « Err_desc » car elles sont gérées dans un module générique avant l’appel de l’API GRU. Ces erreurs sont renvoyées directement, sans avoir la réponse « data » ou « err » et « err_desc » :

  • L’erreur 500 : le service ne répond pas
  • L’erreur 404 quand le tenant de l’url n’est pas correct, on aura directement la réponse technique à la racine de la réponse, sans avoir err : 0 et err_desc

         {« code »: « ERR_NOT_FOUND », »message »: « No tenant with this id \ »a\ » found. »}

  • Et l’erreur 401 contenant Unauthorized avec une mauvaise authentification


Par contre, les autres erreurs notamment « métiers » seront bien restituées dans « err_desc ».

Exemples :

Si l’identifiant d’un compte usager OIdC n’est pas renseigné alors le message remonté dans la propriété err_desc est :

  • L’identifiant du compte est obligatoire. La récupération des demandes par tiers du compte est impossible.


Si l’identifiant d’un tiers n’est pas renseigné alors le message remonté dans la propriété err_desc est :

  • L’identifiant du tiers est obligatoire. La récupération des demandes par tiers du compte est impossible.


Si l’identifiant du tiers renseigné ne correspond pas à un tiers rattaché au compte alors le message remonté dans la propriété err_desc est :

  • L’identifiant du compte n’est pas rattaché au tiers passé en paramètre. La récupération des demandes par tiers du compte est impossible.


La route d’API renvoie un tableau vide dans les cas suivants si le compte n’existe pas.