Skip to content

Commit 75cfa18

Browse files
adding RENXT Documents connector (microsoft#1291)
* adding RENXT Documents connector * fix connector name
1 parent f09209c commit 75cfa18

File tree

3 files changed

+263
-0
lines changed

3 files changed

+263
-0
lines changed
Lines changed: 189 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,189 @@
1+
{
2+
"swagger": "2.0",
3+
"info": {
4+
"version": "1.0",
5+
"title": "Blackbaud Raisers Edge NXT Doc",
6+
"description": "Blackbaud Raiser's Edge NXT is a comprehensive cloud-based fundraising and donor management software solution built specifically for nonprofits and the entire social good community. Use the Documents connector to create documentation locations used when storing physical attachments.",
7+
"contact": {
8+
"name": "Blackbaud Support",
9+
"url": "https://www.blackbaud.com/support",
10+
"email": "skyapi@blackbaud.com"
11+
},
12+
"x-ms-api-annotation": {
13+
"status": "Preview"
14+
}
15+
},
16+
"x-ms-connector-metadata": [
17+
{
18+
"propertyName": "Website",
19+
"propertyValue": "https://www.blackbaud.com/products/blackbaud-raisers-edge-nxt"
20+
},
21+
{
22+
"propertyName": "Privacy policy",
23+
"propertyValue": "https://www.blackbaud.com/privacy-shield"
24+
},
25+
{
26+
"propertyName": "Categories",
27+
"propertyValue": "Sales and CRM;Productivity"
28+
}
29+
],
30+
"host": "api.sky.blackbaud.com",
31+
"basePath": "/",
32+
"schemes": [
33+
"https"
34+
],
35+
"securityDefinitions": {
36+
"skyApiOAuth": {
37+
"type": "oauth2",
38+
"flow": "accessCode",
39+
"authorizationUrl": "https://oauth2.sky.blackbaud.com/authorization",
40+
"tokenUrl": "https://oauth2.sky.blackbaud.com/token",
41+
"scopes": {}
42+
}
43+
},
44+
"security": [
45+
{
46+
"skyApiOAuth": []
47+
}
48+
],
49+
"paths": {
50+
"/constituent/v1/documents": {
51+
"post": {
52+
"operationId": "CreateDocument",
53+
"summary": "Create a document location",
54+
"description": "Creates a new unique document identifier and upload location for use with physical attachments. The response will include instructions for where and how to upload the document contents.",
55+
"consumes": [
56+
"application/json"
57+
],
58+
"produces": [
59+
"application/json"
60+
],
61+
"parameters": [
62+
{
63+
"name": "body",
64+
"in": "body",
65+
"schema": {
66+
"$ref": "#/definitions/ConstituentApi.NewDocumentInfo"
67+
},
68+
"description": "An object that represents the document to create.",
69+
"required": true
70+
}
71+
],
72+
"responses": {
73+
"200": {
74+
"description": "Returned when the operation successfully creates a document location. The response describes how and where the document should be uploaded.",
75+
"schema": {
76+
"$ref": "#/definitions/ConstituentApi.FileDefinition"
77+
}
78+
},
79+
"400": {
80+
"description": "Returned when the request body is not in the appropriate format."
81+
},
82+
"403": {
83+
"description": "Returned when the user does not have permission to create a document."
84+
}
85+
}
86+
}
87+
}
88+
},
89+
"definitions": {
90+
"ConstituentApi.FileDefinition": {
91+
"type": "object",
92+
"description": "File definition",
93+
"properties": {
94+
"file_id": {
95+
"type": "string",
96+
"description": "The identifier of the file.",
97+
"x-ms-summary": "File ID"
98+
},
99+
"file_upload_request": {
100+
"type": "object",
101+
"description": "The metadata for the request for uploading the file.",
102+
"x-ms-summary": "File upload",
103+
"properties": {
104+
"url": {
105+
"type": "string",
106+
"description": "The URL to use for the upload request.",
107+
"x-ms-summary": "URL"
108+
},
109+
"method": {
110+
"type": "string",
111+
"description": "The HTTP method to use with the upload request.",
112+
"x-ms-summary": "method"
113+
},
114+
"headers": {
115+
"type": "array",
116+
"description": "The headers to supply when making the request.",
117+
"x-ms-summary": "headers",
118+
"items": {
119+
"$ref": "#/definitions/ConstituentApi.Header"
120+
}
121+
}
122+
}
123+
},
124+
"thumbnail_id": {
125+
"type": "string",
126+
"description": "The identifier of the thumbnail.",
127+
"x-ms-summary": "Thumbnail ID"
128+
},
129+
"thumbnail_upload_request": {
130+
"type": "object",
131+
"description": "The metadata for the request for uploading the thumbnail.",
132+
"x-ms-summary": "Thumbnail upload",
133+
"properties": {
134+
"url": {
135+
"type": "string",
136+
"description": "The URL to use for the upload request.",
137+
"x-ms-summary": "URL"
138+
},
139+
"method": {
140+
"type": "string",
141+
"description": "The HTTP method to use with the upload request.",
142+
"x-ms-summary": "method"
143+
},
144+
"headers": {
145+
"type": "array",
146+
"description": "The headers to supply when making the request.",
147+
"x-ms-summary": "headers",
148+
"items": {
149+
"$ref": "#/definitions/ConstituentApi.Header"
150+
}
151+
}
152+
}
153+
}
154+
}
155+
},
156+
"ConstituentApi.Header": {
157+
"type": "object",
158+
"description": "Request header used for uploading the physical attachment.",
159+
"properties": {
160+
"name": {
161+
"type": "string",
162+
"description": "The name for the header.",
163+
"x-ms-summary": "name"
164+
},
165+
"value": {
166+
"type": "string",
167+
"description": "The value for the header.",
168+
"x-ms-summary": "value"
169+
}
170+
}
171+
},
172+
"ConstituentApi.NewDocumentInfo": {
173+
"type": "object",
174+
"description": "Cultivation activities often result in physical collateral such as images, PDFs, or Word files. The New Document entity allows you to upload these files to maintain a holistic view of target constituents.",
175+
"properties": {
176+
"file_name": {
177+
"type": "string",
178+
"description": "The file name of the document to be uploaded.",
179+
"x-ms-summary": "File name"
180+
},
181+
"upload_thumbnail": {
182+
"type": "boolean",
183+
"description": "Include a thumbnail document location?",
184+
"x-ms-summary": "Include thumbnail?"
185+
}
186+
}
187+
}
188+
}
189+
}
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
{
2+
"properties": {
3+
"connectionParameters": {
4+
"token": {
5+
"type": "oauthSetting",
6+
"oAuthSettings": {
7+
"identityProvider": "oauth2",
8+
"clientId": "PLACEHOLDER_CLIENTID",
9+
"scopes": [],
10+
"redirectMode": "Global",
11+
"redirectUrl": "https://global.consent.azure-apim.net/redirect",
12+
"properties": {
13+
"IsFirstParty": "False"
14+
},
15+
"customParameters": {
16+
"authorizationUrl": {
17+
"value": "https://oauth2.sky.blackbaud.com/authorization"
18+
},
19+
"tokenUrl": {
20+
"value": "https://oauth2.sky.blackbaud.com/token"
21+
},
22+
"refreshUrl": {
23+
"value": "https://oauth2.sky.blackbaud.com/token"
24+
}
25+
}
26+
}
27+
}
28+
},
29+
"iconBrandColor": "#71BF43",
30+
"capabilities": [],
31+
"policyTemplateInstances": [
32+
{
33+
"templateId": "setheader",
34+
"title": "SKY API Subscription Key",
35+
"parameters": {
36+
"x-ms-apimTemplateParameter.name": "Bb-Api-Subscription-Key",
37+
"x-ms-apimTemplateParameter.value": "PLACEHOLDER_API_KEY",
38+
"x-ms-apimTemplateParameter.existsAction": "override",
39+
"x-ms-apimTemplate-policySection": "Request"
40+
}
41+
}
42+
],
43+
"publisher": "Blackbaud, Inc.",
44+
"stackOwner": "Blackbaud, Inc."
45+
}
46+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
## Blackbaud Raiser's Edge NXT Documents Connector
2+
3+
[Raiser's Edge NXT](https://www.blackbaud.com/products/blackbaud-raisers-edge-nxt) is a comprehensive cloud-based fundraising and donor management software solution built specifically for nonprofits and the entire social good community.
4+
5+
This connector is built on top of Blackbaud's [SKY API](https://developer.blackbaud.com/skyapi), and provides functionality to create document locations for use with physical attachments within the system.
6+
7+
## API Documentation
8+
https://developer.blackbaud.com/skyapi
9+
10+
## Pre-requisites
11+
To create a custom version of this connector, you will need to:
12+
* [Sign in](https://signin.blackbaud.com) (or create) a Blackbaud ID.
13+
* [Sign up](https://developer.blackbaud.com/signup) for a developer account using your Blackbaud ID.
14+
* Request a [subscription](https://developer.blackbaud.com/subscriptions) to the SKY API to get an API key (will be used in the next steps).
15+
* Register an [application](https://developer.blackbaud.com/apps) to get OAuth client ID/secret credentials (will be used in the next steps).
16+
17+
## Configure the connector properties
18+
Using the values obtained in the previous step, update the following placeholder values in the `apiProperties.json` file:
19+
* PLACEHOLDER_CLIENTID
20+
* PLACEHOLDER_API_KEY
21+
22+
## Deployment instructions
23+
Please use [these instructions](https://docs.microsoft.com/en-us/connectors/custom-connectors/paconn-cli) to deploy this connector as a custom connector within Microsoft Power Automate and Power Apps.
24+
25+
Don't forget to specify the `--secret <client_secret>` value (obtained in the previous steps) when running the `paconn create` commamnd.
26+
27+
## Further Support
28+
For further support, please visit our developer community at https://community.blackbaud.com/developer

0 commit comments

Comments
 (0)