Waiting for engine...
Skip to main content

Boomi Platform API Reference (1.0.0) - EnvironmentMapExtensionUserDefinedFunction

Toggle Pane

Download OpenAPI Specification: Download

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:
basicAuth
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:

  1. fromFunction - represents the function ID from which you are mapping.
  2. fromKey - represents the function's output key from which you are mapping.
  3. toFunction - represents the function ID to which you are mapping.
  4. toKey - represents the function's input key to which you are mapping.
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.position - represents the step's number order in the greater function. 2.cacheType - indicates the caching behavior of the individual function step. The allowed cacheType values are:1.None (default, if omitted in the request)— It does not use Map function caching. 2. ByDocument — Caches the map function’s input and output values for each processed document. 3. ByMap — Caches the map function’s input and output values for each processed map. - id - represents the function step's ID in the format of "FUNCEXT--xxxxxxxxxx". 4. type - represents the type of function (for example, "MathCeil" or "CustomScripting").
Within the Steps element, you also need to define the following input and output variables for each function step:
1. default - Optional. Specifies the input value that the function uses if not provided by the user.
2. name - the user-defined name of the associated input or output.

Note: The user interface automatically uses the used function type as the step name, but you can use this API object to change function step names. 3. key - the number ID assigned to a function step. This key is used to map function steps together in the Mappings attribute.

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:

  1. fromFunction - represents the function ID from which you are mapping.
  2. fromKey - represents the function's output key from which you are mapping.
  3. toFunction - represents the function ID to which you are mapping.
  4. toKey - represents the function's input key to which you are mapping.
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.position - represents the step's number order in the greater function. 2.cacheType - indicates the caching behavior of the individual function step. The allowed cacheType values are:1.None (default, if omitted in the request)— It does not use Map function caching. 2. ByDocument — Caches the map function’s input and output values for each processed document. 3. ByMap — Caches the map function’s input and output values for each processed map. - id - represents the function step's ID in the format of "FUNCEXT--xxxxxxxxxx". 4. type - represents the type of function (for example, "MathCeil" or "CustomScripting").
Within the Steps element, you also need to define the following input and output variables for each function step:
1. default - Optional. Specifies the input value that the function uses if not provided by the user.
2. name - the user-defined name of the associated input or output.

Note: The user interface automatically uses the used function type as the step name, but you can use this API object to change function step names. 3. key - the number ID assigned to a function step. This key is used to map function steps together in the Mappings attribute.

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

Content type
{
  • "name": "My Production Environment",
  • "classification": "PROD"
}

Response samples

