Skip to content

Commit ebb752a

Browse files
authored
ConnectWise PSA (Independent Publisher) (#3714)
* Create README.md * Update README.md * Screenshot * ConnectWise API Connector * Add files via upload * Update README.md * Add files via upload * Delete independent-publisher-connectors/Proposal - ConnectWise (Independent Publisher)/apiDefinition.swagger.json * Rename ConnectWise-API-Connector.swagger.json to apiDefinition.swagger.json * Add files via upload * Delete independent-publisher-connectors/Proposal - ConnectWise (Independent Publisher)/independent-publisher-icon.png * Delete independent-publisher-connectors/Proposal - ConnectWise (Independent Publisher)/ConnectWise API Connector 1.png * Delete independent-publisher-connectors/Proposal - ConnectWise (Independent Publisher)/ConnectWise API Connector 2.png * Add files via upload * Add files via upload * Update README.md * Update apiDefinition.swagger.json * Update apiDefinition.swagger.json * Add files via upload * Update apiDefinition.swagger.json Added Metadata section * Add files via upload * Create README.md * Add files via upload * Delete independent-publisher-connectors/Proposal - ConnectWise (Independent Publisher)/apiProperties.json * Delete independent-publisher-connectors/Proposal - ConnectWise (Independent Publisher)/README.md * Delete independent-publisher-connectors/Proposal - ConnectWise (Independent Publisher)/apiDefinition.swagger.json * Delete independent-publisher-connectors/README.md
1 parent 2dab0b5 commit ebb752a

File tree

3 files changed

+265
-0
lines changed

3 files changed

+265
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# ConnectWise PSA (Independent Publisher)
2+
ConnectWise is a leading IT management software that provides solutions for managed service providers (MSPs) and technology professionals. This connector aims to streamline access to ConnectWise APIs, enabling users to integrate and automate key business processes such as ticketing, company and contact details. As we build more endpoints to the connector, we can then allow this connector to have more functionality.
3+
4+
## Publisher: Chris Howell, Opal Business Solutions
5+
6+
## Prerequisites
7+
- API Member Public and Private Key
8+
- Knowledge of the Company Code
9+
- ClientID from ConnectWise Developer
10+
11+
## Supported Operations
12+
- **Get Tickets:** Retrieve a list of service tickets.
13+
- **Create Ticket:** Add a new service ticket.
14+
- **Update Ticket:** Modify an existing service ticket.
15+
- **Get Companies:** Retrieve company details.
16+
- **Get Contacts:** Retrieve contact details.
17+
18+
## Operation 1
19+
Get Tickets allows for the retrieving of data from the service tickets
20+
21+
## Operation 2
22+
Create Tickets allows for the creation of a new service ticket
23+
24+
## Operation 3
25+
Update Ticket allows for the updating of an existing service ticket
26+
27+
## Operation 4
28+
Get Companies allows for the retrieving of data from the company
29+
30+
## Operation 5
31+
Get Contacts allows for the retrieving of data from the contact
32+
33+
## Obtaining Credentials
34+
API Key is retrieved through ConnectWise Setup, Members and an API Member needs to be created. Saving the Public and Private Key is important
35+
Company Code is required, which you can obtain when logging into ConnectWise
36+
ClientID is obtained through (https://developer.connectwise.com/)
37+
Once the API Key is obtained, and the Company Code is documented, you will need to convert the following to Base64
38+
Convert: Company Code+Public Key:Private Key to Base64
39+
40+
## Known Issues and Limitations
41+
Currently there are no limitations, and issues outside any limitations from the ConnectWise API side.
42+
43+
44+
45+
46+
47+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,209 @@
1+
{
2+
"swagger": "2.0",
3+
"info": {
4+
"version": "1.0.0",
5+
"title": "ConnectWise PSA",
6+
"description": "ConnectWise PSA - This connector is designed to aid in the Creation, Updating, and Selection of records from ConnectWise",
7+
"contact": {
8+
"name": "Support",
9+
"url": "https://support.connectwise.com",
10+
"email": "[email protected]"
11+
}
12+
},
13+
"host": "api-na.myconnectwise.net",
14+
"basePath": "/",
15+
"schemes": [
16+
"https"
17+
],
18+
"consumes": [],
19+
"produces": [
20+
"application/json"
21+
],
22+
"paths": {
23+
"/v4_6_release/apis/3.0/service/tickets": {
24+
"get": {
25+
"responses": {
26+
"default": {
27+
"description": "default",
28+
"schema": {}
29+
}
30+
},
31+
"summary": "GetTickets",
32+
"operationId": "GetTickets",
33+
"parameters": [
34+
{
35+
"name": "conditions",
36+
"in": "query",
37+
"required": false,
38+
"type": "string",
39+
"description": "Filters for retrieving tickets based on specific conditions.",
40+
"x-ms-summary": "Ticket Conditions"
41+
},
42+
{
43+
"name": "fields",
44+
"in": "query",
45+
"required": false,
46+
"type": "string",
47+
"description": "Comma-separated list of fields to include in the response.",
48+
"x-ms-summary": "Fields to Retrieve"
49+
},
50+
{
51+
"name": "ClientID",
52+
"in": "header",
53+
"required": true,
54+
"type": "string",
55+
"description": "The Client ID used for API authentication.",
56+
"x-ms-summary": "Client Identifier"
57+
},
58+
{
59+
"name": "Content-Type",
60+
"in": "header",
61+
"required": false,
62+
"type": "string",
63+
"default": "application/json",
64+
"description": "The content type of the request payload.",
65+
"x-ms-summary": "Content Type"
66+
}
67+
],
68+
"description": "Get Ticket Details based on Conditions and selecting certain fields"
69+
},
70+
"post": {
71+
"summary": "Create Service Ticket",
72+
"description": "Create Service Ticket in ConnectWise",
73+
"operationId": "CreateServiceTicket",
74+
"parameters": [
75+
{
76+
"name": "ClientID",
77+
"in": "header",
78+
"required": true,
79+
"type": "string",
80+
"description": "ClientID",
81+
"x-ms-summary": "Client Identifier"
82+
},
83+
{
84+
"name": "Content-Type",
85+
"in": "header",
86+
"required": true,
87+
"type": "string",
88+
"default": "application/json",
89+
"description": "Content-Type",
90+
"x-ms-summary": "Content Type"
91+
},
92+
{
93+
"name": "body",
94+
"in": "body",
95+
"schema": {
96+
"type": "object",
97+
"properties": {
98+
"id": {
99+
"type": "integer",
100+
"format": "int32",
101+
"description": "The unique identifier of the ticket."
102+
},
103+
"summary": {
104+
"type": "string",
105+
"description": "A brief description of the ticket."
106+
},
107+
"board": {
108+
"type": "object",
109+
"properties": {
110+
"id": {
111+
"type": "integer",
112+
"format": "int32",
113+
"description": "The unique identifier of the board."
114+
},
115+
"name": {
116+
"type": "string",
117+
"description": "The name of the board."
118+
}
119+
},
120+
"description": "Details of the board associated with the ticket."
121+
},
122+
"status": {
123+
"type": "object",
124+
"properties": {
125+
"id": {
126+
"type": "integer",
127+
"format": "int32",
128+
"description": "The unique identifier of the status."
129+
},
130+
"name": {
131+
"type": "string",
132+
"description": "The name of the status."
133+
}
134+
},
135+
"description": "Status information for the ticket."
136+
},
137+
"company": {
138+
"type": "object",
139+
"properties": {
140+
"id": {
141+
"type": "integer",
142+
"format": "int32",
143+
"description": "The unique identifier of the company."
144+
},
145+
"name": {
146+
"type": "string",
147+
"description": "The name of the company."
148+
}
149+
},
150+
"description": "Company details related to the ticket."
151+
}
152+
},
153+
"default": {
154+
"id": 0,
155+
"summary": "string",
156+
"board": {
157+
"id": 0,
158+
"name": "Incoming Service Requests"
159+
},
160+
"status": {
161+
"id": 0,
162+
"name": "New"
163+
},
164+
"company": {
165+
"id": 2,
166+
"name": "Opal Business Solutions"
167+
}
168+
}
169+
},
170+
"required": true
171+
}
172+
],
173+
"responses": {
174+
"default": {
175+
"description": "default",
176+
"schema": {}
177+
}
178+
}
179+
}
180+
}
181+
},
182+
"securityDefinitions": {
183+
"api_key": {
184+
"type": "apiKey",
185+
"in": "header",
186+
"name": "Authorization"
187+
}
188+
},
189+
"security": [
190+
{
191+
"api_key": []
192+
}
193+
],
194+
"tags": [],
195+
"x-ms-connector-metadata": [
196+
{
197+
"propertyName": "Website",
198+
"propertyValue": "https://www.opalbiz.com"
199+
},
200+
{
201+
"propertyName": "Privacy policy",
202+
"propertyValue": "https://www.opalbiz.com"
203+
},
204+
{
205+
"propertyName": "Categories",
206+
"propertyValue": "Data"
207+
}
208+
]
209+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"properties": {
3+
"connectionParameters": {},
4+
"iconBrandColor": "#da3b01",
5+
"capabilities": [],
6+
"publisher": "Chris Howell; Opal Business Solutions.",
7+
"stackOwner": "ConnectWise PSA"
8+
}
9+
}

0 commit comments

Comments
 (0)