Skip to content

Commit 94a866e

Browse files
authored
Added support for Microsoft Dynamics 365 Business Central and a way to create of update configurations without persisting changes to host. (#4184)
1 parent 7001f9a commit 94a866e

3 files changed

Lines changed: 120 additions & 13 deletions

File tree

certified-connectors/Experlogix CPQ/apiDefinition.swagger.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -502,6 +502,12 @@
502502
"items": {
503503
"$ref": "#/definitions/ChangeConfig"
504504
}
505+
},
506+
"saveConfiguration": {
507+
"description": "Whether the configuration should be saved after creation. Defaults to true if not provided.",
508+
"title": "Save Configuration",
509+
"type": "boolean",
510+
"default": true
505511
}
506512
},
507513
"required": [
@@ -531,6 +537,12 @@
531537
"items": {
532538
"$ref": "#/definitions/ChangeConfig"
533539
}
540+
},
541+
"saveConfiguration": {
542+
"description": "Whether the configuration should be saved after the update. Defaults to true if not provided.",
543+
"title": "Save Configuration",
544+
"type": "boolean",
545+
"default": true
534546
}
535547
},
536548
"required": [

certified-connectors/Experlogix CPQ/apiProperties.json

Lines changed: 107 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -138,23 +138,23 @@
138138
"IsOnbehalfofLoginSupported": false
139139
},
140140
"customParameters": {
141-
"authorizationUrlTemplate":{
142-
"value":"https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize"
141+
"authorizationUrlTemplate": {
142+
"value": "https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize"
143143
},
144-
"authorizationUrlQueryStringTemplate":{
145-
"value":"?client_id={clientId}&response_type=code&redirect_uri={redirectUrl}&scope=openid%20offline_access%20{fo_url_instance}.default&state={State}"
144+
"authorizationUrlQueryStringTemplate": {
145+
"value": "?client_id={clientId}&response_type=code&redirect_uri={redirectUrl}&scope=openid%20offline_access%20{fo_url_instance}.default&state={State}"
146146
},
147-
"tokenUrlTemplate":{
148-
"value":"https://login.microsoftonline.com/organizations/oauth2/v2.0/token"
147+
"tokenUrlTemplate": {
148+
"value": "https://login.microsoftonline.com/organizations/oauth2/v2.0/token"
149149
},
150-
"refreshUrlTemplate":{
151-
"value":"https://login.microsoftonline.com/organizations/oauth2/v2.0/token"
150+
"refreshUrlTemplate": {
151+
"value": "https://login.microsoftonline.com/organizations/oauth2/v2.0/token"
152152
},
153-
"tokenBodyTemplate":{
154-
"value":"code={code}&grant_type=authorization_code&redirect_uri={redirectUrl}&client_id={clientId}&client_secret={clientSecret}&scope=openid%20offline_access%20{fo_url_instance}.default"
153+
"tokenBodyTemplate": {
154+
"value": "code={code}&grant_type=authorization_code&redirect_uri={redirectUrl}&client_id={clientId}&client_secret={clientSecret}&scope=openid%20offline_access%20{fo_url_instance}.default"
155155
},
156-
"refreshBodyTemplate":{
157-
"value":"code={code}&grant_type=refresh_token&refresh_token={refreshToken}&redirect_uri={redirectUrl}&client_id={clientId}&client_secret={clientSecret}&scope=openid%20offline_access%20{fo_url_instance}.default"
156+
"refreshBodyTemplate": {
157+
"value": "code={code}&grant_type=refresh_token&refresh_token={refreshToken}&redirect_uri={redirectUrl}&client_id={clientId}&client_secret={clientSecret}&scope=openid%20offline_access%20{fo_url_instance}.default"
158158
},
159159
"scopeListDelimiter": {
160160
"value": " "
@@ -229,6 +229,101 @@
229229
}
230230
}
231231
}
232+
},
233+
{
234+
"name": "MSDynamicsBC",
235+
"uiDefinition": {
236+
"displayName": "Microsoft Dynamics 365 Business Central",
237+
"description": "Connection to your Microsoft Dynamics 365 Business Central environment."
238+
},
239+
"parameters": {
240+
"token": {
241+
"type": "oauthSetting",
242+
"oAuthSettings": {
243+
"identityProvider": "oauth2generic",
244+
"clientId": "<clientId>",
245+
"scopes": ["openid", "offline_access"],
246+
"redirectMode": "GlobalPerConnector",
247+
"redirectUrl": "https://global.consent.azure-apim.net/redirect",
248+
"properties": {
249+
"IsFirstParty": "False",
250+
"IsOnbehalfofLoginSupported": false
251+
},
252+
"customParameters": {
253+
"authorizationUrlTemplate":{
254+
"value":"https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize"
255+
},
256+
"authorizationUrlQueryStringTemplate":{
257+
"value":"?client_id={clientId}&response_type=code&redirect_uri={redirectUrl}&scope=openid%20offline_access%20https://api.businesscentral.dynamics.com/.default&state={State}"
258+
},
259+
"tokenUrlTemplate":{
260+
"value":"https://login.microsoftonline.com/organizations/oauth2/v2.0/token"
261+
},
262+
"refreshUrlTemplate":{
263+
"value":"https://login.microsoftonline.com/organizations/oauth2/v2.0/token"
264+
},
265+
"tokenBodyTemplate":{
266+
"value":"code={code}&grant_type=authorization_code&redirect_uri={redirectUrl}&client_id={clientId}&client_secret={clientSecret}&scope=openid%20offline_access%20https://api.businesscentral.dynamics.com/.default"
267+
},
268+
"refreshBodyTemplate":{
269+
"value":"code={code}&grant_type=refresh_token&refresh_token={refreshToken}&redirect_uri={redirectUrl}&client_id={clientId}&client_secret={clientSecret}&scope=openid%20offline_access%20https://api.businesscentral.dynamics.com/.default"
270+
},
271+
"scopeListDelimiter": {
272+
"value": " "
273+
}
274+
}
275+
},
276+
"uiDefinition": {
277+
"displayName": "Microsoft Dynamics 365 Business Central",
278+
"description": "Connection to your Microsoft Dynamics 365 Business Central project.",
279+
"constraints": {
280+
"required": "true",
281+
"hidden": "false"
282+
}
283+
}
284+
},
285+
"token:cpq_url_instance": {
286+
"type": "string",
287+
"uiDefinition": {
288+
"constraints": {
289+
"required": "true",
290+
"validations": [
291+
{
292+
"regex": "^https:\/\/.*\/$",
293+
"message": "The URL must start with 'https://' and end with a '/'."
294+
}
295+
]
296+
},
297+
"description": "The URL to your CPQ project.",
298+
"displayName": "CPQ Project URL",
299+
"tooltip": "Provide the URL to your CPQ project."
300+
}
301+
},
302+
"token:organization_name": {
303+
"type": "string",
304+
"uiDefinition": {
305+
"constraints": {
306+
"required": "true"
307+
},
308+
"description": "The name of your Dynamics 365 Business Central company.",
309+
"displayName": "Company Name",
310+
"tooltip": "Provide the name of your Dynamics 365 Business Central company."
311+
}
312+
},
313+
"token:integration_name": {
314+
"type": "string",
315+
"default": "Nav",
316+
"uiDefinition": {
317+
"constraints": {
318+
"required": "true",
319+
"readOnly": "true"
320+
},
321+
"description": "The name (type) of the CPQ integration.",
322+
"displayName": "Integration Name",
323+
"tooltip": "Provide the name (type) of your CPQ integration."
324+
}
325+
}
326+
}
232327
}
233328
]
234329
},

certified-connectors/Experlogix CPQ/readme.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ The `changes[]` collection supports granular configuration updates via `ChangeCo
5555
Use change-based operations when you want to apply targeted updates without sending full configuration XML.
5656

5757
## Known Issues and Limitations
58-
The current version only support connecting to Microsoft Dynamics 365 CE and Microsoft Finance and Operations. Support for other CPQ host systems will be added in the future.
58+
The current version supports connecting to Microsoft Dynamics 365 CE, Microsoft Finance and Operations, and Microsoft Dynamics 365 Business Central. Support for other CPQ host systems will be added in the future.
5959

6060
## Support
6161
For further support, please contact support@experlogix.com

0 commit comments

Comments
 (0)