Dans Maximo Application Suite, les documents et les images sont stockés en tant que pièces jointes et liés via DOCLINKS. Bien que cela soit simple dans l'interface utilisateur, récupérer ces pièces jointes par programmation est moins évident.

Cet article présente un modèle simple pour utiliser l'API REST afin de :

  1. Localiser un document via DOCLINKS
  1. Récupérer le contenu binaire réel, y compris les images

Comprendre le flux

Maximo ne stocke pas les binaires de documents directement sur les objets métier principaux. Au lieu de cela :

  • L'objet DOCLINKS stocke les métadonnées des pièces jointes, reliant les fichiers et les enregistrements
  • Le DOCINFO représente le contenu réel du fichier et est récupéré via un point de terminaison de document

Pour cette raison, le processus implique toujours deux étapes :

  1. Interroger DOCLINKS pour identifier la pièce jointe
  1. Utilisez l'identifiant renvoyé pour récupérer le contenu

Mon scénario

Dans Maximo, j'ai ajouté ma photo d'identité en pièce jointe à mes enregistrements de personne. Mon enregistrement de personne est PHIL.RUNION pour cet exemple. Dans le cadre de cet exemple, je vais utiliser la structure d'objet MXPERSON pour extraire ma photo d'identité de mon enregistrement de personne en utilisant le API REST et Postman.

Prérequis

  • Avoir un accès à la structure d'objet dans Manage
  • Avoir une clé API Manage pour votre utilisateur

Étape 1 : Configurer une structure d'objet

Je commence avec la structure d'objet MXPERSON, la duplique et ajoute l'objet DOCLINKS comme objet source. Vous pouvez utiliser les structures d'objet prêtes à l'emploi si elles contiennent déjà l'objet source DOCLINKS.  

  • Dupliquer la structure d'objet MXPERSON dans Manage
  • Ajouter DOCLINKS comme objet source avec une relation à l'objet principal
  • Configurer l'accès de sécurité pour la structure d'objet

Étape 2 : Utiliser Postman pour extraire votre enregistrement

Ensuite, j'établis une requête REST de base dans Postman pour extraire mon enregistrement de personne. Cela établit une connexion sur laquelle nous pouvons nous appuyer, mais nous permet également d'extraire la référence du document pour l'étape suivante. Notez dans ma requête que j'utilise une clause oslc where pour extraire uniquement mon enregistrement d'exemple. En plus de ce post, vous aurez besoin d'un en-tête avec la clé « apikey » et une clé API valide avec accès.  

Exemple de requête GET dans Postman :

https://mas.manage.demo.naviam.app/maximo/api/os/NVMPERSON?oslc.select=personid, displayname, doclinks{*}&oslc.where=personid="PHIL.RUNION"&lean=1


Fonctionnement :

  • oslc.where=document="..." filtre pour un enregistrement spécifique
  • oslc.select= personid, displayname, doclinks{*} renvoie quelques champs de la personne et tous les champs disponibles des liens de documents
  • lean=1 élimine le bruit des métadonnées et simplifie la réponse

Unlock the Ultimate Guide to IBM Maximo Application Suite (MAS)

Discover everything you need to know to modernize your asset management strategy.

Inside, you’ll learn:

  • What’s new in IBM Maximo Application Suite 9.0
  • Key differences between Maximo 7.6 and MAS
  • How AppPoints and OpenShift change the game
  • Industry use cases across energy, manufacturing, and transportation
  • Step-by-step guidance for upgrading and migration readiness
Cover of 'The Ultimate Guide to MAS Maximo Application Suite' by Naviam featuring a man in a yellow construction helmet and safety vest holding a tablet.
×

ActiveG, BPD Zenith, EAM Swiss, InterPro Solutions, Lexco, Peacock Engineering, Projetech, Sharptree, and ZNAPZ have united under one brand: Naviam.

You’ll be redirected to the most relevant page at Naviam.io in a few seconds — or you can go now.

Read Press Release