Run transformer through the Alumio API

Hi,

I’m trying to run a transformer with the Alumio API
I found this in the docs:
https://apidocs.alumio.com/#tag/Transformer/operation/executeTransformer

What I can not figure out is how to call a specific transformer.
I know I’m connecte properly, because the call to get environment variables returns a proper response

I’ve never done this via the docs but can see from the GUI that its something like:

{
    "entities": [
        {
            "array": [
                {
                    "factor": 1
                },
                {
                    "factor": 2
                },
                {
                    "factor": 2
                },
                {
                    "factor": 4
                }
            ]
        }
    ],
    "specification": {
        "prototype": "breakpoint-logger",
        "parameters": {
            "instanceId": "root.object",
            "enabled": false,
            "transformer": {
                "prototype": "data",
                "parameters": {
                    "transformers": [
                        {
                            "prototype": "breakpoint-logger",
                            "parameters": {
                                "instanceId": "root.object.parameters.transformers.0",
                                "enabled": false,
                                "transformer": {
                                    "prototype": "accessor-move",
                                    "parameters": {
                                        "stripEnclosures": true,
                                        "filters": [
                                            null
                                        ],
                                        "transformers": [
                                            null
                                        ],
                                        "source": {
                                            "prototype": "key",
                                            "parameters": {
                                                "root": "array"
                                            }
                                        },
                                        "destination": {
                                            "prototype": "structure",
                                            "parameters": {
                                                "key": "index",
                                                "value": "original",
                                                "root": "array"
                                            }
                                        }
                                    }
                                }
                            }
                        },
                        {
                            "prototype": "breakpoint-logger",
                            "parameters": {
                                "instanceId": "root.object.parameters.transformers.1",
                                "enabled": false,
                                "transformer": {
                                    "prototype": "value-setter",
                                    "parameters": {
                                        "configurations": [
                                            {
                                                "value": "&{array}",
                                                "mappers": [
                                                    {
                                                        "prototype": "list-values",
                                                        "parameters": {}
                                                    }
                                                ],
                                                "key": "array"
                                            }
                                        ]
                                    }
                                }
                            }
                        },
                        {
                            "prototype": "breakpoint-logger",
                            "parameters": {
                                "instanceId": "root.object.parameters.transformers.2",
                                "enabled": false,
                                "transformer": {
                                    "prototype": "list-transformer-wrapper",
                                    "parameters": {
                                        "transformers": [
                                            {
                                                "prototype": "breakpoint-logger",
                                                "parameters": {
                                                    "instanceId": "root.object.parameters.transformers.2.parameters.transformers.0",
                                                    "enabled": false,
                                                    "transformer": {
                                                        "prototype": "node",
                                                        "parameters": {
                                                            "nodeTransformers": [
                                                                {
                                                                    "prototype": "breakpoint-logger",
                                                                    "parameters": {
                                                                        "instanceId": "root.object.parameters.transformers.2.parameters.transformers.0.parameters.nodeTransformers.0",
                                                                        "enabled": false,
                                                                        "transformer": {
                                                                            "prototype": "value-setter",
                                                                            "parameters": {
                                                                                "configurations": [
                                                                                    {
                                                                                        "value": "",
                                                                                        "key": "test"
                                                                                    }
                                                                                ]
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            ],
                                                            "accessor": {
                                                                "prototype": "pattern",
                                                                "parameters": {
                                                                    "pattern": "array.*"
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    ]
                }
            }
        }
    }
}

(which is a run test payload for executing a specific (testing)-tranformer)

Hope this helps

Thanks!

Thanks to your comment I was able to figure it out.
I needed this to be able to run a specified entity transformer through the Alumio Api

{
  "entities": [
    {
      "Some_key": "Your Data",
      "Another_Key": "More Data"
    }
  ],
  "specification": {
    "prototype": "chain",
    "parameters": {
      "transformers": [
        "transformer-identifier"
      ]
    }
  }
}

By doing this with a HTTP proxie, you essentially get a webhook which can return the output of a transformer

1 Like

Example:

Run transformer through proxie.ndjson (2.4 KB)

Make sure to replace {YOUR_ALUMIO_ENV} en {ALUMIO_API_KEY} with your own values

3 Likes