\n\n","Nota Bene: The very principle of JSON-P does not allow information to be supplied to the web service via the http header.","Cross-Origin Resource Sharing","Cross-Origin Resource Sharing (ou CORS, ","http://en.wikipedia.org/wiki/Cross-origin_resource_sharing",") est un mécanisme standard permettant le partage d’information entre sites web. "," prend en charge ce mécanisme côté serveur. Ce mécanisme dépend du navigateur exécutant la page html appelante : ","http://en.wikipedia.org/wiki/Cross-origin_resource_sharing#Browser_support","Errors","Errors are reported via status HTTP","Code","400","Wrong request. The parameters supplied are not correct. In this case, the body of the response contains functional code as well as message in plain text, all sent in JSON format.\n","Warning: there may be 400 errors without message functionality. The most common example is a call without passing the expected parameters.","\nCes messages ne sont pas générés directement par "," mais par le serveur Wildfly. Le contenu est en général du ","Content-Type: text/html",".\nExample: Request to create a project without passing the json parameter as input","401","Current user identification problem","403","Forbidden - The current user does not have the right to use this API. Example: \"Project creation\" rights are required to POST the URL https://projectmonitor/MonitorMakerWeb/api/projects/","415","It is certainly missing ","Content-Type: application/json"," in the header.","500","Internal server error","3. API (HTTP verb: GET)","/templates: project templates","List of project templates","Webservice code","/templates","Management rules","Right ACT_UTILISER_GABARIT ","Example","https://projectmonitor/MonitorMakerWeb/api/templates","Bean Sortie","Bean IdLibelle","Body Sortie","{ \"id\": 255527, \"libelle\": \"le libellé de mon objet\", \"description\": \"une description plus longue souvent facultative\", \"designation\": \"éventuellement un libellé alternatif\" }","Results","JSON","/currentuser : project filters","List of project filters accessible to the current user","/currentuser/filters","Right ACT_UTILISER_FILTRES_PUB_PROJET ","https://projectmonitor/MonitorMakerWeb/api/currentuser/filters","{ \"id\": 255527, \"libelle\": \"le libellé de mon objet\",\n\"description\": \"une description plus longue souvent facultative\",\n\"designation\": \"éventuellement un libellé alternatif\" }","/currentuser : authorization rights","List of user rights codes.\nAll rights on all hierarchies are considered. In other words, you only need to have the right once somewhere.","/currentuser/permissions","https://projectmonitor/MonitorMakerWeb/api/currentuser/permissions","Channel","[ string1, string2.... ]","Returns true/false if the right is authorized or not.\nAll rights on all hierarchies are considered.\nIn other words, you only need to have the right once somewhere.","/currentuser/permissions/{permissionsCode}","https://projectmonitor/MonitorMakerWeb/api/currentuse/permissions/{permissionsCode}","True/False","Retourne « TRUE » ou « FALSE » si l’utilisateur dispose ou non d’un droit.\nL’ « actionCode » correspond au code du droit (ex : ACT_MODIFIER_PROJET).\nL’« id » correspond à l’id de l’objet (du projet, d’un utilisateur) (ex : 553615)","/currentuser/rights/{actionCode}?objectid={id}","https://projectmonitor/MonitorMakerWeb/api/currentuser/rights/ACT_MODIFIER_PROJET?objectId=553615","/roles","List project roles","Right ACT_CONSULTER_ROLE ","https://projectmonitor/MonitorMakerWeb/api/roles","Bean\nRoleValue","[{ \"id\": 123, \"libelle\": \"Chef de projet\",\n\"description\": \"Responsable de projet\", \"key\": \"246703” }, ...]","/roles/hierarchical: user roles on all projects","Lists the \" structure profile roles\" codes and the users making up these roles for all projects.\nIf no code \" role de profil de structure \" is entered for role, it will not be included in the response.","/roles/hierarchical","https://projectmonitor/MonitorMakerWeb/api/roles/hierarchical","{ \"ID_PROJET_1\": { \"CODE_ROLE_1\": [userId_1,userId2],\n\"CODE_ROLE_2\": [userId_3,userId4], },\n\"ID_PROJET_2\": { \"CODE_ROLE_1\": [userId_1,userId2],\n\"CODE_ROLE_2\": [userId_3,userId4], }, }","/users","Lists user information","/users/{userId}","https://projectmonitor/MonitorMakerWeb/api/users/266414","Bean User file","{ \"id\": \"12345\", \"libelle\":\"test web service 1\",\"description\": \"\", \"index\": 188534, \"login\": \"adm\",\"nom\": \"adm\", \"prenom\": \"adm\",\"telephoneBureau\": \"\", \"mail\": \"adm@adm.fr\",\"nomP\": \"adm a.\", \"actif\": true,\"formatCalendrier\": \"fr_FR\", \"ressourceSuivie\": false,\"niveauLicence\": null, \"idSMM\": 1225, \"idUP\": 155245,\"motDePasse\": \"\", \"sexe\": null,\"langue\": { \"id\": 1, \"libelle\": \"Français\",\"description\": \"\",\"code\": \"fr\", \"key\": \"1\" }, \"titre\": \"\", \"societe\": \"\",\"telephoneAssistance\": \"\", \"telephoneStandard\": \"\",\"telephoneMobile\": \"\", \"adresse1\": \"\", \"codePostal1\": \"\",\"ville1\": \"\", \"adresse2\": \"\", \"codePostal2\": \"\", \"ville2\": \"\",\"region\": \"\", \"parametres\": { \"pageAccueil\":{ \"id\": -1, \"libelle\": \"\", \"description\": \"\", \"key\": \"-1\" },\"filtreProjetParDefaut\": { \"id\": -1, \"libelle\": \"\", \"description\": \"\", \"key\": \"-1\" },\"filtreRessourceParDefaut\": { \"id\": -1, \"libelle\": \"\",\"description\": \"\", \"key\": \"-1\" } },\"dateOuverture\": 1516662000000, \"dateFermeture\": null,\"dateFermetureOrigine\": null, \"alertModifParMail\": false,\"synchroDatesUP\": false, \"forceLienRessourceParLibelle\": false,\"image\": null, \"abonnements\": null, \"identifiantLDAP\": \"\",\"ressource\": { \"id\": -1, \"libelle\": \"\", \"description\": \"\", \"key\": \"-1\" }, \"dateDerniereModificationMdp\": null,\"dateCreation\": 1516715245593, \"invite\": false,\"cache\": false, \"roles\":[..]\"arbreProfilsHierarchies\": null,\"abonnementsCharges\": false, \"profilsProjets\": null,\"motDePasseGereParMM\": true, \"userLDAP\": false,\"ligneRoles\": \"1 - Administrateur
\",\"libelleLong\": \"adm adm\", \"codeObjetType\": \"UTILISATEUR\", \"key\": \"315563\" }","/users: user details","Returns a paginated list of active users, ordered by first and last name. The result can be filtered using query parameters:\n➢ ","contains"," filter users by value. This value is searched for in the user's \"login\", \"last name\" and \"first name\".\nIf the value is found, the user is displayed, otherwise not.\n➢ ","globalRole"," Possible values: true or false\nIf ","true"," this indicates that we are looking for a user with a role on the \"General roles\" perimeter.\nIf ","false"," this perimeter is not taken into account\n➢ ","hierarchicalRole"," this indicates that we are looking for a user with a role on the \" role de structure \" perimeter.\nIf ","projectRole"," this indicates that we are looking for a user with a role on the \"Project roles\" perimeter.\nIf ","roleCodes"," Role filtering: allows users to be filtered by role (role code) and scope (\"General roles\", \"Project roles\" and \" structure roles\").\nIf no perimeter is activated, then the role filter does not apply.\nExample: ","/users?projectRole=true&roleCodes=ROL_RESPONSABLE_PROJECT&roleCodes=ROL_TEAM_MEMBER","\nIn this example, we display users with a \"global\" role and who have the role \"manager project\" OR team member status on at least one project. It is also possible to set the pagination:\n➢ ","page"," specifies the desired page number (starts at 1) default=1\n➢ ","perPage"," number of items per page (must be less than 200) default=25 The WS returns the list of items corresponding to the requested page.\nThe header ","X-PM-TOTAL-COUNT"," contains the total number of items (excluding pagination).","https://projectmonitor/MonitorMakerWeb/api/users","Bean\nIdLibelle","/lists","List of possible values for the givenattribute of the given object type.","/lists/{objectTypeCode}/{attributeCode}","https://projectmonitor/MonitorMakerWeb/api/lists/projet/status_PROJET\nhttps://projectmonitor/MonitorMakerWeb/api/lists/tache/Categorie","Bean ListValue","{ \"id\": 82418, \"libelle\": \"le libellé de ma valeur de liste\",\n\"description\": \"une description plus longue souvent facultative\",\n\"couleur\": \"#FF0000\", \"defaut\": false,\n\"beanIcone\": { \"id\": 287447, \"libelle\": \"Brouillon.jpg\",\n\"nomFichier\": \"Brouillon.jpg\", \"urlFichier\": \"http://projectmonitor/MonitorMakerWeb\n/doc/1225/2204/2012/4/26/287447/term ine16.jpg\"}, \"ponderation\": 0, \"code\": \"STATUT_BROUILLON\",\n\"ordre\": 0, \"designation\": \"Brouillon\" }","/projects","Project information by ID\nReturns the information for the given project. But without the following information: attachments, team, attributes, etc.","/projects/{projectId}","https://projectmonitor/MonitorMakerWeb/api/projects/3025","Bean WSProjet","{ \"id\": \"12345\", \"libelle\":\"test web service 1\", \"description\":\"\", \"code\":\"test-ws1\", \"libelleLong\":\"test web service\", \"statut\": { \"id\": 246721, \"libelle\": \"En cours\", \"description\": \"\", \"code\": \"CODE_STATUT\" } \"idGabarit\": -1, \"codeGabarit\": \"CODE_GABARIT\" \"dateDebut\":1072911600000, \"dateFin\":1167519600000, \"loginChefDeProjet\": \"ngavard\", \"rattachements\": {\"CODE_HIERARCHIE1\": [\"CODE_VN1\"], \"CODE_HIERARCHIE2\": [\"CODE_VN2\", CODE_VN3]}, \"equipe\": {\"CODE_ROLE1\": [\"login1\", \" login2\"], \"CODE_ROLE2\": [\"login3\"]}, \"attributs\": {\"CODE_ATTRIBUT1_CHAINE\": \"ma valeur\" , \" CODE_ATTRIBUT2_VALEUR_NUM\": 55.5, \"CODE_ATTRIBUT3_VALEUR_LISTE\":\"CODE_VALEUR_LISTE\"} }","/projects attributes : value of a project attribute","Returns the value to date of theattribute of \"codeAttributes\" on the project identified by \"projectId\".","/projects/{projectId}/attributes/{codeAttributes}","https://projectmonitor/MonitorMakerWeb/api/projects/327905/attributes/DESCRIPTION_PROJET","{ codeAttribut1:valeurAttribut1 }","/projects forms: attribute values for a project form","Returns all values to date of the form codeForm attributes on the project identified by \"projectId\".","/projects/{projectId}/forms/{codeForm}","https://projectmonitor/MonitorMakerWeb/api/projects/327905/forms/TEST","{ codeAttribut1:valeurAttribut1, codeAttribut2:valeurAttribut2, ...}","/projects: list of projects","Returns a list of projects filtered by the supplied filter \"filterId\" corresponds to a persistent project filter.","/projects;filterId={filterId}","Right ACT_CONSULTER_PROJECT_AFFECTE ","https://projectmonitor/MonitorMakerWeb/api/projects;filterId=426\nhttps://projectmonitor/MonitorMakerWeb/api/projects","Bean\nIDLibelle","[{ \"id\": 255527, \"libelle\": \"le libellé de mon objet\", \"description\": \"une description plus longue souvent facultative\", \"designation\": \"éventuellement un libellé alternatif\" }, { \"id\": 255523, \"libelle\": \"le libellé de mon objet 3\", \"description\": \"une description plus longue souvent facultative\", \"designation\": \"éventuellement un libellé alternatif\" }]","/projects: identification of the \"model\" project","Returns the id of the \"template\" project used to duplicate the \"projectId\" project.","/projects/{projectId}/copiedfrom","https://projectmonitor/MonitorMakerWeb/api/projects/156381/copiedfrom","{ \"id\": 156381, //id du projet « modèle » \"libelle\": \"\", \"description\": \"\", \"key\": \"156381\" }","/projects: retrieve the value of attachments to hierarchies","Returns all hierarchy information and level values to which the project is attached.","/projects/{projectId}/hierarchies","https://projectmonitor/MonitorMakerWeb/api/projects/{projectId}/hierarchies","{ \"codeOuLibelléHiérarchie 1\" : BeanValeurNiveau }","/projects: retrieve the value of attachments to a structure","Returns all information about a defined structure (hierarchyCode) and the level values to which the project is linked.","/projects/{projectId}/hierarchies/{hierarchyCode}","https://projectmonitor/MonitorMakerWeb/api/projects/331356/hierarchies/HIER_ORGA_MOE","BeanValueLevel","[{ \"id\": 123, \"libelle\": \"valeurRattachée\", \"description\": \"\", \"code\": \"\", \"hierarchiePrincipale\": { \"id\": 456, \"libelle\": \"hiérarchie\" }, \"niveau\": { \"id\": 789, \"libelle\": \"Niveau 2\", \"code\": \"\", \"dateModification\": 1302881673810, \"codeObjetType\": \"NIVEAU\" } }, ...]","/hierarchies: project links","Returns the list of hierarchical level values to which the project (code {projectid}) is attached and corresponding to the code {hierarchyCode}.","/hierarchies/project/{projectId};hierarchyCode={hierarchyCode}","https://projectmonitor/MonitorMakerWeb/api/hierarchies;projectId=426;hierarchyCode=HIER_MODE","Bean IDLibelle","/hierarchies values: retrieve the levels and level values of a structure","Returns the levels and level values of a structure (codeHierarchy) without taking the project into account","/hierarchies/values/{Hierarchiecode}","https://projectmonitor/MonitorMakerWeb/api/hierarchies/values/HIER_ORGA_MOE","{ libelle : \"...\", code : \"...\",\nniveaux : [ niveau 1 : { libelle : \"...\", code : \"...\",\nvaleursNiveaux : [ ... idNiveaupere : ... , .... ] },\nniveau 2 : { libelle : \"...\", code : \"...\",\nvaleursNiveaux : [ ... idNiveaupere : ... , .... ] } ] }","/team","Lists the people making up a project team","/projects/{projectId}/team","https://projectmonitor/MonitorMakerWeb/api/projects/3025/team","{ \"id\": \"12345\", \"libelle\":\"test web service 1\", \"description\":\"\", \"code\":\"test-ws1\", \"libelleLong\":\"test web service\", \"statut\": { \"id\": 246721, \"libelle\": \"En cours\", \"description\": \"\", \"code\": \"CODE_STATUT\", \"equipe\": {\"CODE_ROLE1\": [\"login1\", \" login2\"] } }","/reports","Runs the selected report with the corresponding view . Applies the indicated project filter and the period given for reports using a period parameter. The period is defined relative to the current month: if the \"from\" parameter is specified but without \"to\", this indicates the number of months to be taken in the past relative to the current date.\nEx: from=5 indicates to take 5 months back Similarly, if the \"to\" parameter is specified but without \"from\", this indicates the number of months in the future.\nEx: to=3 indicates 3 months in the future. Finally, if neither the \"from\" nor the \"to\" parameters are specified, this indicates project periods. Possible formats are: csv, excel, csvemail and excelemail.\nIf you use the \"csv\" or \"csvemail\" format, please update the \"HTTP REQUEST HEADER\" header with :\n- Accept : text/csv;application/json If you use the \"excel\" or \"excelemail\" format, please update the \"HTTP REQUEST HEADER\" header with :\n- Accept : application/vnd.ms-excel;application/json Calling the web service is subject to having one of two rights: ACT_CONSULTER_STATUS_MULTIPROJECT or ACT_CONSULTER_STATUS_MEASURES.\nThe reports currently authorized are :\n- EXPORT_RESSOURCE_PROJET: Export of project resource data (except planned)\n- EXPORT_PHASE: Export of project phases.\n- EXPORT_TASK: Export project tasks.\n- EXPORT_JALON: Export project milestones.\n- EXPORT_RESSOURCE: Export of resource data (label, profile, capacity, code...). This export is not subject to project filters, views or period selection. Indicating them in the query will have no impact.\n- EXPORT_ECHANGE: Export of project exchanges\n- EXPORT_INDICATOR_UP: Export of platform indicators\n- EXPORT_INDICATOR: Export of indicators\n- EXPORT_PROJET: Export projects\n- EXPORT_BUDGET: Export project budget data","/reports/{format}/{report}/{viewCode};filterCode={filterCode};from={from};to={to}","https://projectmonitor/MonitorMakerWeb/api/reports/excel/EXPORT_RESSOURCE/VUE_SIMPLE;filterCode=2014rd;from=6;to=0","Excel or CSV file in the requested format","/phases","Returns the list of phases associated with the project.","/phases?projectId={projectId}","Right ACT_CONSULTER_OBJET_PLANNING ","https://projectmonitor/MonitorMakerWeb/api/phases?projectId=426","Bean WSPhase","{ \"id\": 520454, \"libelle\": \"Expression des Besoins\",\"description\": \"\", \"code\": \"\", \"type\": {beanValeurListe},\"etat\": {beanValeurListe}, \"message\": \"\",\"parent\": { \"id\": 520455, \"libelle\": \"Lot 1\", \"description\": \"\",\"key\": \"520455\" }, \"loginResponsable\": \"jdupont\", \"debutEstime\": 1521216000000,\"finEstime\": 1530975600000,\"debutCible\": 1521216000000,\"finCible\": 1530975600000,\"projet\":{\"id\": 520451} }","/phases: data recovery","Returns the properties of a phase without dependencies.","/phases/{phaseID}","https://projectmonitor/MonitorMakerWeb/api/phases/331359","Bean\nWSPhase","{ \"id\": 520454, \"libelle\": \"Expression des Besoins\",\"description\": \"\", \"code\": \"\", \"type\": {beanIdOuCode},\"etat\": {beanIdLibelle}, \"dateDebut\": null,\"message\": \"\", \"parent\": { \"id\": 520455, \"libelle\": \"Lot 1\",\"description\": \"\", \"key\": \"520455\" },\"loginResponsable\": \"jdupont\", \"codeStatut\": \"A_VALIDER\",\"debutEstime\": 1521216000000, \"finEstime\": 1530975600000,\"debutCible\": 1521216000000, \"finCible\": 1530975600000 }","/phases: dependency recovery","Returns properties on the dependencies of a phase","/phases/{phaseID}/dependencies","https://projectmonitor/MonitorMakerWeb/api/phases/331359/dependencies","Bean\nWS\nDependency","[{ \"predecesseur\":{ \"id\": 520453, \"libelle\": \"Conduite du projet\",\"description\": null, \"key\": \"520453\" },\"projetPredecesseur\": { \"id\": 520452,\"libelle\": \"DP - AREA PRE SORT\", \"description\": \"\",\"key\": \"520452\" },\"type\": \"REL_TYPE_FINISH_TO_START\", \"valeur\": 0 }, ...]","/phases attributes : value of a attribute type phase","Returns the value to date of theattribute of \"codeAttributes\" on the phase identified by \"phasesId\".","/phases/{phasesId}/attributes/{codeAttributes}","https://projectmonitor/MonitorMakerWeb/api/phases/331359/DESCRIPTION_PHASE","/admin","Renvoie des informations sur la version de "," et des scripts exécutés sur la base de données.","Right ACT_AFFICHER_ETAT_ADMIN ","https://projectmonitor/MonitorMakerWeb/api/admin/about","/admin/about","{ \"version\": \"v5.4.0.3\",\n\"database\": { \"productName\": \"SQL server\",\n\"base\": \"projmon\", \"userName\": \"projmon\"},\n\"scripts\":[ { \"datePassage\":1317765600000,\n\"RCSfile\" : \"G_libelles_v_5_4_0_1.sql\"\n\"revision\" : \" 1.1\" \"commentaire\" : \"\"} ... ] }","Synchronous execution of the batch command supplied as a parameter","/admin/exec/{commandName}","Law ACT_CONFIG_TECHNIQUE ","https://projectmonitor/MonitorMakerWeb/api/admin/admin/exec/IndexerProjetCommand","Bean Entrée","Body Input","200 OK","4. API (HTTP verbs: POST/DELETE)","/projects: creation or modification","Creating or modifying one or more projects To modify a project, pass its id to the input BeanWsProject. The web service accepts as input a simple BeanWsProjet or an array of BeanWsProjets (creation/modification).\nNotes :\n- The \"id\" field only needs to be filled in when updating a project. When a project is created, an id is automatically generated.\n- For attributes of the \"List value\" type, it is the code of the list value that must be sent, not its label.\n- The \"idStatus\" and \"idGabarit\" properties have priority over \"codeStatus\" and \"codeGabarit\". You can set either one or the other, but if both are present, only the id will be taken into account.\n- MOD_INDICATOR\" is a fixed value that does not apply to modules other than indicator. Multiple categories can be entered by separating blocks with commas.\n- Accepted representation codes are : REP_REALISE and REP_PLANIFIE_REPARTI","Droits ACT_CONSULTER_PROJET_AFFECTE "," ACT_CREER_PROJET "," ACT_MODIFY_PROJECT ","https://projectmonitor/MonitorMakerWeb/api/projects","WsProjet bean or array of WsProjet beans","{ \"id\": \"12345\", \"libelle\":\"test web service 1\", \"description\":\"\", \"code\":\"test-ws1\", \"libelleLong\":\"test web service\",\n\"statut\": { \"id\": 246721, \"libelle\": \"En cours\", \"description\": \"\", \"code\": \"CODE_STATUT\" }\n\"idGabarit\": -1, \"codeGabarit\": \"CODE_GABARIT\" \"dateDebut\":1072911600000, \"dateFin\":1167519600000, \"loginChefDeProjet\": \"ngavard\", \"rattachements\": {\"CODE_HIERARCHIE1\": [\"CODE_VN1\"], \"CODE_HIERARCHIE2\": [\"CODE_VN2\", CODE_VN3]}, \"equipe\": {\"CODE_ROLE1\": [\"login1\", \" login2\"], \"CODE_ROLE2\": [\"login3\"]}, \"attributs\": {\"CODE_ATTRIBUT1_CHAINE\": \"ma valeur\" , \" CODE_ATTRIBUT2_VALEUR_NUM\": 55.5, \" CODE_ATTRIBUT3_VALEUR_LISTE\":\"CODE_VALEUR_LISTE\"} }","Bean WSRetour","{ \"beanWsErreur\" : { \"code\" : \"LBL_RATTACHEMENTS_PROJET_HIERARCHIES_INCOMPLETE\", \"message\" : \"Toutes les hiérarchies ne sont pas affectées\" }, \"beanWsItem\" : { \"id\" : 12345, \"code\" : \"test-ws1\", \"libelle\" : \"test web service 1\" } }","Advanced project search based on filter and json parameter criteria. \"filterId\" corresponds to a persistent project filter.\nNB: For the \"codeVue\" field, only \" dashboard (piloting)\" views will work.","/projects/query","Right ACT_CONSULTER_PROJECT_AFFECTE ","https://projectmonitor/MonitorMakerWeb/api/projects;filterId=426/query\nhttps://projectmonitor/MonitorMakerWeb/api/projects/query","BeanFilterProjectParam","{ \"loginUser\":\"loginUser\", \"codeRoles\":[\"CODE_ROLE1\", \"CODE_ROLE2\",...], \"codeAttributListe\":\"CODE_ATTRIBUT_LISTE\", \"idValeurAttributListe\":128824, \"jalonEnRetard\": \"false\", \"idProjets\": [244071, 290590, ...], \"codeVue\": \"CODE_VUE\", \"idProjetPere\" : 200115 }","BeanWSCockpit","{ \"projet\": {}, \"valeurCockpits\": { \"CODE_COCKPIT1\": {\"feux\": {\"code\": \"VERT\"}, \"iconeName\": \"BallGreen.png\"}, \"CODE_COCKPIT2\": {\"feux\": {\"code\": \"GRIS\"}, \"iconeName\": \"BallGrey.png\"}, ... } }","/phases: creation or modification","Creation or modification of one or more phase and milestone\nIf the phase or milestone sent contains an id or code that already exists, we modify the existing object. Otherwise we create a new object, using the information received.","https://projectmonitor/MonitorMakerWeb/api/phases","beanWsPhaseEntrée","dans le cas d’une PHASE : { \"id\": 520454, \"libelle\": \"Expression des Besoins\",\n//obligatoire en création, facultatif en modification \"gabarit\": {beanIdOuCode}, \"projet\" : {beanIdOuCode},//obligatoire en création, facultatif en modification \"idPhaseParente\" : \"\",\n//si non précisé en création alors la tache devient une tache parente. En modification l’id de la phase parente doit correspondre à une phase du projet indiqué par le paramètre \"projet\" \"etat\": {beanIdOuCode},\n//si non précisé en création alors état par défaut \"type\": {beanIdOuCode},\n//si non précisé en création alors type par défaut \"code\" : \"\", \"debutEstime\": 1521216000000, \"finEstime\": 1530975600000, \"debutCible\": 1521216000000, \"finCible\": 1530975600000, \"attributs\": {\"CODE_ATTRIBUT1_CHAINE\": \"ma valeur\", \"CODE_ATTRIBUT2_VALEUR_NUM\": 55.5, \"CODE_ATTRIBUT3_VALEUR_LISTE\":\"CODE_VALEUR_LISTE\"} } Ou dans le cas d’un JALON : { \"projet\": {\"id\": 457219}, \"libelle\": \"nouveau\", \"type\": {\"code\":\"GENRE_PLANNING_NOUVEAU\"}, \"jalon\": true, \"finCible\" : \"2022-01-13\" } En modification : { \"projet\": {\"id\": 457219}, \"code\": \"jalonwkf\", \"fait\": true }","BeanWSBack","/tasks","Advanced search of task based on json parameter criteria. \"filterId\" corresponds to a persistent project filter.","/tasks;filterId={filterId}/query","https://projectmonitor/MonitorMakerWeb/api/tasks/query\nhttps://projectmonitor/MonitorMakerWeb/api/tasks;filterId=426/query","BeanWsFiltreTacheParam","{ \"loginEmetteur\": \"loginUser1\", \"loginAssigne\": \"loginUser2\", \"dateFinSuperieureA\":1072911600000, \"dateFinInferieureA\":1072911600000, \"dateEcheanceSuperieureA\":1072911600000, \"dateEcheanceInferieureA\":1072911600000, \"listeIdsStatut\": [123, 466], \"listeIdsCategorie\": [987, ...] \"beanFiltreProjetParam\": { \"idProjets\": [244071, 290590, ...] \"loginUser\":\"loginUser\", \"codeRoles\":[\"CODE_ROLE1\", \"CODE_ROLE2\"] } }","BeanWsTacheOut","{ \"id\": 22709, \"libelle\": \"libellé de la tâche\", \"code\": \"22709\", \"dateModification\": 1338274295973, \"projet\": {beanObjet}, \"message\": \"Contenu HTML de la tâche\", \"saisissable\": true, \"loginEmetteur\": \"loginUser1\", \"loginAssigne\": \" loginUser2\", \"dateDebut\": null, \"dateDebutPrevue\": null, \"dateFin\": null, \"dateEcheance\": null, \"etat\": {beanIdLibelle}, \"type\": {beanIdLibelle}, \"urlTache\": \"http://projectmonitor/MonitorMakerWeb/connexion.jsf?NumEcran=351&IdSMM=12 25&IdUP=2204&IdObjet=22709\", \"urlProjet\": \"http:// projectmonitor/MonitorMakerWeb/connexion.jsf?NumEcran=351&IdSMM=1225&IdUP= 2204&IdObjet=290354\" }","Creating or modifying a task or a set of tasks\nIf the task sent contains an id or code that already exists: the existing task is modified. Otherwise, a new task is created using the information received. Mandatory fields for creation are : - label: subject of the task - project: identified by its id or code The mandatory fields for modification are: - id or code (of the task)","/tasks;","Verb","https://projectmonitor/MonitorMakerWeb/api/tasks","Bean WsTacheEntréeOu array[BeanWsTacheEntrée1, BeanWsTacheEntrée2,BeanWsTacheEntrée3","Body Entrée (si création)","{ \"libelle\": \"Mettre à jour l’univers BO pour CASSIOPEE\", \"projet\": { \"id\": 573456 }, \"message\": \"Demande du service BCU. Merci de mettre à jour l’univers BO pour cassiopée.
Avertir le service Facturation quand la demande sera realisée.\", \"loginEmetteur\": \"blopez\", \"etat\": { \"code\": \"ETAT_A_DEBUTER\" }, \"categorie\": { \"code\": \"CAT_BI\" }, \"gabarit\": { \"code\": \"GAB_TACHE_DSI\" }, \"priorite\": { beanIdOuCode }, \"phase\": { \"code\": \"CODE_PHASE\"}, \"loginAssigne\": \"Severin.prin\", \"loginsParticipants\": [\"pierre.visualiseur\",\"julie.cheffep\"], \"roleAssigne\": \"ROL_CP_MOE”, \"roleParticipants\" : \"ROL_MEMBRE_EQUIPE”, \"envoyerMail\" : true, (mail à tous assigné, chef de projet et participants), \"envoyerMailChefDeProjet\" : true (mail au chef de projet), \"envoyerMailAssigne\" : true, (mail à assigné) \"envoyerMailParticipants\" : true (mail à participants) } ","Body Entrée (si modification)","{ \"id\": 12345, \"loginAssigne\": \"jmchevillot\", \"statut\": { \"code\": \"ETAT_A_FACTURER\" }, \"attributs\": { \"NUM_BON_FACTU\": \"2017_BCU_12345\", \"NB_HEURES_PASSEES\": 10.5 }, \"phase\": { \"code\": \"CODE_PHASE\"}, \"loginsParticipants\": [\"pierre.visualiseur\",\"julie.cheffep\"], \"roleParticipants\" : \"ROL_MEMBRE_EQUIPE” }","Renvoyé par "," : tableau de BeanWsRetour. Un BeanWsRetour est composé d’un BeanWsErreur portant le code et le message de l’erreur (champs vides si pas d’erreur), et un BeanWsItem portant les informations du projet concerné. { \"beanWsErreur\" :\n{ \"code\" : \"LBL_RATTACHEMENTS_PROJET_HIERARCHIES_INCOMPLETE\", \"message\" : \"Toutes les hiérarchies ne sont pas affectées\" }, \"beanWsItem\" : { \"id\" : 12345, \"code\" : \"test-ws1\", \"libelle\" : \"test web service 1\" } }","/documents","A document can be associated with an object or a attribute object (in the case of creation AND deletion). If the call concerns a attribute, theattribute code must be supplied.","If a document is attached to an object, a default structure link type is used. The default type is \"Attachment\" in most cases, and \"Deliverable\" for phases and milestones.","On ne peut ajouter/supprimer un document sur un objet que si celui-ci est rattaché à un projet ou est lui-même un projet. Par conséquent, ces webservices ne fonctionnent pas avec des gabarits.","Creation of a document.\n- ","Id"," document identifier, used only for deletion.\n- ","idObject / codeObject"," : identifier and code of the object to which the document is attached. There's no need to fill in both fields at the same time; one or the other will suffice. By default, idObject will be taken into account if both are indicated.\n- ","codeAttribute","attribute code if the document is to be attached to a attribute object (project/task). If not supplied, the document will be attached directly to the object.\n- ","url ","url of document. Currently only \"URL\" documents are accepted.\n- ","version"," document version.\n- idStatut/codeStatut: status (status) of document. As with the attached object, there's no need to specify both.","Creation is subject to ACT_MODIFIER_* and ACT_MODIFIER_MES_* rights (depending on the type of object attached, e.g. \"ACT_MODIFIER_TACHE\"). To create document, you must have the right to modify the object attached to document . In the case of a document attribute , you must also have the \"ACT_UTILISER_ATTRIBUT\" right.","https://projectmonitor/MonitorMakerWeb/api/documents","beanWsDocument","Pour créer un document, il faut au minimum les paramètres suivants dans le beanWsProjet en entrée :\n• idObjet OU codeObjet\n• url\n• [codeAttribut] (si le document est rattaché à un attribut)\nLes autres propriétés du BeanWsDocument sont optionnelles.\nEx de BeanWsDocument en entrée :\n{ « IdObjet » : 12345,“Url” : “https://upload.wikimedia.org/wikipedia/commons/2C_Scotland.jpg” }\n{ \"id\":333417, \"idObjet\":45338, \"codeObjet\":\"THE_CODE\", \"codeAttribut\":\"DOC_CONTRAT\", \"url\":\"http://exemple.icone.fr\", \"version\":\"VERSION 1.2\", \"idStatut\":3432, \"codeStatut\":\"EST_ACTIF\" }","New user ID document","Récupérations d’informations de document","/documents/idDocument","IDDocument","- ID + Chemin physique du document + Taille + Extension + Etat document (ID + Code + Libellé statut) + Version document\n- ID + Code + Libellé du projet sur lequel se trouve le document\n- ID + Code + Libellé du conteneur + Type du conteneur (attribut, tâche, échange, phase, jalon, pièce financière)","Removal of document","Deletion is subject to ACT_MODIFY_* and ACT_MODIFY_MES_* rights (depending on the type of object attached, e.g. \"ACT_MODIFY_TACHE\"). To delete document, you must have the right to modify the object attached to document . In the case of a document attribute , you must also have the \"ACT_UTILISER_ATTRIBUT\" right.","Pour supprimer un document, il faut au minimum les paramètres suivants dans le beanWsProjet en entrée :\n• id\n• [codeAttribut] (si le document est rattaché à un attribut) OU\n• idObjet OU codeObjet\n• url\n• [codeAttribut] (si le document est rattaché à un attribut) Ex de BeanWsDocument en entrée : { « id » : 12346, « codeAttribut » : « ICONE_TACHE » } { \"id\":333417, \"idObjet\":45338, \"codeObjet\":\"THE_CODE\", \"codeAttribut\":\"DOC_CONTRAT\", \"url\":\"http://exemple.icone.fr\", \"version\":\"VERSION 1.2\", \"idStatut\":3432, \"codeStatut\":\"EST_ACTIF\" }","true if successful, otherwise an error is returned","/echange : creation or modification","Creation or modification of one or moreexchange If theexchange sent contains an id or code that already exists: we modify the existingexchange . Otherwise we create a new exchange with the information received.","/exchanges","https://projectmonitor/MonitorMakerWeb/api/exchanges","BeanWsExchangeInputOor array[BeanWsExchangeInput1,BeanWsExchangeInput2,BeanWsExchangeInput3]","Les champs obligatoires en création sont :\n- libellé : sujet de l’échange\n- projet : identifié par son id ou son code Le champ obligatoire en modification est :\n- id (de l’échange) { \"libelle\": \"libellé de l’échange\", //obligatoire en création, facultatif en modification \"id\": 22709,\n//uniquement en modification \"projet\": {beanIdOuCode}, //obligatoire en création, facultatif en modification \"message\": \"Contenu HTML de la tâche\", \"loginEmetteur\": \"loginUser1\",\n//facultatif en création, ignoré en modification \"loginAssigne\": \"loginUser2\", \"type\": { beanIdOuCode },\n//si non précisé en création alors type par défut \"gabarit\": { beanIdOuCode }, \"echangePrecedent\": { beanIdOuCode }, \"gabarit\": { beanIdOuCode }, \"dateEdition\": 1338274295973, \"dateDeclare\": 1338274295973, \"envoiParMailAlAssigne\":{\"true\" or \"false\"},\n//obligatoire si le champ LoginAssigne est renseigné \"attributs\": {\"CODE_ATTRIBUT1_CHAINE\": \"ma valeur\", \"CODE_ATTRIBUT2_VALEUR_NUM\": 55.5, \"CODE_ATTRIBUT3_VALEUR_LISTE\":\"CODE_VALEUR_LISTE\"} }","5. cURL import method","Presentation","These Webservices can be used to send import or synchronization files. Their syntax is specific and not based on what has been seen previously. The cURL tool is supplied in p-monitor's \"install\" directory. It calls p-monitor via HTTP and transmits a CSV file to be imported. If the platform is to import data via its HTTP interface, a platform-specific user must exist and have the right rights to execute the import.","Import identifier","Identifier","PM rights","Note","TEST","#NA","This special import is used to test the technical chain. It simply mails the file sent by cURL back to the authenticated user.","IMPORT_PROJET","Import via Excel import files (see Import memo for expected file syntax).","IMPORT_INVOICE","ACT_EXECUTE_SYNCHROFACTURE\n","IMPORT_DEVIS","ACT_EXECUTE_SYNCHRODEVIS\n","IMPORT_TACHE","ACT_CREER_TACHE\n","ACTIVITY_ENTRY","ACT_EXECUTE_SYNCHROACTIVITY\n","ENTRY_ACTIVITY_RAF","ACTIVITY_ENTRY_RAF_DETAIL","MEASURES_UP","SYNCHROPROJET","ACT_EXECUTE_SYNCHROPROJECT\n","SYNCHROENVELOPPE","SYNCHROFINANCIERE (2)","This import represents the generic import of financial documents: you must specify the financial document type code as a query parameter.","SYNCHROAFFECTATION","SYNCHROENGAGEMENT","SYNCHROMANDATTING","SYNCHROBUDGET","ENTRY_PROVISIONAL_REPARTITIONED_BUDGET_1","Import of forecast total distributed 1","ENTRY_PROVISIONAL_REPARTIED_BUDGET_2","Import of forecast total distributed 2","ENTRY_PROVISIONAL_REPARED_BUDGET_3","Import of forecast total distributed 3","New cURL launch method","To launch a cURL import, use the following syntax in a batch : ","curl -H \"Accept:application/json\" -H \"Authorization: montoken\" -silent -F","Accept :application/json","header d’entête pour se connecter à ","LOGINUSERPM","Login de l’utilisateur spécifique de ","APIKEYSERVEUR","(si authentification par apikey uniquement)  : api key du serveur ou de l’up, configurée dans l’administration "," ou dans le FICHIER de configuration (*.properties)","fileSend.txt","name of the file to be sent to p-monitor. This must be in the current directory","url.de.projectmonitor","L’URL de l’instance de "," qui doit recevoir le fichier.","IMPORT_ID","import type identifier. See list above.","Please refer to http://curl.haxx.se/ for more information on how to use the cURL tool.","To wait for the end of the command to continue processing in your batch file once the import is complete, use the wait option:","curl -H \"Accept:application/json\" -H \"Authorization: montoken\" -silent -F wait=true -F attachment=@fichierAEnvoyer.txt\n\"http://url.de.projectmonitor/MonitorMakerWeb/api/import/IDENTIFIANT_IMPORT?login=LOGINUSERPM\"","To find out whether a cURL import is in progress, use the isrunning option:","curl -H \"Accept:application/json\" -H \"Authorization: montoken\" -silent -F isrunning=true -F attachment=@fichierAEnvoyer.txt\n\"http://url.de.projectmonitor/MonitorMakerWeb/api/import/IDENTIFIANT_IMPORT?login=LOGINUSERPM\"","Warning: if isrunning is passed as a parameter with a value other than \"true\", the webservice will return a 400 error code.","To specify the type of financial document when importing SYNCHROFINANCIERE, use the mandatory importType option:","curl -H \"Accept:application/json\" -H \"Authorization: montoken\" -silent -F attachment=@fichierAEnvoyer.txt\n\"http://url.de.projectmonitor/MonitorMakerWeb/api/import/SYNCHROFINANCIERE/importType/TYPE_PIECE_FINANC_REALISE?login=LOGINUSERPM\"","Please note: to correctly interpret the \"&\" character used to specify the two options in the URL, you must enclose the URL in quotation marks. Otherwise, the request will be launched with the first parameter only.","Please note that an incompatibility has been detected when calling this web service via PowerShell. If this command interface is used, then the Curl process should be called directly and not via the \"Invoke-WebRequest\" keyword, as in the example below:","$headersToken = New- Object \"System.Collections.Generic.Dictionary[[String],[String]]\"\n$headersToken.Add('X-PM-LOGIN',$login)\n$headersToken.Add('X-PM-PASSWORD',$password)\necho \"Tentative d'authentification pour l'utilisateur $login et son mot de passe est $password\"\ntry{$response = Invoke-WebRequest -Headers $headersToken - URI \"\" | ConvertFrom-Json} \ncatch [System.Net.WebException] {echo \"Impossible d'obtenir le token (verifiez votre login/mot de passe)\"\nreturn} echo \"Appel du web service d'export projet\"\n$token = $response.token\ncurl.exe -X POST -k -H Authorization:$token -H Accept:application/json -F attachment=@ImportPF.csv \n\"https://pmdemo.p-monitor.com/MonitorMakerWeb/api/import/SYNCHROFINANCIERE/importType/TYPE_PIECE_FINANC_REALISE/\"","The user specified by the login parameter receives an e-mail summarizing the import process.","The http return codes visible to curl are :","200","OK","204","no import in progress (isrunning)","302","an import is in progress (isrunning)","functional error: refer to the e-mail sent OR if isrunning option requested, parameter other than \"true\".","user specified by \"login\" parameter does not exist or password is incorrect","the user specified by the \"login\" parameter does not have sufficient rights to launch the import.","405","the application server rejects the HTTP method used in the request sent","a technical error has occurred. Contact your administrator","503","command interrupted by a user","Produced by Virage Group"]}
Webservices memo

Webservices memo