Overview (Start Here)

A quick overview of the platform, functionality, and high level workflows.

This guide aims to familiarize developers with essential programatic flows to enable secure user onboarding using a OAuth 2.0 Client Credentials Grant on the platform.

I'm a Developer, what is the functional objective of this documentation?

  • Creating an authentication portal to handle account and session creation. Enabling the user to be securely redirected from your platform to MSPCentric's.
  • Creating/exposing endpoints that return an Organizations active Vendor Accounts and Vendor Services. MSPCentric connects PSA's with Vendors. This enables Partners to do things like reconcile their Vendor billing against their PSA, using the latest data pulled directly from the Vendor.

Prerequisites

  • Basic understanding of REST APIs and OAuth 2.0
  • Basic MSP domain knowledge.

Example Implementations

There are several approaches to integrating with the MSPCentric Platform.

Given the requirements of the Integrator, one may place the responsibilities of PSA Integration and Vendor Integration on the Partner. However, the programmatic method of authenticating the Vendor Integration is generally recommended for the optimal user experience.

👍

The more comprehensive the implementation, the better the user experience is for Partners.

Simple Authentication Flow Example

This example shows the basic sequence of events given:

  • One User
  • First Time Authenticating
  • Manual Vendor Integration Setup Required of User

Integrator Responsibilities

  • Create Organization and User
  • Retrieve OEM Token
  • Store OEM Token
  • Create User Session
  • Redirect Partner to MSPCentric

Partner Responsibilities

  • Creating and inputing PSA API credentials
  • Creating and inputing Vendor API credentials

Manual Sequence

sequenceDiagram
    actor MSP as Partner
    participant PSA as PSA
    participant MSS as MSPCentric Server
    participant MSC as MSPCentric Client
    participant V as Integrator


    Note over V, PSA: Organization Creation & Authentication Flow

    %% Organization Creation

		MSP->>V: Actions MSPCentric App CTA
    V->>MSS: Create Organization Request
    MSS->>MSS: Create Organization
    MSS-->>V: OEM Token

    %% Secure Token Storage
        
    V->>V: Store OEM Token Securely<br/>(Associated with Partner Org)

    %% Session Creation
    V->>MSS: Request Session Token<br/>(using OEM Token)
    MSS->>MSS: Generate Session
    MSS-->>V: Magic Link

    %% Partner Redirect
    V->>MSC: Redirect Partner to MSPCentric Client<br/>(with Magic Link)
    
    Note over MSC: Partner can now access<br/>MSPCentric platform

    MSP->>PSA: Retrieves API Credentials

    MSP->>MSC: Enters PSA Credentials
    MSC->>MSS: Test Credentials
    MSS-->>MSC: Integration Created
    MSS-->>MSS: Initiate PSA Sync
    MSS-->>MSC: Inform of Sync Completion
    Note over MSC: Partner can now Begin Vendor Integration
    MSP->>V: Retrieve API Credentials
    MSP->>MSC: Enter Vendor Credentials
    MSC->>MSS: Validates Credentials
    MSS->>MSS: Integration Created
 

Simple Programmatic Vendor Authentication Flow Example

This example shows the basic sequence of events given:

  • Single User
  • First Time Authenticating
  • Integrator writes Vendor API Credentials to MSPCentric.

Integrator Responsibilities

  • Create organization
  • Retrieve OEM Token
  • Store OEM Token
  • Creating and instantiating Vendor API Credentials

Partner Responsibilities

  • Creating and inputing PSA API credentials

Vendor Supported Sequence