Content type
{
  • "@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:
basicAuth
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:

  1. fromFunction - represents the function ID from which you are mapping.
  2. fromKey - represents the function's output key from which you are mapping.
  3. toFunction - represents the function ID to which you are mapping.
  4. toKey - represents the function's input key to which you are mapping.
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.position - represents the step's number order in the greater function. 2.cacheType - indicates the caching behavior of the individual function step. The allowed cacheType values are:1.None (default, if omitted in the request)— It does not use Map function caching. 2. ByDocument — Caches the map function’s input and output values for each processed document. 3. ByMap — Caches the map function’s input and output values for each processed map. - id - represents the function step's ID in the format of "FUNCEXT--xxxxxxxxxx". 4. type - represents the type of function (for example, "MathCeil" or "CustomScripting").
Within the Steps element, you also need to define the following input and output variables for each function step:
1. default - Optional. Specifies the input value that the function uses if not provided by the user.
2. name - the user-defined name of the associated input or output.

Note: The user interface automatically uses the used function type as the step name, but you can use this API object to change function step names. 3. key - the number ID assigned to a function step. This key is used to map function steps together in the Mappings attribute.

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

Content type
{
  • "@type": "EnvironmentMapExtensionUserDefinedFunction",
  • "Inputs": {
    • "@type": "MapExtensionsInputs",
    • "Input": [
      ]
    },
  • "Outputs": {
    • "@type": "MapExtensionsOutputs",
    • "Output": [
      ]
    },
  • "Steps": {
    • "@type": "MapExtensionsFunctionSteps",
    • "Step": [
      ]
    },
  • "Mappings": {
    • "@type": "MapExtensionsFunctionMappings",
    • "Mapping": [
      ]
    },
  • "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:
basicAuth
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:

  1. fromFunction - represents the function ID from which you are mapping.
  2. fromKey - represents the function's output key from which you are mapping.
  3. toFunction - represents the function ID to which you are mapping.
  4. toKey - represents the function's input key to which you are mapping.
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.position - represents the step's number order in the greater function. 2.cacheType - indicates the caching behavior of the individual function step. The allowed cacheType values are:1.None (default, if omitted in the request)— It does not use Map function caching. 2. ByDocument — Caches the map function’s input and output values for each processed document. 3. ByMap — Caches the map function’s input and output values for each processed map. - id - represents the function step's ID in the format of "FUNCEXT--xxxxxxxxxx". 4. type - represents the type of function (for example, "MathCeil" or "CustomScripting").
Within the Steps element, you also need to define the following input and output variables for each function step:
1. default - Optional. Specifies the input value that the function uses if not provided by the user.
2. name - the user-defined name of the associated input or output.

Note: The user interface automatically uses the used function type as the step name, but you can use this API object to change function step names. 3. key - the number ID assigned to a function step. This key is used to map function steps together in the Mappings attribute.

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:

  1. fromFunction - represents the function ID from which you are mapping.
  2. fromKey - represents the function's output key from which you are mapping.
  3. toFunction - represents the function ID to which you are mapping.
  4. toKey - represents the function's input key to which you are mapping.
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.position - represents the step's number order in the greater function. 2.cacheType - indicates the caching behavior of the individual function step. The allowed cacheType values are:1.None (default, if omitted in the request)— It does not use Map function caching. 2. ByDocument — Caches the map function’s input and output values for each processed document. 3. ByMap — Caches the map function’s input and output values for each processed map. - id - represents the function step's ID in the format of "FUNCEXT--xxxxxxxxxx". 4. type - represents the type of function (for example, "MathCeil" or "CustomScripting").
Within the Steps element, you also need to define the following input and output variables for each function step:
1. default - Optional. Specifies the input value that the function uses if not provided by the user.
2. name - the user-defined name of the associated input or output.

Note: The user interface automatically uses the used function type as the step name, but you can use this API object to change function step names. 3. key - the number ID assigned to a function step. This key is used to map function steps together in the Mappings attribute.

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

Content type
{
  • "name": "Account - Customer",
  • "mapId": "01234567890123456789012345",
  • "processId": "789abcde-f012-3456-789a-bcdef0123456",
  • "id": "Ab0Cd1Ef1Gh3Ij4Kl5Mn6Op7Qr8St9Uv0Wx9Yz8Zy7Xw6Vu5Ts4Rq3Po2Nm1Lk0Ji1Hg",
  • "extensionGroupId": "",
  • "environmentId": "456789ab-cdef-0123-4567-89abcdef0123",
  • "Map": {
    • "ExtendedFunctions": {
      },
    • "ExtendedMappings": {
      },
    • "SourceProfileExtensions": {
      },
    • "DestinationProfileExtensions": [
      ]
    }
}

Response samples

Content type
{
  • "@type": "EnvironmentMapExtensionUserDefinedFunction",
  • "Inputs": {
    • "@type": "MapExtensionsInputs",
    • "Input": [
      ]
    },
  • "Outputs": {
    • "@type": "MapExtensionsOutputs",
    • "Output": [
      ]
    },
  • "Steps": {
    • "@type": "MapExtensionsFunctionSteps",
    • "Step": [
      ]
    },
  • "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:
basicAuth
path Parameters
id
required
string

Represents the unique, system-generated ID of the extended user-defined function.

Responses

Response samples

Content type
{
  • "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:
basicAuth
Request Body schema:
optional
Array of objects (BulkId)
type
string
Enum: "GET" "DELETE" "UPDATE" "CREATE"

Responses

Response Schema:
Array of objects
Array
required
object (EnvironmentMapExtensionUserDefinedFunction)
index
integer <int32>
id
string
statusCode
integer <int32>
errorMessage
string

Request samples

Content type
{
  • "request": [
    • {
      }
    ],
  • "type": "GET"
}

Response samples

Content type
{
  • "response": [
    • {
      }
    ]
}