Integration Guide
The TSANet Integration Guide is used by developers to build custom integrations and system connectors. TSANet has Connectors for Salesforce, Microsoft Dynamics and Service Now.
Contributors and References
Contributors
Paul Esch, TSANet, https://www.linkedin.com/in/pauleesch/
Sean Dulac, Appko, https://www.linkedin.com/in/seandulac/
References
The following documents explain the details behind the integration framework Technology and Methods.
Enterprise Integration Patterns: Designing, Building, and deploying messaging solutions.
By Grregor Hohpe and Bobby Woolf - https://www.amazon.com/o/asin/0321200683/ref=nosim/enterpriseint-20
Apache Camel: https://developers.redhat.com/products/redhat-build-of-apache-camel/overview
Apache ActiveMQ: https://activemq.apache.org/components/artemis/
Executive Summary
TSANet is a member-driven, not-for-profit, global collaborative alliance of 900+ technology companies working together to improve the support experiences of their shared customers. Member companies use TSANet to enable collaboration with their Technology and Service Partners. The TSANet Partner Framework is flexible and supports several relationship models.
Members use the TSANet Connect system to connect and collaborate with other members. The collaboration process is described in the image below:

Why Use TSANet Connect
TSANet Members can integrate their system into TSANet Connect to improve the user experience and process compliance. TSANet vs Alternative solutions are compared below:
TSANet Connect
Extranet
B2B Integration
Cost
Included with Membership
Usage model (example Per user)
High cost (~100k) per connection
Scalability & flexibility
Single Integration – Connect to One,
Connect to Anyone
Multiple extranet access is an operational challenge. Drives bad security practices.
Duplicate costs per integration. Every new connection requires each company to budget & prioritize
Security
ISO70001, ISO27701, Microsoft SSPA
No SSO, MFA, Shared accounts, Data protection
Depends on the Members IT Organization
User Experience
Consistent & Integrated experience
Swivel chair process – Not integrated
Missing features and Fragmentation (B2B with everyone not possible)
Ongoing Support
Support and continuous improvements
Based on multiple companies' extranet
Dependent on the IT prioritization and decisions of multiple companies.
System Overview
The TSANet Connect Platform includes a Web App and Integration Framework based on Apache Camel on Spring Boot, ActiveMQ and PostgreSQL. The Integration Framework provides a complete set of REST APIs for creating integrations. This document will describe the TSANet Connect REST APIs and how they were used to develop the Salesforce Package. Microsoft Dynamics Solution and Service Now App are also maintained by TSANet and more information and code can be found at: https://github.com/tsanetgit
TSANet Connect – Integration Framework
The TSANet Connect Integration Framework is based on Apache Camel on Spring Boot. Apache Camel is an open-source integration framework facilitating seamless communication between applications, systems, and services. It simplifies connecting disparate components by providing a flexible and extensible platform. In addition to the provided TSANet Connect REST APIs, the system can support custom integrations as needed.
Key features of Apache Camel:
Routing Engine: Camel allows you to define routes that connect various endpoints (such as databases, messaging systems, APIs, and files). These routes guide the flow of data between components.
Component-Based: Camel supports many components (e.g., HTTP, JMS, FTP, REST) out of the box. You can also create custom components tailored to your specific needs.
Domain-Specific Language (DSL): Camel offers a concise DSL for defining integration routes. This DSL abstracts away the complexities of low-level APIs.
Enterprise Integration Patterns (EIP): Camel implements EIPs, which provide standardized solutions for common integration challenges.
Extensibility: You can easily extend Camel by adding custom processors, components, and data transformations.
Testing Support: Camel provides robust testing capabilities to ensure the correctness of your integration flows.
TSANet Connect – Database Structure
TSANet Connect is designed to provide a simple and flexible method for Members to collaborate. The following objects are found in the database to support the collaboration process:
Groups: Groups are used to create relationships between Members. A Member could be part of several groups. One-Many and Many-Many groups are supported. TSANet-hosted groups and Member-hosted groups are used. Groups define the rules for collaboration (For example SLA response times)
Accounts: Accounts provide high-level information about a Member. Integration is at an account level so if multiple systems are used within a Member company Parent - Child accounts can be created.
Departments: An account can have one or more departments. This allows you to assign separate process forms for departments (e.g., Division A and Division B).
Users: Users are associated with an account. A Members Identify management system can manage user access through SAML2.0.
Process Forms: An account can have one or more forms. These forms are linked to a department or group to support inbound workflow. They define what data the member receives for inbound requests.
TSANet Cases: Metadata for a collaboration request (Sender and Receiver metadata).
Case Responses: Initial response and updates
Case Notes: Notes related to a collaboration
Case Attachments: Secure File transfer method (Integrates to Members Secure File Storage)
A facade pattern has been implemented to facilitate the translation of API consumer language to database persistence language.
TSANet Connect 2.0 REST API
TSANet provides a complete set of APIs to create apps and custom integrations. The endpoints are summarized below, and detailed documentation is found in the API Reference
Postman Collection is also available at:
https://www.tsanet.org/wp-content/uploads/2024/12/Connect-2.0.postman_collection.json_.zip
Contact TSANet at membership@tsanet.org to request access to the Beta site. The Salesforce reference integration section provides an example of how these APIs are used.
TSANet Case Status and Priority.
The TSANet case status and Priority are separate from the member’s case. Members can map these to their case or keep them separate.
Priority: P1 (High), P2 (Medium), P3 (Low). The system defines and monitors each SLA's initial response. If the SLA is not met, an escalation workflow triggers, alerting both the sender and receiver management contacts. Default SLAs are set in TSANet Hosted groups (P1=2hr, P2=4hr, P3=24Hr). Member can modify these defaults in their Hosted groups.
Status: The following status definitions are used.
Open (New waiting initial response)
Information (Sent if information is needed to accept or reject)
Accepted (Collaboration Accepted)
Rejected (Collaboration rejected. For example, end customer does not have support). This status is not used for solution support.
Closed (set by submitter or auto-close after 30 days of inactivity)
The following list of available APIs is in OSA3.0 format:
Endpoint (POST): login
Use: Login to TSANet and get a token for further calls.
Endpoint (GET): me
Use: Returns the TSANet user profile.
Endpoint (GET): partners (search)
Use: Search for a partner or department. This searches member and department names to return a companyId and departmentId if the member has multiple departments. Tags are also supported as part of the search
Endpoint (GET): form/company
Use: Get the collaboration form for a member company without departments in TSANet. Custom fields, including tier select, are supported
Endpoint (GET): form/department
Use: Get the collaboration form for a specific department in a member's company.
Custom fields, including tier select, are supported
Endpoint (POST): cases/collaboration-request
Use: Create TSANet collaboration request case by submitting the form
Endpoint (GET): cases
Use: Get cases. Allows filters (type, status,updated date, create date)
Endpoint (GET): cases/{internalCaseNumber}
Use: Get a case by the members internal case number reference. Allows filters
Endpoint (POST): cases/{caseId}/approve
Use: Approve a collaboration request
Endpoint (POST): cases/{caseId}/update/approve
Use: Update an approved request (Example change of assigned engineer)
Endpoint (POST): cases/{caseId}/request-information
Use: request additional information needed to approve a collaboration request
Endpoint (POST): cases/{caseId}/ information-response
Use: provide a response to request additional information message
Endpoint (POST): cases/{caseId}/reject
Use: Reject a collaboration request – example customer unknown
Endpoint (POST): cases/{caseId}/close
Use: Close a collaboration request
Endpoint (POST): cases/{caseId}/notes/create
Use: Post a case note for a collaboration request
Endpoint (GET): cases/{caseId}/notes
Use: Get case notes for a collaboration request. Filters available (dates)
Integration Process
Beta Environment
Elite Members can access the Beta environment to develop and test integrations. TSANet will provide the following:
User account on the system (Beta-Member_Name). User/password for API
Connection to the Test Account or other Members also in Beta to support end-end testing.
Link to Swagger documents
Postman collection
Access to the Salesforce Package for Members using Salesforce.
Access to the Microsoft Power App for Microsoft Dynamics and Teams
Access to a TSANet developer resource for questions and assistance with integration.
TSANet will work with members to co-develop standard integrations for reuse in the most common systems. For an example of this approach, see the Salesforce reference implementation section.
Production Environment
After validating the Member integration, TSANet will work with the Member to transition to the Production environment.
Last updated