Boomi Platform API Reference (1.0.0) - EnvironmentMapExtensionUserDefinedFunction
Use the Environment Map Extension User Defined Function object to create, modify, delete, and restore user-defined map functions within environment data maps.
You must have the Environment Management Full Access or the Environment Management privileges to use this API object. Extensible user-defined map functions allow you to link multiple standard function steps in a defined sequence to perform sophisticated transformations between profile fields in an extended Map. With the Environment Map Extension User Defined Function object, you can:
- Retrieve the properties of an extended user-defined function
- Create new, extensible user-defined functions
- Update the configuration of an extended user-defined function
- Delete an extended user-defined function
- Restore a deleted extended user-defined function
The actions available with this API object directly represent how you interact with extensible user-defined functions in the user interface. After using this API object, you can use the Environment Map Extension object to map through these extensible user-defined functions as part of a greater Map extension. The Environment Map Extension User Defined Function object is most useful for Integration Pack developers who need the flexibility to accommodate more complicated mapping logic for their specific business cases.
Note: Creating user-defined functions using this object exists only at the environment extension level and are tied to a single map extension only; you cannot reference process-level functions in extensions. You can reuse a given function within a single map extension but cannot reuse it across multiple maps within an integration pack or across environments. User-defined functions are their own entities and are saved separately from extended maps that may reference them. After you save the Environment Map Extension object, the new versions of the user-defined functions communicate to the runtime.
This API supports all user-defined functions except:
- SQL Lookups
- Document Cache lookups
- Get Properties
- Set Properties
- Set Trading Partners
Though you cannot create new Cross Reference Tables, you can look up existing Cross Reference Tables.
Creates an EnvironmentMapExtensionUserDefinedFunction object
The CREATE operation creates a new extensible user-defined function. User-defined functions created using the Environment Map Extension User Defined Function object exists only at the environment extension level and are tied to a single map extension only.
When creating a new user-defined function, you define individual function steps that make up the greater user-defined function. Then, in the <Mappings> section of the request, you determine how to map or link each step to and from the function's input and output.
Caution: Creating new functions requires all existing input and output values in the request regardless if they are mapped or populated with a default value. Otherwise, it overrides and removes those variables from the function.
Authorizations:
Request Body schema: optional
required | object (MapExtensionsInputs) Lists the function's input and outputs according to their user-given names and keys. You must list inputs and outputs sequentially in order according to their key values. When creating or updating functions, it requires all input and output values in the request regardless if they are to be mapped or populated with a default value. The maximum number of inputs or outputs is 100. |
required | object (MapExtensionsFunctionMappings) Defines the mapping of inputs and outputs for the user-defined function and each function step. It uses the following attributes:
|
required | object (MapExtensionsOutputs) Lists the function's input and outputs according to their user-given names and keys. You must list inputs and outputs sequentially in order according to their key values. Refer to the following row for more information. When creating or updating functions, it requires all input and output values in the request regardless if they are to be mapped or populated with a default value. The maximum number of inputs or outputs is 100. |
required | object (MapExtensionsFunctionSteps) Defines the individual function steps and the order in which they need to occur within the greater user-defined function. The following attributes are used: 1.
|
| createdBy | string The user ID of the user who created the user-defined function. |
| createdDate | string <date-time> Timestamp of the creation of the user-defined function. |
| deleted | boolean This variable indicates the deleted status of the user defined function component. If the value is true, it indicates the deletion of the referenced user-defined function. A false value indicates that the referenced user-defined function is not deleted and is available for use. |
| description | string Optional. Additional details about the user-defined function component. |
| environmentMapExtensionId | string The ID of an environment map extension. Important: This and other Environment Map Extension API objects require the client to know the ID of the environment map extension. In the user-defined function interface, click Copy EME ID to easily copy this ID for use in your API requests, or query the Environment Map Extensions Summary object. |
| id | string Required. Represents the unique, system-generated ID of the extended user-defined function. |
| modifiedBy | string The user ID of the user who last updated the user-defined function. |
| modifiedDate | string <date-time> Timestamp of when the user-defined function was last updated. |
| name | string Required. Represents the name of the user-defined function component. |
Responses
Response Schema:
required | object (MapExtensionsInputs) Lists the function's input and outputs according to their user-given names and keys. You must list inputs and outputs sequentially in order according to their key values. When creating or updating functions, it requires all input and output values in the request regardless if they are to be mapped or populated with a default value. The maximum number of inputs or outputs is 100. |
required | object (MapExtensionsFunctionMappings) Defines the mapping of inputs and outputs for the user-defined function and each function step. It uses the following attributes:
|
required | object (MapExtensionsOutputs) Lists the function's input and outputs according to their user-given names and keys. You must list inputs and outputs sequentially in order according to their key values. Refer to the following row for more information. When creating or updating functions, it requires all input and output values in the request regardless if they are to be mapped or populated with a default value. The maximum number of inputs or outputs is 100. |
required | object (MapExtensionsFunctionSteps) Defines the individual function steps and the order in which they need to occur within the greater user-defined function. The following attributes are used: 1.
|
| createdBy | string The user ID of the user who created the user-defined function. |
| createdDate | string <date-time> Timestamp of the creation of the user-defined function. |
| deleted | boolean This variable indicates the deleted status of the user defined function component. If the value is true, it indicates the deletion of the referenced user-defined function. A false value indicates that the referenced user-defined function is not deleted and is available for use. |
| description | string Optional. Additional details about the user-defined function component. |
| environmentMapExtensionId | string The ID of an environment map extension. Important: This and other Environment Map Extension API objects require the client to know the ID of the environment map extension. In the user-defined function interface, click Copy EME ID to easily copy this ID for use in your API requests, or query the Environment Map Extensions Summary object. |
| id | string Required. Represents the unique, system-generated ID of the extended user-defined function. |
| modifiedBy | string The user ID of the user who last updated the user-defined function. |
| modifiedDate | string <date-time> Timestamp of when the user-defined function was last updated. |
| name | string Required. Represents the name of the user-defined function component. |
Request samples
- Payload
{- "name": "My Production Environment",
- "classification": "PROD"
}Response samples
- 200
- 403
- 410
- 503
{- "@type": "Environment",
- "id": "456789ab-cdef-0123-4567-89abcdef0123",
- "name": "My Production Environment",
- "classification": "PROD"
}Retrieves an instance of an EnvironmentMapExtensionUserDefinedFunction object
Retrieves an extensible user-defined function associated with a given environment map extension function ID.
Authorizations:
path Parameters
| id required | string Represents the unique, system-generated ID of the extended user-defined function. |
Responses
Response Schema:
required | object (MapExtensionsInputs) Lists the function's input and outputs according to their user-given names and keys. You must list inputs and outputs sequentially in order according to their key values. When creating or updating functions, it requires all input and output values in the request regardless if they are to be mapped or populated with a default value. The maximum number of inputs or outputs is 100. |
required | object (MapExtensionsFunctionMappings) Defines the mapping of inputs and outputs for the user-defined function and each function step. It uses the following attributes:
|
required | object (MapExtensionsOutputs) Lists the function's input and outputs according to their user-given names and keys. You must list inputs and outputs sequentially in order according to their key values. Refer to the following row for more information. When creating or updating functions, it requires all input and output values in the request regardless if they are to be mapped or populated with a default value. The maximum number of inputs or outputs is 100. |
required | object (MapExtensionsFunctionSteps) Defines the individual function steps and the order in which they need to occur within the greater user-defined function. The following attributes are used: 1.
|
| createdBy | string The user ID of the user who created the user-defined function. |
| createdDate | string <date-time> Timestamp of the creation of the user-defined function. |
| deleted | boolean This variable indicates the deleted status of the user defined function component. If the value is true, it indicates the deletion of the referenced user-defined function. A false value indicates that the referenced user-defined function is not deleted and is available for use. |
| description | string Optional. Additional details about the user-defined function component. |
| environmentMapExtensionId | string The ID of an environment map extension. Important: This and other Environment Map Extension API objects require the client to know the ID of the environment map extension. In the user-defined function interface, click Copy EME ID to easily copy this ID for use in your API requests, or query the Environment Map Extensions Summary object. |
| id | string Required. Represents the unique, system-generated ID of the extended user-defined function. |
| modifiedBy | string The user ID of the user who last updated the user-defined function. |
| modifiedDate | string <date-time> Timestamp of when the user-defined function was last updated. |
| name | string Required. Represents the name of the user-defined function component. |
Response samples
- 200
- 403
- 410
- 503
{- "@type": "EnvironmentMapExtensionUserDefinedFunction",
- "Inputs": {
- "@type": "MapExtensionsInputs",
- "Input": [
- {
- "@type": "MapExtensionsInput",
- "name": "input",
- "key": 1
}
]
}, - "Outputs": {
- "@type": "MapExtensionsOutputs",
- "Output": [
- {
- "@type": "MapExtensionsOutput",
- "name": "output",
- "key": 1
}
]
}, - "Steps": {
- "@type": "MapExtensionsFunctionSteps",
- "Step": [
- {
- "@type": "MapExtensionsFunctionStep",
- "Inputs": {
- "@type": "MapExtensionsInputs",
- "Input": [
- {
- "@type": "MapExtensionsInput",
- "name": "Value",
- "key": 1
}
]
}, - "Outputs": {
- "@type": "MapExtensionsOutputs",
- "Output": [
- {
- "@type": "MapExtensionsOutput",
- "name": "Result",
- "key": 1
}
]
}, - "Configuration": {
- "@type": "MapExtensionsConfiguration"
}, - "cacheType": "None",
- "id": "1",
- "type": "MathABS",
- "position": 1
}
]
}, - "Mappings": {
- "@type": "MapExtensionsFunctionMappings",
- "Mapping": [
- {
- "@type": "MapExtensionsFunctionMapping",
- "fromFunction": "0",
- "fromKey": 1,
- "toFunction": "1",
- "toKey": 1
}, - {
- "@type": "MapExtensionsFunctionMapping",
- "fromFunction": "1",
- "fromKey": 1,
- "toFunction": "0",
- "toKey": 1
}
]
}, - "environmentMapExtensionId": "MWRiZDhk...",
- "id": "abcd12345-6c78-9012-9eb8-345f6b678901",
- "name": "My UDF in MapExtension",
- "deleted": false,
- "createdDate": "2021-11-10T18:09:39Z",
- "createdBy": "user@boomi.com",
- "modifiedDate": "2021-11-10T18:09:39Z",
- "modifiedBy": "user@boomi.com"
}Modifies or updates an EnvironmentMapExtensionUserDefinedFunction object
Updates the extended configuration for a single user-defined function.
Caution: Updating functions require all existing input and output values in the request regardless if they are mapped or populated with a default value. Otherwise, it overrides and removes those variables from the function.
Authorizations:
path Parameters
| id required | string Represents the unique, system-generated ID of the extended user-defined function. |
Request Body schema: optional
required | object (MapExtensionsInputs) Lists the function's input and outputs according to their user-given names and keys. You must list inputs and outputs sequentially in order according to their key values. When creating or updating functions, it requires all input and output values in the request regardless if they are to be mapped or populated with a default value. The maximum number of inputs or outputs is 100. |
required | object (MapExtensionsFunctionMappings) Defines the mapping of inputs and outputs for the user-defined function and each function step. It uses the following attributes:
|
required | object (MapExtensionsOutputs) Lists the function's input and outputs according to their user-given names and keys. You must list inputs and outputs sequentially in order according to their key values. Refer to the following row for more information. When creating or updating functions, it requires all input and output values in the request regardless if they are to be mapped or populated with a default value. The maximum number of inputs or outputs is 100. |
required | object (MapExtensionsFunctionSteps) Defines the individual function steps and the order in which they need to occur within the greater user-defined function. The following attributes are used: 1.
|
| createdBy | string The user ID of the user who created the user-defined function. |
| createdDate | string <date-time> Timestamp of the creation of the user-defined function. |
| deleted | boolean This variable indicates the deleted status of the user defined function component. If the value is true, it indicates the deletion of the referenced user-defined function. A false value indicates that the referenced user-defined function is not deleted and is available for use. |
| description | string Optional. Additional details about the user-defined function component. |
| environmentMapExtensionId | string The ID of an environment map extension. Important: This and other Environment Map Extension API objects require the client to know the ID of the environment map extension. In the user-defined function interface, click Copy EME ID to easily copy this ID for use in your API requests, or query the Environment Map Extensions Summary object. |
| id | string Required. Represents the unique, system-generated ID of the extended user-defined function. |
| modifiedBy | string The user ID of the user who last updated the user-defined function. |
| modifiedDate | string <date-time> Timestamp of when the user-defined function was last updated. |
| name | string Required. Represents the name of the user-defined function component. |
Responses
Response Schema:
required | object (MapExtensionsInputs) Lists the function's input and outputs according to their user-given names and keys. You must list inputs and outputs sequentially in order according to their key values. When creating or updating functions, it requires all input and output values in the request regardless if they are to be mapped or populated with a default value. The maximum number of inputs or outputs is 100. |
required | object (MapExtensionsFunctionMappings) Defines the mapping of inputs and outputs for the user-defined function and each function step. It uses the following attributes:
|
required | object (MapExtensionsOutputs) Lists the function's input and outputs according to their user-given names and keys. You must list inputs and outputs sequentially in order according to their key values. Refer to the following row for more information. When creating or updating functions, it requires all input and output values in the request regardless if they are to be mapped or populated with a default value. The maximum number of inputs or outputs is 100. |
required | object (MapExtensionsFunctionSteps) Defines the individual function steps and the order in which they need to occur within the greater user-defined function. The following attributes are used: 1.
|
| createdBy | string The user ID of the user who created the user-defined function. |
| createdDate | string <date-time> Timestamp of the creation of the user-defined function. |
| deleted | boolean This variable indicates the deleted status of the user defined function component. If the value is true, it indicates the deletion of the referenced user-defined function. A false value indicates that the referenced user-defined function is not deleted and is available for use. |
| description | string Optional. Additional details about the user-defined function component. |
| environmentMapExtensionId | string The ID of an environment map extension. Important: This and other Environment Map Extension API objects require the client to know the ID of the environment map extension. In the user-defined function interface, click Copy EME ID to easily copy this ID for use in your API requests, or query the Environment Map Extensions Summary object. |
| id | string Required. Represents the unique, system-generated ID of the extended user-defined function. |
| modifiedBy | string The user ID of the user who last updated the user-defined function. |
| modifiedDate | string <date-time> Timestamp of when the user-defined function was last updated. |
| name | string Required. Represents the name of the user-defined function component. |
Request samples
- Payload
{- "name": "Account - Customer",
- "mapId": "01234567890123456789012345",
- "processId": "789abcde-f012-3456-789a-bcdef0123456",
- "id": "Ab0Cd1Ef1Gh3Ij4Kl5Mn6Op7Qr8St9Uv0Wx9Yz8Zy7Xw6Vu5Ts4Rq3Po2Nm1Lk0Ji1Hg",
- "extensionGroupId": "",
- "environmentId": "456789ab-cdef-0123-4567-89abcdef0123",
- "Map": {
- "ExtendedFunctions": {
- "Function": {
- "type": "StringAppend",
- "id": "FUNCEXT--012345678",
- "cacheType": "ByDocument",
- "Inputs": {
- "Input": [
- {
- "key": "1",
- "name": "Original String",
- "default": ""
}, - {
- "key": "2",
- "name": "Fix to Length",
- "default": ""
}, - {
- "key": "3",
- "name": "Char to Append",
- "default": "-0000"
}
]
}, - "Outputs": {
- "Output": {
- "key": "1",
- "name": "Result"
}
}, - "Configuration": null
}
}, - "ExtendedMappings": {
- "Mapping": [
- {
- "fromXPath": "/StreetAddress1",
- "toXPath": "/CustomerAdd/ShipAddress/Addr1"
}, - {
- "fromXPath": "/StreetAddress2",
- "toXPath": "/CustomerAdd/ShipAddress/Addr2"
}, - {
- "fromXPath": "/City",
- "toXPath": "/CustomerAdd/ShipAddress/City"
}, - {
- "fromXPath": "/State",
- "toXPath": "/CustomerAdd/ShipAddress/State"
}, - {
- "fromXPath": "/Zip",
- "toXPath": "/CustomerAdd/ShipAddress/PostalCode"
}, - {
- "fromXPath": "/Country",
- "toXPath": "/CustomerAdd/ShipAddress/Country"
}, - {
- "toFunction": "FUNCEXT--012345678",
- "fromXPath": "/Zip",
- "toXPath": "1"
}, - {
- "fromFunction": "FUNCEXT--012345678",
- "fromXPath": "1",
- "toXPath": "/CustomerAdd/ShipAddress/PostalCode"
}
]
}, - "SourceProfileExtensions": {
- "Node": [
- {
- "xpath": "",
- "name": "Account",
- "Character": null
}, - {
- "xpath": "/CustomerNum",
- "name": "CustomerNum",
- "Character": null
}, - {
- "xpath": "/CustomerName",
- "name": "CustomerName",
- "Character": null
}, - {
- "xpath": "/StreetAddress1",
- "name": "StreetAddress1",
- "Character": null
}, - {
- "xpath": "/StreetAddress2",
- "name": "StreetAddress2",
- "Character": null
}, - {
- "xpath": "/City",
- "name": "City",
- "Character": null
}, - {
- "xpath": "/State",
- "name": "State",
- "Character": null
}, - {
- "xpath": "/Zip",
- "name": "Zip",
- "Character": null
}
]
}, - "DestinationProfileExtensions": [
- null,
- null
]
}
}Response samples
- 200
- 403
- 410
- 503
{- "@type": "EnvironmentMapExtensionUserDefinedFunction",
- "Inputs": {
- "@type": "MapExtensionsInputs",
- "Input": [
- {
- "@type": "MapExtensionsInput",
- "name": "str",
- "key": 1
}, - {
- "@type": "MapExtensionsInput",
- "name": "str2",
- "key": 2
}
]
}, - "Outputs": {
- "@type": "MapExtensionsOutputs",
- "Output": [
- {
- "@type": "MapExtensionsOutput",
- "name": "out1",
- "key": 1
}, - {
- "@type": "MapExtensionsOutput",
- "name": "out2",
- "key": 2
}
]
}, - "Steps": {
- "@type": "MapExtensionsFunctionSteps",
- "Step": [
- {
- "@type": "MapExtensionsFunctionStep",
- "Inputs": {
- "@type": "MapExtensionsInputs",
- "Input": [
- {
- "@type": "MapExtensionsInput",
- "default": "STRING1",
- "name": "Original String",
- "key": 1
}, - {
- "@type": "MapExtensionsInput",
- "default": "5",
- "name": "Fix to Length",
- "key": 2
}, - {
- "@type": "MapExtensionsInput",
- "default": "_",
- "name": "Char to Prepend",
- "key": 3
}
]
}, - "Outputs": {
- "@type": "MapExtensionsOutputs",
- "Output": [
- {
- "@type": "MapExtensionsOutput",
- "name": "Result",
- "key": 1
}
]
}, - "Configuration": {
- "@type": "MapExtensionsConfiguration"
}, - "cacheType": "None",
- "id": "5",
- "type": "StringPrepend",
- "position": 1
}
]
}, - "Mappings": {
- "@type": "MapExtensionsFunctionMappings",
- "Mapping": [ ]
}, - "environmentMapExtensionId": "MWRiZDhk...",
- "id": "abcd12345-6c78-9012-9eb8-345f6b678901",
- "name": "My UDF in MapExtension",
- "deleted": false,
- "createdDate": "2021-11-03T19:41:44Z",
- "createdBy": "user@boomi.com",
- "modifiedDate": "2021-12-06T20:11:55.112Z",
- "modifiedBy": "user@boomi.com"
}Deletes an EnvironmentMapExtensionUserDefinedFunction object
Deletes the specified user-defined function. Deleted user-defined functions return a status of true and are no longer available for use in an API call or on the user interface.
Restoring a deleted user-defined function
Reinstate a deleted user-defined function by providing the function's id in a CREATE operation. You cannot make changes to a function during restoration (in other words, you cannot edit its values in a RESTORE request). By restoring a deleted function, it becomes available for use in an API call and in the user interface. After a successful RESTORE operation, the function returns a deleted status of false.
Authorizations:
path Parameters
| id required | string Represents the unique, system-generated ID of the extended user-defined function. |
Responses
Response samples
- 403
- 410
- 503
{- "message": "Access denied due to insufficient permissions."
}Retrieves multiple EnvironmentMapExtensionUserDefinedFunction objects by identifier
To learn more about bulk, refer to the topic Bulk GET operations.
Authorizations:
Request Body schema: optional
Array of objects (BulkId) | |
| type | string Enum: "GET" "DELETE" "UPDATE" "CREATE" |
Responses
Response Schema:
Array of objects | |||||||||||
Array
| |||||||||||
Request samples
- Payload
{- "request": [
- {
- "id": "56789abc-def0-1234-5678-9abcdef01234"
}
], - "type": "GET"
}Response samples
- 200
- 403
- 410
- 503
{- "response": [
- {
- "Result": {
- "Inputs": {
- "Input": [
- {
- "default": "string",
- "key": 0,
- "name": "string"
}
]
}, - "Mappings": {
- "Mapping": [
- {
- "fromFunction": "string",
- "fromKey": 0,
- "toFunction": "string",
- "toKey": 0
}
]
}, - "Outputs": {
- "Output": [
- {
- "key": 0,
- "name": "string"
}
]
}, - "Steps": {
- "Step": [
- {
- "Configuration": {
- "CrossReferenceLookup": {
- "Inputs": {
- "Input": [ ]
}, - "Outputs": {
- "Output": [ ]
}, - "lookupTableId": "string",
- "skipIfNoInputs": true
}, - "DocCacheLookup": {
- "Inputs": {
- "Input": [ ]
}, - "Outputs": {
- "Output": [ ]
}, - "cacheIndex": 0,
- "docCache": "string"
}, - "DocumentProperty": {
- "defaultValue": "string",
- "persist": true,
- "propertyId": "string",
- "propertyName": "string"
}, - "JapaneseCharacterConversion": {
- "convertFrom": "string",
- "convertTo": "string"
}, - "Scripting": {
- "Inputs": {
- "Input": [ ]
}, - "Outputs": {
- "Output": [ ]
}, - "Script": "string",
- "language": "GROOVY"
}, - "SequentialValue": {
- "batchSize": 0,
- "keyFixToLength": 0,
- "keyName": "string"
}, - "SimpleLookup": {
- "Table": {
- "Rows": null
}
}, - "StringConcat": {
- "delimiter": "string",
- "fixedLength": 0
}, - "StringSplit": {
- "delimiter": "string",
- "splitLength": 0
}, - "UserDefinedFunction": {
- "id": "string",
- "version": 0
}
}, - "Inputs": {
- "Input": [
- {
- "default": null,
- "key": null,
- "name": null
}
]
}, - "Outputs": {
- "Output": [
- {
- "key": null,
- "name": null
}
]
}, - "cacheType": "None",
- "id": "string",
- "position": 0,
- "type": "Count"
}
]
}, - "createdBy": "string",
- "createdDate": "2019-08-24T14:15:22Z",
- "deleted": true,
- "description": "string",
- "environmentMapExtensionId": "string",
- "id": "string",
- "modifiedBy": "string",
- "modifiedDate": "2019-08-24T14:15:22Z",
- "name": "string"
}, - "index": 0,
- "id": "string",
- "statusCode": 0,
- "errorMessage": "string"
}
]
}