sequenceDiagram
    actor MSP as Partner
    participant PSA as PSA
    participant MSS as MSPCentric Server
    participant MSC as MSPCentric Client
    participant V as Integrator

    Note over V, PSA: Organization Creation & Authentication Flow

    %% Organization Creation

	MSP->>V: Actions MSPCentric App CTA
    V->>MSS: Create Organization Request
    MSS->>MSS: Create Organization
    MSS-->>V: OEM Token

    %% Secure Token Storage
        
    V->>V: Store OEM Token Securely<br/>(Associated with Partner Org)

    Note over V: Integration Creation Begins
    V->>MSS: Get Vendor
    MSS-->>V: Returns Vendor With Auth Template
    V->>V: Creates API Credentials 
    V->>MSS: Create Integration With Credentials
    %% Session Creation
    V->>MSS: Request Session Token<br/>(using OEM Token)
    MSS->>MSS: Generate Session
    MSS-->>V: Magic Link

    %% Partner Redirect
    V->>MSC: Redirect Partner to MSPCentric Client<br/>(with Magic Link)
    
    Note over MSC: Partner can now access<br/>MSPCentric platform

    MSP->>PSA: Retrieves API Credentials

    MSP->>MSC: Enters PSA Credentials
    MSC->>MSS: Test Credentials
    MSS-->>MSC: Integration Created
    MSS-->>MSS: Initiate PSA Sync
    MSS-->>MSC: Inform of Sync Completion
 

Full E2E Example Flow

This flow illustrates an e2e happy path for a Partner.

sequenceDiagram
    actor MSP as Partner
    participant PSA as PSA
    participant MSS as MSPCentric Server
    participant MSC as MSPCentric Client
    participant V as Integrator

    Note over V, PSA: Organization Creation & Authentication Flow

    %% Organization Creation

	MSP->>V: Actions MSPCentric App CTA
    V->>MSS: Create Organization Request
    MSS->>MSS: Create Organization
    MSS-->>V: OEM Token

    %% Secure Token Storage
        
    V->>V: Store OEM Token Securely<br/>(Associated with Partner Org)

    Note over V: Integration Creation Begins
    V->>MSS: Get Vendor
    MSS-->>V: Returns Vendor With Auth Template
    V->>V: Creates API Credentials 
    V->>MSS: Create Integration With Credentials
    V->>MSS: Request Session Token<br/>(using OEM Token)
    MSS->>MSS: Generate Session
    MSS-->>V: Magic Link
    V->>MSC: Redirect Partner to MSPCentric Client<br/>(with Magic Link)
    
    Note over MSC: Partner can now access<br/>MSPCentric platform
    Note over MSP: PSA Integration Wizard Start
    MSP->>PSA: Retrieves API Credentials

    MSP->>MSC: Enters PSA Credentials
    MSC->>MSS: Test Credentials
    MSS-->>MSC: Integration Created
    MSS->>MSS: Initiate PSA Sync
    MSS->>PSA: Fetch PSA Data
    PSA-->>MSS: 
    MSS-->>MSC: Inform of Sync Completion
    MSC-->>MSC: Redirect to Vendor Integration wizard
    MSC->>MSS: Start VAccount Import
    MSS->>V: Get Active Accounts
    V-->>MSS: Returns Accounts
    MSS->>MSS: Create Account Mappings
    MSS-->>MSC: Return Mappings for mapping
    MSP->MSC: Maps PSA Account to VAccount
    MSC->>MSS: Assign to Mapping
    MSS-->>MSC: Successfully mapped
    MSP->>MSC: Continue to Service Mapping
    MSC->>MSS: Start VService Import 
    MSS->>V: Get Active Services
    V-->>MSS: Returns Services
    MSS->>MSS: Create Service Mappings
    MSS-->>MSC: Return Service Mappings for mapping
    MSP->>MSC: Maps PSA Service to VService
    MSC->>MSS: Assign to Mapping
    MSS-->>MSC: Successfully mapped
    MSP->>MSC: Maps Second PSA Service to VService
    MSC->>MSS: Assign to Mapping
    MSS-->>MSC: Successfully mapped
    MSP->>MSC: Continue to Review & Sync
    MSP->>MSC: Accept & Sync
    MSC->>MSS: Queue Vendor Sync
    loop Every Mapped Account Service Combination
        MSS->>V: Get Vendor Billing
        V-->>MSS: Successfully retrieved
    end
    MSS-->>MSC: Inform Sync Completion
		
    Note over MSP: Partner Now Ready to Reconcile
    MSC->>MSC: Redirects to Reconcile Page
    MSP->>MSC: Approves a Billing Delta
    MSC->>MSS: Attempt Contract Adjustment
    MSS->>PSA: PATCH Contract
    PSA-->>MSS: Success
    MSS-->>MSC: Notify of successful adjustment