Use this resource to request the details of a PowerCenter mapplet or to request a list of all PowerCenter mapplets in the organization. You can also use this resource to upload or delete a PowerCenter mapplet.
Note: To request a list of all mapplets in the organization, use the objects resource. For more information, see Finding an asset.
GET request
To request a list of all PowerCenter mapplets in the organization, use the following URI:
/api/v2/customFunc
To request the details of a single mapplet, you can use the mapplet ID or mapplet name in the request. Use one of the following URIs:
/api/v2/customFunc/<id>
/api/v2/customFunc/name/<name>
If you use the mapplet name and the mapplet name includes a space, replace the space with %20. For example:
/api/v2/customFunc/name/my%20mapplet
GET response
If the request for a list of mapplets is successful, returns the customFunc object for every PowerCenter mapplet in the organization without the input, output, and connection details.
If the request for the details of a single mapplet is successful, returns the customFunc object.
Returns the error object if errors occur.
The customFunc object includes the following attributes:
Field
Type
Description
id
String
Mapplet ID.
orgId
String
Organization ID.
name
String
Mapplet name.
description
String
Mapplet description.
createTime
Date/time
Time the mapplet was created.
updateTime
Date/time
Time the mapplet was last updated.
createdBy
String
User who created the mapplet.
updatedBy
String
User who last updated the mapplet.
mappletName
String
Name of the Mapplet transformation used in the mapplet.
active
Boolean
Whether the mapplet is active. Returns true or false.
mappletXmlFile
String
The mapplet XML file.
inputs
String
Input fields for the mapplet. Includes the following information for each field in the field object:
- id
- name
- type
- label
- parentObject
- precision
- pcType
- scale
- columnIndex
- isKey
- isExternalId
- isNullable
- isUnique
- isCreateable
- isCalculated
- isUpdateable
- isFilterable
- linkedFields
- relatedInfos. Includes the following information in the fieldRelatedInfo object:
- id
- referenceObject
- relationshipName
- javaType
- showLabel
- naturalOrder
- customProperties
outputs
String
Output fields for the mapplet. Includes the following information for each field in the field object:
- id
- name
- type
- label
- parentObject
- precision
- pcType
- scale
- columnIndex
- isKey
- isExternalId
- isNullable
- isUnique
- isCreateable
- isCalculated
- isUpdateable
- isFilterable
- linkedFields
- relatedInfos. Includes the following information in the fieldRelatedInfo object:
- id
- referenceObject
- relationshipName
- javaType
- showLabel
- naturalOrder
- customProperties
connections
Connection information for the mapplet. Includes a pcsConnection object for each connection.
id
Long
Included in the pcsConnection object.
name
String
Included in the pcsConnection object.
Connection name.
type
String
Included in the pcsConnection object.
Connection type.
subtype
String
Included in the pcsConnection object.
Connection subtype.
description
String
Included in the pcsConnection object.
Description of the connection.
connectionId
String
Included in the pcsConnection object.
Connection ID.
POST request
To upload a new PowerCenter mapplet, use the following URI:
/api/v2/customFunc
If you want to specify a location for the mapplet, include the container ID in the request. If the container ID isn't included in the request, the mapplet is created in the Default folder. You can find the container ID for a project or folder in the Data Integration user interface. On the Explore page, select the folder. In the URL, the last string of characters is the container ID.
For example, in the following URL, the container ID is dH2DuGJYda7ijgW4Sm32sR:
To update an existing PowerCenter mapplet, include the mapplet ID in the following URI:
/api/v2/customFunc/<id>
Note: Encode the request body as multipart/form-data.
With this URI, you can use the following attributes in the request body:
Field
Type
Required
Description
file
String
Yes
The mapplet XML file exported from Informatica PowerCenter. File content should be in binary format, UTF-8 encoding.
name
String
Yes
The mapplet name.
description
String
-
The mapplet description.
containerId
String
-
ID of the project or folder to contain the mapplet.
If not included in request, the mapplet is created in the Default folder.
In addition to the POST attributes, pass the following information in the request body:
•Boundary value. Used to define different parts of the request body.
•File name. Name of the mapplet XML file.
•icSessionId. Informatica Intelligent Cloud Services session ID returned by the login resource. You can pass this information in the request body for clients that do not allow custom headers. If you can pass icSessionId as part of the request header, you can omit this information in the request body.
Use the following template for the customFunc POST request:
URL: <serverUrl>/api/v2/customFunc/ HTTP method: POST
<description of the mapplet> --<boundary value> Content-Disposition: form-data; name="icSessionId"
<icSessionID returned from login resource> --<boundary value>--
POST response
If successful, returns the customFunc response object for the PowerCenter mapplet that was created or updated.
Returns the error object if errors occur.
DELETE request
To delete a PowerCenter mapplet, use the mapplet ID in the following URI:
/api/v2/customFunc/<id>
DELETE response
Returns the 200 response code if the request is successful.
Returns the error object if errors occur.
POST example
To update a PowerCenter mapplet with an ID of 3 with an icSessionId of IV4wOrJmd6YUtmKa8t, you might use the following request. The updated mapplet is named Lookup Mapplet and uses the lookup_mapplet.xml file. XML data should be encoded in UTF-8.
URL: https://example.informatica.com/saas/api/v2/customFunc/3 HTTP method: POST
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE POWERMART SYSTEM "powrmart.dtd"> <POWERMART CREATION_DATE="05/14/2012 12:17:26" REPOSITORY_VERSION="181.90"> <REPOSITORY NAME="pc91hf1" VERSION="181" CODEPAGE="UTF-8" DATABASETYPE="Oracle"> <FOLDER NAME="test" GROUP="" OWNER="Administrator" SHARED="SHARED" DESCRIPTION="" PERMISSIONS="rwx---r--" UUID="96f9d03b-c2c5-4034-8e3a-838026bbf6e8"> <SOURCE BUSINESSNAME ="" DATABASETYPE ="Oracle" DBDNAME ="ddicst" DESCRIPTION ="" NAME ="CUSTOMERMASTER" OBJECTVERSION ="1" OWNERNAME ="C01" VERSIONNUMBER ="1"> <SOURCEFIELD BUSINESSNAME ="" DATATYPE ="nvarchar2" DESCRIPTION ="" FIELDNUMBER ="1" FIELDPROPERTY ="0" FIELDTYPE ="ELEMITEM" HIDDEN ="NO" KEYTYPE ="PRIMARY KEY" LENGTH ="0" LEVEL ="0" NAME ="CUSTOMERID" NULLABLE ="NOTNULL" OCCURS ="0" OFFSET ="0" PHYSICALLENGTH ="30" PHYSICALOFFSET ="0" PICTURETEXT ="" PRECISION ="30" SCALE ="0" USAGE_FLAGS =""/> . . . <ATTRIBUTE NAME ="Parameter Filename" VALUE =""/> <ATTRIBUTE NAME ="Write Backward Compatible Workflow Log File" VALUE ="NO"/> <ATTRIBUTE NAME ="Workflow Log File Name" VALUE ="wf_plugin_lookup.log"/> <ATTRIBUTE NAME ="Workflow Log File Directory" VALUE ="$PMWorkflowLogDir\"/> <ATTRIBUTE NAME ="Save Workflow log by" VALUE ="By runs"/> <ATTRIBUTE NAME ="Save workflow log for these runs" VALUE ="0"/> <ATTRIBUTE NAME ="Service Name" VALUE =""/> <ATTRIBUTE NAME ="Service Timeout" VALUE ="0"/> <ATTRIBUTE NAME ="Is Service Visible" VALUE ="NO"/> <ATTRIBUTE NAME ="Is Service Protected" VALUE ="NO"/> <ATTRIBUTE NAME ="Fail task after wait time" VALUE ="0"/> <ATTRIBUTE NAME ="Enable HA recovery" VALUE ="NO"/> <ATTRIBUTE NAME ="Automatically recover terminated tasks" VALUE ="NO"/> <ATTRIBUTE NAME ="Service Level Name" VALUE ="Default"/> <ATTRIBUTE NAME ="Allow concurrent run with unique run instance name" VALUE ="NO"/> <ATTRIBUTE NAME ="Allow concurrent run with same run instance name" VALUE ="NO"/> <ATTRIBUTE NAME ="Maximum number of concurrent runs" VALUE ="0"/> <ATTRIBUTE NAME ="Assigned Web Services Hubs" VALUE =""/> <ATTRIBUTE NAME ="Maximum number of concurrent runs per Hub" VALUE ="1000"/> <ATTRIBUTE NAME ="Expected Service Time" VALUE ="1"/> </WORKFLOW> </FOLDER> </REPOSITORY> </POWERMART>