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
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 Le paramètre suboidc est obligatoire. | ||||||||||
Description | Opérations fonction du verbe | ||||||||||
Verbe | GET : 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éponse | Cf exemple de retour | ||||||||||
Code retour |
|
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 | |
tiers | Array<Object> | il s’agit d’un tableau où chaque item représente un tiers du compte | |
tiers.id | string | référence technique du tiers | |
tiers.text | string | title du tiers | |
tiers.tiers.referenceAdministrative | string | référence administrative du tiers | |
tiers.raisonSociale | string | raison sociale si le tiers est de personnalité juridique morale | |
tiers.SIRET | string | SIRET si le tiers est de personnalité juridique morale | |
tiers.RNA | string | RNA si le tiers est de type « TIERS_ASSOCIATION » | |
tiers.adresse | string | correspond à 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.mail | string | mail/courriel du tiers. On récupère le premier du tableau de courriels | |
tiers.telephone | string | téléphone du tiers. On récupère le premier du tableau de téléphone | |
tiers.site | string | site web du tiers. On récupère le premier du tableau de sites web | |
tiers.status.id | string | code 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.text | string | Libellé 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.text | string | libellé de la famille de tiers | |
tiers.demandes.id | string | référence technique de la demande | |
tiers.demandes | Array<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.id | string | référence technique de la demande | |
tiers.demandes.text | string | title de la demande | |
tiers.demandes.datetime | string | date de création de la demande | 2023-04-19T14:45:52.137Z |
tiers.demandes.form_number | string | référence administrative de la demande | 00000007 |
tiers.demandes.url | string | url permettant d’accéder au récapitulatif de la demande | |
tiers.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 |
tiers.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 |
tiers.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 |
tiers.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 |
tiers.demandes.status.id | string | code du statut de la demande (virtualStatus) (statuts calculés visibles dans la recherche des demandes notamment côté agent) | |
tiers.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) | |
tiers.demandes.teleservice.id | string | référence du téléservice de la demande | |
tiers.demandes.teleservice.text | string | libellé 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.