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

Module « GRUPublik »

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

Contexte

EN TANT QU’ intégrateur Entr’ouvert

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

AFIN DE restituer cette information aux usagers 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 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?{{suboidc}}&{{size}}&{{from}}
Paramètres URL

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

{{statut}} : paramètre pouvant être multiple, permettant de filtrer sur un ou plusieurs statuts de tiers

{{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

Le paramètre suboidc est obligatoire.

DescriptionOpérations fonction du verbe
VerbeGET : récupérer une liste de tiers sans tri, 10 par défaut. Chaque tiers contient une liste de demandes, les 10 premières par défaut triées par ordre de dernière modification
Headers réponseCf exemple de retour
Code retour
200Succès
403Interdit
401Non authentifié
404Ressources 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 » :

NomTypeContenuExemple
errnumber0 en cas de succès, sinon code http de l’erreur

500

 
err_descstringdescription de l’erreur
 
dataObjectcette propriété est un objet json contenant les informations relatives aux demandes du compte, elle contient les champs si dessous
 
tiersArray<Object>il s’agit d’un tableau où chaque item représente un tiers du compte
 
tiers.idstringréférence technique du tiers
 
tiers.textstringtitle du tiers
 
tiers.tiers.referenceAdministrativestringréférence administrative du tiers
 
tiers.raisonSocialestringraison sociale si le tiers est de personnalité juridique morale
 
tiers.SIRETstringSIRET si le tiers est de personnalité juridique morale
 
tiers.RNAstringRNA si le tiers est de type « TIERS_ASSOCIATION »
 
tiers.adressestringcorrespond à la concaténation des champs de l’adresse principale du tiers. Il s’agit des champs : PointRemise, Complement, NomVoie, MentionDistribution, CodePostal, Localite.value, Pays.value
 
tiers.mailstringmail/courriel du tiers. On récupère le premier du tableau de courriels
 
tiers.telephonestringtéléphone du tiers. On récupère le premier du tableau de téléphone
 
tiers.sitestringsite web du tiers. On récupère le premier du tableau de sites web
 
tiers.status.idstringcode du statut du tiers, (sans restrictions sur le statut donc même les tiers en cours de création, « Fusionné LINKED » et « Refusé » …)
 
tiers.status.textstringLibellé du statut du tiers, (sans restrictions sur le statut donc même les tiers en cours de création, « Fusionné LINKED » et « Refusé » …)
 
tiers.famille.textstringlibellé de la famille de tiers
 
tiers.demandes.idstringréférence technique de la demande
 
tiers.demandesArray<Object>il s’agit d’un tableau où chaque item représente une demande du tiers du compte. Seules les 10 demandes dernièrement modifiées sont renvoyées pour un tiers
 
tiers.demandes.idstringréférence technique de la demande
 
tiers.demandes.textstringtitle de la demande
 
tiers.demandes.datetimestringdate de création de la demande2023-04-19T14:45:52.137Z
tiers.demandes.form_numberstringréférence administrative de la demande

00000007

 
tiers.demandes.urlstringurl permettant d’accéder au récapitulatif de la demande
 
tiers.demandes.form_status_is_endpointbooleanproprié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

 
tiers.demandes.draftbooleanproprié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

 
tiers.demandes.action_usagerbooleanproprié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

 
tiers.demandes.compte_demandeurbooleanproprié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

 
tiers.demandes.status.idstringcode du statut de la demande (virtualStatus) (statuts calculés visibles dans la recherche des demandes notamment côté agent)
 
tiers.demandes.status.textstringproprié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)
 
tiers.demandes.teleservice.idstringréférence du téléservice de la demande
 
tiers.demandes.teleservice.textstringlibellé du téléservice de la demande 

Exemple :

{
    "data": {
    "tiers": [
      {
        "id": "gHbRCJMeW",
        "text": "ASSOCIATION DE TEST",
        "referenceAdministrative": "00000012",
        "raisonSociale": "ASSOCIATION DE TEST",
        "SIRET": "78748657656543",
        "RNA": "W881984090",
        "adresse": "32 RUE DE LA FONTAINE 44000 NANTES FRANCE",
        "mail": "martinm02@yopmail.com",
        "telephone": "00 00 00 00 00",
        "site": "http://www.asso-test.com",
        "status": {
          "id": "SUPPORTED",
          "text": "Valide"
        },
        "famille": {
          "id": "75",
          "text": "Association"
        },
        "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"
            }
          }
        ]
      },
      {
        "id": "I9fMm7fV5",
        "text": "Madame Marie MARTIN",
        "referenceAdministrative": "00000011",
        "adresse": "18, rue Emile Zola 44000 NANTES FRANCE",
        "mail": "martinm02@yopmail.com",
        "telephone": "00 00 00 00 00",
        "status": {
          "id": "SUPPORTED",
          "text": "Valide"
        },
        "famille": {
          "id": "01",
          "text": "Particulier"
        },
        "demandes": [
          {
            "id": "B1FTQ_nc9",
            "text": "Bourse au mérite - Marie MARTIN",
            "datetime": "2022-07-01T13:16:43.762Z",
            "form_number": "00000006",
            "url": "http://mgdis-ftc-dev6.mgdis.ovh/aides/#/saintandre/connecte/dashboard/B1FTQ_nc9/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": "BRMIE",
              "text": "Bourse au mérite"
            }
          }
        ]
      },
      {
        "id": "hal7Er7Gr",
        "text": "ENTREPRISE DE TEST",
        "referenceAdministrative": "00001693",
        "raisonSociale": "ENTREPRISE DE TEST",
        "SIRET": "87198798700009",
        "adresse": "45 RUE ALSACE LORRAINE 44000 NANTES FRANCE",
        "mail": "martinm02@yopmail.com",
        "telephone": "00 00 00 00 00",
        "site": "http://www.entreprise-test.com",
        "status": {
          "id": "TRANSMITTED",
          "text": "Transmis"
        },
        "famille": {
          "id": "02",
          "text": "Entreprise"
        },
        "demandes": [
          {
            "id": "rkMLTtlK5",
            "text": "Dépot d'aide à l'analyse produit - ENTREPRISE DE TEST",
            "datetime": "2023-01-02T15:46:43.652Z",
            "form_number": "00000076",
            "url": "http://mgdis-ftc-dev6.mgdis.ovh/aides/#/saintandre/connecte/dashboard/rkMLTtlK5/recapitulatif",
            "form_status_is_endpoint": false,
            "draft": false,
            "action_usager": false,
            "compte_demandeur": true,
            "tiers_beneficiaire": false,
            "status": {
              "id": "TRANSMITTED",
              "text": "Transmis"
            },
            "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
  • le compte existe mais n’a pas le bon rôle ou n’est pas dans le bon groupe : erreur 403 « 
    Unauthorized

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

Exemple :

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.

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