ITM Platform API Overview
The ITM Platform API lets you integrate ITM Platform with your existing applications, syncing data and expanding functionality. You can use it to connect with systems like ERP and ITSM tools, automate processes, and create custom reports.
You can find the API documentation at ITM Platform Developers.
The API offers a wide range of functionalities to interact with ITM Platform programmatically. Here are some key capabilities:
- Data Retrieval and Management: Access and manage projects, tasks, resources, and other entities within ITM Platform.
- Integration with External Systems: Synchronize data between ITM Platform and external applications such as ERP systems, ensuring consistency across platforms.
- Automation of Processes: Automate routine tasks by creating scripts that interact with ITM Platform, reducing manual effort.
- Custom Reporting and Analytics: Extract data for analysis in tools like Power BI, enabling customized reporting and insights.
Examples:
- ERP Integration: Automatically update project budgets in ITM Platform when changes occur in your ERP system, ensuring financial data remains consistent.
- ITSM Integration: Create tasks in ITM Platform based on tickets generated in your ITSM tool, streamlining issue tracking and resolution.
Utilizing the ITM Platform API
There are several approaches to interact with the ITM Platform API:
1. Using a Programming Language and Server
Developers can write scripts in languages such as Python, JavaScript, or Java to make HTTP requests to the API. These scripts can be hosted on servers or cloud platforms to run as scheduled tasks or in response to specific events.
Example in JS/Node:
const apiKey = 'your_api_key';
const url = 'https://api.itmplatform.com/v2/projects/search';
const requestData = {
columns: { "$in": ["Id", "Name"] },
filter: { "Name": { "$regex": "ACME|Project|Implementation" } },
pageSize: 30,
sortBy: "Name",
sortOrder: "desc"
};
fetch(url, {
method: 'POST',
headers: {
'token': apiKey,
'Content-Type': 'application/json'
},
body: JSON.stringify(requestData)
})
.then(response => response.json())
.then(data => console.log('Retrieved projects:', data));
2. Using Third-Party Automation Tools
Platforms like Zapier, Make, or Power Automate allow you to create automated workflows (often called "Zaps", "Scenarios", or "Flows") that connect ITM Platform with other applications without extensive coding.
Example Workflow:
- Trigger: A new row is added in a Google Sheets spreadsheet.
- Action: Create a new task in ITM Platform with details from the spreadsheet row.
3. Integrating with Analytics Tools
To perform advanced data analysis, you can connect ITM Platform to analytics tools like Microsoft Power BI (examples in our Power BI Templates). This allows you to visualize data and create custom reports.
Steps:
- Data Extraction: Use the API to pull data from ITM Platform.
- Data Transformation: Format the data as needed for analysis.
- Data Loading: Import the data into Power BI to create dashboards and reports.
4. Leveraging ITM Platform Extensions
ITM Platform supports custom extensions, which are scripts that add specific features or connect ITM Platform with third-party systems. These extensions are defined using JSON and can be managed within the ITM Platform interface.
Example:
Creating an extension that sends an email notification whenever a project's status is updated.
Extension Script Structure:
{
"name": "hubspot-sync",
"details": {
"title": { "en": "HubSpot to ITM Platform Sync" },
"version": "1.0",
"developer": "ITM Platform"
},
"features": [
{
"trigger": "scheduler",
"description": "Sync HubSpot companies to ITM Platform",
"actions": [
{
"action": "restcall",
"url": "https://api.hubapi.com/crm/v3/objects/companies/search/?hapikey={{ config.apikeyHubspot }}",
"method": "POST",
"output": "companiesHS",
"payload": "{\"properties\": [\"name\"], \"filterGroups\": [{\"filters\": [{\"propertyName\": \"sync_itm_platform\", \"operator\": \"EQ\", \"value\": \"true\"}]}]}",
"dataType": "application/json"
},
{
"action": "loop",
"loop": { "var": "companiesHS.results", "output": "company" },
"actions": [
{
"action": "restcall",
"url": "@@ITMAPI@@/v2/@@AccountName@@/clients/",
"method": "POST",
"payload": "{\"Name\": \"{{ company.properties.name }}\"}",
"dataType": "application/json"
}
]
}
]
}
],
"config": [
{ "name": "apikeyHubspot", "label": { "en": "HubSpot API Key" }, "type": "string", "required": true }
]
}
This extension fetches companies from HubSpot that are marked for sync and creates them as clients in ITM Platform. It runs on a scheduled trigger, calling the HubSpot API, looping through results, and posting new clients to ITM Platform.
For more detailed information and additional examples, refer to the ITM Platform API Documentation and the Custom Extension Creation Documentation.