TeamConnect SOAP API XML Samples
DELETE PROJECT:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:proj="http://mitratech.com/teamconnect/web...jectrepository">
<soapenv:Header/>
<soapenv:Body>
<proj:deleteProject>
<!--Optional:-->
<!-- we need to pass the object uniqueKey_primaryKey of the record:-->
<uniqueKey>DISP_36209</uniqueKey>
</proj:deleteProject>
</soapenv:Body>
</soapenv:Envelope>
INSERT PROJECT
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:proj="http://mitratech.com/teamconnect/web...jectrepository">
<soapenv:Header/>
<soapenv:Body>
<proj:insertProject>
<!--Optional:-->
<project>
<!--Optional:-->
<!-- we need to pass the object uniqueKey:-->
<entityTypeUniqueKey>DISP</entityTypeUniqueKey>
<!--Optional:-->
<name>Test For SoupUI</name>
<idNumber>12345689</idNumber>
<!--Zero or more repetitions:-->
<assigneeCreates>
<!--Optional:-->
<!-- we need to pass the object uniqueKey:-->
<projectTypeUniqueKey>DISP</projectTypeUniqueKey>
<!--Optional:-->
<!-- we need to pass the object uniqueKey_Role Tree Position:-->
<roleUniqueKey>DISP_ATTO</roleUniqueKey>
<!--Optional:-->
<assignedOn>2024-02-10</assignedOn>
<!--Optional:-->
<unassignedOn>2024-02-12</unassignedOn>
<!--Optional:-->
<!-- we need to pass the User object uniqueKey_PrimaryKey of User:-->
<userUniqueKey>USER_504</userUniqueKey>
<!--Optional:-->
<active>true</active>
<!--Optional:-->
<mainAssignee>true</mainAssignee>
</assigneeCreates>
</project>
</proj:insertProject>
</soapenv:Body>
</soapenv:Envelope>
INSERT CHILD PROJECT WITH PARENT:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:proj="http://mitratech.com/teamconnect/web...jectrepository">
<soapenv:Header/>
<soapenv:Body>
<proj:insertProject>
<project>
<!--Child object Unique Key -->
<entityTypeUniqueKey>MKMT</entityTypeUniqueKey>
<!-- Add required other Properties -->
<name>Test</name>
<!-- Parent object Unique Key_primaryKey on parent record -->
<parentUniqueKey>DISP_1502</parentUniqueKey>
<!-- if Required Add Categories fileds Optional -->
<categories>
<uniqueKey></uniqueKey>
<name/>
<primary>true</primary>
</categories>
<!--Add Asignee Deatils Optional -->
<assigneeCreates>
<projectTypeUniqueKey></projectTypeUniqueKey>
<roleUniqueKey></roleUniqueKey>
<userUniqueKey></userUniqueKey>
<active>true</active>
<assignedOn></assignedOn>
</assigneeCreates>
</project>
</proj:insertProject>
</soapenv:Body>
</soapenv:Envelope>
readChildProjectsForEntityType:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:proj="http://mitratech.com/teamconnect/web...jectrepository">
<soapenv:Header/>
<soapenv:Body>
<proj:readChildProjectsForEntityType>
<!--Optional:-->
<!-- we need to pass the object uniqueKey_primaryKey of record:-->
<parentProjectUniqueKey>ABMA_4222</parentProjectUniqueKey>
<!--Optional:-->
<!-- we need to pass the child object uniqueKey:-->
<projectEntityTypeUniqueCode>TECH</projectEntityTypeUniqueCode>
<!--Zero or more repetitions:-->
<properties>name</properties>
</proj:readChildProjectsForEntityType>
</soapenv:Body>
</soapenv:Envelope>
READ PROJECT:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:proj="http://mitratech.com/teamconnect/web...jectrepository">
<soapenv:Header/>
<soapenv:Body>
<proj:readProject>
<!--Optional:-->
<!-- we need to pass the object uniqueKey_primaryKey of record:-->
<uniqueKey>DISP_6081</uniqueKey>
<!--Zero or more repetitions:-->
<properties>name</properties>
</proj:readProject>
</soapenv:Body>
</soapenv:Envelope>
READ PROJECT AND GET CUSTOM FIELD IN RESPONSE:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:proj="http://mitratech.com/teamconnect/web...jectrepository">
<soapenv:Header/>
<soapenv:Body>
<proj:readProject>
<!--Optional:-->
<uniqueKey>ABMA_5043</uniqueKey>
<!--Zero or more repetitions:-->
<properties>name</properties>
<!-- the categories properties list the available fileds including custom fields which has values:-->
<properties>categories</properties>
</proj:readProject>
</soapenv:Body>
</soapenv:Envelope>
readProjectEntityTypes:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:proj="http://mitratech.com/teamconnect/web...jectrepository">
<soapenv:Header/>
<soapenv:Body>
<proj:readProjectEntityTypes>
<!--Zero or more repetitions:-->
<properties>assignees</properties>
<properties>assignees.uniqueKey</properties>
<properties>assignees.role.name</properties>
<properties>assignees.user.uniqueKey</properties>
<properties>assignees.projectType.uniqueCode</properties>
<properties>name</properties>
</proj:readProjectEntityTypes>
</soapenv:Body>
</soapenv:Envelope>
readProjectIntegrationSearches:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:proj="http://mitratech.com/teamconnect/web...jectrepository">
<soapenv:Header/>
<soapenv:Body>
<proj:readProjectIntegrationSearches/>
</soapenv:Body>
</soapenv:Envelope>
readProjectsByCriteria(System field):
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:proj="http://mitratech.com/teamconnect/web...jectrepository">
<soapenv:Header/>
<soapenv:Body>
<proj:readProjectsByCriteria>
<!--Optional:-->
<!-- we need to pass the object uniqueKey:-->
<projectEntityTypeUniqueKey>DISP</projectEntityTypeUniqueKey>
<!--Optional:-->
<criteria xsi:type="ns16:fieldSearchClause"
xmlns:ns16="http://mitratech.com/teamconnect/webservice/type"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<criteria xsi:type="ns16:stringFieldCriterion">
<fieldPath xsi:type="ns16:legacySearchFieldPathExpression">
<!-- we need to pass the system field name:-->
<searchKeyPath>name</searchKeyPath>
</fieldPath>
<!--comparator used in Teamconnect Search Criteria :
EQUALS_ENFORCE_CASE,EQUALS,NOT_EQUALS,NOT_ONE_OF,LIKE,CONTAINS,CONTAINS_LONG,BEGINS_WITH, ENDS_WITH,IS_BLANK,IS_NOT_BLANK,GREATER_THAN,GREATER_THAN_EQUALS,LESS_THAN,LESS_THAN_EQUALSVOT_CONTAINS:-->
<comparator>CONTAINS</comparator>
<!-- we need to pass the system field value:-->
<value>TEST</value>
</criteria>
</criteria>
<!—To limit the no. of record we get in response:-->
<limit>10</limit>
<!--Zero or more repetitions:-->
<properties>uniqueKey</properties>
</proj:readProjectsByCriteria>
</soapenv:Body>
</soapenv:Envelope>
readProjectsByCriteria(Custom field):
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:proj="http://mitratech.com/teamconnect/web...jectrepository">
<soapenv:Header/>
<soapenv:Body>
<proj:readProjectsByCriteria>
<!-- we need to pass the object uniqueKey:-->
<projectEntityTypeUniqueKey>MEPR</projectEntityTypeUniqueKey>
<criteria xsi:type="ns16:fieldSearchClause" xmlns:ns16="http://mitratech.com/teamconnect/webservice/type" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<criteria xsi:type="ns16:stringFieldCriterion">
<fieldPath xsi:type="ns16:legacySearchFieldPathExpression">
<!-- we need to pass the object uniqueKey__custom field name:-->
<searchKeyPath>MEPR__junaid</searchKeyPath>
</fieldPath>
<!--comparator used in Teamconnect Search Criteria :
EQUALS_ENFORCE_CASE,EQUALS,NOT_EQUALS,NOT_ONE_OF,LIKE,CONTAINS,CONTAINS_LONG,BEGINS_WITH, ENDS_WITH,IS_BLANK,IS_NOT_BLANK,GREATER_THAN,GREATER_THAN_EQUALS,LESS_THAN,LESS_THAN_EQUALSVOT_CONTAINS:-->
<comparator>EQUALS_ENFORCE_CASE</comparator>
<!-- we need to pass the custom field value:-->
<value>pop</value>
</criteria>
</criteria>
<!—To limit the no. of record we get in response:-->
<limit>10</limit>
<properties>uniqueKey</properties>
<properties>name</properties>
</proj:readProjectsByCriteria>
</soapenv:Body>
</soapenv:Envelope>
Note: For project type custom field you can use comparator like "Equals" and just pass the primary key of the record in the val.
readRecentlyViewedProjects:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:proj="http://mitratech.com/teamconnect/web...jectrepository">
<soapenv:Header/>
<soapenv:Body>
<proj:readRecentlyViewedProjects>
<!--Optional:-->
<!-- we need to pass the object uniqueKey:-->
<projectEntityTypeUniqueKey>DISP</projectEntityTypeUniqueKey>
<!--Zero or more repetitions:-->
<properties>name</properties>
</proj:readRecentlyViewedProjects>
</soapenv:Body>
</soapenv:Envelope>
UPDATE PROJECT:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:proj="http://mitratech.com/teamconnect/web...jectrepository">
<soapenv:Header/>
<soapenv:Body>
<proj:updateProject>
<!--Optional:-->
<project>
<!-- we need to pass the object uniqueKey_primaryKey of record:-->
<uniqueKey>DISP_6081</uniqueKey>
<assigneeCreates>
<!--Optional:-->
<!-- we need to pass the object uniqueKey:-->
<projectTypeUniqueKey>DISP</projectTypeUniqueKey>
<!--Optional:-->
<!-- we need to pass the object uniqueKey_Role Tree Position:-->
<roleUniqueKey>DISP_ATTO</roleUniqueKey>
<!--Optional:-->
<assignedOn>2024-02-10</assignedOn>
<!--Optional:-->
<unassignedOn>2024-02-12</unassignedOn>
<!--Optional:-->
<!-- we need to pass the User object uniqueKey_PrimaryKey of User:-->
<userUniqueKey>USER_504</userUniqueKey>
<!--Optional:-->
<active>true</active>
<!--Optional:-->
<mainAssignee>true</mainAssignee>
</assigneeCreates>
</project>
</proj:updateProject>
</soapenv:Body>
</soapenv:Envelope>
UPDATE PROJECT TO UPDATE CUSTOM FIELD:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:proj="http://mitratech.com/teamconnect/web...jectrepository">
<soapenv:Header/>
<soapenv:Body>
<proj:updateProject>
<project>
<!-- Project Unique Key -->
<uniqueKey>DISP_1502</uniqueKey>
<categories>
<!-- Project UniqueKey to add/update Default/custom Dispute Fields -->
<uniqueKey>DISP</uniqueKey>
<!-- textCustomFields is used for Text type Object fields -->
<textCustomFields>
<fieldName>Test3</fieldName>
<value>Just for Testing</value>
</textCustomFields>
</categories>
<categories>
<!-- Project Categories UniqueKey to add/update Default/custom Dispute Fields -->
<uniqueKey>DISP_BANK</uniqueKey>
<name/>
<primary>true</primary>
<!-- Project Customfield is used for Custom type Object fields -->
<projectCustomFields>
<fieldName>Test2</fieldName>
<!-- here the value is the Unique key of the project/other object which you selected -->
<value>DISP_2502</value>
</projectCustomFields>
</categories>
</project>
</proj:updateProject>
</soapenv:Body>
</soapenv:Envelope>
PHASE CHANGE:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:proj="http://mitratech.com/teamconnect/web...jectrepository">
<soapenv:Header/>
<soapenv:Body>
<proj:changePhase>
<!--Optional:-->
<!-- we need to pass the object uniqueKey_PrimaryKey of record:-->
<uniqueKey>DISP_6081</uniqueKey>
<!--Optional:-->
<!-- we need to pass the Phase uniqueKey_Phase Name and make sure the transition which you are doing exist:-->
<phaseUniqueKey>ROPN_REOPEN</phaseUniqueKey>
</proj:changePhase>
</soapenv:Body>
</soapenv:Envelope>
readProjectsUsingSearch:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:proj="http://mitratech.com/teamconnect/webservice/projectrepository">
<soapenv:Header/>
<soapenv:Body>
<proj:readProjectsUsingSearch>
<!--Optional:-->
<!-- we need to pass the object uniqueKey:-->
<projectEntityTypeUniqueKey>DISP</projectEntityTypeUniqueKey>
<!--Optional:-->
<!-- we need to pass the PrimaryKey of record which needs to be searched:-->
<searchUniqueKey>3061</searchUniqueKey>
<limit>5</limit>
<!--Zero or more repetitions:-->
<properties>name</properties>
</proj:readProjectsUsingSearch>
</soapenv:Body>
</soapenv:Envelope>