Maximo Open Forum

 View Only
  • 1.  Integration best practice to get data from an external API in to maximo

    Posted 4 days ago

    Hi,

    I have a requirement to get data from an external API into maximo. These can be thousands of rows.

    e.g. we will be bringing in data related to reading of asset meters and will be updating the existing meters in Maximo.

    I want to use Interface tables. So we do have a track of incoming data.
    I would also like to use message tracking to bring that data in.

    What would be the best approach to fetch such data from that API in to maximo using as much as possible the built in applications. (e.g. Object structures, external systems etc)


    #Integrations
    #MaximoApplicationSuite

    ------------------------------
    Rana Ahmed
    Maximomize
    ------------------------------


  • 2.  RE: Integration best practice to get data from an external API in to maximo

    Posted 3 days ago
    Edited by Alex Walter 3 days ago

    There is a non-persistent object in Maximo called METERDATA that you can use to process inbound meter readings against assets.

    For the integration tables approach, which offers asynchronous processing, the steps would be something like:

    1. Create an Object Structure similar to the MXMETERDATA Object Structure in Maximo
    2. Create an Enterprise Service against that Object Structure
      1. This is where you would enable Message Tracking
    3. Create an External System against that Enterprise Service / Object Structure with an MXIFACETABLE End Point
    4. Create the IFACE table(s) through the External Systems application
    5. Turn on the IFACETABLECONSUMER Cron Task
    6. Turn on the JMSQSEQCONSUMER Cron Task (if the External System is configured for sequential processing - not needed if configured for continuous processing)
    7. Write a program to call the API and write corresponding records to the mxin_inter_trans table and the related IFACE table.

    For synchronous processing, you can use the Maximo REST API. I understand it may not fit your use case, but has less moving parts:

    POST https://[hostname]/maximo/api/os/mxapimeterdata?lean=1
    apikey: [your API Key]
    Content-Type: application/json
    x-method-override: SYNC
    {
        "assetnum": "11430",
        "siteid": "BEDFORD",
        "metername": "O-PRESSUR",
        "newreading": 4500
    }

    Hope this helps,



    ------------------------------
    Alex Walter
    A3J Group LLC
    ------------------------------



  • 3.  RE: Integration best practice to get data from an external API in to maximo

    Posted 23 hours ago

    Thanks for the detailed reply.

    I have questions about step 7.

    In my case, Maximo will be calling a REST API of another app to fetch data in bulk.

    At step 7,

    • about populating, we need to populate two different tables with same data? mxin_inter_trans and related IFACE table
    • The best approach is to write an automation script that will call the API of third party app.
      e.g. GET abc.com/meterdata
      and then process the response and populate the above mentioned tables using the automation script.
      or is there any other way to do that


    ------------------------------
    Rana Ahmed
    Maximomize
    ------------------------------