\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 (or CORS, http://en.wikipedia.org/wiki/Cross-origin_resource_sharing) is a standard mechanism for sharing information between websites. Project Monitor supports this mechanism on the server side. This mechanism depends on the browser running the calling html page: 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.\nWarning: there may be 400 errors without message functionality. The most common example is a call without passing the expected parameters.\nThese messages are not generated directly by Project Monitor, but by the Wildfly server. The content is usually ","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","Returns \"TRUE\" or \"FALSE\" if the user has a right or not.\nThe \"actionCode\" corresponds to the code of the right (e.g. ACT_MODIFIER_PROJET).\nThe \"id\" corresponds to the id of the object (project,action, user) (e.g. 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_PROJEThttps://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=426https://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","Returns information on the version of Project Monitor and scripts running on the database.","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_PROJ ACT_MODIFIER_PROJET","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","ACT_CONSULT_PROJECT_AFFECTED","https://projectmonitor/MonitorMakerWeb/api/projects;filterId=426/queryhttps://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/queryhttps://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","POST","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 Project Monitor : 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.","You can only add/remove a document on an object if it is attached to a project/action or is itself a project/action. Consequently, these webservices do not work with templates.","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","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","Identify","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_ACTION","IMPORT_INVOICE","ACT_EXECUTE_SYNCHROFACTURE","IMPORT_DEVIS","ACT_EXECUTE_SYNCHRODEVIS","IMPORT_TACHE","ACT_CREER_TACHE","ACTIVITY_ENTRY","ENTRY_ACTIVITY_RAF","ACT_EXECUTE_SYNCHROACTIVITY","ACTIVITY_ENTRY_RAF_DETAIL","MEASURES_UP","SYNCHROPROJET","ACT_EXECUTE_SYNCHROPROJECT","SYNCHROACTION","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 to connect to Project Monitor","LOGINUSERPM","p-monitor specific user login","APIKEYSERVEUR","(if authentication by apikey only): server or up api key, configured in Project Monitor administration or in configuration FILE (*.properties)","fileSend.txt","name of the file to be sent to p-monitor. This must be in the current directory","url.de.projectmonitor","The URL of the p-monitor instance that is to receive the file.","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"]}
🇬🇧

memo webservices