Manage PSA Integrations

Overview

This guide walks you through integrating Professional Services Automation (PSA) systems with the N-central platform. Whether you're using a standard PSA system like Tigerpaw or implementing a custom solution, we'll help you establish secure connections and manage tickets effectively.

Getting Started

Before diving into specific implementations, let's discover the available PSA integration capabilities. This step helps you understand the available endpoints and plan your integration strategy.

1. Exploring Standard PSA Capabilities

Start by querying the standard PSA endpoint to see available features:

GET /api/standard-psa
Authorization: Bearer <YOUR_JWT_HERE>

You'll receive a response showing available endpoints:

{
  "_links": {
    "standard-psa-validate-credential": "/api/standard-psa/{psaType}/credential"
  }
}

This response shows that you can validate credentials for standard PSA systems like Tigerpaw.

2. Discovering Custom PSA Features

If you're implementing a custom PSA solution, first check available custom PSA endpoints:

GET /api/custom-psa
Authorization: Bearer <YOUR_JWT_HERE>

The response outlines custom PSA capabilities:

{
  "_links": {
    "custom-psa-ticket-info": "/api/custom-psa/tickets/{customPsaTicketId}",
    "custom-psa-tickets": "/api/custom-psa/tickets"
  }
}

To see specific ticket management options:

GET /api/custom-psa/tickets
Authorization: Bearer <YOUR_JWT_HERE>

Implementing Standard PSA Integration

Now that we've explored available endpoints, let's implement standard PSA integration step by step.

1. Validating PSA Credentials

First, validate your PSA system credentials to ensure proper communication:

POST /api/standard-psa/{psaType}/credential
Authorization: Bearer <YOUR_JWT_HERE>
Content-Type: application/json
INTEGRATION-KEY: your-private-key

{
  "username": "[email protected]",
  "password": "securePassword123"
}

The response confirms credential validity:

{
  "data": {
    "isPsaCredentialsValid": true
  },
  "_links": {}
}

Managing Custom PSA Tickets

After setting up authentication, let's explore ticket management in your custom PSA implementation.

1. Retrieving Ticket Information

To get details about a specific ticket:

POST /api/custom-psa/tickets/{customPsaTicketId}
Authorization: Bearer <YOUR_JWT_HERE>
Content-Type: application/json
INTEGRATION-KEY: your-private-key

{
  "username": "[email protected]",
  "password": "securePassword123"
}

You'll receive detailed ticket information:

{
  "data": {
    "ticketId": "1142285696",
    "ticketTitle": "Network Connectivity Issue",
    "ticketDetails": "Customer reporting intermittent connectivity",
    "ticketStatus": "CREATE_TICKET_CREATED_IN_NCENTRAL",
    "creationDate": "2024-02-21T06:28:10.624-05:00[America/New_York]"
  },
  "_links": {}
}

Error Handling and Best Practices

Throughout your PSA integration, implement proper error handling and follow these best practices:

Response Status Codes

Handle these common status codes appropriately:

  • 200: Successful operation
  • 400: Invalid request (missing/invalid parameters)
  • 401: Authentication failure
  • 403: Invalid integration key
  • 404: Resource not found
  • 429: Rate limit exceeded