Merge branch 'dev'
|
@ -24,7 +24,7 @@ steps:
|
|||
# Validate swagger
|
||||
$isCertValidation = $file -Like "*certified-connectors/*"
|
||||
$swaggerValidatorUri = "$($env:swaggerValidator)?IsCertificationValidation=$isCertValidation"
|
||||
$results = Invoke-RestMethod -Uri $swaggerValidatorUri -Headers $Headers -Method Post -ContentType "application/json" -Body $newFileContent
|
||||
$results = Invoke-RestMethod -Uri $swaggerValidatorUri -Headers $Headers -Method Post -ContentType "application/json; charset=utf-8" -Body $newFileContent
|
||||
|
||||
$errors = $results.Errors
|
||||
$warnings = $results.Warnings
|
||||
|
@ -53,7 +53,7 @@ steps:
|
|||
$changeValidationJson = ConvertTo-Json $changeValidation -Depth 100 -Compress
|
||||
|
||||
# Validate changes
|
||||
$results = Invoke-RestMethod -Uri $env:changeValidator -Headers $Headers -Method Post -ContentType "application/json" -Body $changeValidationJson
|
||||
$results = Invoke-RestMethod -Uri $env:changeValidator -Headers $Headers -Method Post -ContentType "application/json; charset=utf-8" -Body $changeValidationJson
|
||||
|
||||
$errors = $results.Errors
|
||||
$warnings = $results.Warnings
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
|
||||
## 365.Training Connector
|
||||
365.Training offers practical on-demand training for makers of all skill levels. Our connector allows you to use our notifications in your apps and automation to stay up-to-date with our new releases.
|
||||
|
||||
|
||||
## Prerequisites
|
||||
You will need the following to proceed:
|
||||
* [Sign-up](https://365.training/Account/SignIn) for a 365.Training account
|
||||
* [Request](https://365l.ink/ConnectorAPIRequest) an API key
|
||||
|
||||
|
||||
|
||||
## Supported Operations
|
||||
The connector supports the following operations:
|
||||
* `Get User Profile`: Get your user profile information.
|
||||
* `List Courses`: List the published training courses we have available.
|
||||
* `List Instructors`: List summary information about our instructors.
|
||||
* `List My Courses`: List the courses you have enrolled in and your progress.
|
||||
* `List Ideas`: This will list active ideas that have been submitted by our community.
|
||||
* `Get Course`: Get the details of a course including module and unit information.
|
||||
* `Add Idea Vote`: Add your vote to an idea to show your support.
|
||||
* `Get Instructor`: Get detailed information for a specific instructor including their course list.
|
||||
* `Search`: Search our course catalog and related community content.
|
||||
|
||||
|
||||
|
||||
## Supported Triggers
|
||||
The connector supports the following trigggers:
|
||||
* `When a course notification is received`: Get notification when a course you are enrolled in has a new notification published.
|
||||
* `When a new idea is created`: Get notified when a new idea is added by the community.
|
||||
* `When a new course is published`: Get notified when a new course is published on our learning platform.
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"properties": {
|
||||
"connectionParameters": {
|
||||
"api_key": {
|
||||
"type": "securestring",
|
||||
"uiDefinition": {
|
||||
"displayName": "API Key",
|
||||
"description": "The API Key for this api",
|
||||
"tooltip": "Provide your API Key",
|
||||
"constraints": {
|
||||
"tabIndex": 2,
|
||||
"clearText": false,
|
||||
"required": "true"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"iconBrandColor": "#175497",
|
||||
"capabilities": [],
|
||||
"publisher": "We Speak You Learn, LLC",
|
||||
"stackOwner": "We Speak You Learn, LLC"
|
||||
}
|
||||
}
|
|
@ -174,19 +174,20 @@
|
|||
"default": "BinaryContent",
|
||||
"enum": ["BinaryContent", "UriLink", "BinaryLink"],
|
||||
"x-ms-visibility": "important",
|
||||
"x-ms-editor-options": {
|
||||
"items": [
|
||||
{
|
||||
"title": "File Contents",
|
||||
"value": "BinaryContent"
|
||||
},
|
||||
{ "title": "Web Link (URL)", "value": "UriLink" },
|
||||
{
|
||||
"title": "Existing File (URL)",
|
||||
"value": "BinaryLink"
|
||||
}
|
||||
]
|
||||
}
|
||||
"x-ms-enum-values": [
|
||||
{
|
||||
"displayName": "File Contents",
|
||||
"value": "BinaryContent"
|
||||
},
|
||||
{
|
||||
"displayName": "Web Link (URL)",
|
||||
"value": "UriLink"
|
||||
},
|
||||
{
|
||||
"displayName": "Existing File (URL)",
|
||||
"value": "BinaryLink"
|
||||
}
|
||||
]
|
||||
},
|
||||
"content": {
|
||||
"type": "string",
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
## Africa's Talking Airtime
|
||||
|
||||
Africa's Talking Airtime offers a power API that allows you to distribute pinless airtime to mobile subscribers, receiving discounts for each transaction you make. This connector exposes operations that enable one to send airtime to mobile subscribers as well as to watch for notifications indicating whether the delivery was successful or failed.
|
||||
|
||||
## Pre-requisites
|
||||
|
||||
In order to use this connector, you will need the following:
|
||||
|
||||
* An account with Africa's Talking; you can sign up [here](https://account.africastalking.com/auth/register?next=%2Fauth%2Fsignup).
|
||||
* A live production application; you can create one after registering.
|
||||
|
||||
Once you've signed up and you've created a live application, generate a new API Key for that application; you will use this key to authenticate your requests from this connector.
|
||||
|
||||
You will also need to contact us to activate the airtime product for your application; do so by sending an email to airtime@africastalking.com.
|
||||
|
||||
## Authentication.
|
||||
|
||||
This connector uses `API Key` authentication (see steps above on how to obtain one). When creating a new connector (in Power Apps/Logic Apps), you'll be required to provide an API Key.
|
||||
|
||||
## Supported Operations
|
||||
|
||||
This connector supports the following operations:
|
||||
|
||||
* `Send Airtime`: Send airtime to multiple recipients.
|
||||
* `Find transaction status`: Find a particular airtime transaction's status.
|
||||
|
||||
It also supports the following triggers:
|
||||
|
||||
* `When you receive an Airtime Status Notification`: Triggered when you receive an delivery status notification for an initial request to send airtime.
|
||||
|
||||
For more information on parameters accepted/required by the connector's operations, please refer to our [documentation](https://developers.africastalking.com/docs/airtime/overview).
|
|
@ -0,0 +1,300 @@
|
|||
{
|
||||
"swagger": "2.0",
|
||||
"info": {
|
||||
"title": "Africa's Talking Airtime",
|
||||
"description": "Provides actions to distribute airtime to your users instantly via Africa's Talking's Airtime service and to watch for status notifications regarding these airtime requests",
|
||||
"version": "1.0",
|
||||
"contact": {
|
||||
"name": "Advice and answers from the Africa's Talking Team",
|
||||
"url": "https://help.africastalking.com/en/",
|
||||
"email": "airtime@africastalking.com"
|
||||
}
|
||||
},
|
||||
"host": "api.africastalking.com",
|
||||
"basePath": "/",
|
||||
"schemes": [
|
||||
"https"
|
||||
],
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"paths": {
|
||||
"/version1/airtime/send": {
|
||||
"post": {
|
||||
"responses": {
|
||||
"201": {
|
||||
"description": "201",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"errorMessage": {
|
||||
"type": "string",
|
||||
"description": "errorMessage"
|
||||
},
|
||||
"numSent": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "numSent"
|
||||
},
|
||||
"responses": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"amount": {
|
||||
"type": "string",
|
||||
"description": "amount"
|
||||
},
|
||||
"discount": {
|
||||
"type": "string",
|
||||
"description": "discount"
|
||||
},
|
||||
"errorMessage": {
|
||||
"type": "string",
|
||||
"description": "errorMessage"
|
||||
},
|
||||
"phoneNumber": {
|
||||
"type": "string",
|
||||
"description": "phoneNumber"
|
||||
},
|
||||
"requestId": {
|
||||
"type": "string",
|
||||
"description": "requestId"
|
||||
},
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "status"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "responses"
|
||||
},
|
||||
"totalAmount": {
|
||||
"type": "string",
|
||||
"description": "totalAmount"
|
||||
},
|
||||
"totalDiscount": {
|
||||
"type": "string",
|
||||
"description": "totalDiscount"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"summary": "Send Airtime",
|
||||
"description": "Send airtime to multiple recipients",
|
||||
"operationId": "SendAirtime",
|
||||
"x-ms-visibility": "important",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "Content-Type",
|
||||
"in": "header",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"default": "application/json",
|
||||
"x-ms-visibility": "internal"
|
||||
},
|
||||
{
|
||||
"name": "Accept",
|
||||
"in": "header",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"default": "application/json",
|
||||
"x-ms-visibility": "internal"
|
||||
},
|
||||
{
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"username": {
|
||||
"type": "string",
|
||||
"description": "Your application's username.",
|
||||
"title": "Username",
|
||||
"x-ms-visibility": "important"
|
||||
},
|
||||
"recipients": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"phoneNumber": {
|
||||
"type": "string",
|
||||
"description": "Phone number to be topped up in international format (e.g +234811222333)",
|
||||
"title": "Phone Number",
|
||||
"x-ms-visibility": "important"
|
||||
},
|
||||
"amount": {
|
||||
"type": "string",
|
||||
"description": "The value of airtime to send together with the currency code (e.g. KES 10.00).",
|
||||
"title": "Amount",
|
||||
"x-ms-visibility": "important"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"amount",
|
||||
"phoneNumber"
|
||||
]
|
||||
},
|
||||
"description": "recipients"
|
||||
}
|
||||
},
|
||||
"x-ms-visibility": "important",
|
||||
"required": [
|
||||
"recipients",
|
||||
"username"
|
||||
]
|
||||
},
|
||||
"x-ms-visibility": "important"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/query/transaction/find": {
|
||||
"get": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Send airtime request successfully queued",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "status"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"summary": "Find transaction status",
|
||||
"description": "Find a particular airtime transaction's status",
|
||||
"operationId": "FindTransactionStatus",
|
||||
"x-ms-visibility": "important",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "username",
|
||||
"in": "query",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"description": "Your application's username",
|
||||
"x-ms-summary": "Username",
|
||||
"x-ms-visibility": "important"
|
||||
},
|
||||
{
|
||||
"name": "transactionId",
|
||||
"in": "query",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"description": "ID of the transaction you'd like to find.",
|
||||
"x-ms-summary": "Transaction ID",
|
||||
"x-ms-visibility": "important"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/api/v1/powerapps/{username}/airtime/status/callback": {
|
||||
"x-ms-notification-content": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
},
|
||||
"headers": {
|
||||
"Content-Type": {
|
||||
"description": "Content-Type",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"description": "A new airtime delivery status notification"
|
||||
},
|
||||
"post": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Airtime Notification webhook created successfully"
|
||||
}
|
||||
},
|
||||
"summary": "When you receive an Airtime Status Notification",
|
||||
"description": "Triggered when you receive an delivery status notification for an initial request to send airtime.",
|
||||
"operationId": "AirtimeStatusNotification",
|
||||
"x-ms-visibility": "important",
|
||||
"x-ms-trigger": "single",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "username",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"description": "Your application's username",
|
||||
"x-ms-summary": "Username",
|
||||
"x-ms-visibility": "important",
|
||||
"x-ms-url-encoding": "single"
|
||||
},
|
||||
{
|
||||
"name": "Content-Type",
|
||||
"in": "header",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"default": "application/json",
|
||||
"x-ms-visibility": "internal"
|
||||
},
|
||||
{
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"url": {
|
||||
"type": "string",
|
||||
"description": "url",
|
||||
"title": "",
|
||||
"x-ms-visibility": "internal",
|
||||
"x-ms-notification-url": true
|
||||
}
|
||||
},
|
||||
"x-ms-visibility": "internal",
|
||||
"required": [
|
||||
"url"
|
||||
]
|
||||
},
|
||||
"x-ms-visibility": "internal"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"x-ms-connector-metadata": [
|
||||
{
|
||||
"propertyName": "Website",
|
||||
"propertyValue": "https://africastalking.com/airtime"
|
||||
},
|
||||
{
|
||||
"propertyName": "Privacy policy",
|
||||
"propertyValue": "https://africastalking.com/privacy_policy"
|
||||
},
|
||||
{
|
||||
"propertyName": "Categories",
|
||||
"propertyValue": "Communication;Finance"
|
||||
}
|
||||
],
|
||||
"definitions": {},
|
||||
"parameters": {},
|
||||
"responses": {},
|
||||
"securityDefinitions": {
|
||||
"API Key": {
|
||||
"type": "apiKey",
|
||||
"in": "header",
|
||||
"name": "apiKey"
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"API Key": []
|
||||
}
|
||||
],
|
||||
"tags": []
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
{
|
||||
"properties": {
|
||||
"connectionParameters": {
|
||||
"api_key": {
|
||||
"type": "securestring",
|
||||
"uiDefinition": {
|
||||
"displayName": "API Key",
|
||||
"description": "The API Key for this api",
|
||||
"tooltip": "Provide your API Key",
|
||||
"constraints": {
|
||||
"tabIndex": 2,
|
||||
"clearText": false,
|
||||
"required": "true"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"policyTemplateInstances": [
|
||||
{
|
||||
"templateId": "dynamichosturl",
|
||||
"title": "Replace webhook triggers host url",
|
||||
"parameters": {
|
||||
"x-ms-apimTemplateParameter.urlTemplate": "https://account.africastalking.com",
|
||||
"x-ms-apimTemplate-operationName": [
|
||||
"AirtimeStatusNotification"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"iconBrandColor": "#fc9206",
|
||||
"capabilities": [],
|
||||
"publisher": "Africa's Talking",
|
||||
"stackOwner": "Africa's Talking"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
## Africa's Talking Payments
|
||||
|
||||
Africa's Talking Payments provides a powerful API that allows you to charge and send payments to more than 300 million mobile account holders across Africa. This connectors exposes a couple of operations that allow you to seamlessly receive payments from payment providers, as well as initiate payments going out to your customers.
|
||||
|
||||
## Pre-requisites
|
||||
|
||||
In order to use this connector, you will need the following:
|
||||
|
||||
* An account with Africa's Talking; you can sign up [here](https://account.africastalking.com/auth/register?next=%2Fauth%2Fsignup).
|
||||
* An application (sandbox or production). By default, a sandbox app is created for you when you sign up but you can create a production application afterwards if you need to use a live product.
|
||||
* A payments product. If using a sandbox application, you can go ahead and create one under [`Payments > Products`](https://account.africastalking.com/apps/sandbox/payments/products). For a prod application, you'll have to request for a product first.
|
||||
|
||||
Once you've signed up and you have an application, generate a new API Key for that application; you will use this key to authenticate your requests from our Payments connector.
|
||||
|
||||
## Authentication.
|
||||
|
||||
This connector uses `API Key` authentication (see steps above on how to obtain one). When creating a new connector (in Power Apps/Logic Apps), you'll be required to provide an API Key.
|
||||
|
||||
You'll also be required to select an environment to use with this connector, either `sandbox` or `production`. Note that when using the sandbox environment, the username field to be used in all operations should be `sandbox`; otherwise, the username will be your prod application username.
|
||||
|
||||
## Supported Operations
|
||||
|
||||
This connector supports the following operations:
|
||||
|
||||
* `Mobile Checkout`: Initiate a Customer to Business (C2B) payments on a mobile subscriber’s device.
|
||||
* `Mobile B2C (Business to Consumer)`: Send payments to mobile subscribers from your Payment Wallet.
|
||||
* `Mobile B2B (Business to Business)`: Send payments to businesses e.g banks from your Payment Wallet.
|
||||
* `Fetch Wallet Balance`: Fetch your wallet balance.
|
||||
* `Wallet Transfer`: Transfer money from one Payment Product to another Payment Product hosted on Africa’s Talking.
|
||||
* `Fetch Wallet Transactions`: Fetch your wallet transactions.
|
||||
* `Top Up Stash`: Move money from a Payment Product to an Africa’s Talking application stash.
|
||||
* `Fetch Product Transactions`: Fetch transactions of a particular payment product.
|
||||
|
||||
For more information on parameters accepted/required by the connector's operations, please refer to our [documentation](https://build.at-labs.io/docs/payments%2Foverview).
|
|
@ -0,0 +1,53 @@
|
|||
{
|
||||
"properties": {
|
||||
"connectionParameters": {
|
||||
"api_key": {
|
||||
"type": "securestring",
|
||||
"uiDefinition": {
|
||||
"displayName": "API Key",
|
||||
"description": "The API Key for this api",
|
||||
"tooltip": "Provide your API Key",
|
||||
"constraints": {
|
||||
"tabIndex": 2,
|
||||
"clearText": false,
|
||||
"required": "true"
|
||||
}
|
||||
}
|
||||
},
|
||||
"environment": {
|
||||
"type": "string",
|
||||
"uiDefinition": {
|
||||
"displayName": "Environment",
|
||||
"description": "The API environment to use; either production or sandbox",
|
||||
"tooltip": "Select an API environment to use",
|
||||
"constraints": {
|
||||
"required": "true",
|
||||
"allowedValues": [
|
||||
{
|
||||
"text": "Sandbox",
|
||||
"value": "payments.sandbox"
|
||||
},
|
||||
{
|
||||
"text": "Production",
|
||||
"value": "payments"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"iconBrandColor": "#fc9206",
|
||||
"capabilities": [],
|
||||
"policyTemplateInstances": [
|
||||
{
|
||||
"templateId": "dynamichosturl",
|
||||
"title": "Host URL",
|
||||
"parameters": {
|
||||
"x-ms-apimTemplateParameter.urlTemplate": "https://@connectionParameters('environment').africastalking.com"
|
||||
}
|
||||
}
|
||||
],
|
||||
"publisher": "Africa's Talking",
|
||||
"stackOwner": "Africa's Talking"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
## Africa's Talking SMS
|
||||
|
||||
Africa's Talking SMS provides a powerful API that allows you to effectively send text communication to your customers when they need it. This connectors exposes a couple of operations that allow you to send SMS and retrieve messages in your inbox from our APIs.
|
||||
|
||||
## Pre-requisites
|
||||
|
||||
In order to use this connector, you will need the following:
|
||||
|
||||
* An account with Africa's Talking; you can sign up [here](https://account.africastalking.com/auth/register?next=%2Fauth%2Fsignup).
|
||||
* A live production application; you can create one after registering.
|
||||
|
||||
Once you've signed up and you've created a live application, generate a new API Key for that application; you will use this key to authenticate your requests from our SMS connector.
|
||||
|
||||
## Authentication.
|
||||
|
||||
This connector uses `API Key` authentication (see steps above on how to obtain one). When creating a new connector (in Power Apps/Logic Apps), you'll be required to provide an API Key.
|
||||
|
||||
## Supported Operations
|
||||
|
||||
This connector supports the following operations:
|
||||
|
||||
* `Send SMS`: Send a text message to multiple mobile recipients.
|
||||
* `Fetch Inbox`: Fetch messages from your application's inbox.
|
||||
|
||||
It also supports the following triggers:
|
||||
|
||||
* `When you receive a Delivery Report for a sent message`: Triggered when you receive a Delivery Report for a message initially sent.
|
||||
* `When you receive a message in your inbox`: Triggered whenever a message is sent to any of your registered shortcodes.
|
||||
* `When a number opts out of receiving your bulk messages`: Triggered whenever a user opts out of receiving messages from your alphanumeric sender ID.
|
||||
|
||||
For more information on parameters accepted/required by the connector's operations, please refer to our [documentation](https://developers.africastalking.com/docs/sms/overview).
|
|
@ -0,0 +1,452 @@
|
|||
{
|
||||
"swagger": "2.0",
|
||||
"info": {
|
||||
"version": "1.0.0",
|
||||
"title": "Africa's Talking SMS",
|
||||
"description": "Send and receive SMS from more than 300 million mobile subscribers across Africa.",
|
||||
"contact": {
|
||||
"name": "Advice and answers from the Africa's Talking Team",
|
||||
"url": "https://help.africastalking.com/en/",
|
||||
"email": "smsussd@africastalking.com"
|
||||
}
|
||||
},
|
||||
"host": "api.africastalking.com",
|
||||
"basePath": "/",
|
||||
"schemes": [
|
||||
"https"
|
||||
],
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"paths": {
|
||||
"/version1/messaging/bulk": {
|
||||
"post": {
|
||||
"summary": "Send SMS",
|
||||
"description": "Send an SMS to multiple numbers.",
|
||||
"operationId": "SendSms",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "Accept",
|
||||
"in": "header",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"default": " application/json",
|
||||
"description": "Accept",
|
||||
"x-ms-visibility": "internal"
|
||||
},
|
||||
{
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"username": {
|
||||
"type": "string",
|
||||
"description": "Your application's username, on Africa's Talking.",
|
||||
"title": "Username",
|
||||
"x-ms-visibility": "important"
|
||||
},
|
||||
"message": {
|
||||
"type": "string",
|
||||
"description": "The message you'd like to send.",
|
||||
"title": "Message",
|
||||
"x-ms-visibility": "important"
|
||||
},
|
||||
"phoneNumbers": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "Phone number (in international format) you'd like to send the message to.",
|
||||
"title": "Phone Number",
|
||||
"x-ms-visibility": "important"
|
||||
},
|
||||
"description": "phoneNumbers"
|
||||
},
|
||||
"enqueue": {
|
||||
"type": "boolean",
|
||||
"description": "Send as many messages as possible before waiting for acknowledgement from telcos.",
|
||||
"title": "Enqueue",
|
||||
"enum": [
|
||||
true,
|
||||
false
|
||||
],
|
||||
"x-ms-visibility": "advanced"
|
||||
},
|
||||
"from": {
|
||||
"type": "string",
|
||||
"description": "Your registered short code or alphanumeric; defaults to AFRICASTKNG.",
|
||||
"title": "From",
|
||||
"x-ms-visibility": "advanced"
|
||||
}
|
||||
},
|
||||
"default": {},
|
||||
"x-ms-visibility": "important",
|
||||
"required": [
|
||||
"message",
|
||||
"phoneNumbers",
|
||||
"username"
|
||||
]
|
||||
},
|
||||
"required": true,
|
||||
"x-ms-visibility": "important"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"201": {
|
||||
"description": "201",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"SMSMessageData": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Message": {
|
||||
"type": "string",
|
||||
"description": "Message"
|
||||
},
|
||||
"Recipients": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"cost": {
|
||||
"type": "string",
|
||||
"description": "cost"
|
||||
},
|
||||
"messageId": {
|
||||
"type": "string",
|
||||
"description": "messageId"
|
||||
},
|
||||
"messageParts": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "messageParts"
|
||||
},
|
||||
"number": {
|
||||
"type": "string",
|
||||
"description": "number"
|
||||
},
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "status"
|
||||
},
|
||||
"statusCode": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "statusCode"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "Recipients"
|
||||
}
|
||||
},
|
||||
"description": "SMSMessageData"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"x-ms-visibility": "important"
|
||||
}
|
||||
},
|
||||
"/version1/messaging": {
|
||||
"get": {
|
||||
"summary": "Fetch inbox",
|
||||
"description": "Fetch messages in your inbox.",
|
||||
"operationId": "FetchInbox",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "username",
|
||||
"in": "query",
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"description": "Your application's username, on Africa's Talking.",
|
||||
"x-ms-visibility": "important",
|
||||
"x-ms-summary": "Username"
|
||||
},
|
||||
{
|
||||
"name": "lastReceivedId",
|
||||
"in": "query",
|
||||
"type": "integer",
|
||||
"required": false,
|
||||
"description": "An id of the last message you retrieved.",
|
||||
"x-ms-visibility": "advanced",
|
||||
"format": "int64",
|
||||
"x-ms-summary": "Last received Id"
|
||||
},
|
||||
{
|
||||
"name": "Accept",
|
||||
"in": "header",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"default": " application/json",
|
||||
"description": "Accept",
|
||||
"x-ms-visibility": "internal"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "200",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"SMSMessageData": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Messages": {
|
||||
"type": "array",
|
||||
"items": {},
|
||||
"description": "Messages"
|
||||
}
|
||||
},
|
||||
"description": "SMSMessageData"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"x-ms-visibility": "important"
|
||||
}
|
||||
},
|
||||
"/api/v1/powerapps/{username}/sms/dlr/callback": {
|
||||
"x-ms-notification-content": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
},
|
||||
"headers": {
|
||||
"Content-Type": {
|
||||
"description": "Content-Type",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"description": "A new delivery report for a message"
|
||||
},
|
||||
"post": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Delivery Notification Webhook created successfully"
|
||||
}
|
||||
},
|
||||
"summary": "When you receive a Delivery Report for a sent message",
|
||||
"description": "Triggered when you receive a Delivery Report for a message initially sent",
|
||||
"operationId": "DlrNotification",
|
||||
"x-ms-visibility": "important",
|
||||
"x-ms-trigger": "single",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "username",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-visibility": "important",
|
||||
"x-ms-url-encoding": "single",
|
||||
"x-ms-summary": "Username",
|
||||
"description": "Your application's username."
|
||||
},
|
||||
{
|
||||
"name": "Content-Type",
|
||||
"in": "header",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"default": "application/json",
|
||||
"x-ms-visibility": "internal"
|
||||
},
|
||||
{
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"url": {
|
||||
"type": "string",
|
||||
"description": "url",
|
||||
"x-ms-visibility": "internal",
|
||||
"title": "",
|
||||
"x-ms-notification-url": true
|
||||
}
|
||||
},
|
||||
"x-ms-visibility": "internal",
|
||||
"required": [
|
||||
"url"
|
||||
]
|
||||
},
|
||||
"x-ms-visibility": "internal"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/api/v1/powerapps/{username}/sms/inbox/callback": {
|
||||
"x-ms-notification-content": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
},
|
||||
"description": "A new message in your inbox",
|
||||
"headers": {
|
||||
"Content-Type": {
|
||||
"description": "Content-Type",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"post": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Inbox Notification Webhook created successfully"
|
||||
}
|
||||
},
|
||||
"summary": "When you receive a message in your inbox",
|
||||
"description": "Triggered whenever a message is sent to any of your registered shortcodes",
|
||||
"operationId": "InboxNotification",
|
||||
"x-ms-visibility": "important",
|
||||
"x-ms-trigger": "single",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "username",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"description": "Your application's username",
|
||||
"x-ms-summary": "Username",
|
||||
"x-ms-visibility": "important",
|
||||
"x-ms-url-encoding": "single"
|
||||
},
|
||||
{
|
||||
"name": "Content-Type",
|
||||
"in": "header",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"default": "application/json",
|
||||
"x-ms-visibility": "internal"
|
||||
},
|
||||
{
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"url": {
|
||||
"type": "string",
|
||||
"description": "url",
|
||||
"title": "",
|
||||
"x-ms-visibility": "internal",
|
||||
"x-ms-notification-url": true
|
||||
}
|
||||
},
|
||||
"x-ms-visibility": "internal",
|
||||
"required": [
|
||||
"url"
|
||||
]
|
||||
},
|
||||
"x-ms-visibility": "internal"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/api/v1/powerapps/{username}/sms/optout/callback": {
|
||||
"x-ms-notification-content": {
|
||||
"description": "A bulk sms opt out notification",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
},
|
||||
"headers": {
|
||||
"Content-Type": {
|
||||
"description": "Content-Type",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"post": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "BulkSMS Optout Webhook created successfully"
|
||||
}
|
||||
},
|
||||
"summary": "When a number opts out of receiving your bulk messages",
|
||||
"description": "Triggered whenever a user opts out of receiving messages from your alphanumeric sender ID",
|
||||
"operationId": "BulkSMSOptOutNotification",
|
||||
"x-ms-visibility": "important",
|
||||
"x-ms-trigger": "single",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "username",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-visibility": "important",
|
||||
"x-ms-summary": "Username",
|
||||
"description": "Your Application's username",
|
||||
"x-ms-url-encoding": "single"
|
||||
},
|
||||
{
|
||||
"name": "Content-Type",
|
||||
"in": "header",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"default": "application/json",
|
||||
"x-ms-visibility": "internal"
|
||||
},
|
||||
{
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"url": {
|
||||
"type": "string",
|
||||
"description": "url",
|
||||
"title": "",
|
||||
"x-ms-visibility": "internal",
|
||||
"x-ms-notification-url": true
|
||||
}
|
||||
},
|
||||
"x-ms-visibility": "internal",
|
||||
"required": [
|
||||
"url"
|
||||
]
|
||||
},
|
||||
"x-ms-visibility": "internal"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"x-ms-connector-metadata": [
|
||||
{
|
||||
"propertyName": "Website",
|
||||
"propertyValue": "https://africastalking.com/sms"
|
||||
},
|
||||
{
|
||||
"propertyName": "Privacy policy",
|
||||
"propertyValue": "https://africastalking.com/privacy_policy"
|
||||
},
|
||||
{
|
||||
"propertyName": "Categories",
|
||||
"propertyValue": "Communication"
|
||||
}
|
||||
],
|
||||
"definitions": {},
|
||||
"parameters": {},
|
||||
"responses": {},
|
||||
"securityDefinitions": {
|
||||
"API Key": {
|
||||
"type": "apiKey",
|
||||
"in": "header",
|
||||
"name": "apiKey"
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"API Key": []
|
||||
}
|
||||
],
|
||||
"tags": []
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
{
|
||||
"properties": {
|
||||
"connectionParameters": {
|
||||
"api_key": {
|
||||
"type": "securestring",
|
||||
"uiDefinition": {
|
||||
"displayName": "API Key",
|
||||
"description": "The API Key for this api",
|
||||
"tooltip": "Provide your API Key",
|
||||
"constraints": {
|
||||
"tabIndex": 2,
|
||||
"clearText": false,
|
||||
"required": "true"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"policyTemplateInstances": [
|
||||
{
|
||||
"templateId": "dynamichosturl",
|
||||
"title": "Replace webhook triggers host url",
|
||||
"parameters": {
|
||||
"x-ms-apimTemplateParameter.urlTemplate": "https://account.africastalking.com",
|
||||
"x-ms-apimTemplate-operationName": [
|
||||
"DlrNotification",
|
||||
"InboxNotification",
|
||||
"BulkSMSOptOutNotification"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"iconBrandColor": "#fc9206",
|
||||
"capabilities": [],
|
||||
"publisher": "Africa's Talking",
|
||||
"stackOwner": "Africa's Talking"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
## Africa's Talking Voice
|
||||
|
||||
Africa's Talking Voice offers a powerful API to build dynamic, scalable, fully-featured voice applications that reside entirely in the cloud without the need to purchase and maintain expensive voice equipment. This connector offers an operation to initiate a call to multiple recipients, providing a couple of voice actions that specify how the call should be handled.
|
||||
|
||||
## Pre-requisites
|
||||
|
||||
In order to use this connector, you will need the following:
|
||||
|
||||
* An account with Africa's Talking; you can sign up [here](https://account.africastalking.com/auth/register?next=%2Fauth%2Fsignup).
|
||||
* A live production application; you can create one after registering.
|
||||
* A live phone number on this application; you can request for one by sending an email to voice@africastalking.com
|
||||
|
||||
Once you've signed up and you've created a live application, generate a new API Key for that application; you will use this key to authenticate your requests from this connector.
|
||||
|
||||
## Authentication.
|
||||
|
||||
This connector uses `API Key` authentication (see steps above on how to obtain one). When creating a new connector (in Power Apps/Logic Apps), you'll be required to provide an API Key.
|
||||
|
||||
## Supported Operations
|
||||
|
||||
This connector supports the following operations:
|
||||
|
||||
* `Call`: Make an outbound call to multiple recipients. For now, this operation only supports two voice *actionTypes*: `Say` and `Play`.
|
||||
|
||||
For more information on parameters accepted/required by the connector's operations, please refer to our [documentation](https://developers.africastalking.com/docs/voice/overview).
|
|
@ -0,0 +1,211 @@
|
|||
{
|
||||
"swagger": "2.0",
|
||||
"info": {
|
||||
"title": "Africa's Talking Voice",
|
||||
"description": "Offers an action to schedule outbound calls to recipients through Africa's Talking's Voice API. You can use this connector to instruct our Voice service to Say/Play a sequence of items in an outbound call.",
|
||||
"version": "1.0",
|
||||
"contact": {
|
||||
"name": "Advice and answers from the Africa's Talking Team",
|
||||
"url": "https://help.africastalking.com/en/",
|
||||
"email": "voice@africastalking.com"
|
||||
}
|
||||
},
|
||||
"host": "voice.africastalking.com",
|
||||
"basePath": "/",
|
||||
"schemes": [
|
||||
"https"
|
||||
],
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"paths": {
|
||||
"/call": {
|
||||
"post": {
|
||||
"responses": {
|
||||
"201": {
|
||||
"description": "201",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"entries": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"phoneNumber": {
|
||||
"type": "string",
|
||||
"description": "phoneNumber"
|
||||
},
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "status"
|
||||
},
|
||||
"sessionId": {
|
||||
"type": "string",
|
||||
"description": "sessionId"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "entries"
|
||||
},
|
||||
"errorMessage": {
|
||||
"type": "string",
|
||||
"description": "errorMessage"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"summary": "Make an outbound call",
|
||||
"description": "Make an outbound call to multiple recipients",
|
||||
"operationId": "Call",
|
||||
"x-ms-visibility": "important",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "Content-Type",
|
||||
"in": "header",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"default": "application/json",
|
||||
"x-ms-visibility": "internal"
|
||||
},
|
||||
{
|
||||
"name": "Accept",
|
||||
"in": "header",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"default": "application/json",
|
||||
"x-ms-visibility": "internal"
|
||||
},
|
||||
{
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"username": {
|
||||
"type": "string",
|
||||
"description": "Your application's username",
|
||||
"title": "Username",
|
||||
"x-ms-visibility": "important"
|
||||
},
|
||||
"from": {
|
||||
"type": "string",
|
||||
"description": "Your Africa's Talking phone number, in international format.",
|
||||
"title": "From",
|
||||
"x-ms-visibility": "important"
|
||||
},
|
||||
"to": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "Recipient phone number",
|
||||
"title": "To",
|
||||
"x-ms-visibility": "important"
|
||||
},
|
||||
"description": "to"
|
||||
},
|
||||
"actions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"actionType": {
|
||||
"type": "string",
|
||||
"description": "An action for our voice service to perform in this call",
|
||||
"title": "Action",
|
||||
"x-ms-visibility": "important",
|
||||
"enum": [
|
||||
"Play",
|
||||
"Say"
|
||||
]
|
||||
},
|
||||
"text": {
|
||||
"type": "string",
|
||||
"description": "Text that will be read out to the recipient of the call",
|
||||
"title": "Text",
|
||||
"x-ms-visibility": "advanced"
|
||||
},
|
||||
"url": {
|
||||
"type": "string",
|
||||
"description": "A valid URL that contains a link to an audio file to be played",
|
||||
"title": "Url",
|
||||
"x-ms-visibility": "advanced"
|
||||
},
|
||||
"voice": {
|
||||
"type": "string",
|
||||
"description": "Voice to use to read out the text sent with this request",
|
||||
"title": "Voice",
|
||||
"x-ms-visibility": "advanced",
|
||||
"enum": [
|
||||
"man",
|
||||
"woman"
|
||||
]
|
||||
},
|
||||
"playBeep": {
|
||||
"type": "boolean",
|
||||
"description": "Play a beep after reading out the text contained in this request",
|
||||
"title": "Play Beep",
|
||||
"x-ms-visibility": "advanced",
|
||||
"enum": [
|
||||
true,
|
||||
false
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"actionType"
|
||||
]
|
||||
},
|
||||
"description": "actions"
|
||||
}
|
||||
},
|
||||
"x-ms-visibility": "important",
|
||||
"required": [
|
||||
"from",
|
||||
"username",
|
||||
"to",
|
||||
"actions"
|
||||
]
|
||||
},
|
||||
"x-ms-visibility": "important"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"x-ms-connector-metadata": [
|
||||
{
|
||||
"propertyName": "Website",
|
||||
"propertyValue": "https://africastalking.com/voice"
|
||||
},
|
||||
{
|
||||
"propertyName": "Privacy policy",
|
||||
"propertyValue": "https://africastalking.com/privacy_policy"
|
||||
},
|
||||
{
|
||||
"propertyName": "Categories",
|
||||
"propertyValue": "Communication"
|
||||
}
|
||||
],
|
||||
"definitions": {},
|
||||
"parameters": {},
|
||||
"responses": {},
|
||||
"securityDefinitions": {
|
||||
"API Key": {
|
||||
"type": "apiKey",
|
||||
"in": "header",
|
||||
"name": "apiKey"
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"API Key": []
|
||||
}
|
||||
],
|
||||
"tags": []
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"properties": {
|
||||
"connectionParameters": {
|
||||
"api_key": {
|
||||
"type": "securestring",
|
||||
"uiDefinition": {
|
||||
"displayName": "API Key",
|
||||
"description": "The API Key for this api",
|
||||
"tooltip": "Provide your API Key",
|
||||
"constraints": {
|
||||
"tabIndex": 2,
|
||||
"clearText": false,
|
||||
"required": "true"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"iconBrandColor": "#fc9206",
|
||||
"capabilities": [],
|
||||
"publisher": "Africa's Talking",
|
||||
"stackOwner": "Africa's Talking"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
##AgilePoint NX
|
||||
|
||||
Use AgilePoint NX API to work with process model and human tasks and perform various business process management actions from Power Automate Flow or Logic Apps.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
You will need the following to proceed:
|
||||
|
||||
- AgilePoint NX OnDemand (public cloud), or AgilePoint NX PrivateCloud or AgilePoint NX OnPremises v8.0 or higher.
|
||||
- A Microsoft Power Apps or Power Automate plan
|
||||
|
||||
|
||||
## Supported Operations
|
||||
|
||||
The connector supports the following operations:
|
||||
|
||||
### Actions
|
||||
|
||||
- `Complete System Task` : Completes the specified system activity (automatic work item).
|
||||
- `Start Process Instance` : Creates a process instance for a specified process instance ID and parameters.
|
||||
- `Save Data` : Sets a list of process attribute (custom attributes) to the specified values for a specified custom attribute ID.
|
||||
- `Get Data` : Retrieves a process attribute (custom attribute) with the specified process attribute ID and process attribute name.
|
||||
- `Generate New Guid` : Retrieves the UUID generated by AgilePoint Server.
|
||||
- `Get Process Instance` : Retrieves information about a specified process instance.
|
||||
- `Get User` : Retrieves the profile information for the specified registered user.
|
||||
- `Complete Human Task` : Completes the specified human task (manual work item), and changes its status to Completed in the database.
|
||||
- `Get Process Models` : Retrieves all versions of all process models (process definitions).
|
||||
|
||||
### Trigger
|
||||
|
||||
- `When a process instance is started`: Trigger When AgilePoint Process Instance Started.
|
||||
- `When a trigger flow process activity is executed`: Trigger By AgilePoint Activity.
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
{
|
||||
"properties": {
|
||||
"connectionParameters": {
|
||||
"username": {
|
||||
"type": "securestring",
|
||||
"uiDefinition": {
|
||||
"displayName": "Username",
|
||||
"description": "Enter username (domain\\username) for agilepoint nx server.",
|
||||
"tooltip": "Provide the Username",
|
||||
"constraints": {
|
||||
"tabIndex": 2,
|
||||
"clearText": true,
|
||||
"required": "true"
|
||||
}
|
||||
}
|
||||
},
|
||||
"password": {
|
||||
"type": "securestring",
|
||||
"uiDefinition": {
|
||||
"displayName": "Password",
|
||||
"description": "Enter password for agilepoint nx server.",
|
||||
"tooltip": "Provide the Password",
|
||||
"constraints": {
|
||||
"tabIndex": 3,
|
||||
"clearText": false,
|
||||
"required": "true"
|
||||
}
|
||||
}
|
||||
},
|
||||
"agilepointServerUrl": {
|
||||
"type": "string",
|
||||
"uiDefinition": {
|
||||
"displayName": "AgilePoint NX Server URL (REST)",
|
||||
"description": "Enter agilepoint nx server URL.",
|
||||
"tooltip": "Provide Your AgilePoint Server URL",
|
||||
"constraints": {
|
||||
"tabIndex": 4,
|
||||
"clearText": true,
|
||||
"required": "true"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"iconBrandColor": "#0077d9",
|
||||
"capabilities": [],
|
||||
"policyTemplateInstances": [
|
||||
{
|
||||
"templateId": "dynamichosturl",
|
||||
"title": "AgilePointInstance",
|
||||
"parameters": {
|
||||
"x-ms-apimTemplateParameter.urlTemplate": "@connectionParameters('agilepointServerUrl')"
|
||||
}
|
||||
}
|
||||
],
|
||||
"publisher": "AgilePoint Inc",
|
||||
"stackOwner":"AgilePoint Inc"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"properties": {
|
||||
"connectionParameters": {
|
||||
"api_key": {
|
||||
"type": "securestring",
|
||||
"uiDefinition": {
|
||||
"displayName": "API Key",
|
||||
"description": "The API Key for this api",
|
||||
"tooltip": "Provide your API Key",
|
||||
"constraints": {
|
||||
"tabIndex": 2,
|
||||
"clearText": false,
|
||||
"required": "true"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"iconBrandColor": "#FFD858",
|
||||
"capabilities": [],
|
||||
"publisher": "Aletheia",
|
||||
"stackOwner": "Aletheia"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
# Aletheia
|
||||
Aletheia is an online web service providing financial data through an easily accessible HTTP REST API. Access stock data, SEC filings, Insider Trades, earnings calls, and more.
|
||||
|
||||
## Prerequisites
|
||||
You will need the following to leverage Aletheia services:
|
||||
* An Aletheia account and API key - register for an account at https://aletheiaapi.com/login
|
||||
* An environment to make a Power Automate flow or Power App in
|
||||
|
||||
## Registering for an Aletheia developer account
|
||||
Navigate to https://aletheiaapi.com/login in your browser and click on "New User". Follow the registration process and verify your email.
|
||||
From the account page, you can find your API key under the "My API Keys" section. Copy this key for use with our service!
|
||||
|
||||
## Authorizing with the Aletheia service
|
||||
When you leverage the Aletheia connector for the first time, you will be prompted to input your API key. Use the same key that you received and copied from the steps above.
|
||||
|
||||
## Consuming the Aletheia Service
|
||||
### Available Triggers
|
||||
* When a new SEC filing is filed
|
||||
|
||||
### Available Actions
|
||||
* Get stock data
|
||||
* List an entity's SEC Filings
|
||||
* Open Form 4
|
||||
* Open common financial statements
|
||||
* Search entities
|
||||
* Get entity information
|
||||
* Get filing information
|
||||
* List latest transactions for a company or person
|
|
@ -0,0 +1,32 @@
|
|||
# About
|
||||
|
||||
Asite is an open construction platform that enables organizations with comprehensive range of solutions connect dispersed teams across the lifecycle of capital assets by collaborate, plan, design, and build with seamless information sharing across the entire supply chain which helps capital project owners stay at the forefront of innovation, maintaining a golden thread of information.
|
||||
|
||||
The Asite connector helps to build a connection between two systems for file exchange. The connector collaborates both systems by uploading and downloading files based on triggers.
|
||||
|
||||
# Pre-requisites
|
||||
|
||||
- Required Asite CDE Subscription
|
||||
- Active Asite login credentials
|
||||
- Configuration on Asite for required workflow trigger of type "Microsoft Flow";
|
||||
|
||||
# Actions
|
||||
|
||||
Following are the internal and external actions used during connection flow to share a file
|
||||
|
||||
| **Name** | **Trigger / Action Name** | **API EndPoint** | **Description** | **Visibility** |
|
||||
| -------- | ------------------------- | ---------------- | --------------- | -------------- |
|
||||
| Select Project Name || /workspaceList | It will list out all the Asite's projects where you have access. | Internal |
|
||||
| Select Folder Name || /folderAndFileList | It will list out all the accessible folders based on your access from the selected Project. | Internal |
|
||||
| When an Asite workflow event is triggered | Trigger | /asitePullDataWebhook | To upload file with metadata and download file on defined folder based on triggered workflow. | Important |
|
||||
| Download a File | Action | /downloadFileByUrl | To download a file by public link via triggered event. | Important |
|
||||
| List of configured Triggers from Asite Platform | | /triggerList | To display list of configured Triggers from Asite Platform | Internal |
|
||||
| Delete configured trigger || /deleteAsitePullDataWebhook/{id} | To Delete configured trigger | Internal |
|
||||
| Get Dynamic Schema based on project and folder | | /getFolderAttributes | Get Dynamic Schema based on project and folder | Internal |
|
||||
| Define File's Metadata | Action | /saveMetadataForUpload | To define metadata of a file which required to upload file | Important |
|
||||
| Upload a File | Action | /uploadFileFromExternalSystem | To upload a file in defined Project and Folder on Asite Platform. | Important |
|
||||
| Get dynamic schema based on project Id and trigger Id || /getFolderAttributesFromTrigger | Get dynamic schema based on project Id and trigger Id | Internal |
|
||||
|
||||
# Reference Link:
|
||||
|
||||
Please refer help document for authorize connector and configure flow. [Click here](https://adoddleqa2ak.asite.com/adoddle%20online%20help/Asite_Integration_via_Microsoft_Power_Automate.htm)
|
|
@ -0,0 +1,769 @@
|
|||
{
|
||||
"swagger": "2.0",
|
||||
"info": {
|
||||
"title": "Asite",
|
||||
"description": "The Asite connector helps to build a connection between two systems for file exchange. The connector collaborates both systems by uploading and downloading files based on triggers.",
|
||||
"version": "1.0.0",
|
||||
"contact": {
|
||||
"name": "Asite Solutions Pvt. Ltd.",
|
||||
"url": "https://www.asite.com/contact-support",
|
||||
"email": "support@asite.com"
|
||||
}
|
||||
},
|
||||
"host": "integrationak.asite.com",
|
||||
"basePath": "/api",
|
||||
"x-ms-connector-metadata": [
|
||||
{
|
||||
"propertyName": "Website",
|
||||
"propertyValue": "https://www.asite.com/"
|
||||
},
|
||||
{
|
||||
"propertyName": "Privacy policy",
|
||||
"propertyValue": "https://www.asite.com/legal-terms-of-use#privacy"
|
||||
},
|
||||
{
|
||||
"propertyName": "Categories",
|
||||
"propertyValue": "Collaboration;Content and Files"
|
||||
}
|
||||
],
|
||||
"schemes": [
|
||||
"https"
|
||||
],
|
||||
"consumes": [
|
||||
"application/json",
|
||||
"application/x-www-form-urlencoded"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"paths": {
|
||||
"/workspaceList": {
|
||||
"get": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK, Success",
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"projectName": {
|
||||
"type": "string",
|
||||
"description": "projectName"
|
||||
},
|
||||
"cloudUrl": {
|
||||
"type": "string",
|
||||
"description": "cloudUrl"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "BAD REQUEST, Invalid request"
|
||||
}
|
||||
},
|
||||
"operationId": "GET_ASITE_PROJECT_LIST",
|
||||
"summary": "Select Project Name",
|
||||
"description": "List out all the Asite's projects where you have access. Please contact support@asite.com for access on required project.",
|
||||
"x-ms-visibility": "internal",
|
||||
"consumes": [
|
||||
"application/x-www-form-urlencoded"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "getJsonResult",
|
||||
"in": "query",
|
||||
"required": true,
|
||||
"type": "boolean"
|
||||
},
|
||||
{
|
||||
"name": "Accept",
|
||||
"in": "header",
|
||||
"type": "string",
|
||||
"required": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/folderAndFileList": {
|
||||
"get": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK, Success",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"folderData": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"folder_title": {
|
||||
"type": "string",
|
||||
"description": "Please select Folder Name followed by Project name."
|
||||
},
|
||||
"folderId": {
|
||||
"type": "string",
|
||||
"description": "Unique identification of folder."
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "There is array of folder data."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "BAD REQUEST, Invalid request"
|
||||
}
|
||||
},
|
||||
"summary": "Select Folder Name",
|
||||
"description": "List out all the accessible folders based on your access from the above selected Project.",
|
||||
"operationId": "GET_ASITE_FOLDER_LIST",
|
||||
"x-ms-visibility": "internal",
|
||||
"consumes": [
|
||||
"application/x-www-form-urlencoded"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "projectId",
|
||||
"in": "query",
|
||||
"required": true,
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "isWorkspace",
|
||||
"in": "query",
|
||||
"required": true,
|
||||
"type": "integer"
|
||||
},
|
||||
{
|
||||
"name": "isFolderDataReq",
|
||||
"in": "query",
|
||||
"required": true,
|
||||
"type": "boolean"
|
||||
},
|
||||
{
|
||||
"name": "Accept",
|
||||
"in": "header",
|
||||
"type": "string",
|
||||
"required": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/asitePullDataWebhook": {
|
||||
"x-ms-notification-content": {
|
||||
"description": "When trigger is initiated in Asite.",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"x-ms-dynamic-schema": {
|
||||
"operationId": "GET_DYNAMIC_SCHEMA_PROJECTID_TRIGGERID",
|
||||
"parameters": {
|
||||
"projectId": {
|
||||
"parameter": "projectId"
|
||||
},
|
||||
"triggerId": {
|
||||
"parameter": "resourceId"
|
||||
},
|
||||
"Accept": "*/*"
|
||||
}
|
||||
},
|
||||
"x-ms-dynamic-properties": {
|
||||
"operationId": "GET_DYNAMIC_SCHEMA_PROJECTID_TRIGGERID",
|
||||
"parameters": {
|
||||
"projectId": {
|
||||
"parameterReference": "projectId"
|
||||
},
|
||||
"triggerId": {
|
||||
"parameterReference": "body/resourceId"
|
||||
},
|
||||
"Accept": {
|
||||
"value": "*/*"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"post": {
|
||||
"responses": {
|
||||
"201": {
|
||||
"description": "Created"
|
||||
}
|
||||
},
|
||||
"summary": "When an Asite workflow event is triggered",
|
||||
"description": "Workflow triggered to upload a file with metadata and download within the defined folder based on workflow event triggered.",
|
||||
"operationId": "ASITE_TRIGGER_EVENT",
|
||||
"x-ms-trigger": "single",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "Accept",
|
||||
"in": "header",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-visibility": "internal",
|
||||
"default": "*/*"
|
||||
},
|
||||
{
|
||||
"name": "projectId",
|
||||
"type": "string",
|
||||
"required": true,
|
||||
"in": "query",
|
||||
"description": "Select a Project",
|
||||
"x-ms-dynamic-values": {
|
||||
"operationId": "GET_ASITE_PROJECT_LIST",
|
||||
"value-title": "projectName",
|
||||
"value-path": "cloudUrl",
|
||||
"parameters": {
|
||||
"getJsonResult": true,
|
||||
"Accept": "*/*"
|
||||
}
|
||||
},
|
||||
"x-ms-dynamic-list": {
|
||||
"operationId": "GET_ASITE_PROJECT_LIST",
|
||||
"itemValuePath": "cloudUrl",
|
||||
"itemTitlePath": "projectName",
|
||||
"parameters": {
|
||||
"getJsonResult": {
|
||||
"value": true
|
||||
},
|
||||
"Accept": {
|
||||
"value": "*/*"
|
||||
}
|
||||
}
|
||||
},
|
||||
"x-ms-summary": "Project Name"
|
||||
},
|
||||
{
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"webhookUrl": {
|
||||
"type": "string",
|
||||
"description": "Webhook URL",
|
||||
"x-ms-notification-url": true,
|
||||
"x-ms-visibility": "internal",
|
||||
"x-ms-summary": "Webhook URL"
|
||||
},
|
||||
"resourceId": {
|
||||
"type": "string",
|
||||
"description": "Select a Trigger configured for selected project",
|
||||
"x-ms-summary": "Trigger Name",
|
||||
"x-ms-dynamic-values": {
|
||||
"operationId": "ASITE_TRIGGER_LIST",
|
||||
"value-title": "triggerName",
|
||||
"value-path": "triggerId",
|
||||
"parameters": {
|
||||
"projectId": {
|
||||
"parameter": "projectId"
|
||||
},
|
||||
"ruleContext": 3
|
||||
}
|
||||
},
|
||||
"x-ms-dynamic-list": {
|
||||
"operationId": "ASITE_TRIGGER_LIST",
|
||||
"itemValuePath": "triggerId",
|
||||
"itemTitlePath": "triggerName",
|
||||
"parameters": {
|
||||
"projectId": {
|
||||
"parameterReference": "projectId"
|
||||
},
|
||||
"ruleContext": {
|
||||
"value": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"resourceType": {
|
||||
"type": "integer",
|
||||
"description": "Resource Type",
|
||||
"x-ms-summary": "Resource Type",
|
||||
"x-ms-visibility": "internal",
|
||||
"default": 1
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"webhookUrl",
|
||||
"resourceId",
|
||||
"resourceType"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/downloadFileByUrl": {
|
||||
"get": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK, Success",
|
||||
"schema": {
|
||||
"format": "binary",
|
||||
"description": "The content of the file.",
|
||||
"type": "string",
|
||||
"x-ms-summary": "File Content"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "BAD REQUEST, Invalid request"
|
||||
}
|
||||
},
|
||||
"summary": "Download a File",
|
||||
"description": "Download a file by public link via triggered event.",
|
||||
"operationId": "FILE_DOWNLOAD_BY_URL",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "downloadUrl",
|
||||
"in": "query",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"description": "Select 'DirectLink' metadata to download a file",
|
||||
"x-ms-summary": "URL Selection"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/triggerList": {
|
||||
"get": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK, Success",
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"triggerId": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "Trigger ID"
|
||||
},
|
||||
"triggerName": {
|
||||
"type": "string",
|
||||
"description": "Trigger Name"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "BAD REQUEST, Invalid request"
|
||||
}
|
||||
},
|
||||
"summary": "List of configured Triggers from Asite Platform",
|
||||
"description": "List of configured Triggers from Asite Platform",
|
||||
"operationId": "ASITE_TRIGGER_LIST",
|
||||
"x-ms-visibility": "internal",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "projectId",
|
||||
"in": "query",
|
||||
"required": true,
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "ruleContext",
|
||||
"in": "query",
|
||||
"required": true,
|
||||
"type": "integer"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/deleteAsitePullDataWebhook/{id}": {
|
||||
"delete": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK, Success"
|
||||
}
|
||||
},
|
||||
"summary": "Delete configured trigger",
|
||||
"description": "Delete configured trigger",
|
||||
"operationId": "DELETE_TRIGGER_WEBHOOK",
|
||||
"x-ms-visibility": "internal",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "id",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"x-ms-url-encoding": "single",
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/getFolderAttributes": {
|
||||
"get": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK, Success",
|
||||
"schema": {}
|
||||
},
|
||||
"400": {
|
||||
"description": "BAD REQUEST, Invalid request"
|
||||
}
|
||||
},
|
||||
"summary": "Get Dynamic Schema based on project and folder",
|
||||
"description": "Get Dynamic Schema based on project and folder",
|
||||
"operationId": "GET_CUSTOM_ATTR_DYNAMIC_SCHEMA",
|
||||
"x-ms-visibility": "internal",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "Accept",
|
||||
"in": "header",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-visibility": "internal",
|
||||
"default": "*/*"
|
||||
},
|
||||
{
|
||||
"name": "projectId",
|
||||
"in": "query",
|
||||
"required": true,
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "folderId",
|
||||
"in": "query",
|
||||
"required": true,
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "isRequiredField",
|
||||
"in": "query",
|
||||
"required": true,
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/saveMetadataForUpload": {
|
||||
"post": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK, Success",
|
||||
"schema": {
|
||||
"type": "string",
|
||||
"title": "Metadata Id"
|
||||
}
|
||||
}
|
||||
},
|
||||
"summary": "Define File's Metadata",
|
||||
"description": "File's metadata can be defined based on Project and Folder selection. Note: To Upload a file, metadata of file is mandatory to define.",
|
||||
"operationId": "SET_FILE_METADATA",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "projectId",
|
||||
"description": "Select a Project",
|
||||
"in": "query",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-summary": "Project Name",
|
||||
"x-ms-dynamic-values": {
|
||||
"operationId": "GET_ASITE_PROJECT_LIST",
|
||||
"value-title": "projectName",
|
||||
"value-path": "cloudUrl",
|
||||
"parameters": {
|
||||
"getJsonResult": true,
|
||||
"Accept": "*/*"
|
||||
}
|
||||
},
|
||||
"x-ms-dynamic-list": {
|
||||
"operationId": "GET_ASITE_PROJECT_LIST",
|
||||
"itemValuePath": "cloudUrl",
|
||||
"itemTitlePath": "projectName",
|
||||
"parameters": {
|
||||
"getJsonResult": {
|
||||
"value": true
|
||||
},
|
||||
"Accept": {
|
||||
"value": "*/*"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "folderId",
|
||||
"description": "Select a Folder",
|
||||
"in": "query",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-summary": "Folder Name",
|
||||
"x-ms-dynamic-values": {
|
||||
"operationId": "GET_ASITE_FOLDER_LIST",
|
||||
"value-collection": "folderData",
|
||||
"value-title": "folder_title",
|
||||
"value-path": "folderId",
|
||||
"parameters": {
|
||||
"projectId": {
|
||||
"parameter": "projectId"
|
||||
},
|
||||
"isFolderDataReq": true,
|
||||
"isWorkspace": 1,
|
||||
"Accept": "*/*"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "items",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"x-ms-dynamic-schema": {
|
||||
"operationId": "GET_CUSTOM_ATTR_DYNAMIC_SCHEMA",
|
||||
"parameters": {
|
||||
"projectId": {
|
||||
"parameter": "projectId"
|
||||
},
|
||||
"folderId": {
|
||||
"parameter": "folderId"
|
||||
},
|
||||
"Accept": "*/*",
|
||||
"isRequiredField": true
|
||||
}
|
||||
},
|
||||
"x-ms-dynamic-properties": {
|
||||
"operationId": "GET_CUSTOM_ATTR_DYNAMIC_SCHEMA",
|
||||
"parameters": {
|
||||
"projectId": {
|
||||
"parameterReference": "projectId"
|
||||
},
|
||||
"folderId": {
|
||||
"parameterReference": "folderId"
|
||||
},
|
||||
"Accept": {
|
||||
"value": "*/*"
|
||||
},
|
||||
"isRequiredField": {
|
||||
"value": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/uploadFileFromExternalSystem": {
|
||||
"post": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK, Success",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"x-ms-dynamic-schema": {
|
||||
"operationId": "GET_CUSTOM_ATTR_DYNAMIC_SCHEMA",
|
||||
"parameters": {
|
||||
"projectId": {
|
||||
"parameter": "projectId"
|
||||
},
|
||||
"folderId": {
|
||||
"parameter": "folderId"
|
||||
},
|
||||
"Accept": "*/*",
|
||||
"isRequiredField": false
|
||||
}
|
||||
},
|
||||
"x-ms-dynamic-properties": {
|
||||
"operationId": "GET_CUSTOM_ATTR_DYNAMIC_SCHEMA",
|
||||
"parameters": {
|
||||
"projectId": {
|
||||
"parameterReference": "projectId"
|
||||
},
|
||||
"folderId": {
|
||||
"parameterReference": "folderId"
|
||||
},
|
||||
"Accept": {
|
||||
"value": "*/*"
|
||||
},
|
||||
"isRequiredField": {
|
||||
"value": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "BAD REQUEST, Invalid request"
|
||||
}
|
||||
},
|
||||
"summary": "Upload a File",
|
||||
"description": "Upload a file in defined Project and Folder on Asite Platform. Note: Please define metadata of a file before uploading a file.",
|
||||
"operationId": "UPLOAD_BINARY_FILE",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "projectId",
|
||||
"description": "Select a Project",
|
||||
"in": "query",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-summary": "Project Name",
|
||||
"x-ms-dynamic-values": {
|
||||
"operationId": "GET_ASITE_PROJECT_LIST",
|
||||
"value-title": "projectName",
|
||||
"value-path": "cloudUrl",
|
||||
"parameters": {
|
||||
"getJsonResult": true,
|
||||
"Accept": "*/*"
|
||||
}
|
||||
},
|
||||
"x-ms-dynamic-list": {
|
||||
"operationId": "GET_ASITE_PROJECT_LIST",
|
||||
"itemValuePath": "cloudUrl",
|
||||
"itemTitlePath": "projectName",
|
||||
"parameters": {
|
||||
"getJsonResult": {
|
||||
"value": true
|
||||
},
|
||||
"Accept": {
|
||||
"value": "*/*"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "folderId",
|
||||
"description": "Select a Folder",
|
||||
"in": "query",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-summary": "Folder Name",
|
||||
"x-ms-dynamic-values": {
|
||||
"operationId": "GET_ASITE_FOLDER_LIST",
|
||||
"value-collection": "folderData",
|
||||
"value-title": "folder_title",
|
||||
"value-path": "folderId",
|
||||
"parameters": {
|
||||
"projectId": {
|
||||
"parameter": "projectId"
|
||||
},
|
||||
"isFolderDataReq": true,
|
||||
"isWorkspace": 1,
|
||||
"Accept": "*/*"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "fileName",
|
||||
"in": "query",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-summary": "File Name",
|
||||
"description": "Enter File name with file type extension"
|
||||
},
|
||||
{
|
||||
"name": "metadataId",
|
||||
"in": "query",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-summary": "File Metadata",
|
||||
"description": "Select Metadata ID from Dynamic Content section"
|
||||
},
|
||||
{
|
||||
"name": "fileBinary",
|
||||
"in": "body",
|
||||
"x-ms-summary": "File Content",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string",
|
||||
"format": "binary",
|
||||
"description": "Binary file content"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/getFolderAttributesFromTrigger": {
|
||||
"get": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK, Success",
|
||||
"schema": {}
|
||||
}
|
||||
},
|
||||
"summary": "Get dynamic schema based on project Id and trigger Id",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "projectId",
|
||||
"in": "query",
|
||||
"required": true,
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "triggerId",
|
||||
"in": "query",
|
||||
"required": true,
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "Accept",
|
||||
"in": "header",
|
||||
"required": true,
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "Get dynamic schema based on project Id and trigger Id",
|
||||
"operationId": "GET_DYNAMIC_SCHEMA_PROJECTID_TRIGGERID",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"x-ms-visibility": "internal"
|
||||
}
|
||||
}
|
||||
},
|
||||
"definitions": {},
|
||||
"parameters": {},
|
||||
"responses": {},
|
||||
"securityDefinitions": {
|
||||
"oauth2_auth": {
|
||||
"type": "oauth2",
|
||||
"flow": "accessCode",
|
||||
"authorizationUrl": "https://oauthak.asite.com/oauth/authorize",
|
||||
"tokenUrl": "https://oauthak.asite.com/oauth/token",
|
||||
"scopes": {
|
||||
"DOCUMENT_READ DOCUMENT_WRITE": "DOCUMENT_READ DOCUMENT_WRITE"
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"oauth2_auth": [
|
||||
"DOCUMENT_READ DOCUMENT_WRITE"
|
||||
]
|
||||
}
|
||||
],
|
||||
"tags": []
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
{
|
||||
"properties": {
|
||||
"connectionParameters": {
|
||||
"token": {
|
||||
"type": "oauthSetting",
|
||||
"oAuthSettings": {
|
||||
"identityProvider": "oauth2",
|
||||
"clientId": "{{ client id }}",
|
||||
"scopes": [
|
||||
"DOCUMENT_READ DOCUMENT_WRITE"
|
||||
],
|
||||
"redirectMode": "Global",
|
||||
"properties": {
|
||||
"IsFirstParty": "False"
|
||||
},
|
||||
"customParameters": {
|
||||
"authorizationUrl": {
|
||||
"value": "https://oauthak.asite.com/oauth/authorize"
|
||||
},
|
||||
"tokenUrl": {
|
||||
"value": "https://oauthak.asite.com/oauth/token"
|
||||
},
|
||||
"refreshUrl": {
|
||||
"value": "https://oauthak.asite.com/oauth/token"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"iconBrandColor": "#fffafa",
|
||||
"capabilities": [],
|
||||
"policyTemplateInstances": [
|
||||
{
|
||||
"templateId": "dynamichosturl",
|
||||
"title": "set Host URL",
|
||||
"parameters": {
|
||||
"x-ms-apimTemplateParameter.urlTemplate": "@queryParameters('projectId')",
|
||||
"x-ms-apimTemplate-operationName": [
|
||||
"GET_ASITE_FOLDER_LIST",
|
||||
"ASITE_TRIGGER_LIST",
|
||||
"DELETE_TRIGGER_WEBHOOK",
|
||||
"GET_CUSTOM_ATTR_DYNAMIC_SCHEMA",
|
||||
"SET_FILE_METADATA",
|
||||
"UPLOAD_BINARY_FILE",
|
||||
"GET_DYNAMIC_SCHEMA_PROJECTID_TRIGGERID",
|
||||
"ASITE_TRIGGER_EVENT"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"publisher": "Asite Solutions Pvt Ltd",
|
||||
"stackOwner": "Asite Solutions Pvt Ltd"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
# AtBot Admin Connector
|
||||
AtBot by H3 Solutions, Inc., is a business bot that services the Microsoft cloud.
|
||||
|
||||
## Supported Operations
|
||||
|
||||
| Operation Name | Description |
|
||||
| ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| **When a skill is created or modified** | This operation triggers when a skill is created or updated. |
|
||||
| **Redact bot message** | Replace a bot message with a redaction message. |
|
||||
| **Get Admin Item Types for Read** | Get all Admin Item Types for Read |
|
||||
| **Get Admin Item Types for Create** | Get all Admin Item Types for Create |
|
||||
| **Get Admin Item Types for Update** | Get all Admin Item Types for Update |
|
||||
| **Get Admin Item Types for Delete** | Get all Admin Item Types for Delete |
|
||||
| **Get Admin Items by Type** | Get an Admin Items by Type |
|
||||
| **Create Admin Item by Type** | Create an Admin Item by Type |
|
||||
| **Update Admin Item by Type and Id** | Update an Admin Item by Type and Id |
|
||||
| **Get Admin Item by Type and Id** | Get an Admin Item by Type and Id |
|
||||
| **Delete Admin Item by Type and Id** | Delete an Admin Item by Type and Id |
|
|
@ -0,0 +1,941 @@
|
|||
{
|
||||
"swagger": "2.0",
|
||||
"info": {
|
||||
"version": "2.2.0",
|
||||
"title": "AtBot Admin",
|
||||
"description": "AtBot is a no-code bot building service that allows you to create conversational UIs quickly without any programming experience. The Admin connector provides programmatic access to the configuration portal.",
|
||||
"contact": {
|
||||
"name": "AtBot Support",
|
||||
"url": "https://admin.atbot.io/Docs",
|
||||
"email": "support@atbot.io"
|
||||
}
|
||||
},
|
||||
"host": "bizzywork.azurewebsites.net",
|
||||
"basePath": "/",
|
||||
"schemes": [
|
||||
"https"
|
||||
],
|
||||
"consumes": [],
|
||||
"produces": [],
|
||||
"paths": {
|
||||
"/api/triggers/webhooks/registerAdmin_SkillModified": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"WebHookRegistrations"
|
||||
],
|
||||
"summary": "When a skill is created or modified",
|
||||
"description": "This operation triggers when a skill is created or updated.",
|
||||
"x-ms-no-generic-test": true,
|
||||
"operationId": "WebHookRegistrations_Post_SkillModified",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "webHook",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/WebHookEx_Admin_SkillModified"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/WebHook"
|
||||
}
|
||||
}
|
||||
},
|
||||
"deprecated": false,
|
||||
"x-ms-trigger": "single"
|
||||
},
|
||||
"x-ms-notification-content": {
|
||||
"description": "Data from the bot.",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/SkillModifiedTriggerOutput"
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/triggers/webhooks/delete_Admin": {
|
||||
"delete": {
|
||||
"tags": [
|
||||
"WebHookRegistrations"
|
||||
],
|
||||
"summary": "Delete webhook",
|
||||
"description": "Deletes the webhook.",
|
||||
"x-ms-no-generic-test": true,
|
||||
"operationId": "WebHookRegistrations_Delete",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "id",
|
||||
"in": "query",
|
||||
"description": "WebHook Id.",
|
||||
"required": true,
|
||||
"x-ms-summary": "WebHook Id",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "pid",
|
||||
"in": "query",
|
||||
"description": "Principal Id.",
|
||||
"required": true,
|
||||
"x-ms-summary": "Principal Id",
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK"
|
||||
}
|
||||
},
|
||||
"deprecated": false,
|
||||
"x-ms-visibility": "internal"
|
||||
}
|
||||
},
|
||||
"/api/triggers/admin/redactBotMessage": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"Bot Data Compliance"
|
||||
],
|
||||
"summary": "Redact bot message",
|
||||
"description": "Replace a bot message with a redaction message.",
|
||||
"operationId": "Admin_RedactBotMessage",
|
||||
"consumes": [],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "content",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/AdminRedactBotMessageInfo"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/AdminRedactBotMessagePayload"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Unable to redact bot message."
|
||||
},
|
||||
"500": {
|
||||
"description": "Error redacting bot message."
|
||||
}
|
||||
},
|
||||
"deprecated": false
|
||||
}
|
||||
},
|
||||
"/api/triggers/admin/ListAdminItemTypesForGet": {
|
||||
"get": {
|
||||
"tags": [ "Admin Item Types for Read" ],
|
||||
"summary": "Get Admin Item Types for Read",
|
||||
"description": "Get all Admin Item Types for Read",
|
||||
"operationId": "ListAdminItemTypesForGet",
|
||||
"consumes": [],
|
||||
"produces": [ "application/json" ],
|
||||
"parameters": [],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/AdminItemType"
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "No Admin Item Types found."
|
||||
},
|
||||
"500": {
|
||||
"description": "Error looking up Admin Item Types."
|
||||
}
|
||||
},
|
||||
"deprecated": false,
|
||||
"x-ms-visibility": "internal"
|
||||
}
|
||||
},
|
||||
"/api/triggers/admin/ListAdminItemTypesForCreate": {
|
||||
"get": {
|
||||
"tags": [ "Admin Item Types for Create" ],
|
||||
"summary": "Get Admin Item Types for Create",
|
||||
"description": "Get all Admin Item Types for Create",
|
||||
"operationId": "ListAdminItemTypesForCreate",
|
||||
"consumes": [],
|
||||
"produces": [ "application/json" ],
|
||||
"parameters": [],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/AdminItemType"
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "No Admin Item Types found."
|
||||
},
|
||||
"500": {
|
||||
"description": "Error looking up Admin Item Types."
|
||||
}
|
||||
},
|
||||
"deprecated": false,
|
||||
"x-ms-visibility": "internal"
|
||||
}
|
||||
},
|
||||
"/api/triggers/admin/ListAdminItemTypesForUpdate": {
|
||||
"get": {
|
||||
"tags": [ "Admin Item Types for Update" ],
|
||||
"summary": "Get Admin Item Types for Update",
|
||||
"description": "Get all Admin Item Types for Update",
|
||||
"operationId": "ListAdminItemTypesForUpdate",
|
||||
"consumes": [],
|
||||
"produces": [ "application/json" ],
|
||||
"parameters": [],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/AdminItemType"
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "No Admin Item Types found."
|
||||
},
|
||||
"500": {
|
||||
"description": "Error looking up Admin Item Types."
|
||||
}
|
||||
},
|
||||
"deprecated": false,
|
||||
"x-ms-visibility": "internal"
|
||||
}
|
||||
},
|
||||
"/api/triggers/admin/ListAdminItemTypesForDelete": {
|
||||
"get": {
|
||||
"tags": [ "Admin Item Types for Delete" ],
|
||||
"summary": "Get Admin Item Types for Delete",
|
||||
"description": "Get all Admin Item Types for Delete",
|
||||
"operationId": "ListAdminItemTypesForDelete",
|
||||
"consumes": [],
|
||||
"produces": [ "application/json" ],
|
||||
"parameters": [],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/AdminItemType"
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "No Admin Item Types found."
|
||||
},
|
||||
"500": {
|
||||
"description": "Error looking up Admin Item Types."
|
||||
}
|
||||
},
|
||||
"deprecated": false,
|
||||
"x-ms-visibility": "internal"
|
||||
}
|
||||
},
|
||||
"/api/triggers/admin/AdminItems/{type}": {
|
||||
"get": {
|
||||
"tags": [ "Admin Item Types for Read" ],
|
||||
"summary": "Get Admin Items by Type",
|
||||
"description": "Get an Admin Items by Type",
|
||||
"operationId": "GetAdminItem",
|
||||
"consumes": [],
|
||||
"produces": [ "application/json" ],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "type",
|
||||
"in": "path",
|
||||
"description": "Select the type of item to get.",
|
||||
"required": true,
|
||||
"x-ms-summary": "Selected Type",
|
||||
"x-ms-dynamic-values": {
|
||||
"operationId": "ListAdminItemTypesForGet",
|
||||
"parameters": {},
|
||||
"value-path": "value",
|
||||
"value-title": "name"
|
||||
},
|
||||
"type": "integer",
|
||||
"format": "int32"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/DynamicSchemaGetAdminItemOutput"
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "No Admin Items found."
|
||||
},
|
||||
"500": {
|
||||
"description": "Error getting Admin Items."
|
||||
}
|
||||
},
|
||||
"deprecated": false
|
||||
},
|
||||
"post": {
|
||||
"tags": [ "Admin Item Types for Create" ],
|
||||
"summary": "Create Admin Item by Type",
|
||||
"description": "Create an Admin Item by Type",
|
||||
"operationId": "CreateAdminItem",
|
||||
"consumes": [],
|
||||
"produces": [ "application/json" ],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "type",
|
||||
"in": "path",
|
||||
"description": "Select the type of item to get.",
|
||||
"required": true,
|
||||
"x-ms-summary": "Selected Type",
|
||||
"x-ms-dynamic-values": {
|
||||
"operationId": "ListAdminItemTypesForCreate",
|
||||
"parameters": {},
|
||||
"value-path": "value",
|
||||
"value-title": "name"
|
||||
},
|
||||
"type": "integer",
|
||||
"format": "int32"
|
||||
},
|
||||
{
|
||||
"name": "content",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"x-ms-dynamic-schema": {
|
||||
"operationId": "AdminItem_GetFieldsCreate",
|
||||
"parameters": {
|
||||
"type": {
|
||||
"parameter": "type"
|
||||
}
|
||||
},
|
||||
"value-path": "notifications"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/DynamicSchemaCreateUpdateAdminItemOutput"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "No Admin Items found."
|
||||
},
|
||||
"500": {
|
||||
"description": "Error creating Admin Item."
|
||||
}
|
||||
},
|
||||
"deprecated": false
|
||||
},
|
||||
"put": {
|
||||
"tags": [ "Admin Item Types for Update" ],
|
||||
"summary": "Update Admin Item by Type and Id",
|
||||
"description": "Update an Admin Item by Type and Id",
|
||||
"operationId": "UpdateAdminItem",
|
||||
"consumes": [],
|
||||
"produces": [ "application/json" ],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "type",
|
||||
"in": "path",
|
||||
"description": "Select the type of item to get.",
|
||||
"required": true,
|
||||
"x-ms-summary": "Selected Type",
|
||||
"x-ms-dynamic-values": {
|
||||
"operationId": "ListAdminItemTypesForUpdate",
|
||||
"parameters": {},
|
||||
"value-path": "value",
|
||||
"value-title": "name"
|
||||
},
|
||||
"type": "integer",
|
||||
"format": "int32"
|
||||
},
|
||||
{
|
||||
"name": "content",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"x-ms-dynamic-schema": {
|
||||
"operationId": "AdminItem_GetFieldsUpdate",
|
||||
"parameters": {
|
||||
"type": {
|
||||
"parameter": "type"
|
||||
}
|
||||
},
|
||||
"value-path": "notifications"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/DynamicSchemaCreateUpdateAdminItemOutput"
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "No Admin Items found."
|
||||
},
|
||||
"500": {
|
||||
"description": "Error updating Admin Item."
|
||||
}
|
||||
},
|
||||
"deprecated": false
|
||||
}
|
||||
},
|
||||
"/api/triggers/admin/AdminItems/{type}/{id}": {
|
||||
"get": {
|
||||
"tags": [ "Admin Item Types for Read" ],
|
||||
"summary": "Get Admin Item by Type and Id",
|
||||
"description": "Get an Admin Item by Type and Id",
|
||||
"operationId": "GetAdminItemById",
|
||||
"consumes": [],
|
||||
"produces": [ "application/json" ],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "type",
|
||||
"in": "path",
|
||||
"description": "Select the type of item to get.",
|
||||
"required": true,
|
||||
"x-ms-summary": "Selected Type",
|
||||
"x-ms-dynamic-values": {
|
||||
"operationId": "ListAdminItemTypesForGet",
|
||||
"parameters": {},
|
||||
"value-path": "value",
|
||||
"value-title": "name"
|
||||
},
|
||||
"type": "integer",
|
||||
"format": "int32"
|
||||
},
|
||||
{
|
||||
"name": "id",
|
||||
"in": "path",
|
||||
"description": "Provide the Id of item to get. Type NA when retrieving Logging and Settings",
|
||||
"required": true,
|
||||
"x-ms-summary": "Admin Item Id",
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/DynamicSchemaGetAdminItemOutput"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "No Admin Items found."
|
||||
},
|
||||
"500": {
|
||||
"description": "Error getting Admin Item."
|
||||
}
|
||||
},
|
||||
"deprecated": false
|
||||
},
|
||||
"delete": {
|
||||
"tags": [ "Admin Item Types for Delete" ],
|
||||
"summary": "Delete Admin Item by Type and Id",
|
||||
"description": "Delete an Admin Item by Type and Id",
|
||||
"operationId": "DeleteAdminItem",
|
||||
"consumes": [],
|
||||
"produces": [ "application/json" ],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "type",
|
||||
"in": "path",
|
||||
"description": "Select the type of item to delete.",
|
||||
"required": true,
|
||||
"x-ms-summary": "Selected Type",
|
||||
"x-ms-dynamic-values": {
|
||||
"operationId": "ListAdminItemTypesForDelete",
|
||||
"parameters": {},
|
||||
"value-path": "value",
|
||||
"value-title": "name"
|
||||
},
|
||||
"type": "integer",
|
||||
"format": "int32"
|
||||
},
|
||||
{
|
||||
"name": "id",
|
||||
"in": "path",
|
||||
"description": "Provide the Id of item to delete.",
|
||||
"required": true,
|
||||
"x-ms-summary": "Admin Item Id",
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK"
|
||||
},
|
||||
"400": {
|
||||
"description": "No Admin Items found."
|
||||
},
|
||||
"500": {
|
||||
"description": "Error deleting Admin Item."
|
||||
}
|
||||
},
|
||||
"deprecated": false
|
||||
}
|
||||
},
|
||||
"/api/triggers/admin/dynamicSchemaGetAdminItemOutput": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"Admin Item Types for Read"
|
||||
],
|
||||
"summary": "Get Admin Item Output Schema",
|
||||
"description": "For internal use only.",
|
||||
"operationId": "GenerateDynamicSchemaGetAdminItemOutput",
|
||||
"consumes": [],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "type",
|
||||
"in": "query",
|
||||
"description": "The Item Type.",
|
||||
"required": true,
|
||||
"x-ms-summary": "Item Type",
|
||||
"type": "integer",
|
||||
"format": "int32"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
},
|
||||
"deprecated": false,
|
||||
"x-ms-visibility": "internal"
|
||||
}
|
||||
},
|
||||
"/api/triggers/admin/dynamicSchemaCreateUpdateAdminItemOutput": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"Admin Item Types for Create"
|
||||
],
|
||||
"summary": "Create or Update Admin Item Output Schema",
|
||||
"description": "For internal use only.",
|
||||
"operationId": "GenerateDynamicSchemaCreateUpdateAdminItemOutput",
|
||||
"consumes": [],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "type",
|
||||
"in": "query",
|
||||
"description": "The Item Type.",
|
||||
"required": true,
|
||||
"x-ms-summary": "Item Type",
|
||||
"type": "integer",
|
||||
"format": "int32"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
},
|
||||
"deprecated": false,
|
||||
"x-ms-visibility": "internal"
|
||||
}
|
||||
},
|
||||
"/api/triggers/admin/dynamicSchemaCreateAdminItemFields": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"Admin Item Types for Create"
|
||||
],
|
||||
"summary": "Create Admin Item Field Schema",
|
||||
"description": "For internal use only.",
|
||||
"operationId": "AdminItem_GetFieldsCreate",
|
||||
"consumes": [],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "type",
|
||||
"in": "query",
|
||||
"description": "The Item Type.",
|
||||
"required": true,
|
||||
"x-ms-summary": "Item Type",
|
||||
"type": "integer",
|
||||
"format": "int32"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
},
|
||||
"deprecated": false,
|
||||
"x-ms-visibility": "internal"
|
||||
}
|
||||
},
|
||||
"/api/triggers/admin/dynamicSchemaUpdateAdminItemFields": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"Admin Item Types for Update"
|
||||
],
|
||||
"summary": "Update Admin Item Field Schema",
|
||||
"description": "For internal use only.",
|
||||
"operationId": "AdminItem_GetFieldsUpdate",
|
||||
"consumes": [],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "type",
|
||||
"in": "query",
|
||||
"description": "The Item Type.",
|
||||
"required": true,
|
||||
"x-ms-summary": "Item Type",
|
||||
"type": "integer",
|
||||
"format": "int32"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
},
|
||||
"deprecated": false,
|
||||
"x-ms-visibility": "internal"
|
||||
}
|
||||
},
|
||||
"/api/triggers/admin/ListSpeechRegions": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"Speech Regions"
|
||||
],
|
||||
"summary": "List Speech Regions",
|
||||
"description": "List suppported speech regions.",
|
||||
"operationId": "ListSpeechRegions",
|
||||
"consumes": [],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"parameters": [],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/SpeechRegion"
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "No speech regions found."
|
||||
},
|
||||
"500": {
|
||||
"description": "Error looking up speech regions."
|
||||
}
|
||||
},
|
||||
"deprecated": false,
|
||||
"x-ms-visibility": "internal"
|
||||
}
|
||||
}
|
||||
},
|
||||
"definitions": {
|
||||
"AdminItemType": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"value": {
|
||||
"type": "integer",
|
||||
"format": "int32"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DynamicSchemaGetAdminItemOutput": {
|
||||
"type": "object",
|
||||
"x-ms-dynamic-schema": {
|
||||
"operationId": "GenerateDynamicSchemaGetAdminItemOutput",
|
||||
"parameters": {
|
||||
"type": {
|
||||
"parameter": "type"
|
||||
}
|
||||
},
|
||||
"value-path": "item"
|
||||
}
|
||||
},
|
||||
"DynamicSchemaCreateUpdateAdminItemOutput": {
|
||||
"type": "object",
|
||||
"x-ms-dynamic-schema": {
|
||||
"operationId": "GenerateDynamicSchemaCreateUpdateAdminItemOutput",
|
||||
"parameters": {
|
||||
"type": {
|
||||
"parameter": "type"
|
||||
}
|
||||
},
|
||||
"value-path": "item"
|
||||
}
|
||||
},
|
||||
"SpeechRegion": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "integer",
|
||||
"format": "int32"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"AdminRedactBotMessageInfo": {
|
||||
"required": [
|
||||
"messageRef",
|
||||
"redactionMessage"
|
||||
],
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"messageRef": {
|
||||
"description": "Message reference from chat transcripts.",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Message reference"
|
||||
},
|
||||
"redactionMessage": {
|
||||
"description": "Type the message which will replace the bot message.",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Redaction message"
|
||||
}
|
||||
}
|
||||
},
|
||||
"AdminRedactBotMessagePayload": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"response": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"SkillModifiedTriggerOutput": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"skillId": {
|
||||
"description": "ID of the skill.",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Skill ID"
|
||||
},
|
||||
"skillName": {
|
||||
"description": "Name of the skill.",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Skill Name"
|
||||
},
|
||||
"userName": {
|
||||
"description": "User who created or updated the skill.",
|
||||
"type": "string",
|
||||
"x-ms-summary": "User Name"
|
||||
},
|
||||
"categoryCount": {
|
||||
"description": "Count of categories the skill is in. Will be 0 for uncategorized skills.",
|
||||
"type": "integer",
|
||||
"x-ms-summary": "Category Count"
|
||||
},
|
||||
"categoryJSON": {
|
||||
"description": "Category Json.",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Category Json"
|
||||
},
|
||||
"keywordJSON": {
|
||||
"description": "Keyword Json.",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Keyword Json"
|
||||
},
|
||||
"intentJSON": {
|
||||
"description": "LUIS Intents Json.",
|
||||
"type": "string",
|
||||
"x-ms-summary": "LUIS Intents Json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"WebHookEx_Admin_SkillModified": {
|
||||
"required": [
|
||||
"webHookUri"
|
||||
],
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string",
|
||||
"x-ms-visibility": "internal"
|
||||
},
|
||||
"webHookUri": {
|
||||
"type": "string",
|
||||
"x-ms-notification-url": true,
|
||||
"x-ms-visibility": "internal"
|
||||
},
|
||||
"secret": {
|
||||
"type": "string",
|
||||
"x-ms-visibility": "internal"
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"x-ms-visibility": "internal"
|
||||
},
|
||||
"isPaused": {
|
||||
"type": "boolean",
|
||||
"x-ms-visibility": "internal"
|
||||
},
|
||||
"filters": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"readOnly": true
|
||||
},
|
||||
"headers": {
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "string"
|
||||
},
|
||||
"readOnly": true
|
||||
},
|
||||
"properties": {
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "object"
|
||||
},
|
||||
"readOnly": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"WebHook": {
|
||||
"required": [
|
||||
"webHookUri"
|
||||
],
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string",
|
||||
"x-ms-visibility": "internal"
|
||||
},
|
||||
"webHookUri": {
|
||||
"type": "string",
|
||||
"x-ms-notification-url": true,
|
||||
"x-ms-visibility": "internal"
|
||||
},
|
||||
"secret": {
|
||||
"type": "string",
|
||||
"x-ms-visibility": "internal"
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"x-ms-visibility": "internal"
|
||||
},
|
||||
"isPaused": {
|
||||
"type": "boolean",
|
||||
"x-ms-visibility": "internal"
|
||||
},
|
||||
"filters": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"readOnly": true
|
||||
},
|
||||
"headers": {
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "string"
|
||||
},
|
||||
"readOnly": true
|
||||
},
|
||||
"properties": {
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "object"
|
||||
},
|
||||
"readOnly": true
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"parameters": {},
|
||||
"responses": {},
|
||||
"securityDefinitions": {
|
||||
"AAD": {
|
||||
"type": "oauth2",
|
||||
"flow": "accessCode",
|
||||
"authorizationUrl": "https://login.windows.net/common/oauth2/authorize",
|
||||
"tokenUrl": "https://login.windows.net/common/oauth2/token",
|
||||
"scopes": {}
|
||||
}
|
||||
},
|
||||
"security": [],
|
||||
"tags": [],
|
||||
"x-ms-connector-metadata": [
|
||||
{
|
||||
"propertyName": "Website",
|
||||
"propertyValue": "https://admin.atbot.io"
|
||||
},
|
||||
{
|
||||
"propertyName": "Privacy policy",
|
||||
"propertyValue": "https://admin.atbot.io/privacy"
|
||||
},
|
||||
{
|
||||
"propertyName": "Categories",
|
||||
"propertyValue": "AI;Productivity"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
{
|
||||
"properties": {
|
||||
"capabilities": [],
|
||||
"connectionParameters": {
|
||||
"token": {
|
||||
"oAuthSettings": {
|
||||
"clientId": null,
|
||||
"customParameters": {
|
||||
"loginUri": {
|
||||
"value": "https://login.windows.net"
|
||||
},
|
||||
"resourceUri": {
|
||||
"value": null
|
||||
},
|
||||
"tenantId": {
|
||||
"value": "common"
|
||||
}
|
||||
},
|
||||
"identityProvider": "aad",
|
||||
"properties": {
|
||||
"IsFirstParty": "False"
|
||||
},
|
||||
"redirectUrl": "https://global.consent.azure-apim.net/redirect",
|
||||
"scopes": []
|
||||
},
|
||||
"type": "oauthSetting"
|
||||
}
|
||||
},
|
||||
"iconBrandColor": "#1a050d",
|
||||
"publisher": "H3 Solutions, Inc.",
|
||||
"stackOwner": "H3 Solutions, Inc.",
|
||||
"policyTemplateInstances": []
|
||||
}
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
|
||||
## AvePoint Cloud Governance
|
||||
|
||||
The AvePoint Cloud Governance connector offers automation and integration of Cloud Governance functions through Power Automate. You can use the Cloud Governance connector in Power Automate to automate your working processes.
|
||||
|
||||
|
||||
## Pre-requisites
|
||||
|
||||
|
||||
You will need the following to proceed:
|
||||
|
||||
• You need to be an AvePoint Cloud Governance administrator.
|
||||
|
||||
• You need to create an API Authentication Profile in AvePoint Cloud Governance to generate a client secret. The client secret will be used to call the Cloud Governance API.
|
||||
|
||||
|
||||
## Supported Operations
|
||||
|
||||
The connector supports the following operations:
|
||||
|
||||
- `Get a request` : Get details of a request.
|
||||
- `Submit a request` : Submit a request for a specific service.
|
||||
- `List workspaces` : Retrieve a list of workspaces managed by Cloud Governance.
|
||||
- `Update a request` : Update an existing request.
|
||||
|
||||
|
||||
## Deployment instructions
|
||||
|
||||
Please refer to [these instructions](https://docs.microsoft.com/en-us/connectors/custom-connectors/paconn-cli) to deploy this connector as custom connector in Microsoft Power Automate and Power Apps.
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"properties": {
|
||||
"connectionParameters": {
|
||||
"username": {
|
||||
"type": "securestring",
|
||||
"uiDefinition": {
|
||||
"displayName": "Username",
|
||||
"description": "Enter your username. You must be an AvePoint Cloud Governance administrator.",
|
||||
"tooltip": "Username",
|
||||
"constraints": {
|
||||
"tabIndex": 2,
|
||||
"clearText": true,
|
||||
"required": "true"
|
||||
}
|
||||
}
|
||||
},
|
||||
"password": {
|
||||
"type": "securestring",
|
||||
"uiDefinition": {
|
||||
"displayName": "Client Secret",
|
||||
"description": "Enter the client secret to authenticate with AvePoint Cloud Governance API.",
|
||||
"tooltip": "Client Secret",
|
||||
"constraints": {
|
||||
"tabIndex": 3,
|
||||
"clearText": false,
|
||||
"required": "true"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"iconBrandColor": "#EE3C2D",
|
||||
"capabilities": [],
|
||||
"publisher":"AvePoint, inc.",
|
||||
"stackOwner":"AvePoint, inc."
|
||||
}
|
||||
}
|
|
@ -9,7 +9,8 @@
|
|||
"status": "Production"
|
||||
},
|
||||
"contact": {
|
||||
"name": "Microsoft"
|
||||
"name": "Microsoft",
|
||||
"url": "https://support.microsoft.com"
|
||||
}
|
||||
},
|
||||
"host": "graph.microsoft.com",
|
||||
|
@ -250,7 +251,6 @@
|
|||
{
|
||||
"$ref": "#/parameters/id__in_path_2"
|
||||
}
|
||||
|
||||
],
|
||||
"responses": {
|
||||
"204": {
|
||||
|
@ -815,37 +815,6 @@
|
|||
"x-ms-summary": "Preferred Language",
|
||||
"x-ms-visibility": "advanced"
|
||||
},
|
||||
"forceChangePasswordNextSignIn": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"passwordProfile"
|
||||
|
||||
],
|
||||
"properties": {
|
||||
"forceChangePasswordNextSignIn": {
|
||||
"type": "boolean",
|
||||
"description": "Requires the user to enter a new password",
|
||||
"x-ms-summary": "Rest Password",
|
||||
"default": false
|
||||
}
|
||||
},
|
||||
"x-ms-visibility": "important"
|
||||
},
|
||||
"forceChangePasswordNextSignInWithMfa": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"passwordProfile"
|
||||
],
|
||||
"properties": {
|
||||
"forceChangePasswordNextSignInWithMfa": {
|
||||
"type": "boolean",
|
||||
"description": "Requires the user to perform a MFA.",
|
||||
"x-ms-summary": "perform a MFA",
|
||||
"default": false
|
||||
}
|
||||
},
|
||||
"x-ms-visibility": "important"
|
||||
},
|
||||
"businessPhones": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
|
@ -854,6 +823,97 @@
|
|||
"x-ms-summary": "Business Phone"
|
||||
},
|
||||
"x-ms-visibility": "advanced"
|
||||
},
|
||||
"customProperties": {
|
||||
"description": "Free form property name and value for this user.",
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "string"
|
||||
},
|
||||
"x-ms-summary": "Additional Properties",
|
||||
"x-ms-editor": "dictionary",
|
||||
"x-ms-visibility": "advanced"
|
||||
},
|
||||
"onPremisesExtensionAttributes": {
|
||||
"type": "object",
|
||||
"x-ms-visibility": "advanced",
|
||||
"properties": {
|
||||
"extensionAttribute1": {
|
||||
"type": "string",
|
||||
"description": "First customizable extension attribute.",
|
||||
"x-ms-summary": "First customizable extension attribute"
|
||||
},
|
||||
"extensionAttribute2": {
|
||||
"type": "string",
|
||||
"description": "Second customizable extension attribute.",
|
||||
"x-ms-summary": "Second customizable extension attribute"
|
||||
},
|
||||
"extensionAttribute3": {
|
||||
"type": "string",
|
||||
"description": "Third customizable extension attribute.",
|
||||
"x-ms-summary": "Third customizable extension attribute"
|
||||
},
|
||||
"extensionAttribute4": {
|
||||
"type": "string",
|
||||
"description": "Fourth customizable extension attribute.",
|
||||
"x-ms-summary": "Fourth customizable extension attribute"
|
||||
},
|
||||
"extensionAttribute5": {
|
||||
"type": "string",
|
||||
"description": "Fifth customizable extension attribute.",
|
||||
"x-ms-summary": "Fifth customizable extension attribute"
|
||||
},
|
||||
"extensionAttribute6": {
|
||||
"type": "string",
|
||||
"description": "Sixth customizable extension attribute.",
|
||||
"x-ms-summary": "Sixth customizable extension attribute"
|
||||
},
|
||||
"extensionAttribute7": {
|
||||
"type": "string",
|
||||
"description": "Seventh customizable extension attribute.",
|
||||
"x-ms-summary": "Seventh customizable extension attribute"
|
||||
},
|
||||
"extensionAttribute8": {
|
||||
"type": "string",
|
||||
"description": "Eighth customizable extension attribute.",
|
||||
"x-ms-summary": "Eighth customizable extension attribute"
|
||||
},
|
||||
"extensionAttribute9": {
|
||||
"type": "string",
|
||||
"description": "Ninth customizable extension attribute.",
|
||||
"x-ms-summary": "Ninth customizable extension attribute"
|
||||
},
|
||||
"extensionAttribute10": {
|
||||
"type": "string",
|
||||
"description": "Tenth customizable extension attribute.",
|
||||
"x-ms-summary": "Tenth customizable extension attribute"
|
||||
},
|
||||
"extensionAttribute11": {
|
||||
"type": "string",
|
||||
"description": "Eleventh customizable extension attribute.",
|
||||
"x-ms-summary": "Eleventh customizable extension attribute"
|
||||
},
|
||||
"extensionAttribute12": {
|
||||
"type": "string",
|
||||
"description": "Twelfth customizable extension attribute.",
|
||||
"x-ms-summary": "Twelfth customizable extension attribute"
|
||||
},
|
||||
"extensionAttribute13": {
|
||||
"type": "string",
|
||||
"description": "Thirteenth customizable extension attribute.",
|
||||
"x-ms-summary": "Thirteenth customizable extension attribute"
|
||||
},
|
||||
"extensionAttribute14": {
|
||||
"type": "string",
|
||||
"description": "Fourteenth customizable extension attribute.",
|
||||
"x-ms-summary": "Fourteenth customizable extension attribute"
|
||||
},
|
||||
"extensionAttribute15": {
|
||||
"type": "string",
|
||||
"description": "Fifteenth customizable extension attribute.",
|
||||
"x-ms-summary": "Fifteenth customizable extension attribute"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"x-ms-test-value": {
|
||||
|
@ -1074,6 +1134,14 @@
|
|||
{
|
||||
"propertyName": "Privacy policy",
|
||||
"propertyValue": "https://privacy.microsoft.com/en-us/privacystatement"
|
||||
},
|
||||
{
|
||||
"propertyName": "Website",
|
||||
"propertyValue": "https://azure.microsoft.com/en-us/services/active-directory"
|
||||
},
|
||||
{
|
||||
"propertyName": "Categories",
|
||||
"propertyValue": "IT Operations;Security"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -124,6 +124,21 @@
|
|||
},
|
||||
"templateId": "updatenextlink",
|
||||
"title": "Updates next link to make paging work"
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"x-ms-apimTemplateParameter.srcParentPath": "@body()",
|
||||
"x-ms-apimTemplateParameter.srcSubPath": "customProperties",
|
||||
"x-ms-apimTemplateParameter.dstParentPath": "@body()",
|
||||
"x-ms-apimTemplateParameter.dstSubPath": "null",
|
||||
"x-ms-apimTemplateParameter.copyOnlySubProperties": "true",
|
||||
"x-ms-apimTemplate-policySection": "Request",
|
||||
"x-ms-apimTemplate-operationName": [
|
||||
"UpdateUser"
|
||||
]
|
||||
},
|
||||
"templateId": "moveproperties",
|
||||
"title": "Move Properties on User Update"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
# Bitvore Entity API
|
||||
|
||||
## Description
|
||||
|
||||
The corporate entities, companies or organizations, that the articles the Corporate News API returns are persisted in the Bitvore Knowledge Graph. The Entity API provides access to the information about those corporate entities.
|
||||
|
||||
![Entity Information](https://s3.amazonaws.com/static.assets.bitvore.com/api-docs/entity.png)
|
||||
|
||||
Companies can be searched for based on some criteria or directly using a Bitvore ID which uniquely identifies an entity in the Bitvore system. When using the Bitvore ID the entire company profile will be returned for that single company. If one is unsure what the Bitvore ID of a company is a search can be performed using different profile properties such as name, ticker, industry, etc. The API will return all companies that match the search criteria. Only summary information is returned but it should be enough information to identify the exact company being searched for. Once the Bitvore ID is found news can be retrieved for the company using the Corporate News API.
|
||||
|
||||
![Entity Lookup](https://s3.amazonaws.com/static.assets.bitvore.com/api-docs/entity-lookup.png)
|
||||
|
||||
The Bitvore ID for a company never changes so it is recommended that clients save the Bitvore IDs for future use instead of calling the Entity API each time if possible.
|
||||
|
||||
Each company has a monitoring state field which can have the value “active” or “inactive”. Active companies are being monitored by Bitvore so news is being currently collected. An inactive company will need to be activated in order to start news collection. If you see an inactive company you would like activated please contact customer support.
|
||||
|
||||
The Entity API is part of the corporate data set and requires a corporate data set API key for access.
|
||||
|
||||
API Documentation can be found [here](https://developer.bitvore.com/docs/overview/entity-api)
|
||||
|
||||
## Pre-Requisites
|
||||
|
||||
In order to utilize the Bitvore Entity API, you need to register for an API Key by contacting the [Products Team](mailto:products@bitvore.com).
|
||||
|
||||
## Deploying the Connector
|
||||
|
||||
Run the following command and follow the prompts.
|
||||
|
||||
```sh
|
||||
paconn create --api-def apiDefinition.swagger.json --api-prop apiProperties.json
|
||||
```
|
|
@ -0,0 +1,787 @@
|
|||
{
|
||||
"swagger": "2.0",
|
||||
"info": {
|
||||
"description": "Bitvore Cellenus is a data analytics platform that uses advanced AI techniques to provide business insights on hundreds of thousands of public and private companies from diverse sets of unstructured data (including news, press releases, SEC filings/proxy statements, earnings call transcripts and more),both public and licensed. Continuously updated on a 24/7 basis, Bitvore Cellenus derives material events, trended sentiment, growth and risk scoring to drive better business outcomes for customers.",
|
||||
"version": "2.0",
|
||||
"title": "Bitvore Cellenus",
|
||||
"contact": {
|
||||
"name": "Bitvore Support",
|
||||
"url": "https://bitvore.com/contact-us/",
|
||||
"email": "support@bitvore.com"
|
||||
}
|
||||
},
|
||||
"host": "api.bitvore.com",
|
||||
"basePath": "/entityapi",
|
||||
"schemes": [
|
||||
"https",
|
||||
"http"
|
||||
],
|
||||
"consumes": [],
|
||||
"produces": [],
|
||||
"paths": {
|
||||
"/entities": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"Entity"
|
||||
],
|
||||
"summary": "Organization Search",
|
||||
"description": "Search can be performed using one of two approaches, a lookup or a parameterized query. A lookup takes a single string as input to matching entities. A paramaterized query takes one or more search parameters.",
|
||||
"operationId": "handleOrgLookupUsingGET",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "lookup",
|
||||
"in": "query",
|
||||
"description": "Lookup option. Value is used to match multiple fields.",
|
||||
"required": false,
|
||||
"type": "string",
|
||||
"x-ms-summary": "lookup",
|
||||
"x-ms-visibility": "important"
|
||||
},
|
||||
{
|
||||
"name": "name",
|
||||
"in": "query",
|
||||
"description": "One or more names to search for.",
|
||||
"required": false,
|
||||
"type": "string",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"collectionFormat": "csv",
|
||||
"x-ms-summary": "name",
|
||||
"x-ms-visibility": "advanced"
|
||||
},
|
||||
{
|
||||
"name": "ticker",
|
||||
"in": "query",
|
||||
"description": "One or more tickers to search for.",
|
||||
"required": false,
|
||||
"type": "string",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"collectionFormat": "csv",
|
||||
"x-ms-summary": "ticker",
|
||||
"x-ms-visibility": "advanced"
|
||||
},
|
||||
{
|
||||
"name": "domainName",
|
||||
"in": "query",
|
||||
"description": "One or more domain names to search for.",
|
||||
"required": false,
|
||||
"type": "string",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"collectionFormat": "csv",
|
||||
"x-ms-summary": "domainName",
|
||||
"x-ms-visibility": "advanced"
|
||||
},
|
||||
{
|
||||
"name": "location",
|
||||
"in": "query",
|
||||
"description": "One or more locations companies must have their headquarters in.",
|
||||
"required": false,
|
||||
"type": "string",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"collectionFormat": "csv",
|
||||
"x-ms-summary": "location",
|
||||
"x-ms-visibility": "advanced"
|
||||
},
|
||||
{
|
||||
"name": "fips",
|
||||
"in": "query",
|
||||
"description": "One or more FIPS codes identifying locations the companies must have their headquarters in.",
|
||||
"required": false,
|
||||
"type": "string",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"collectionFormat": "csv",
|
||||
"x-ms-summary": "fips",
|
||||
"x-ms-visibility": "advanced"
|
||||
},
|
||||
{
|
||||
"name": "zip",
|
||||
"in": "query",
|
||||
"description": "One or more zip codes identifying locations the companies must have their headquarters in.",
|
||||
"required": false,
|
||||
"type": "string",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"collectionFormat": "csv",
|
||||
"x-ms-summary": "zip",
|
||||
"x-ms-visibility": "advanced"
|
||||
},
|
||||
{
|
||||
"name": "naics",
|
||||
"in": "query",
|
||||
"description": "One or more NAICS codes identifying industries the companies must operate in.",
|
||||
"required": false,
|
||||
"type": "string",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"collectionFormat": "csv",
|
||||
"x-ms-summary": "naics",
|
||||
"x-ms-visibility": "advanced"
|
||||
},
|
||||
{
|
||||
"name": "sic",
|
||||
"in": "query",
|
||||
"description": "One or more SIC codes identifying industries the companies must operate in.",
|
||||
"required": false,
|
||||
"type": "string",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"collectionFormat": "csv",
|
||||
"x-ms-summary": "sic",
|
||||
"x-ms-visibility": "advanced"
|
||||
},
|
||||
{
|
||||
"name": "revRange",
|
||||
"in": "query",
|
||||
"description": "Revenue range (in millions) companies must fall in. The range is formated as lower-upper where lower and upper must be one of 0, 1, 10, 50, 100, 200, 1000. The upper bound can be ommited to report over 1B.",
|
||||
"required": false,
|
||||
"type": "string",
|
||||
"x-ms-summary": "revRange",
|
||||
"x-ms-visibility": "advanced"
|
||||
},
|
||||
{
|
||||
"name": "empRange",
|
||||
"in": "query",
|
||||
"description": "Employee range companies must fall in. The range is formated as lower-upper where lower and upper must be one of 1, 10, 50, 200, 500, 1000, 5000, 10000. The upper bound can be ommited to report over 1B.",
|
||||
"required": false,
|
||||
"type": "string",
|
||||
"x-ms-summary": "empRange",
|
||||
"x-ms-visibility": "advanced"
|
||||
},
|
||||
{
|
||||
"name": "pageNo",
|
||||
"in": "query",
|
||||
"description": "Page number of the total result set to return, default is 1.",
|
||||
"required": false,
|
||||
"type": "integer",
|
||||
"default": 1,
|
||||
"format": "int32",
|
||||
"x-ms-summary": "pageNo",
|
||||
"x-ms-visibility": "advanced"
|
||||
},
|
||||
{
|
||||
"name": "pageSize",
|
||||
"in": "query",
|
||||
"description": "Number of results out of the total result set per page to return, default is 100, maximum is 1000.",
|
||||
"required": false,
|
||||
"type": "integer",
|
||||
"default": 100,
|
||||
"format": "int32",
|
||||
"x-ms-summary": "pageSize",
|
||||
"x-ms-visibility": "advanced"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success.",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/OrgSearchResponse"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Invalid parameter used.",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/GeneralAPIResponse"
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "Unauthorized to view organizations.",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/GeneralAPIResponse"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Internal error.",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/GeneralAPIResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/entities/{id}": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"Entity"
|
||||
],
|
||||
"summary": "Organization Details",
|
||||
"description": "Returns detailed information about the company with the given Bitvore ID.",
|
||||
"operationId": "handleGetOrgUsingGET",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "id",
|
||||
"in": "path",
|
||||
"description": "id",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-summary": "id",
|
||||
"x-ms-url-encoding": "single",
|
||||
"x-ms-visibility": "important"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success.",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/OrganizationDetails"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Invalid parameter used.",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/GeneralAPIResponse"
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "Unauthorized to view organizations.",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/GeneralAPIResponse"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Internal error.",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/GeneralAPIResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/matches": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"Entity"
|
||||
],
|
||||
"summary": "Organization Matching",
|
||||
"description": "Attempts to find companies matching input specifications made up of a list of property values. Multiple companies can be matched in a single call.",
|
||||
"operationId": "handleOrgMatchingUsingPOST",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"in": "body",
|
||||
"name": "specs",
|
||||
"description": "specs",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/OrganizationMatchingSpecification"
|
||||
}
|
||||
},
|
||||
"x-ms-visibility": "important"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success.",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/SingleOrganizationMatchingResult"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Invalid parameter used.",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/GeneralAPIResponse"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Internal error.",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/GeneralAPIResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/version": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"Entity"
|
||||
],
|
||||
"summary": "Return API Version",
|
||||
"description": "Deprecated",
|
||||
"operationId": "getVersionUsingGET_2",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success.",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/VersionAPIResponse"
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "Unauthorized to get version.",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/GeneralAPIResponse"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Internal error.",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/GeneralAPIResponse"
|
||||
}
|
||||
}
|
||||
},
|
||||
"parameters": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"definitions": {
|
||||
"Exchange": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"alias": {
|
||||
"type": "string",
|
||||
"example": "NYSE",
|
||||
"description": "More commonly used acronym for the exchange"
|
||||
},
|
||||
"mic": {
|
||||
"type": "string",
|
||||
"example": "XNYS",
|
||||
"description": "Market Identifier Code (MIC). Deprecated in favor of the market symbol."
|
||||
},
|
||||
"symbol": {
|
||||
"type": "string",
|
||||
"example": "NYQ",
|
||||
"description": "Exchange symbol"
|
||||
}
|
||||
}
|
||||
},
|
||||
"GeneralAPIResponse": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"reason",
|
||||
"reasonSupport",
|
||||
"response",
|
||||
"success"
|
||||
],
|
||||
"properties": {
|
||||
"reason": {
|
||||
"type": "string",
|
||||
"example": "Could not locate subject.",
|
||||
"description": "Text reason for the failure (if not successful)"
|
||||
},
|
||||
"reasonSupport": {
|
||||
"type": "object",
|
||||
"example": "Longer description of the missing subject.",
|
||||
"description": "Additional information about the failure (if not successful)"
|
||||
},
|
||||
"response": {
|
||||
"type": "object",
|
||||
"description": "Response payload"
|
||||
},
|
||||
"success": {
|
||||
"type": "boolean",
|
||||
"example": true,
|
||||
"description": "Indicates whether the call was successful or not"
|
||||
}
|
||||
},
|
||||
"description": "Properties common to most API responses."
|
||||
},
|
||||
"VersionAPIResponse": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"response",
|
||||
"success"
|
||||
],
|
||||
"properties": {
|
||||
"response": {
|
||||
"type": "string",
|
||||
"description": "Version number"
|
||||
},
|
||||
"success": {
|
||||
"type": "boolean",
|
||||
"example": true,
|
||||
"description": "Indicates whether the call was successful or not"
|
||||
}
|
||||
},
|
||||
"description": "Properties for a successful version request."
|
||||
},
|
||||
"IndustrySummary": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"code": {
|
||||
"type": "string",
|
||||
"example": "55101050",
|
||||
"description": "Unique ID of the industry"
|
||||
},
|
||||
"name": {
|
||||
"type": "string",
|
||||
"example": "Corporate Financial Services",
|
||||
"description": "Name of the industry"
|
||||
}
|
||||
},
|
||||
"description": "Summary information about an industry."
|
||||
},
|
||||
"OrgSearchResponse": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"response",
|
||||
"returned",
|
||||
"success",
|
||||
"total"
|
||||
],
|
||||
"properties": {
|
||||
"count": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"example": 1,
|
||||
"description": "Deprecated, replaced by the returned property"
|
||||
},
|
||||
"reason": {
|
||||
"type": "string",
|
||||
"example": "Could not locate subject.",
|
||||
"description": "Text reason for the failure (if not successful)"
|
||||
},
|
||||
"reasonSupport": {
|
||||
"type": "string",
|
||||
"example": "Longer description of the missing subject.",
|
||||
"description": "Additional information about the failure (if not successful)"
|
||||
},
|
||||
"response": {
|
||||
"type": "array",
|
||||
"description": "Response payload",
|
||||
"items": {
|
||||
"$ref": "#/definitions/OrganizationSummary"
|
||||
}
|
||||
},
|
||||
"returned": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"example": 1,
|
||||
"description": "Number of organizations returned by search, may be less than total if paging used"
|
||||
},
|
||||
"success": {
|
||||
"type": "boolean",
|
||||
"example": true,
|
||||
"description": "Indicates whether the call was successful or not"
|
||||
},
|
||||
"total": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"example": 10,
|
||||
"description": "Total number of organizations matching search criteria"
|
||||
}
|
||||
},
|
||||
"description": "Organization search response."
|
||||
},
|
||||
"OrganizationDetails": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"aliases": {
|
||||
"type": "array",
|
||||
"description": "List of aliases for the organization",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"city": {
|
||||
"type": "string",
|
||||
"example": "Irvine",
|
||||
"description": "City the organization is headquartered in"
|
||||
},
|
||||
"country": {
|
||||
"type": "string",
|
||||
"example": "UNITED STATES",
|
||||
"description": "Country the organization is headquartered in"
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"example": "ACME is a manufacturer of cartoon explosives.",
|
||||
"description": "Description of the organization"
|
||||
},
|
||||
"domainName": {
|
||||
"type": "string",
|
||||
"example": "acme.com",
|
||||
"description": "Domain name of the organization (if website known)"
|
||||
},
|
||||
"employees": {
|
||||
"type": "string",
|
||||
"example": "10-50",
|
||||
"description": "Estimated number of employees (range based)",
|
||||
"enum": [
|
||||
"1-10",
|
||||
"10-50",
|
||||
"50-100",
|
||||
"100-250",
|
||||
"250-500",
|
||||
"500-1000",
|
||||
"1000-5000",
|
||||
"5000-10000",
|
||||
"10000-"
|
||||
]
|
||||
},
|
||||
"exchange": {
|
||||
"$ref": "#/definitions/Exchange"
|
||||
},
|
||||
"facebookUrl": {
|
||||
"type": "string",
|
||||
"description": "Absolute URL to the company's Facebook page"
|
||||
},
|
||||
"fundingTotal": {
|
||||
"type": "integer",
|
||||
"format": "int64",
|
||||
"example": 12000000,
|
||||
"description": "Estimate of total funding the organization has received"
|
||||
},
|
||||
"id": {
|
||||
"type": "string",
|
||||
"example": "b00001aaa",
|
||||
"description": "ID (BvId) of the organization"
|
||||
},
|
||||
"lastFundingAmount": {
|
||||
"type": "integer",
|
||||
"format": "int64",
|
||||
"example": 12000000,
|
||||
"description": "Estimate of the funding received in its last funding year"
|
||||
},
|
||||
"lastFundingYear": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"example": 2014,
|
||||
"description": "Last year the organization received funding"
|
||||
},
|
||||
"linkedInUrl": {
|
||||
"type": "string",
|
||||
"description": "Absolute URL to the company's LinkedIn page"
|
||||
},
|
||||
"monitored": {
|
||||
"type": "string",
|
||||
"example": "active",
|
||||
"description": "Indicates whether the orgnaization is being actively monitored.",
|
||||
"enum": [
|
||||
"inactive",
|
||||
"pending",
|
||||
"active"
|
||||
]
|
||||
},
|
||||
"naicsIndustry": {
|
||||
"$ref": "#/definitions/IndustrySummary"
|
||||
},
|
||||
"name": {
|
||||
"type": "string",
|
||||
"example": "ACME Corp",
|
||||
"description": "Name of the organization"
|
||||
},
|
||||
"parent": {
|
||||
"$ref": "#/definitions/OrganizationSummary"
|
||||
},
|
||||
"revenue": {
|
||||
"type": "string",
|
||||
"example": "50-100",
|
||||
"description": "Estimated annual revenue in millions (range based)",
|
||||
"enum": [
|
||||
"0-1",
|
||||
"1-10",
|
||||
"10-50",
|
||||
"50-100",
|
||||
"100-500",
|
||||
"500-1000",
|
||||
"1000-10000",
|
||||
"10000-"
|
||||
]
|
||||
},
|
||||
"sicIndustry": {
|
||||
"$ref": "#/definitions/IndustrySummary"
|
||||
},
|
||||
"state": {
|
||||
"type": "string",
|
||||
"example": "CALIFORNIA",
|
||||
"description": "State the organization is headquartered in"
|
||||
},
|
||||
"ticker": {
|
||||
"type": "string",
|
||||
"example": "ACME",
|
||||
"description": "Stock ticker of the organization (if traded)"
|
||||
},
|
||||
"twitterUrl": {
|
||||
"type": "string",
|
||||
"description": "Absolute URL to the company's Twitter page"
|
||||
},
|
||||
"ultimateParent": {
|
||||
"$ref": "#/definitions/OrganizationSummary"
|
||||
},
|
||||
"yearClosed": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"example": 2015,
|
||||
"description": "Year the organization went out of business if no longer in business"
|
||||
},
|
||||
"yearFounded": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"example": 1968,
|
||||
"description": "Year the organization was founded"
|
||||
}
|
||||
},
|
||||
"description": "Detailed information about an organization."
|
||||
},
|
||||
"OrganizationMatchingSpecification": {
|
||||
"type": "object"
|
||||
},
|
||||
"List": {
|
||||
"type": "object"
|
||||
},
|
||||
"OrganizationSummary": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"city": {
|
||||
"type": "string",
|
||||
"example": "Irvine",
|
||||
"description": "City the organization is headquartered in"
|
||||
},
|
||||
"country": {
|
||||
"type": "string",
|
||||
"example": "UNITED STATES",
|
||||
"description": "Country the organization is headquartered in"
|
||||
},
|
||||
"domainName": {
|
||||
"type": "string",
|
||||
"example": "acme.com",
|
||||
"description": "Domain name of the organization (if website known)"
|
||||
},
|
||||
"id": {
|
||||
"type": "string",
|
||||
"example": "b00001aaa",
|
||||
"description": "ID (BvId) of the organization"
|
||||
},
|
||||
"monitored": {
|
||||
"type": "string",
|
||||
"example": "active",
|
||||
"description": "Indicates whether the orgnaization is being actively monitored.",
|
||||
"enum": [
|
||||
"inactive",
|
||||
"pending",
|
||||
"active"
|
||||
]
|
||||
},
|
||||
"name": {
|
||||
"type": "string",
|
||||
"example": "ACME Corp",
|
||||
"description": "Name of the organization"
|
||||
},
|
||||
"parent": {
|
||||
"$ref": "#/definitions/OrganizationSummary"
|
||||
},
|
||||
"state": {
|
||||
"type": "string",
|
||||
"example": "CALIFORNIA",
|
||||
"description": "State the organization is headquartered in"
|
||||
},
|
||||
"ticker": {
|
||||
"type": "string",
|
||||
"example": "ACME",
|
||||
"description": "Stock ticker of the organization (if traded)"
|
||||
}
|
||||
},
|
||||
"description": "Summary information about an organization."
|
||||
},
|
||||
"PotentialOrganizationMatch": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"hits": {
|
||||
"type": "array",
|
||||
"example": "[\"Name\",\"DomainName\"]",
|
||||
"description": "List of the properties in the input specification that this company has matches for",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"org": {
|
||||
"$ref": "#/definitions/OrganizationSummary"
|
||||
}
|
||||
},
|
||||
"description": "One potential matching organization."
|
||||
},
|
||||
"OrganizationMatchingResult": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"candidates": {
|
||||
"type": "array",
|
||||
"description": "List of candidate matches",
|
||||
"items": {
|
||||
"$ref": "#/definitions/PotentialOrganizationMatch"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"type": "object",
|
||||
"description": "Input organization specification used to find candidates"
|
||||
}
|
||||
}
|
||||
},
|
||||
"SingleOrganizationMatchingResult": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/OrganizationMatchingResult"
|
||||
},
|
||||
"description": "Results of trying to match an organization using the input specification."
|
||||
}
|
||||
},
|
||||
"parameters": {},
|
||||
"responses": {},
|
||||
"securityDefinitions": {
|
||||
"API Key": {
|
||||
"type": "apiKey",
|
||||
"in": "header",
|
||||
"name": "X-BV-APIKEY"
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"API Key": []
|
||||
}
|
||||
],
|
||||
"tags": [
|
||||
{
|
||||
"name": "Entity",
|
||||
"description": "Entity API"
|
||||
}
|
||||
],
|
||||
"x-ms-connector-metadata": [
|
||||
{
|
||||
"propertyName": "Website",
|
||||
"propertyValue": "https://bitvore.com/"
|
||||
},
|
||||
{
|
||||
"propertyName": "Privacy policy",
|
||||
"propertyValue": "https://bitvore.com/privacy-policy/"
|
||||
},
|
||||
{
|
||||
"propertyName": "Categories",
|
||||
"propertyValue": "Business Intelligence;AI"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"properties": {
|
||||
"connectionParameters": {
|
||||
"api_key": {
|
||||
"type": "securestring",
|
||||
"uiDefinition": {
|
||||
"displayName": "API Key",
|
||||
"description": "The API Key for this api",
|
||||
"tooltip": "Provide your API Key",
|
||||
"constraints": {
|
||||
"tabIndex": 2,
|
||||
"clearText": false,
|
||||
"required": "true"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"iconBrandColor": "#539AE3",
|
||||
"capabilities": [],
|
||||
"publisher": "Bitvore Corp.",
|
||||
"stackOwner":"Bitvore Corp."
|
||||
}
|
||||
}
|
|
@ -64,6 +64,32 @@
|
|||
"CreateOrganizationRelationship"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"templateId": "setproperty",
|
||||
"title": "Set gift payments",
|
||||
"parameters": {
|
||||
"x-ms-apimTemplateParameter.newPropertyParentPathTemplate": "@body()",
|
||||
"x-ms-apimTemplateParameter.newPropertySubPathTemplate": "payments",
|
||||
"x-ms-apimTemplateParameter.propertyValuePathTemplate": "[{@body().payments}]",
|
||||
"x-ms-apimTemplate-policySection": "Request",
|
||||
"x-ms-apimTemplate-operationName": [
|
||||
"CreateGift"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"templateId": "setproperty",
|
||||
"title": "Set gift receipts",
|
||||
"parameters": {
|
||||
"x-ms-apimTemplateParameter.newPropertyParentPathTemplate": "@body()",
|
||||
"x-ms-apimTemplateParameter.newPropertySubPathTemplate": "receipts",
|
||||
"x-ms-apimTemplateParameter.propertyValuePathTemplate": "[{@body().receipts}]",
|
||||
"x-ms-apimTemplate-policySection": "Request",
|
||||
"x-ms-apimTemplate-operationName": [
|
||||
"CreateGift"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
# Boomapp Connect Connector
|
||||
|
||||
'Intelligent' global 2-way, Email, Voice, SMS and Push Messaging. Supercharge any Power Platform applications with boomapp connect to build truly automated multi-channel conversational communications workflows (uniquely driven by subject). Fully interactive comms workflows based on a recipient’s response allows the delivery of seamless and frictionless interactions without forcing behavioural change through the engagement. For further detail and to set up a free trial account, see our website.
|
||||
|
||||
## Pre-requisites
|
||||
You will need the following to proceed:
|
||||
* A Miicrosoft Power Automate plan with custom connector feature
|
||||
* A Boomerang Subscription
|
||||
* Boomerang API authentication details.
|
||||
|
||||
## Create an account with Boomerang
|
||||
- [website](https://www.boomerangmessaging.com/products/boomApp/msconnector) - Further details on how to create Boomerang accounts.
|
||||
|
||||
|
||||
## Support and documentation:
|
||||
You can find the documentation [here:](https://www.boomerangmessaging.com/products/boomApp/msconnector)
|
||||
|
|
@ -0,0 +1,923 @@
|
|||
{
|
||||
"swagger": "2.0",
|
||||
"info": {
|
||||
"title": "boomapp connect",
|
||||
"description": "'Intelligent' global 2-way, Email, Voice, SMS and Push Messaging. Supercharge any Power Platform applications with boomapp connect to build truly automated multi-channel conversational communications workflows (uniquely driven by subject). Fully interactive comms workflows based on a recipient’s response allows the delivery of seamless and frictionless interactions without forcing behavioural change through the engagement. For further detail and to set up a free trial account, see our website.",
|
||||
"version": "1.0",
|
||||
"contact": {
|
||||
"name": "Boomerang Support",
|
||||
"url": "https://www.boomerangmessaging.com/products/boomApp/msconnector",
|
||||
"email": "support@boomcomms.com"
|
||||
}
|
||||
},
|
||||
"host": "direct-api.apps.boomcomms.com",
|
||||
"basePath": "/v1",
|
||||
"schemes": [
|
||||
"https"
|
||||
],
|
||||
"paths": {
|
||||
"/sms1": {
|
||||
"post": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "success",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"status": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "status"
|
||||
},
|
||||
"message": {
|
||||
"type": "string",
|
||||
"description": "message"
|
||||
},
|
||||
"transactions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"transaction_id": {
|
||||
"type": "string",
|
||||
"description": "transaction_id"
|
||||
},
|
||||
"parts_per_message": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "parts_per_message"
|
||||
},
|
||||
"telephone_number": {
|
||||
"type": "string",
|
||||
"description": "telephone_number"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "transactions"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Your request could not be processed."
|
||||
},
|
||||
"401": {
|
||||
"description": "Your request could not be authenticated"
|
||||
},
|
||||
"402": {
|
||||
"description": "Your request could not be processed because of insufficient funds or other payment related issues."
|
||||
},
|
||||
"500": {
|
||||
"description": "Please try again or report this error to the support"
|
||||
}
|
||||
},
|
||||
"summary": "Sms one-way",
|
||||
"description": "SMS messages are delivered using an alpha-numeric originator (such as a company name) which must contain a maximum of 11 characters, and a recipient cannot respond to a message sent using an alpha numeric originator. Please also note that in destinations where delivery of messages with alpha-numeric originator is not supported (due to local restrictions), this may be replaced with a numeric originator, to ensure that the message is delivered.",
|
||||
"operationId": "SMS1",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"from": {
|
||||
"type": "string",
|
||||
"description": "Originating Id for a 1-way message. An alpha numeric value containing a maximum of 11 characters.",
|
||||
"title": "from"
|
||||
},
|
||||
"message_content": {
|
||||
"type": "string",
|
||||
"description": "The content of the outbound message sent to all recipientAddresses.",
|
||||
"title": ""
|
||||
},
|
||||
"recipient_address": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"number": {
|
||||
"type": "string",
|
||||
"description": "The recipient's destination address; A mobile phone number that must contain a minimum of 11 digits (excluding + or leading '0') and a maximum of 16 digits (excluding a + where this is used as a pre-fix to the number itself). A single number or an array of up to 10,000 numbers can be passed.",
|
||||
"title": "The recipient's destination address"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "recipient_address"
|
||||
},
|
||||
"priority": {
|
||||
"type": "boolean",
|
||||
"description": "Optional parameter used to set a priority status to a message. Any messages sent with \u2018priority\u2019 will override \u2018Social Hours\u2019 configured against an account. Pass true to set priority.",
|
||||
"title": "",
|
||||
"enum": [
|
||||
true,
|
||||
false
|
||||
]
|
||||
},
|
||||
"unique_identifier": {
|
||||
"type": "string",
|
||||
"description": "Unique identifier for each transaction. This is used to safeguard against duplication of messages, as Boomerang will ignore any transactions with an Id that has been used previously.",
|
||||
"title": ""
|
||||
},
|
||||
"campaign_name": {
|
||||
"type": "string",
|
||||
"description": "Optional Identifier that can be used to group messages by specific campaigns and batched messages.",
|
||||
"title": ""
|
||||
},
|
||||
"custom_parameter": {
|
||||
"type": "string",
|
||||
"description": "Parameter used for custom reference. This could be used for example as a Campaign reference, job reference, batch Id etc.",
|
||||
"title": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/sms2": {
|
||||
"post": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "success",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"status": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "status"
|
||||
},
|
||||
"message": {
|
||||
"type": "string",
|
||||
"description": "message"
|
||||
},
|
||||
"transactions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"transaction_id": {
|
||||
"type": "string",
|
||||
"description": "transaction_id"
|
||||
},
|
||||
"parts_per_message": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "parts_per_message"
|
||||
},
|
||||
"telephone_number": {
|
||||
"type": "string",
|
||||
"description": "telephone_number"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "transactions"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Your request could not be processed."
|
||||
},
|
||||
"401": {
|
||||
"description": "Your request could not be authenticated"
|
||||
},
|
||||
"402": {
|
||||
"description": "Your request could not be processed because of insufficient funds or other payment related issues."
|
||||
},
|
||||
"500": {
|
||||
"description": "Please try again or report this error to the support"
|
||||
}
|
||||
},
|
||||
"summary": "Sms two-way",
|
||||
"description": "This method allows replies to be tracked directly against each outbound transaction and is used to manage conversations between your system and the end user. Replies can be forwarded to an email address and customers with Boommail can send an email-2-SMS message back to the responder. See https://boomerangmessaging.com/docs/sending-sms-messages, for more information regarding 2-way and conversational messaging.",
|
||||
"operationId": "SMS2",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"conversation_id": {
|
||||
"type": "string",
|
||||
"description": "Define a conversation ID to group all messages (including replies) part of the same conversation",
|
||||
"title": ""
|
||||
},
|
||||
"message_content": {
|
||||
"type": "string",
|
||||
"description": "The content of the outbound message sent to all recipientAddresses.",
|
||||
"title": ""
|
||||
},
|
||||
"recipient_address": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"number": {
|
||||
"type": "string",
|
||||
"description": "The recipient's destination address; A mobile phone number that must contain a minimum of 11 digits (excluding + or leading '0') and a maximum of 16 digits (excluding a + where this is used as a pre-fix to the number itself). A single number or an array of up to 10,000 numbers can be passed.",
|
||||
"title": "The recipient's destination address"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "recipient_address"
|
||||
},
|
||||
"validity_period": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "The period of time during which the number used to send the message will be active. Replies to the message will not be delivered after the validity period expires. For two- way messages, the minimum validity period is 1 day.",
|
||||
"title": ""
|
||||
},
|
||||
"open_ticket": {
|
||||
"type": "boolean",
|
||||
"description": "By default all messages are sent a single ticket which means that the message is closed on receipt of the first response. To match multiple responses to the same originating message, use open ticket by passing true.",
|
||||
"title": "",
|
||||
"enum": [
|
||||
true,
|
||||
false
|
||||
]
|
||||
},
|
||||
"email_responses": {
|
||||
"type": "string",
|
||||
"description": "An email address to which message responses are forwarded.",
|
||||
"title": ""
|
||||
},
|
||||
"push_responses": {
|
||||
"type": "string",
|
||||
"description": "A CallBack URL to which message responses are posted.",
|
||||
"title": ""
|
||||
},
|
||||
"priority": {
|
||||
"type": "boolean",
|
||||
"description": "Optional parameter used to set a priority status to a message. Any messages sent with \u2018priority\u2019 will override \u2018Social Hours\u2019 configured against an account. Pass true to set priority.",
|
||||
"title": "",
|
||||
"enum": [
|
||||
true,
|
||||
false
|
||||
]
|
||||
},
|
||||
"unique_identifier": {
|
||||
"type": "string",
|
||||
"description": "Unique identifier for each transaction. This is used to safeguard against duplication of messages, as Boomerang will ignore any transactions with an Id that has been used previously.",
|
||||
"title": ""
|
||||
},
|
||||
"campaign_name": {
|
||||
"type": "string",
|
||||
"description": "Optional Identifier that can be used to group messages by specific campaigns and batched messages.",
|
||||
"title": ""
|
||||
},
|
||||
"custom_parameter": {
|
||||
"type": "string",
|
||||
"description": "Parameter used for custom reference. This could be used for example as a Campaign reference, job reference, batch Id etc.",
|
||||
"title": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/sms3": {
|
||||
"post": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "success",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"status": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "status"
|
||||
},
|
||||
"message": {
|
||||
"type": "string",
|
||||
"description": "message"
|
||||
},
|
||||
"transactions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"transaction_id": {
|
||||
"type": "string",
|
||||
"description": "transaction_id"
|
||||
},
|
||||
"parts_per_message": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "parts_per_message"
|
||||
},
|
||||
"telephone_number": {
|
||||
"type": "string",
|
||||
"description": "telephone_number"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "transactions"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Your request could not be processed."
|
||||
},
|
||||
"401": {
|
||||
"description": "Your request could not be authenticated"
|
||||
},
|
||||
"402": {
|
||||
"description": "Your request could not be processed because of insufficient funds or other payment related issues."
|
||||
},
|
||||
"500": {
|
||||
"description": "Please try again or report this error to the support"
|
||||
}
|
||||
},
|
||||
"summary": "Sms custom number",
|
||||
"description": "SMS messages are delivered using the number specified in the request so that any replies are returned to that number. Customers using Boomerang's Campaign feature can use a number associated to a Campaign, which allows inbound replies to to be accessed from the Campaign reporting section within Boomerang UI. However, unlike the SMS 2-way method, replies are not tracked against the outbound message. See https://boomerangmessaging.com/docs/sending-sms-messages for more information.",
|
||||
"operationId": "SMS3",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"from": {
|
||||
"type": "string",
|
||||
"description": "The sending Id associated to a message this could be an Inbound campaign number currently associated to an active Campaign.",
|
||||
"title": ""
|
||||
},
|
||||
"message_content": {
|
||||
"type": "string",
|
||||
"description": "The content of the outbound message sent to all recipientAddresses.",
|
||||
"title": ""
|
||||
},
|
||||
"recipient_address": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"number": {
|
||||
"type": "string",
|
||||
"description": "The recipient's destination address; A mobile phone number that must contain a minimum of 11 digits (excluding + or leading '0') and a maximum of 16 digits (excluding a + where this is used as a pre-fix to the number itself). A single number or an array of up to 10,000 numbers can be passed.",
|
||||
"title": "The recipient's destination address"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "recipient_address"
|
||||
},
|
||||
"priority": {
|
||||
"type": "boolean",
|
||||
"description": "Optional parameter used to set a priority status to a message. Any messages sent with \u2018priority\u2019 will override \u2018Social Hours\u2019 configured against an account. Pass true to set priority.",
|
||||
"title": "",
|
||||
"enum": [
|
||||
true,
|
||||
false
|
||||
]
|
||||
},
|
||||
"unique_identifier": {
|
||||
"type": "string",
|
||||
"description": "Unique identifier for each transaction. This is used to safeguard against duplication of messages, as Boomerang will ignore any transactions with an Id that has been used previously.",
|
||||
"title": ""
|
||||
},
|
||||
"campaign_name": {
|
||||
"type": "string",
|
||||
"description": "Optional Identifier that can be used to group messages by specific campaigns and batched messages.",
|
||||
"title": ""
|
||||
},
|
||||
"custom_parameter": {
|
||||
"type": "string",
|
||||
"description": "Parameter used for custom reference. This could be used for example as a Campaign reference, job reference, batch Id etc.",
|
||||
"title": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/voice": {
|
||||
"post": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "success",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"status": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "status"
|
||||
},
|
||||
"message": {
|
||||
"type": "string",
|
||||
"description": "message"
|
||||
},
|
||||
"transactions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"transaction_id": {
|
||||
"type": "string",
|
||||
"description": "transaction_id"
|
||||
},
|
||||
"parts_per_message": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "parts_per_message"
|
||||
},
|
||||
"telephone_number": {
|
||||
"type": "string",
|
||||
"description": "telephone_number"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "transactions"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Your request could not be processed."
|
||||
},
|
||||
"401": {
|
||||
"description": "Your request could not be authenticated"
|
||||
},
|
||||
"402": {
|
||||
"description": "Your request could not be processed because of insufficient funds or other payment related issues."
|
||||
},
|
||||
"500": {
|
||||
"description": "Please try again or report this error to the support"
|
||||
}
|
||||
},
|
||||
"summary": "Voice",
|
||||
"description": "A fixed number is used as the originator for a Text-To-Speech (TTS) voice call. Keystrokes \u20181\u2019 and \u20182\u2019 are used to accept or decline the message, \u20189\u2019 is used to redirect the call. See https://boomerangmessaging.com/docs/sending-delivering-voice-messages for more information",
|
||||
"operationId": "VOICE",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"voice_intro": {
|
||||
"type": "string",
|
||||
"description": "The message played when the voice call is answered. The Message content will be played right after it.",
|
||||
"title": ""
|
||||
},
|
||||
"voice_thank_you": {
|
||||
"type": "string",
|
||||
"description": "The message played at the end of the voice call after the message content has been played.",
|
||||
"title": ""
|
||||
},
|
||||
"voice_redirect_message": {
|
||||
"type": "string",
|
||||
"description": "The message played at the end of the voice call after the message content has been played.",
|
||||
"title": ""
|
||||
},
|
||||
"voice_redirect_no": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"number": {
|
||||
"type": "string",
|
||||
"description": "Redirect number",
|
||||
"title": ""
|
||||
}
|
||||
},
|
||||
"description": "voice_redirect_no"
|
||||
},
|
||||
"voice_retries": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "Number of attempts made if the voice call is not answered the first time.",
|
||||
"title": ""
|
||||
},
|
||||
"voice_delay": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "Time waited by the system between retries.",
|
||||
"title": ""
|
||||
},
|
||||
"message_content": {
|
||||
"type": "string",
|
||||
"description": "The content of the outbound message sent to all recipientAddresses.",
|
||||
"title": ""
|
||||
},
|
||||
"recipient_address": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"number": {
|
||||
"type": "string",
|
||||
"description": "The recipient's destination address; A mobile phone number that must contain a minimum of 11 digits (excluding + or leading '0') and a maximum of 16 digits (excluding a + where this is used as a pre-fix to the number itself). A single number or an array of up to 10,000 numbers can be passed.",
|
||||
"title": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "recipient_address"
|
||||
},
|
||||
"priority": {
|
||||
"type": "boolean",
|
||||
"description": "Optional parameter used to set a priority status to a message. Any messages sent with \u2018priority\u2019 will override \u2018Social Hours\u2019 configured against an account. Pass true to set priority.",
|
||||
"title": "",
|
||||
"enum": [
|
||||
true,
|
||||
false
|
||||
]
|
||||
},
|
||||
"unique_identifier": {
|
||||
"type": "string",
|
||||
"description": "Unique identifier for each transaction. This is used to safeguard against duplication of messages, as Boomerang will ignore any transactions with an Id that has been used previously.",
|
||||
"title": ""
|
||||
},
|
||||
"campaign_name": {
|
||||
"type": "string",
|
||||
"description": "Optional Identifier that can be used to group messages by specific campaigns and batched messages.",
|
||||
"title": ""
|
||||
},
|
||||
"custom_parameter": {
|
||||
"type": "string",
|
||||
"description": "Parameter used for custom reference. This could be used for example as a Campaign reference, job reference, batch Id etc.",
|
||||
"title": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/email": {
|
||||
"post": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "success",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"status": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "status"
|
||||
},
|
||||
"message": {
|
||||
"type": "string",
|
||||
"description": "message"
|
||||
},
|
||||
"transactions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"transaction_id": {
|
||||
"type": "string",
|
||||
"description": "transaction_id"
|
||||
},
|
||||
"parts_per_message": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "parts_per_message"
|
||||
},
|
||||
"email_address": {
|
||||
"type": "string",
|
||||
"description": "email_address"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "transactions"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Your request could not be processed."
|
||||
},
|
||||
"401": {
|
||||
"description": "Your request could not be authenticated"
|
||||
},
|
||||
"402": {
|
||||
"description": "Your request could not be processed because of insufficient funds or other payment related issues."
|
||||
},
|
||||
"500": {
|
||||
"description": "Please try again or report this error to the support"
|
||||
}
|
||||
},
|
||||
"summary": "Email",
|
||||
"description": "Send single or bulk email messages. Emails are sent from the domain @boomerangui.com and it is possible to customise the Subject and to override the 'From' address. It is also possible to forward responses to an email address and / or a URL",
|
||||
"operationId": "EMAIL",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"from": {
|
||||
"type": "string",
|
||||
"description": "Pass the content to be used as the From address. If blank the default value will be taken from your account settings",
|
||||
"title": "from"
|
||||
},
|
||||
"email_subject": {
|
||||
"type": "string",
|
||||
"description": "Subject to be displayed by default when the email is received in the recipient's inbox",
|
||||
"title": "email_subject"
|
||||
},
|
||||
"message_content": {
|
||||
"type": "string",
|
||||
"description": "The content of the outbound message sent to all recipientAddresses.",
|
||||
"title": "message_content"
|
||||
},
|
||||
"email_address": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "An email address. A single address or an array of up to 10,000 addresses can be passed.",
|
||||
"title": ""
|
||||
},
|
||||
"description": "email_address"
|
||||
},
|
||||
"validity_period": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "The period of time during which the number used to send the message will be active. Replies to the message will not be delivered after the validity period expires. For two- way messages, the minimum validity period is 1 day.",
|
||||
"title": ""
|
||||
},
|
||||
"open_ticket": {
|
||||
"type": "boolean",
|
||||
"description": "By default all messages are sent a single ticket which means that the message is closed on receipt of the first response. To match multiple responses to the same originating message, use open ticket by passing true.",
|
||||
"title": "",
|
||||
"enum": [
|
||||
true,
|
||||
false
|
||||
]
|
||||
},
|
||||
"email_responses": {
|
||||
"type": "string",
|
||||
"description": "An email address to which message responses are forwarded.",
|
||||
"title": ""
|
||||
},
|
||||
"push_responses": {
|
||||
"type": "string",
|
||||
"description": "A CallBack URL to which message responses are posted.",
|
||||
"title": ""
|
||||
},
|
||||
"unique_identifier": {
|
||||
"type": "string",
|
||||
"description": "Unique identifier for each transaction. This is used to safeguard against duplication of messages, as Boomerang will ignore any transactions with an Id that has been used previously.",
|
||||
"title": ""
|
||||
},
|
||||
"campaign_name": {
|
||||
"type": "string",
|
||||
"description": "Optional identifier that can be used to group messages by specific campaigns and batched messages.",
|
||||
"title": ""
|
||||
},
|
||||
"custom_parameter": {
|
||||
"type": "string",
|
||||
"description": "Parameter used for custom reference. This could be used for example as a Campaign reference, job reference, batch Id etc.",
|
||||
"title": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/get_responses": {
|
||||
"get": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "default",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"status": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "status"
|
||||
},
|
||||
"message": {
|
||||
"type": "string",
|
||||
"description": "message"
|
||||
},
|
||||
"has_more": {
|
||||
"type": "boolean",
|
||||
"description": "has_more"
|
||||
},
|
||||
"replies": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"transaction_id": {
|
||||
"type": "string",
|
||||
"description": "transaction_id"
|
||||
},
|
||||
"custom_parameter": {
|
||||
"type": "string",
|
||||
"description": "custom_parameter"
|
||||
},
|
||||
"response_id": {
|
||||
"type": "string",
|
||||
"description": "response_id"
|
||||
},
|
||||
"from": {
|
||||
"type": "string",
|
||||
"description": "from"
|
||||
},
|
||||
"response_content": {
|
||||
"type": "string",
|
||||
"description": "response_content"
|
||||
},
|
||||
"is_new": {
|
||||
"type": "boolean",
|
||||
"description": "is_new"
|
||||
},
|
||||
"transaction_date": {
|
||||
"type": "string",
|
||||
"description": "transaction_date"
|
||||
},
|
||||
"response_date": {
|
||||
"type": "string",
|
||||
"description": "response_date"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "replies"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Your request could not be processed"
|
||||
},
|
||||
"401": {
|
||||
"description": "Your request could not be authenticated"
|
||||
},
|
||||
"500": {
|
||||
"description": "Please try again or report this error to the support"
|
||||
}
|
||||
},
|
||||
"summary": "On SMS response submission",
|
||||
"description": "Triggered by inbound replies which are automatically mapped to the associated outbound messages when sent as an Intelligent 2-way / conversational message",
|
||||
"x-ms-trigger": "batch",
|
||||
"operationId": "GESTRESPONSESTRIGGER",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "ignore_previous",
|
||||
"in": "query",
|
||||
"required": true,
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"x-ms-visibility": "internal"
|
||||
},
|
||||
{
|
||||
"name": "mark_as_read",
|
||||
"in": "query",
|
||||
"required": true,
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"x-ms-visibility": "internal"
|
||||
}
|
||||
],
|
||||
"x-ms-trigger-metadata": {
|
||||
"mode": "polling",
|
||||
"kind": "query"
|
||||
}
|
||||
}
|
||||
},
|
||||
"/get_all_new_drs": {
|
||||
"get": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "default",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"status": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"description": "status"
|
||||
},
|
||||
"message": {
|
||||
"type": "string",
|
||||
"description": "message"
|
||||
},
|
||||
"has_more": {
|
||||
"type": "boolean",
|
||||
"description": "has_more"
|
||||
},
|
||||
"drs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"transaction_id": {
|
||||
"type": "string",
|
||||
"description": "transaction_id"
|
||||
},
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "status"
|
||||
},
|
||||
"status_date": {
|
||||
"type": "string",
|
||||
"description": "status_date"
|
||||
},
|
||||
"destination": {
|
||||
"type": "string",
|
||||
"description": "destination"
|
||||
},
|
||||
"custom_parameter": {
|
||||
"type": "string",
|
||||
"description": "custom_parameter"
|
||||
},
|
||||
"campaign_name": {
|
||||
"type": "string",
|
||||
"description": "campaign_name"
|
||||
},
|
||||
"unique_id": {
|
||||
"type": "string",
|
||||
"description": "unique_id"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "drs"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Your request could not be processed"
|
||||
},
|
||||
"401": {
|
||||
"description": "Your request could not be authenticated"
|
||||
},
|
||||
"500": {
|
||||
"description": "Please try again or report this error to the support"
|
||||
}
|
||||
},
|
||||
"summary": "On Delivery Confirmed",
|
||||
"description": "Triggered by end user delivery status update. Updates the transaction with the delivery status returned by the end user's network operator. See https://boomerangmessaging.com/docs for more information",
|
||||
"x-ms-trigger": "batch",
|
||||
"operationId": "GETDRSTRIGGER",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "ignore_previous",
|
||||
"description": "Pass 'true' to exclude any DRs that have been retrieved previously",
|
||||
"in": "query",
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"required": true,
|
||||
"x-ms-visibility": "internal"
|
||||
},
|
||||
{
|
||||
"name": "drs_after",
|
||||
"description": "Pass 'true' to exclude any DRs that have been retrieved previously",
|
||||
"in": "query",
|
||||
"type": "string",
|
||||
"default": "1990-01-01 00:00:00",
|
||||
"required": true,
|
||||
"x-ms-visibility": "internal"
|
||||
}
|
||||
],
|
||||
"x-ms-trigger-metadata": {
|
||||
"mode": "polling",
|
||||
"kind": "query"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"x-ms-connector-metadata": [
|
||||
{
|
||||
"propertyName": "Website",
|
||||
"propertyValue": "https://www.boomerangmessaging.com/products/boomApp/msconnector"
|
||||
},
|
||||
{
|
||||
"propertyName": "Privacy policy",
|
||||
"propertyValue": "https://boomerangmessaging.com/privacy/"
|
||||
},
|
||||
{
|
||||
"propertyName": "Categories",
|
||||
"propertyValue": "Communication;Productivity"
|
||||
}
|
||||
],
|
||||
"securityDefinitions": {
|
||||
"basic_auth": {
|
||||
"type": "basic"
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"basic_auth": []
|
||||
}
|
||||
],
|
||||
"tags": []
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"properties": {
|
||||
"connectionParameters": {
|
||||
"username": {
|
||||
"type": "securestring",
|
||||
"uiDefinition": {
|
||||
"displayName": "username",
|
||||
"description": "The username for this api",
|
||||
"tooltip": "Provide the username",
|
||||
"constraints": {
|
||||
"tabIndex": 2,
|
||||
"clearText": true,
|
||||
"required": "true"
|
||||
}
|
||||
}
|
||||
},
|
||||
"password": {
|
||||
"type": "securestring",
|
||||
"uiDefinition": {
|
||||
"displayName": "password",
|
||||
"description": "The password for this api",
|
||||
"tooltip": "Provide the password",
|
||||
"constraints": {
|
||||
"tabIndex": 3,
|
||||
"clearText": false,
|
||||
"required": "true"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"iconBrandColor": "#81bb26",
|
||||
"capabilities": [],
|
||||
"publisher": "AlfaPeople UK Ltd",
|
||||
"stackOwner": "Boomerang I-Comms Ltd"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
# CDKDrive CRM Customers
|
||||
|
||||
CDK Drive - CRM - Customers
|
||||
A customer is an individual who has been sold a vehicle, is a prospect on a vehicle, has bought parts or has had their vehicle repaired or serviced through the dealership and exists in a Customer Relationship Management system.
|
||||
|
||||
What does this API do?
|
||||
The API will allow you to find, retrieve, and filter service customers in CDK Drive. In addition, it will allow you to create a basic customer record.
|
||||
|
||||
Intended Audience
|
||||
The customer is required in the Sales Deal or Service Appointment creation workflows as they are customer centric. Customer services helps vehicle salesmen or service advisors provide a positive customer experience by allowing those workflows to be tied to a customer identity.
|
||||
|
||||
## Pre-requisites
|
||||
|
||||
You will need the following to proceed
|
||||
|
||||
• To use the connector, you need to be a Fortellis user.
|
||||
|
||||
• You need to create a solution in Fortellis to generate client id and secret to be used while calling the APIs
|
||||
|
||||
### Potential Use Cases
|
||||
|
||||
Use the CDKDrive CRM Customers API to create solutions to handle situations such as:
|
||||
|
||||
1. Create or update customer information
|
||||
2. Link a customer to a service vehicle
|
||||
3. Search for existing customers by ID or filter criteria
|
||||
|
||||
#### Detailed Documentation can be found at
|
||||
|
||||
|
||||
https://apidocs.fortellis.io/specs/0d488dd1-c609-4618-9061-68be8b61c2a9
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"properties": {
|
||||
"connectionParameters": {},
|
||||
"iconBrandColor": "#1F1A3C",
|
||||
"capabilities": [],
|
||||
"publisher": "CDK Global",
|
||||
"stackOwner": "CDK Global"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
# CDKDrive Service Vehicles
|
||||
|
||||
CDK Drive - Service - Vehicles
|
||||
Associates identification, type, status, and customer information about a vehicle.
|
||||
|
||||
What does this API do?
|
||||
The API will allow you to create, update, query, and retrieve service domain vehicle information in CDK Drive.
|
||||
|
||||
Intended Audience
|
||||
Vehicle is a dependency for Service Appointment and Service Repair Order workflows.
|
||||
|
||||
## Pre-requisites
|
||||
|
||||
You will need the following to proceed
|
||||
|
||||
• To use the connector, you need to be a Fortellis user.
|
||||
|
||||
• You need to create a solution in Fortellis to generate client id and secret to be used while calling the APIs
|
||||
|
||||
### Potential Use Cases
|
||||
|
||||
Use the CDKDrive Service Vehicles API to create solutions to handle situations such as:
|
||||
|
||||
1. Create or update service vehicle information
|
||||
2. Link a customer to a service vehicle
|
||||
3. Search for existing service vehicles by ID or filter criteria
|
||||
|
||||
#### Detailed Documentation can be found at
|
||||
|
||||
|
||||
https://apidocs.fortellis.io/specs/54b70ee1-ac17-4be2-9314-45c947692c5d
|
|
@ -0,0 +1,929 @@
|
|||
{
|
||||
"swagger": "2.0",
|
||||
"info": {
|
||||
"title": "CDK Drive Service Vehicles",
|
||||
"version": "1.0",
|
||||
"description": "CDK Drive Service Vehicles Associates identification, type, status, and customer information about a vehicle. The API will allow you to create, update, query, and retrieve service domain vehicle information in CDK.",
|
||||
"contact": {
|
||||
"name": "CDK Global",
|
||||
"url": "https://serviceconnect.support.cdk.com",
|
||||
"email": "mbd_support@cdk.com"
|
||||
}
|
||||
},
|
||||
"host": "cdkapi.azure-api.net",
|
||||
"basePath": "/vehicles",
|
||||
"schemes": [
|
||||
"https"
|
||||
],
|
||||
"consumes": [],
|
||||
"produces": [],
|
||||
"paths": {
|
||||
"/": {
|
||||
"get": {
|
||||
"description": "Query vehicles",
|
||||
"operationId": "queryVehicles",
|
||||
"summary": "Query vehicles",
|
||||
"tags": [
|
||||
"query"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "vin",
|
||||
"in": "query",
|
||||
"description": "Filters vehicles by VIN",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Vin"
|
||||
},
|
||||
{
|
||||
"name": "licensePlateNum",
|
||||
"in": "query",
|
||||
"description": "Filters vehicles by license plate number",
|
||||
"type": "string",
|
||||
"x-ms-summary": "License Plate Number"
|
||||
},
|
||||
{
|
||||
"name": "customerId",
|
||||
"in": "query",
|
||||
"description": "Filters vehicles by customerId",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Customer Id"
|
||||
},
|
||||
{
|
||||
"name": "subscription_id",
|
||||
"in": "query",
|
||||
"description": "A correlation ID that should be returned back to the caller to indicate the return of the given request.",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-summary": "Subscription Id"
|
||||
},
|
||||
{
|
||||
"name": "client_id",
|
||||
"in": "query",
|
||||
"description": "A client ID that should be unique to developer/solution provider building the solution.",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-summary": "Client Id"
|
||||
},
|
||||
{
|
||||
"name": "client_secret",
|
||||
"in": "query",
|
||||
"description": "A client secret that should be unique to developer/solution provider building the solution.",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-summary": "Client Secret"
|
||||
},
|
||||
{
|
||||
"name": "Request-Id",
|
||||
"in": "header",
|
||||
"description": "Format - guid. A correlation ID that should be returned back to the caller to indicate the return of the given request",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Request Id"
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"headers": {
|
||||
"Request-Id": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"schema": {
|
||||
"$ref": "#/definitions/VehicleCollection"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "400 - Bad Request",
|
||||
"headers": {
|
||||
"Request-Id": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"schema": {
|
||||
"$ref": "#/definitions/ErrorResponse"
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "401 - Unauthorized",
|
||||
"headers": {
|
||||
"Request-Id": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"schema": {
|
||||
"$ref": "#/definitions/ErrorResponse"
|
||||
}
|
||||
},
|
||||
"403": {
|
||||
"description": "403 - Forbidden",
|
||||
"headers": {
|
||||
"Request-Id": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"schema": {
|
||||
"$ref": "#/definitions/ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"post": {
|
||||
"description": "Create a vehicle",
|
||||
"operationId": "createVehicle",
|
||||
"summary": "Create a vehicle",
|
||||
"tags": [
|
||||
"create"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "client_id",
|
||||
"in": "query",
|
||||
"description": "A client ID that should be unique to developer/solution provider building the solution.",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-summary": "Client Id"
|
||||
},
|
||||
{
|
||||
"name": "client_secret",
|
||||
"in": "query",
|
||||
"description": "A client secret that should be unique to developer/solution provider building the solution.",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-summary": "Client Secret"
|
||||
},
|
||||
{
|
||||
"name": "subscription_id",
|
||||
"in": "query",
|
||||
"description": "A correlation ID that should be returned back to the caller to indicate the return of the given request.",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-summary": "Subscription Id"
|
||||
},
|
||||
{
|
||||
"name": "Request-Id",
|
||||
"in": "header",
|
||||
"description": "Format - guid. A correlation ID that should be returned back to the caller to indicate the return of the given request",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-summary": "Request Id"
|
||||
},
|
||||
{
|
||||
"name": "createVehicle",
|
||||
"in": "body",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/CreateVehicle"
|
||||
},
|
||||
"description": "The vehicle definition"
|
||||
}
|
||||
],
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"responses": {
|
||||
"201": {
|
||||
"description": "Created",
|
||||
"headers": {
|
||||
"Request-Id": {
|
||||
"type": "string"
|
||||
},
|
||||
"ETag": {
|
||||
"type": "string",
|
||||
"description": "The computed checksum of the resource"
|
||||
}
|
||||
},
|
||||
"schema": {
|
||||
"$ref": "#/definitions/Vehicle"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "400 - Bad Request",
|
||||
"headers": {
|
||||
"Request-Id": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"schema": {
|
||||
"$ref": "#/definitions/ErrorResponse"
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "401 - Unauthorized",
|
||||
"headers": {
|
||||
"Request-Id": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"schema": {
|
||||
"$ref": "#/definitions/ErrorResponse"
|
||||
}
|
||||
},
|
||||
"403": {
|
||||
"description": "403 - Forbidden",
|
||||
"headers": {
|
||||
"Request-Id": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"schema": {
|
||||
"$ref": "#/definitions/ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/{vehicleId}/": {
|
||||
"get": {
|
||||
"description": "Query a vehicle by identifier",
|
||||
"operationId": "queryVehicleById",
|
||||
"summary": "Query a vehicle by identifier",
|
||||
"tags": [
|
||||
"query"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "vehicleId",
|
||||
"in": "path",
|
||||
"description": "The vehicle identifier",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-summary": "Vehicle Id"
|
||||
},
|
||||
{
|
||||
"name": "subscription_id",
|
||||
"in": "query",
|
||||
"description": "A correlation ID that should be returned back to the caller to indicate the return of the given request.",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-summary": "Subscription Id"
|
||||
},
|
||||
{
|
||||
"name": "client_id",
|
||||
"in": "query",
|
||||
"description": "A client ID that should be unique to developer/solution provider building the solution.",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-summary": "Client Id"
|
||||
},
|
||||
{
|
||||
"name": "client_secret",
|
||||
"in": "query",
|
||||
"description": "A client secret that should be unique to developer/solution provider building the solution.",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-summary": "Client Secret"
|
||||
},
|
||||
{
|
||||
"name": "Request-Id",
|
||||
"in": "header",
|
||||
"description": "Format - guid. A correlation ID that should be returned back to the caller to indicate the return of the given request",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Request Id"
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"headers": {
|
||||
"Request-Id": {
|
||||
"type": "string"
|
||||
},
|
||||
"ETag": {
|
||||
"type": "string",
|
||||
"description": "The computed checksum of the resource"
|
||||
}
|
||||
},
|
||||
"schema": {
|
||||
"$ref": "#/definitions/Vehicle"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "400 - Bad Request",
|
||||
"headers": {
|
||||
"Request-Id": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"schema": {
|
||||
"$ref": "#/definitions/ErrorResponse"
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "401 - Unauthorized",
|
||||
"headers": {
|
||||
"Request-Id": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"schema": {
|
||||
"$ref": "#/definitions/ErrorResponse"
|
||||
}
|
||||
},
|
||||
"403": {
|
||||
"description": "403 - Forbidden",
|
||||
"headers": {
|
||||
"Request-Id": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"schema": {
|
||||
"$ref": "#/definitions/ErrorResponse"
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "404 - Not Found",
|
||||
"headers": {
|
||||
"Request-Id": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"schema": {
|
||||
"$ref": "#/definitions/ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"post": {
|
||||
"description": "Update a vehicle",
|
||||
"operationId": "updateVehicle",
|
||||
"summary": "Update a vehicle",
|
||||
"tags": [
|
||||
"update"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "vehicleId",
|
||||
"in": "path",
|
||||
"description": "The vehicle identifier",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-summary": "Vehicle Id"
|
||||
},
|
||||
{
|
||||
"name": "subscription_id",
|
||||
"in": "query",
|
||||
"description": "A correlation ID that should be returned back to the caller to indicate the return of the given request.",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-summary": "Subscription Id"
|
||||
},
|
||||
{
|
||||
"name": "client_id",
|
||||
"in": "query",
|
||||
"description": "A client ID that should be unique to developer/solution provider building the solution.",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-summary": "Client Id"
|
||||
},
|
||||
{
|
||||
"name": "client_secret",
|
||||
"in": "query",
|
||||
"description": "A client secret that should be unique to developer/solution provider building the solution.",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-summary": "Client Secret"
|
||||
},
|
||||
{
|
||||
"name": "Request-Id",
|
||||
"in": "header",
|
||||
"description": "Format - guid. A correlation ID that should be returned back to the caller to indicate the return of the given request",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Request Id"
|
||||
},
|
||||
{
|
||||
"name": "If-Match",
|
||||
"in": "header",
|
||||
"description": "Makes the resource update request conditional. The checksum value \npresented with If-Match must match the current ETag value of the \nresource.\n",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-summary": "eTag Value"
|
||||
},
|
||||
{
|
||||
"name": "createVehicle",
|
||||
"in": "body",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/CreateVehicle"
|
||||
},
|
||||
"description": "The vehicle definition"
|
||||
}
|
||||
],
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"headers": {
|
||||
"Request-Id": {
|
||||
"type": "string"
|
||||
},
|
||||
"ETag": {
|
||||
"type": "string",
|
||||
"description": "The computed checksum of the resource"
|
||||
}
|
||||
},
|
||||
"schema": {
|
||||
"$ref": "#/definitions/Vehicle"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "400 - Bad Request",
|
||||
"headers": {
|
||||
"Request-Id": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"schema": {
|
||||
"$ref": "#/definitions/ErrorResponse"
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "401 - Unauthorized",
|
||||
"headers": {
|
||||
"Request-Id": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"schema": {
|
||||
"$ref": "#/definitions/ErrorResponse"
|
||||
}
|
||||
},
|
||||
"403": {
|
||||
"description": "403 - Forbidden",
|
||||
"headers": {
|
||||
"Request-Id": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"schema": {
|
||||
"$ref": "#/definitions/ErrorResponse"
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "404 - Not Found",
|
||||
"headers": {
|
||||
"Request-Id": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"schema": {
|
||||
"$ref": "#/definitions/ErrorResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"x-ms-connector-metadata": [
|
||||
{
|
||||
"propertyName": "Website",
|
||||
"propertyValue": "https://fortellis.io"
|
||||
},
|
||||
{
|
||||
"propertyName": "Privacy policy",
|
||||
"propertyValue": "https://fortellis.io/privacy"
|
||||
},
|
||||
{
|
||||
"propertyName": "Categories",
|
||||
"propertyValue": "Data"
|
||||
}
|
||||
],
|
||||
"definitions": {
|
||||
"Vehicle": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"vehicleId": {
|
||||
"type": "string",
|
||||
"description": "The idenifier of the vehicle record"
|
||||
},
|
||||
"identification": {
|
||||
"$ref": "#/definitions/VehicleIdentification",
|
||||
"description": "Unique vehicle identifiers"
|
||||
},
|
||||
"specification": {
|
||||
"$ref": "#/definitions/VehicleSpecification",
|
||||
"description": "The make/model/year specification"
|
||||
},
|
||||
"exteriorColor": {
|
||||
"type": "string",
|
||||
"description": "The vehicle exterior color"
|
||||
},
|
||||
"mileage": {
|
||||
"$ref": "#/definitions/Measurement",
|
||||
"description": "The vehicle mileage"
|
||||
},
|
||||
"status": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"NEW",
|
||||
"USED",
|
||||
"CERTIFIED"
|
||||
],
|
||||
"description": "Is the status of the vehicle new, used, or certified?"
|
||||
},
|
||||
"dates": {
|
||||
"$ref": "#/definitions/Dates"
|
||||
},
|
||||
"ownerHref": {
|
||||
"type": "string",
|
||||
"description": "The hyperlink to the owner customer resource"
|
||||
},
|
||||
"primaryDriverHref": {
|
||||
"type": "string",
|
||||
"description": "The hyperlink to the primary driver customer resource"
|
||||
},
|
||||
"links": {
|
||||
"$ref": "#/definitions/VehicleLinks",
|
||||
"description": "The hypermedia links of the customer resource"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"vehicleId",
|
||||
"identification",
|
||||
"specification",
|
||||
"status",
|
||||
"dates",
|
||||
"links"
|
||||
],
|
||||
"example": {
|
||||
"vehicleId": "1234ABCD",
|
||||
"identification": {
|
||||
"vin": "5TFAW5F19EX759955",
|
||||
"licensePlateNum": "1ABC123"
|
||||
},
|
||||
"specification": {
|
||||
"makeCode": "TOY",
|
||||
"make": "Toyota",
|
||||
"modelCode": "TUNDRA",
|
||||
"model": "Tundra",
|
||||
"modelYear": 2014
|
||||
},
|
||||
"exteriorColor": "BLACK",
|
||||
"mileage": {
|
||||
"value": 56700,
|
||||
"units": "MI"
|
||||
},
|
||||
"status": "USED",
|
||||
"dates": {
|
||||
"delivered": "2019-01-01",
|
||||
"inService": "2014-01-01",
|
||||
"warrantyExpiration": ""
|
||||
},
|
||||
"ownerHref": "https://api.fortellis.io/cdkdrive/crm/v1/customers/RGHH6755",
|
||||
"primaryDriverHref": "https://api.fortellis.io/cdkdrive/crm/v1/customers/AUHYG78835",
|
||||
"links": {
|
||||
"self": {
|
||||
"href": "https://api.fortellis.io/cdkdrive/service/vehicles/1234ABCD"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"VehicleIdentification": {
|
||||
"description": "Vehicle identification. At least one of the identification properties must be defined for the entity to be valid.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"vin": {
|
||||
"type": "string",
|
||||
"description": "The Vehicle Idenitification Number"
|
||||
},
|
||||
"licensePlateNum": {
|
||||
"type": "string",
|
||||
"description": "The vehicle license plate number"
|
||||
}
|
||||
},
|
||||
"example": {
|
||||
"vin": "5TFAW5F19EX759955",
|
||||
"licensePlateNum": "1ABC123"
|
||||
}
|
||||
},
|
||||
"VehicleLinks": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"self": {
|
||||
"$ref": "#/definitions/LinkDescriptionObject"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"self"
|
||||
],
|
||||
"example": {
|
||||
"self": {
|
||||
"href": "https://api.fortellis.io/cdkdrive/service/vehicles/1234ABCD"
|
||||
}
|
||||
}
|
||||
},
|
||||
"VehicleCollection": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"items": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/Vehicle"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"items"
|
||||
],
|
||||
"example": {
|
||||
"items": [
|
||||
{
|
||||
"vehicleId": "1234ABCD",
|
||||
"identification": {
|
||||
"vin": "5TFAW5F19EX759955",
|
||||
"licensePlateNum": "1ABC123"
|
||||
},
|
||||
"specification": {
|
||||
"makeCode": "TOY",
|
||||
"make": "Toyota",
|
||||
"modelCode": "TUNDRA",
|
||||
"model": "Tundra",
|
||||
"modelYear": 2014
|
||||
},
|
||||
"exteriorColor": "BLACK",
|
||||
"mileage": {
|
||||
"value": 56700,
|
||||
"units": "MI"
|
||||
},
|
||||
"status": "USED",
|
||||
"dates": {
|
||||
"delivered": "2019-01-01",
|
||||
"inService": "2014-01-01",
|
||||
"warrantyExpiration": ""
|
||||
},
|
||||
"ownerHref": "https://api.fortellis.io/cdkdrive/crm/v1/customers/RGHH6755",
|
||||
"primaryDriverHref": "https://api.fortellis.io/cdkdrive/crm/v1/customers/AUHYG78835",
|
||||
"links": {
|
||||
"self": {
|
||||
"href": "https://api.fortellis.io/cdkdrive/service/vehicles/1234ABCD"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"vehicleId": "6789WXYZ",
|
||||
"identification": {
|
||||
"vin": "JF1GR7E64DG203230",
|
||||
"licensePlateNum": "9XYZ789"
|
||||
},
|
||||
"specification": {
|
||||
"makeCode": "SUB",
|
||||
"make": "Subaru",
|
||||
"modelCode": "IMPREZ",
|
||||
"model": "Impreza",
|
||||
"modelYear": 2013
|
||||
},
|
||||
"exteriorColor": "BLUE",
|
||||
"mileage": {
|
||||
"value": 77890,
|
||||
"units": "MI"
|
||||
},
|
||||
"status": "CERTIFIED",
|
||||
"certified": false,
|
||||
"dates": {
|
||||
"delivered": "2013-05-01",
|
||||
"inService": "2013-05-01",
|
||||
"warrantyExpiration": "2020-05-01"
|
||||
},
|
||||
"ownerHref": "https://api.fortellis.io/cdkdrive/crm/v1/customers/GHJJ67788",
|
||||
"primaryDriverHref": "https://api.fortellis.io/cdkdrive/crm/v1/customers/FHKJ4612",
|
||||
"links": {
|
||||
"self": {
|
||||
"href": "https://api.fortellis.io/cdkdrive/service/vehicles/6789WXYZ"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"CreateVehicle": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"identification": {
|
||||
"$ref": "#/definitions/VehicleIdentification",
|
||||
"description": "Unique vehicle identifiers"
|
||||
},
|
||||
"specification": {
|
||||
"$ref": "#/definitions/VehicleSpecification",
|
||||
"description": "The make/model/year specification"
|
||||
},
|
||||
"exteriorColor": {
|
||||
"type": "string",
|
||||
"description": "The vehicle exterior color"
|
||||
},
|
||||
"mileage": {
|
||||
"$ref": "#/definitions/Measurement",
|
||||
"description": "The vehicle mileage"
|
||||
},
|
||||
"status": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"NEW",
|
||||
"USED",
|
||||
"CERTIFIED"
|
||||
],
|
||||
"description": "Is the status of the vehicle new, used, or certified?"
|
||||
},
|
||||
"dates": {
|
||||
"$ref": "#/definitions/Dates"
|
||||
},
|
||||
"ownerHref": {
|
||||
"type": "string",
|
||||
"description": "The hyperlink to the owner customer resource"
|
||||
},
|
||||
"primaryDriverHref": {
|
||||
"type": "string",
|
||||
"description": "The hyperlink to the primary driver customer resource"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"identification",
|
||||
"specification",
|
||||
"status",
|
||||
"dates"
|
||||
],
|
||||
"example": {
|
||||
"identification": {
|
||||
"vin": "5TFAW5F19EX759955",
|
||||
"licensePlateNum": "1ABC123"
|
||||
},
|
||||
"specification": {
|
||||
"makeCode": "TOY",
|
||||
"modelCode": "TUNDRA",
|
||||
"modelYear": 2014
|
||||
},
|
||||
"exteriorColor": "BLACK",
|
||||
"mileage": {
|
||||
"value": 56700,
|
||||
"units": "MI"
|
||||
},
|
||||
"status": "USED",
|
||||
"dates": {
|
||||
"delivered": "2019-01-01",
|
||||
"inService": "2014-01-01",
|
||||
"warrantyExpiration": ""
|
||||
},
|
||||
"ownerHref": "https://api.fortellis.io/cdkdrive/crm/v1/customers/RGHH6755",
|
||||
"primaryDriverHref": "https://api.fortellis.io/cdkdrive/crm/v1/customers/AUHYG78835"
|
||||
}
|
||||
},
|
||||
"VehicleSpecification": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"makeCode": {
|
||||
"type": "string",
|
||||
"description": "The vehicle make code"
|
||||
},
|
||||
"make": {
|
||||
"type": "string",
|
||||
"description": "The vehicle make name"
|
||||
},
|
||||
"modelCode": {
|
||||
"type": "string",
|
||||
"description": "The vehicle model code"
|
||||
},
|
||||
"model": {
|
||||
"type": "string",
|
||||
"description": "The vehicle model name"
|
||||
},
|
||||
"modelYear": {
|
||||
"type": "number",
|
||||
"description": "The vehicle model year"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"makeCode",
|
||||
"modelCode",
|
||||
"modelYear"
|
||||
],
|
||||
"example": {
|
||||
"makeCode": "TOY",
|
||||
"make": "Toyota",
|
||||
"modelCode": "CAM",
|
||||
"model": "Camry",
|
||||
"modelYear": 2017
|
||||
}
|
||||
},
|
||||
"Measurement": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"value": {
|
||||
"type": "number",
|
||||
"description": "The measurement value"
|
||||
},
|
||||
"units": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"MI",
|
||||
"KM"
|
||||
],
|
||||
"description": "The units of measurement"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"value",
|
||||
"units"
|
||||
],
|
||||
"example": {
|
||||
"value": 1024,
|
||||
"units": "KM"
|
||||
}
|
||||
},
|
||||
"Dates": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"delivered": {
|
||||
"type": "string",
|
||||
"format": "date",
|
||||
"description": "Delivery date of the vehicle to its current owner as defined by RFC 3339, section 5.6, for example, 2017-07-21"
|
||||
},
|
||||
"inService": {
|
||||
"type": "string",
|
||||
"format": "date",
|
||||
"description": "Retail sale date to the original owner as defined by RFC 3339, section 5.6, for example, 2017-07-21"
|
||||
},
|
||||
"warrantyExpiration": {
|
||||
"type": "string",
|
||||
"format": "date",
|
||||
"description": "Warranty Expiration date of the vehicle as defined by RFC 3339, section 5.6, for example, 2017-07-21"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"delivered",
|
||||
"inService"
|
||||
],
|
||||
"example": {
|
||||
"delivered": "2019-01-01T00:00:00Z",
|
||||
"inService": "2014-01-01T00:00:00Z",
|
||||
"warrantyExpiration": "2020-01-01T00:00:00Z"
|
||||
}
|
||||
},
|
||||
"LinkDescriptionObject": {
|
||||
"title": "Details of a link to a resource",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"href": {
|
||||
"type": "string",
|
||||
"description": "The target URI"
|
||||
},
|
||||
"method": {
|
||||
"type": "string",
|
||||
"description": "The HTTP verb that MUST be used to make a request to the target of the link"
|
||||
},
|
||||
"title": {
|
||||
"type": "string",
|
||||
"description": "The title property provides a title for the link and is a helpful documentation tool to facilitate understanding by the end clients"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"href"
|
||||
],
|
||||
"example": {
|
||||
"href": "https://api.fortellis.io/cdkdrive/service/v1/vehicles/1234ABCD",
|
||||
"method": "GET"
|
||||
}
|
||||
},
|
||||
"ErrorResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"code": {
|
||||
"type": "integer",
|
||||
"format": "int32"
|
||||
},
|
||||
"message": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"code",
|
||||
"message"
|
||||
],
|
||||
"example": {
|
||||
"code": 400,
|
||||
"message": "Bad Request - Missing \"vehicleId\" path parameter."
|
||||
}
|
||||
}
|
||||
},
|
||||
"parameters": {},
|
||||
"responses": {},
|
||||
"securityDefinitions": {},
|
||||
"security": [
|
||||
{
|
||||
"apiKeyHeader": []
|
||||
},
|
||||
{
|
||||
"apiKeyQuery": []
|
||||
}
|
||||
],
|
||||
"tags": []
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"properties": {
|
||||
"connectionParameters": {},
|
||||
"iconBrandColor": "#1F1A3C",
|
||||
"capabilities": [],
|
||||
"publisher": "CDK Global",
|
||||
"stackOwner": "CDK Global"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
## COSMO Bot
|
||||
COSMO Bot by COSMO CONSULT increases your business success through more efficiency in everyday life. If you answer a standard question today, you are wasting time. In contact with your customers, this is often a good opportunity to get to know each other and establish a relationship. But internally, from employee to employee, or when there is simply too much to do, it is a luxury that not everyone can allow themselves. This Connector allows you to extend the bots functionality and integrate other systems.
|
||||
|
||||
## Prerequisites
|
||||
To use this connector you need to have administrative access to a COSMO Bot Instance. [What is COSMO Bot?](https://cosma.cosmoconsult.com/?msg=Was+ist+COSMO+Bot%3F) [How do i get a COSMO Bot instance?](https://cosma.cosmoconsult.com/?msg=How+do+i+get+a+COSMO+Bot+instance%3F)
|
|
@ -0,0 +1,43 @@
|
|||
{
|
||||
"properties": {
|
||||
"connectionParameters": {
|
||||
"botInstanceUrl": {
|
||||
"type": "string",
|
||||
"uiDefinition": {
|
||||
"constraints": {
|
||||
"required": "true"
|
||||
},
|
||||
"displayName": "Bot Instance URL",
|
||||
"description": "The URL where your bot instance can be reached",
|
||||
"tooltip": "Provide the bot instance URL"
|
||||
}
|
||||
},
|
||||
"api_key": {
|
||||
"type": "securestring",
|
||||
"uiDefinition": {
|
||||
"displayName": "API Key",
|
||||
"description": "The API key for accessing this bot instance",
|
||||
"tooltip": "Provide the API key",
|
||||
"constraints": {
|
||||
"tabIndex": 3,
|
||||
"clearText": false,
|
||||
"required": "true"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"policyTemplateInstances": [
|
||||
{
|
||||
"parameters": {
|
||||
"x-ms-apimTemplateParameter.urlTemplate": "@connectionParameters('botInstanceUrl')/api/v1"
|
||||
},
|
||||
"templateId": "dynamichosturl",
|
||||
"title": "Bot Instance URL"
|
||||
}
|
||||
],
|
||||
"iconBrandColor": "#545859",
|
||||
"capabilities": [],
|
||||
"publisher": "COSMO CONSULT GmbH",
|
||||
"stackOwner": "COSMO CONSULT GmbH"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,986 @@
|
|||
{
|
||||
"swagger": "2.0",
|
||||
"info": {
|
||||
"title": "CRM Bot",
|
||||
"description": "Create powerful conversation experience for your customers right from your CRM system.\nLearn more https://docs.crmbot.ai/",
|
||||
"version": "1.0",
|
||||
"contact": {
|
||||
"name": "CRM Bot Ltd - Support",
|
||||
"url": "https://github.com/crmbot-ai/crmbot-community/issues",
|
||||
"email": "support@crmbot.ai"
|
||||
}
|
||||
},
|
||||
"host": "services.crmbot.ai",
|
||||
"basePath": "/",
|
||||
"schemes": [
|
||||
"https"
|
||||
],
|
||||
"consumes": [],
|
||||
"produces": [],
|
||||
"paths": {
|
||||
"/runtime/api/message/custom": {
|
||||
"post": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"message": {
|
||||
"type": "object",
|
||||
"title": "Adaptive card"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"operationId": "build-custom-message",
|
||||
"summary": "Build Adaptive Card Response",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"platform": {
|
||||
"type": "string",
|
||||
"description": "Use Platform parameter from trigger action",
|
||||
"title": "Platform"
|
||||
},
|
||||
"text": {
|
||||
"type": "string",
|
||||
"description": "Paste here your adaptive card JSON",
|
||||
"title": "Payload"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"text",
|
||||
"platform"
|
||||
]
|
||||
},
|
||||
"x-ms-visibility": "advanced"
|
||||
}
|
||||
],
|
||||
"description": "Creates Microsoft Adaptive Card response to send to the user.",
|
||||
"x-ms-visibility": "important"
|
||||
}
|
||||
},
|
||||
"/runtime/api/message/text": {
|
||||
"post": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"message": {
|
||||
"type": "object",
|
||||
"title": "Text message"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"operationId": "build-text-message",
|
||||
"summary": "Build Text Response",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"platform": {
|
||||
"type": "string",
|
||||
"description": "Use Platform parameter from trigger action",
|
||||
"title": "Platform"
|
||||
},
|
||||
"text": {
|
||||
"type": "string",
|
||||
"description": "Provide your response",
|
||||
"title": "Text"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"text",
|
||||
"platform"
|
||||
]
|
||||
},
|
||||
"x-ms-visibility": "advanced"
|
||||
}
|
||||
],
|
||||
"description": "Creates a standard text response to send to the user.",
|
||||
"x-ms-visibility": "important"
|
||||
}
|
||||
},
|
||||
"/runtime/api/message/card": {
|
||||
"post": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"message": {
|
||||
"type": "object",
|
||||
"title": "Card message"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"operationId": "build-card-message",
|
||||
"summary": "Build Card Response",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"platform": {
|
||||
"type": "string",
|
||||
"description": "Use Platform parameter from trigger action",
|
||||
"title": "Platform"
|
||||
},
|
||||
"title": {
|
||||
"type": "string",
|
||||
"description": "Enter card title",
|
||||
"title": "Title"
|
||||
},
|
||||
"subtitle": {
|
||||
"type": "string",
|
||||
"description": "Enter card description (optional)",
|
||||
"title": "Description"
|
||||
},
|
||||
"url": {
|
||||
"type": "string",
|
||||
"description": "Enter url of your .jpg or .png (optional)",
|
||||
"title": "Image URL"
|
||||
},
|
||||
"isCarousel": {
|
||||
"type": "boolean",
|
||||
"description": "Set to NO as default.",
|
||||
"title": "Display as carousel",
|
||||
"default": false
|
||||
},
|
||||
"buttontitle1": {
|
||||
"type": "string",
|
||||
"description": "Title of your button",
|
||||
"title": "1st Button Title"
|
||||
},
|
||||
"buttonpostback1": {
|
||||
"type": "string",
|
||||
"description": "Postback (text sent to Flow) of your button",
|
||||
"title": "1st Button Postback"
|
||||
},
|
||||
"buttontitle2": {
|
||||
"type": "string",
|
||||
"description": "Title of your button",
|
||||
"title": "2nd Button Title"
|
||||
},
|
||||
"buttonpostback2": {
|
||||
"type": "string",
|
||||
"description": "Postback (text sent to Flow) of your button",
|
||||
"title": "2nd Button Postback"
|
||||
},
|
||||
"buttontitle3": {
|
||||
"type": "string",
|
||||
"description": "Title of your button",
|
||||
"title": "3rd Button Title"
|
||||
},
|
||||
"buttonpostback3": {
|
||||
"type": "string",
|
||||
"description": "Postback (text sent to Flow) of your button",
|
||||
"title": "3rd Button Postback"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"title",
|
||||
"platform",
|
||||
"isCarousel"
|
||||
]
|
||||
},
|
||||
"x-ms-visibility": "advanced"
|
||||
}
|
||||
],
|
||||
"description": "Creates Card response to send to the user.",
|
||||
"x-ms-visibility": "important"
|
||||
}
|
||||
},
|
||||
"/runtime/api/message/quickreplies": {
|
||||
"post": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"message": {
|
||||
"type": "object",
|
||||
"title": "Quick replies message"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"operationId": "build-quickreplies-message",
|
||||
"summary": "Build Quick Reply Response",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"platform": {
|
||||
"type": "string",
|
||||
"description": "Use Platform parameter from trigger action",
|
||||
"title": "Platform"
|
||||
},
|
||||
"title": {
|
||||
"type": "string",
|
||||
"description": "Text to display above the options",
|
||||
"title": "Title"
|
||||
},
|
||||
"text": {
|
||||
"type": "string",
|
||||
"description": "Provide list of comma separated options",
|
||||
"title": "Menu options"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"text",
|
||||
"platform",
|
||||
"title"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"description": "Creates a small menu of suggested actions for the user.",
|
||||
"x-ms-visibility": "important"
|
||||
}
|
||||
},
|
||||
"/runtime/api/message/media": {
|
||||
"post": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"message": {
|
||||
"type": "object",
|
||||
"title": "Media message"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"operationId": "build-media-message",
|
||||
"summary": "Build Media Response",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"platform": {
|
||||
"type": "string",
|
||||
"description": "Use Platform parameter from trigger action",
|
||||
"title": "Platform"
|
||||
},
|
||||
"url": {
|
||||
"type": "string",
|
||||
"description": "Enter url of your image or video",
|
||||
"title": "Image/Video URL"
|
||||
},
|
||||
"mediaType": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"1",
|
||||
"2"
|
||||
],
|
||||
"x-ms-enum-values": [
|
||||
{
|
||||
"displayName": "Image",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"displayName": "Video",
|
||||
"value": "2"
|
||||
}
|
||||
],
|
||||
"title": "Media type",
|
||||
"description": "Select right type"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"url",
|
||||
"mediaType",
|
||||
"platform"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"description": "Creates an image or video to send to the user.",
|
||||
"x-ms-visibility": "important"
|
||||
}
|
||||
},
|
||||
"/runtime/api/flowconnector/response": {
|
||||
"post": {
|
||||
"operationId": "send-response",
|
||||
"summary": "Send Response",
|
||||
"description": "Sends your response to the user within the context of existing conversation (Requires Bot Trigger).",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK"
|
||||
}
|
||||
},
|
||||
"parameters": [
|
||||
{
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"required": [
|
||||
"useGlossary",
|
||||
"targetLanguage",
|
||||
"sessionId"
|
||||
],
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"sessionId": {
|
||||
"type": "string",
|
||||
"title": "Bot Session ID",
|
||||
"description": "Use BotSessionID parameter from trigger action"
|
||||
},
|
||||
"useGlossary": {
|
||||
"type": "boolean",
|
||||
"description": "If you have a custom dictionary for your Bot select Yes",
|
||||
"title": "Use Custom Dictionary"
|
||||
},
|
||||
"targetLanguage": {
|
||||
"type": "string",
|
||||
"description": "Use Language parameter from trigger action",
|
||||
"title": "Target Language"
|
||||
},
|
||||
"webhookResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"FulfillmentMessages": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object"
|
||||
},
|
||||
"title": "Fullfilment Messages",
|
||||
"description": "Use Message parameter from your Response Actions"
|
||||
},
|
||||
"EventName": {
|
||||
"description": "Select the event you would like to invoke",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Select the event you would like to invoke",
|
||||
"x-ms-dynamic-values": {
|
||||
"operationId": "get-events"
|
||||
},
|
||||
"title": "Event"
|
||||
},
|
||||
"OutputContextName": {
|
||||
"description": "Apply specific context to response",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Apply specific context to response",
|
||||
"x-ms-dynamic-values": {
|
||||
"operationId": "get-contexts"
|
||||
},
|
||||
"title": "Output Context"
|
||||
},
|
||||
"OutputContextLifespan": {
|
||||
"description": "Duration of context",
|
||||
"type": "integer",
|
||||
"x-ms-summary": "Duration of context",
|
||||
"title": "Context Lifespan"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"x-ms-visibility": "important"
|
||||
}
|
||||
},
|
||||
"/runtime/api/flowconnector/proactive": {
|
||||
"post": {
|
||||
"operationId": "send-proactive-message",
|
||||
"summary": "Send Proactive Message",
|
||||
"description": "Sends your response to the user outside of the standard conversation (requires User ID).",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK"
|
||||
}
|
||||
},
|
||||
"parameters": [
|
||||
{
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"required": [
|
||||
"sessionId",
|
||||
"useGlossary",
|
||||
"targetLanguage"
|
||||
],
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"sessionId": {
|
||||
"type": "string",
|
||||
"description": "Needs to come from your trigger or supporting datasets",
|
||||
"title": "User ID"
|
||||
},
|
||||
"useGlossary": {
|
||||
"type": "boolean",
|
||||
"description": "If you have a custom dictionary for your Bot select Yes",
|
||||
"title": "Use Custom Dictionary"
|
||||
},
|
||||
"targetLanguage": {
|
||||
"type": "string",
|
||||
"description": "Use Language parameter from trigger action",
|
||||
"title": "Target Language"
|
||||
},
|
||||
"webhookResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"FulfillmentMessages": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object"
|
||||
},
|
||||
"description": "Use Message parameter from your Response Actions",
|
||||
"title": "Fullfilment Messages"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"x-ms-visibility": "important"
|
||||
}
|
||||
},
|
||||
"/runtime/api/flowconnector/getIntents": {
|
||||
"get": {
|
||||
"operationId": "get-intents",
|
||||
"summary": "Get intents",
|
||||
"description": "Get intents",
|
||||
"x-ms-visibility": "internal",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"intent": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/runtime/api/flowconnector/getContexts": {
|
||||
"get": {
|
||||
"operationId": "get-contexts",
|
||||
"summary": "Get contexts",
|
||||
"description": "Get contexts",
|
||||
"x-ms-visibility": "internal",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/runtime/api/flowconnector/getEvents": {
|
||||
"get": {
|
||||
"operationId": "get-events",
|
||||
"summary": "Get events",
|
||||
"description": "Get events",
|
||||
"x-ms-visibility": "internal",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/runtime/api/flowconnector/getSchema/{intent}": {
|
||||
"get": {
|
||||
"operationId": "get-schema",
|
||||
"summary": "Get intent schema",
|
||||
"description": "Get intent schema",
|
||||
"x-ms-visibility": "internal",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
},
|
||||
"parameters": [
|
||||
{
|
||||
"name": "intent",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"description": "Select the intent",
|
||||
"default": "test"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/runtime/api/flowconnector": {
|
||||
"x-ms-notification-content": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"x-ms-dynamic-schema": {
|
||||
"operationId": "get-schema",
|
||||
"parameters": {
|
||||
"intent": {
|
||||
"parameter": "intent"
|
||||
}
|
||||
}
|
||||
},
|
||||
"x-ms-dynamic-properties": {
|
||||
"operationId": "get-schema",
|
||||
"parameters": {
|
||||
"intent": {
|
||||
"parameterReference": "body/intent"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "Api Response"
|
||||
},
|
||||
"x-ms-visibility": "important",
|
||||
"post": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
},
|
||||
"operationId": "intent-detected",
|
||||
"summary": "When Intent is detected",
|
||||
"x-ms-trigger": "single",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"callbackUrl": {
|
||||
"type": "string",
|
||||
"description": "callbackUrl",
|
||||
"x-ms-visibility": "internal",
|
||||
"title": "",
|
||||
"x-ms-notification-url": true
|
||||
},
|
||||
"intent": {
|
||||
"description": "Select intent you would like to trigger on",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Select intent you would like to trigger on",
|
||||
"x-ms-dynamic-values": {
|
||||
"operationId": "get-intents",
|
||||
"value-path": "intent",
|
||||
"value-title": "intent"
|
||||
},
|
||||
"title": "Intent",
|
||||
"x-ms-visibility": "important"
|
||||
},
|
||||
"platform": {
|
||||
"title": "Platform",
|
||||
"description": "Use Unspecified if your flow is platform agnostic",
|
||||
"type": "string",
|
||||
"x-ms-visibility": "important",
|
||||
"x-ms-summary": "Use Unspecified if your flow is platform agnostic",
|
||||
"enum": [
|
||||
"Unspecified",
|
||||
"Messenger",
|
||||
"Google Assistant",
|
||||
"Skype",
|
||||
"Slack"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"callbackUrl",
|
||||
"intent",
|
||||
"platform"
|
||||
]
|
||||
},
|
||||
"x-ms-visibility": "advanced"
|
||||
}
|
||||
],
|
||||
"description": "Triggers when CRM Bot matches user request to one of your Intents with fullfilment.",
|
||||
"x-ms-visibility": "important"
|
||||
}
|
||||
},
|
||||
"/designtime/api/dialogsessions": {
|
||||
"post": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"key": {
|
||||
"type": "string",
|
||||
"description": "Delete key"
|
||||
},
|
||||
"result": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"sessionId": {
|
||||
"type": "string",
|
||||
"description": "sessionId"
|
||||
},
|
||||
"userId": {
|
||||
"type": "string",
|
||||
"description": "userId"
|
||||
},
|
||||
"timestamp": {
|
||||
"type": "string",
|
||||
"description": "timestamp"
|
||||
},
|
||||
"dialogLines": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string",
|
||||
"description": "id"
|
||||
},
|
||||
"timestamp": {
|
||||
"type": "string",
|
||||
"description": "timestamp"
|
||||
},
|
||||
"triggeredIntent": {
|
||||
"type": "string",
|
||||
"description": "triggeredIntent"
|
||||
},
|
||||
"userSaid": {
|
||||
"type": "string",
|
||||
"description": "userSaid"
|
||||
},
|
||||
"botResponse": {
|
||||
"type": "string",
|
||||
"description": "botResponse"
|
||||
},
|
||||
"flowUrl": {
|
||||
"type": "string",
|
||||
"description": "flowUrl"
|
||||
},
|
||||
"intentConfidence": {
|
||||
"type": "number",
|
||||
"format": "float",
|
||||
"description": "intentConfidence"
|
||||
},
|
||||
"language": {
|
||||
"type": "string",
|
||||
"description": "language"
|
||||
},
|
||||
"userMessageCorrelationId": {
|
||||
"type": "string",
|
||||
"description": "userMessageCorrelationId"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "dialogLines"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "result"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"operationId": "get-sessions",
|
||||
"summary": "Get Sessions",
|
||||
"description": "Downloads all sessions for a Bot Agent.",
|
||||
"x-ms-visibility": "important"
|
||||
}
|
||||
},
|
||||
"/designtime/api/dialogsessions/delete": {
|
||||
"post": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK"
|
||||
}
|
||||
},
|
||||
"parameters": [
|
||||
{
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"key": {
|
||||
"type": "string",
|
||||
"description": "Paste here your delete key",
|
||||
"title": "Key"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"key"
|
||||
]
|
||||
},
|
||||
"x-ms-visibility": "advanced"
|
||||
}
|
||||
],
|
||||
"operationId": "delete-sessions",
|
||||
"summary": "Delete Sessions",
|
||||
"description": "Deletes all sessions for a Bot Agent",
|
||||
"x-ms-visibility": "important"
|
||||
}
|
||||
},
|
||||
"/designtime/api/translate/detect": {
|
||||
"post": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"detectedLanguage": {
|
||||
"type": "string",
|
||||
"title": "Detected language"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"operationId": "detect-language",
|
||||
"summary": "Detect language",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"text": {
|
||||
"type": "string",
|
||||
"description": "text",
|
||||
"title": "Text"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"text"
|
||||
]
|
||||
},
|
||||
"x-ms-visibility": "advanced"
|
||||
}
|
||||
],
|
||||
"description": "Detects language code."
|
||||
}
|
||||
},
|
||||
"/designtime/api/translate/text": {
|
||||
"post": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"text": {
|
||||
"type": "string",
|
||||
"title": "Translated text"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"operationId": "translate-text",
|
||||
"summary": "Translate Text",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"text": {
|
||||
"type": "string",
|
||||
"description": "text",
|
||||
"title": "Text"
|
||||
},
|
||||
"targetLanguage": {
|
||||
"type": "string",
|
||||
"description": "Target language",
|
||||
"title": "Target language"
|
||||
},
|
||||
"sourceLanguage": {
|
||||
"type": "string",
|
||||
"description": "Source language",
|
||||
"title": "Source language"
|
||||
},
|
||||
"omitParameters": {
|
||||
"type": "boolean",
|
||||
"description": "Omit parameters",
|
||||
"title": "Omit parameters"
|
||||
},
|
||||
"useGlossary": {
|
||||
"type": "boolean",
|
||||
"description": "Use glossary",
|
||||
"title": "Use glossary"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"text",
|
||||
"targetLanguage",
|
||||
"omitParameters"
|
||||
]
|
||||
},
|
||||
"x-ms-visibility": "advanced"
|
||||
}
|
||||
],
|
||||
"description": "Translates input text."
|
||||
}
|
||||
},
|
||||
"/designtime/api/translate/texts": {
|
||||
"post": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"texts": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"title": "Translated batch of texts"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"operationId": "translate-texts",
|
||||
"summary": "Translate Text (batch)",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"texts": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "texts",
|
||||
"title": "Texts"
|
||||
},
|
||||
"targetLanguage": {
|
||||
"type": "string",
|
||||
"description": "Target language",
|
||||
"title": "Target language"
|
||||
},
|
||||
"sourceLanguage": {
|
||||
"type": "string",
|
||||
"description": "Source language",
|
||||
"title": "Source language"
|
||||
},
|
||||
"omitParameters": {
|
||||
"type": "boolean",
|
||||
"description": "Omit parameters",
|
||||
"title": "Omit parameters"
|
||||
},
|
||||
"useGlossary": {
|
||||
"type": "boolean",
|
||||
"description": "Use glossary",
|
||||
"title": "Use glossary"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"texts",
|
||||
"targetLanguage",
|
||||
"omitParameters"
|
||||
]
|
||||
},
|
||||
"x-ms-visibility": "advanced"
|
||||
}
|
||||
],
|
||||
"description": "Translates multiple lines of text."
|
||||
}
|
||||
}
|
||||
},
|
||||
"definitions": {},
|
||||
"parameters": {},
|
||||
"responses": {},
|
||||
"securityDefinitions": {
|
||||
"API Key": {
|
||||
"type": "apiKey",
|
||||
"in": "header",
|
||||
"name": "X-Tcb-Api-Key"
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"API Key": []
|
||||
}
|
||||
],
|
||||
"tags": [],
|
||||
"x-ms-connector-metadata": [
|
||||
{
|
||||
"propertyName": "Website",
|
||||
"propertyValue": "https://docs.crmbot.ai"
|
||||
},
|
||||
{
|
||||
"propertyName": "Privacy policy",
|
||||
"propertyValue": "https://crmbot.ai/privacy"
|
||||
},
|
||||
{
|
||||
"propertyName": "Categories",
|
||||
"propertyValue": "Sales and CRM;AI"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"properties": {
|
||||
"connectionParameters": {
|
||||
"api_key": {
|
||||
"type": "securestring",
|
||||
"uiDefinition": {
|
||||
"displayName": "CRM Bot API Key",
|
||||
"description": "Please see your registration email for reference.",
|
||||
"tooltip": "Please see your registration email for reference.",
|
||||
"constraints": {
|
||||
"tabIndex": 2,
|
||||
"clearText": false,
|
||||
"required": "true"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"iconBrandColor": "#0B304D",
|
||||
"capabilities": [],
|
||||
"publisher": "CRM Bot Ltd",
|
||||
"stackOwner": "CRM Bot Ltd"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
## CRM Bot - Conversational AI for your CRM
|
||||
|
||||
Create a powerful conversational experience for your customers right from your CRM system. Give users new ways to interact with your company by building engaging voice and text-based conversational interfaces, such as voice apps and chatbots, powered by AI. Connect with users on your website, mobile app, the Google Assistant, Amazon Alexa, Facebook Messenger, and other popular platforms and devices. And do it directly from your existing CRM implementation.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Our clients have to undergo a registration process which is currently offered through MS Teams chatbot as well as part of overall solution installation, currently available through our sales bot [here](https://crmbot.ai). This provides them with a secret API key which is necessary to use our connector with their chatbot projects.
|
||||
|
||||
## How to get credentials
|
||||
|
||||
In order to get access to your own chatbot project with CRM Bot, all you have to do is get in touch with our CRM chatbot (which is available at crmbot.ai). The chatbot will guide you through the registration process.
|
||||
|
||||
## Support and documentation
|
||||
|
||||
You can find the detailed documentation [here.](https://docs.crmbot.ai/docs/)
|
|
@ -1,11 +1,16 @@
|
|||
{
|
||||
"properties": {
|
||||
"capabilities": [],
|
||||
"publisher": "CandidateZip CV/Job Parser",
|
||||
"stackOwner":"CandidateZip CV/Job Parser",
|
||||
"iconBrandColor": "#81D929",
|
||||
"connectionParameters": {
|
||||
"token": {
|
||||
"oAuthSettings": {
|
||||
"clientId": "<client-id-please-replace>",
|
||||
"customParameters": {
|
||||
"refreshUrl": {
|
||||
"value": "https://<replace with candidatezip token api>"
|
||||
},
|
||||
"authorizationUrl": {
|
||||
"value": "https://<replace with candidatezip authorization url>"
|
||||
},
|
||||
|
@ -13,16 +18,16 @@
|
|||
"value": "https://<replace with candidatezip token api>"
|
||||
}
|
||||
},
|
||||
"scopes": [],
|
||||
"identityProvider": "oauth2",
|
||||
"redirectUrl": "https://global.consent.azure-apim.net/redirect",
|
||||
"clientId": "<client-id>",
|
||||
"properties": {
|
||||
"IsFirstParty": "False"
|
||||
},
|
||||
"redirectUrl": "https://india-001.consent.azure-apim.net/redirect",
|
||||
"scopes": []
|
||||
}
|
||||
},
|
||||
"type": "oauthSetting"
|
||||
}
|
||||
},
|
||||
"iconBrandColor": "#81D929"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
|
||||
# Cloud BOT
|
||||
Cloud BOT is a new web browser automation tool born in Japan. Create and run your own robots easily and safely without any installation.
|
||||
[Product Page](https://c-bot.pro/en)
|
||||
|
||||
## Pre-requisites
|
||||
An active account is required and its external connections option has to be valid.
|
||||
|
||||
## Supported Triggers
|
||||
BOT Done: Triggers when a BOT at the end of execution.
|
||||
|
||||
## Supported Actions
|
||||
Execute BOT: Execute your BOT.
|
||||
|
||||
## API documentation
|
||||
[API Reference](https://docs.c-bot.pro/en/2020/06/25/api-reference/)
|
||||
|
||||
## Service User Guide
|
||||
[User guide](https://docs.c-bot.pro/en/category/user_guide/)
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"properties": {
|
||||
"connectionParameters": {
|
||||
"token": {
|
||||
"type": "oauthSetting",
|
||||
"oAuthSettings": {
|
||||
"identityProvider": "oauth2",
|
||||
"clientId": "<client-id>",
|
||||
"scopes": [
|
||||
"execute",
|
||||
"refer",
|
||||
"suspend"
|
||||
],
|
||||
"redirectMode": "Global",
|
||||
"redirectUrl": "https://global.consent.azure-apim.net/redirect",
|
||||
"properties": {
|
||||
"IsFirstParty": "False"
|
||||
},
|
||||
"customParameters": {
|
||||
"authorizationUrl": {
|
||||
"value": "https://console.c-bot.pro/oauth/authorize"
|
||||
},
|
||||
"tokenUrl": {
|
||||
"value": "https://console.c-bot.pro/oauth/token"
|
||||
},
|
||||
"refreshUrl": {
|
||||
"value": "https://console.c-bot.pro/oauth/token"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"iconBrandColor": "#f4f4f4",
|
||||
"capabilities": [],
|
||||
"publisher": "C-RISE Ltd.",
|
||||
"stackOwner": "C-RISE Ltd."
|
||||
}
|
||||
}
|
|
@ -1,388 +1,393 @@
|
|||
{
|
||||
"definitions": {
|
||||
"BarcodeLookupResponse": {
|
||||
"description": "Result of performing a barcode lookup",
|
||||
"properties": {
|
||||
"Matches": {
|
||||
"description": "Resulting product matches for the input barcode",
|
||||
"items": {
|
||||
"$ref": "#/definitions/ProductMatch"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"Successful": {
|
||||
"description": "True if operation was successful, false otherwise",
|
||||
"type": "boolean"
|
||||
"swagger": "2.0",
|
||||
"info": {
|
||||
"version": "v1",
|
||||
"title": "Cloudmersive Barcode",
|
||||
"description": "Barcode APIs let you generate barcode images, and recognize values from images of barcodes.",
|
||||
"contact": {
|
||||
"name": "Cloumdersive Support",
|
||||
"url": "https://account.cloudmersive.com/contact-support",
|
||||
"email": "support@cloudmersive.com"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"BarcodeScanResult": {
|
||||
"description": "Result of the barcode scan",
|
||||
"properties": {
|
||||
"BarcodeType": {
|
||||
"description": "The type of the barcode; possible values are AZTEC, CODABAR, CODE_39, CODE_93, CODE_128, DATA_MATRIX, EAN_8, EAN_13, ITF, MAXICODE, PDF_417, QR_CODE, RSS_14, RSS_EXPANDED, UPC_A, UPC_E, All_1D, UPC_EAN_EXTENSION, MSI, PLESSEY, IMB",
|
||||
"type": "string"
|
||||
"host": "api.cloudmersive.com",
|
||||
"schemes": [
|
||||
"https"
|
||||
],
|
||||
"paths": {
|
||||
"/barcode/lookup/ean": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"BarcodeLookup"
|
||||
],
|
||||
"summary": "Lookup EAN barcode value, return product data",
|
||||
"description": "Lookup an input EAN barcode and return key details about the product",
|
||||
"operationId": "BarcodeLookup_EanLookup",
|
||||
"consumes": [
|
||||
"application/json",
|
||||
"text/json",
|
||||
"application/xml",
|
||||
"text/xml",
|
||||
"application/x-www-form-urlencoded"
|
||||
],
|
||||
"produces": [
|
||||
"application/json",
|
||||
"text/json",
|
||||
"application/xml",
|
||||
"text/xml"
|
||||
],
|
||||
"parameters": [{
|
||||
"name": "value",
|
||||
"in": "body",
|
||||
"description": "Barcode value",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
},
|
||||
"x-ms-summary": "Barcode value"
|
||||
}],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/BarcodeLookupResponse"
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": [{
|
||||
"Apikey": []
|
||||
}]
|
||||
}
|
||||
},
|
||||
"RawText": {
|
||||
"description": "The barcode text",
|
||||
"type": "string"
|
||||
"/barcode/scan/image": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"BarcodeScan"
|
||||
],
|
||||
"summary": "Scan and recognize an image of a barcode",
|
||||
"description": "Scan an image or photo of a barcode and return the result. Supported barcode types include AZTEC, CODABAR, CODE_39, CODE_93, CODE_128, DATA_MATRIX, EAN_8, EAN_13, ITF, MAXICODE, PDF_417, QR_CODE, RSS_14, RSS_EXPANDED, UPC_A, UPC_E, All_1D, UPC_EAN_EXTENSION, MSI, PLESSEY, IMB",
|
||||
"operationId": "BarcodeScan_Image",
|
||||
"consumes": [
|
||||
"multipart/form-data"
|
||||
],
|
||||
"produces": [
|
||||
"application/json",
|
||||
"text/json",
|
||||
"application/xml",
|
||||
"text/xml"
|
||||
],
|
||||
"parameters": [{
|
||||
"name": "imageFile",
|
||||
"in": "formData",
|
||||
"description": "Image file to perform the operation on. Common file formats such as P",
|
||||
"required": true,
|
||||
"type": "file",
|
||||
"x-ms-summary": "Image file to perform the operation on. Common file formats such as P"
|
||||
}],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/BarcodeScanResult"
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": [{
|
||||
"Apikey": []
|
||||
}]
|
||||
}
|
||||
},
|
||||
"Successful": {
|
||||
"description": "True if the operation was successful, false otherwise",
|
||||
"type": "boolean"
|
||||
"/barcode/generate/qrcode": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"GenerateBarcode"
|
||||
],
|
||||
"summary": "Generate a QR code barcode as PNG file",
|
||||
"description": "Generate a QR code barcode as a PNG file, a type of 2D barcode which can encode free-form text information",
|
||||
"operationId": "GenerateBarcode_QRCode",
|
||||
"consumes": [
|
||||
"application/json",
|
||||
"text/json",
|
||||
"application/xml",
|
||||
"text/xml",
|
||||
"application/x-www-form-urlencoded"
|
||||
],
|
||||
"produces": [
|
||||
"application/octet-stream"
|
||||
],
|
||||
"parameters": [{
|
||||
"name": "value",
|
||||
"in": "body",
|
||||
"description": "QR code text to convert into the QR code barcode",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
},
|
||||
"x-ms-summary": "QR code text to convert into the QR code barcode"
|
||||
}],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"format": "binary",
|
||||
"title": "OutputContent",
|
||||
"description": "Output file content from the operation",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": [{
|
||||
"Apikey": []
|
||||
}]
|
||||
}
|
||||
},
|
||||
"/barcode/generate/upc-a": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"GenerateBarcode"
|
||||
],
|
||||
"summary": "Generate a UPC-A code barcode as PNG file",
|
||||
"description": "Validate and generate a UPC-A barcode as a PNG file, a type of 1D barcode",
|
||||
"operationId": "GenerateBarcode_UPCA",
|
||||
"consumes": [
|
||||
"application/json",
|
||||
"text/json",
|
||||
"application/xml",
|
||||
"text/xml",
|
||||
"application/x-www-form-urlencoded"
|
||||
],
|
||||
"produces": [
|
||||
"application/octet-stream"
|
||||
],
|
||||
"parameters": [{
|
||||
"name": "value",
|
||||
"in": "body",
|
||||
"description": "UPC-A barcode value to generate from",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
},
|
||||
"x-ms-summary": "UPC-A barcode value to generate from"
|
||||
}],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"format": "binary",
|
||||
"title": "OutputContent",
|
||||
"description": "Output file content from the operation",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": [{
|
||||
"Apikey": []
|
||||
}]
|
||||
}
|
||||
},
|
||||
"/barcode/generate/upc-e": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"GenerateBarcode"
|
||||
],
|
||||
"summary": "Generate a UPC-E code barcode as PNG file",
|
||||
"description": "Validates and generate a UPC-E barcode as a PNG file, a type of 1D barcode",
|
||||
"operationId": "GenerateBarcode_UPCE",
|
||||
"consumes": [
|
||||
"application/json",
|
||||
"text/json",
|
||||
"application/xml",
|
||||
"text/xml",
|
||||
"application/x-www-form-urlencoded"
|
||||
],
|
||||
"produces": [
|
||||
"application/octet-stream"
|
||||
],
|
||||
"parameters": [{
|
||||
"name": "value",
|
||||
"in": "body",
|
||||
"description": "UPC-E barcode value to generate from",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
},
|
||||
"x-ms-summary": "UPC-E barcode value to generate from"
|
||||
}],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"format": "binary",
|
||||
"title": "OutputContent",
|
||||
"description": "Output file content from the operation",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": [{
|
||||
"Apikey": []
|
||||
}]
|
||||
}
|
||||
},
|
||||
"/barcode/generate/ean-13": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"GenerateBarcode"
|
||||
],
|
||||
"summary": "Generate a EAN-13 code barcode as PNG file",
|
||||
"description": "Validates and generate a EAN-13 barcode as a PNG file, a type of 1D barcode",
|
||||
"operationId": "GenerateBarcode_EAN13",
|
||||
"consumes": [
|
||||
"application/json",
|
||||
"text/json",
|
||||
"application/xml",
|
||||
"text/xml",
|
||||
"application/x-www-form-urlencoded"
|
||||
],
|
||||
"produces": [
|
||||
"application/octet-stream"
|
||||
],
|
||||
"parameters": [{
|
||||
"name": "value",
|
||||
"in": "body",
|
||||
"description": "Barcode value to generate from",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
},
|
||||
"x-ms-summary": "Barcode value to generate from"
|
||||
}],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"format": "binary",
|
||||
"title": "OutputContent",
|
||||
"description": "Output file content from the operation",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": [{
|
||||
"Apikey": []
|
||||
}]
|
||||
}
|
||||
},
|
||||
"/barcode/generate/ean-8": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"GenerateBarcode"
|
||||
],
|
||||
"summary": "Generate a EAN-8 code barcode as PNG file",
|
||||
"description": "Validates and generate a EAN-8 barcode as a PNG file, a type of 1D barcode",
|
||||
"operationId": "GenerateBarcode_EAN8",
|
||||
"consumes": [
|
||||
"application/json",
|
||||
"text/json",
|
||||
"application/xml",
|
||||
"text/xml",
|
||||
"application/x-www-form-urlencoded"
|
||||
],
|
||||
"produces": [
|
||||
"application/octet-stream"
|
||||
],
|
||||
"parameters": [{
|
||||
"name": "value",
|
||||
"in": "body",
|
||||
"description": "Barcode value to generate from",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
},
|
||||
"x-ms-summary": "Barcode value to generate from"
|
||||
}],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"format": "binary",
|
||||
"title": "OutputContent",
|
||||
"description": "Output file content from the operation",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": [{
|
||||
"Apikey": []
|
||||
}]
|
||||
}
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"ProductMatch": {
|
||||
"description": "Matching product for the input barcode",
|
||||
"properties": {
|
||||
"EAN": {
|
||||
"description": "EAN code for the product",
|
||||
"type": "string"
|
||||
"x-ms-connector-metadata": [{
|
||||
"propertyName": "Website",
|
||||
"propertyValue": "https://www.cloudmersive.com/barcode-api"
|
||||
},
|
||||
"Title": {
|
||||
"description": "Title of the product",
|
||||
"type": "string"
|
||||
{
|
||||
"propertyName": "Privacy policy",
|
||||
"propertyValue": "https://www.cloudmersive.com/privacy-policy"
|
||||
},
|
||||
{
|
||||
"propertyName": "Categories",
|
||||
"propertyValue": "Data;Content and Files"
|
||||
}
|
||||
],
|
||||
"definitions": {
|
||||
"BarcodeLookupResponse": {
|
||||
"description": "Result of performing a barcode lookup",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Successful": {
|
||||
"description": "True if operation was successful, false otherwise",
|
||||
"type": "boolean"
|
||||
},
|
||||
"Matches": {
|
||||
"description": "Resulting product matches for the input barcode",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/ProductMatch"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ProductMatch": {
|
||||
"description": "Matching product for the input barcode",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"EAN": {
|
||||
"description": "EAN code for the product",
|
||||
"type": "string"
|
||||
},
|
||||
"Title": {
|
||||
"description": "Title of the product",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"BarcodeScanResult": {
|
||||
"description": "Result of the barcode scan",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Successful": {
|
||||
"description": "True if the operation was successful, false otherwise",
|
||||
"type": "boolean"
|
||||
},
|
||||
"BarcodeType": {
|
||||
"description": "The type of the barcode; possible values are AZTEC, CODABAR, CODE_39, CODE_93, CODE_128, DATA_MATRIX, EAN_8, EAN_13, ITF, MAXICODE, PDF_417, QR_CODE, RSS_14, RSS_EXPANDED, UPC_A, UPC_E, All_1D, UPC_EAN_EXTENSION, MSI, PLESSEY, IMB",
|
||||
"type": "string"
|
||||
},
|
||||
"RawText": {
|
||||
"description": "The barcode text",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"securityDefinitions": {
|
||||
"Apikey": {
|
||||
"type": "apiKey",
|
||||
"description": "API Key Authentication",
|
||||
"name": "Apikey",
|
||||
"in": "header"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"host": "api.cloudmersive.com",
|
||||
"info": {
|
||||
"description": "Barcode APIs let you generate barcode images, and recognize values from images of barcodes.",
|
||||
"title": "Cloudmersive Barcode",
|
||||
"version": "v1"
|
||||
},
|
||||
"paths": {
|
||||
"/barcode/generate/ean-13": {
|
||||
"post": {
|
||||
"consumes": [
|
||||
"application/json",
|
||||
"text/json",
|
||||
"application/xml",
|
||||
"text/xml",
|
||||
"application/x-www-form-urlencoded"
|
||||
],
|
||||
"description": "Validates and generate a EAN-13 barcode as a PNG file, a type of 1D barcode",
|
||||
"operationId": "GenerateBarcode_EAN13",
|
||||
"parameters": [
|
||||
{
|
||||
"description": "Barcode value to generate from",
|
||||
"in": "body",
|
||||
"name": "value",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
},
|
||||
"x-ms-summary": "Barcode value to generate from"
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
"image/png"
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Image in image/png format",
|
||||
"schema": {
|
||||
"type": "file"
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"Apikey": []
|
||||
}
|
||||
],
|
||||
"summary": "Generate a EAN-13 code barcode as PNG file",
|
||||
"tags": [
|
||||
"GenerateBarcode"
|
||||
]
|
||||
}
|
||||
},
|
||||
"/barcode/generate/ean-8": {
|
||||
"post": {
|
||||
"consumes": [
|
||||
"application/json",
|
||||
"text/json",
|
||||
"application/xml",
|
||||
"text/xml",
|
||||
"application/x-www-form-urlencoded"
|
||||
],
|
||||
"description": "Validates and generate a EAN-8 barcode as a PNG file, a type of 1D barcode",
|
||||
"operationId": "GenerateBarcode_EAN8",
|
||||
"parameters": [
|
||||
{
|
||||
"description": "Barcode value to generate from",
|
||||
"in": "body",
|
||||
"name": "value",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
},
|
||||
"x-ms-summary": "Barcode value to generate from"
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
"image/png"
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Image in image/png format",
|
||||
"schema": {
|
||||
"type": "file"
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"Apikey": []
|
||||
}
|
||||
],
|
||||
"summary": "Generate a EAN-8 code barcode as PNG file",
|
||||
"tags": [
|
||||
"GenerateBarcode"
|
||||
]
|
||||
}
|
||||
},
|
||||
"/barcode/generate/qrcode": {
|
||||
"post": {
|
||||
"consumes": [
|
||||
"application/json",
|
||||
"text/json",
|
||||
"application/xml",
|
||||
"text/xml",
|
||||
"application/x-www-form-urlencoded"
|
||||
],
|
||||
"description": "Generate a QR code barcode as a PNG file, a type of 2D barcode which can encode free-form text information",
|
||||
"operationId": "GenerateBarcode_QRCode",
|
||||
"parameters": [
|
||||
{
|
||||
"description": "QR code text to convert into the QR code barcode",
|
||||
"in": "body",
|
||||
"name": "value",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
},
|
||||
"x-ms-summary": "QR code text to convert into the QR code barcode"
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
"image/png"
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Image in image/png format",
|
||||
"schema": {
|
||||
"type": "file"
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"Apikey": []
|
||||
}
|
||||
],
|
||||
"summary": "Generate a QR code barcode as PNG file",
|
||||
"tags": [
|
||||
"GenerateBarcode"
|
||||
]
|
||||
}
|
||||
},
|
||||
"/barcode/generate/upc-a": {
|
||||
"post": {
|
||||
"consumes": [
|
||||
"application/json",
|
||||
"text/json",
|
||||
"application/xml",
|
||||
"text/xml",
|
||||
"application/x-www-form-urlencoded"
|
||||
],
|
||||
"description": "Validate and generate a UPC-A barcode as a PNG file, a type of 1D barcode",
|
||||
"operationId": "GenerateBarcode_UPCA",
|
||||
"parameters": [
|
||||
{
|
||||
"description": "UPC-A barcode value to generate from",
|
||||
"in": "body",
|
||||
"name": "value",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
},
|
||||
"x-ms-summary": "UPC-A barcode value to generate from"
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
"image/png"
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Image in image/png format",
|
||||
"schema": {
|
||||
"type": "file"
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"Apikey": []
|
||||
}
|
||||
],
|
||||
"summary": "Generate a UPC-A code barcode as PNG file",
|
||||
"tags": [
|
||||
"GenerateBarcode"
|
||||
]
|
||||
}
|
||||
},
|
||||
"/barcode/generate/upc-e": {
|
||||
"post": {
|
||||
"consumes": [
|
||||
"application/json",
|
||||
"text/json",
|
||||
"application/xml",
|
||||
"text/xml",
|
||||
"application/x-www-form-urlencoded"
|
||||
],
|
||||
"description": "Validates and generate a UPC-E barcode as a PNG file, a type of 1D barcode",
|
||||
"operationId": "GenerateBarcode_UPCE",
|
||||
"parameters": [
|
||||
{
|
||||
"description": "UPC-E barcode value to generate from",
|
||||
"in": "body",
|
||||
"name": "value",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
},
|
||||
"x-ms-summary": "UPC-E barcode value to generate from"
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
"image/png"
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Image in image/png format",
|
||||
"schema": {
|
||||
"type": "file"
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"Apikey": []
|
||||
}
|
||||
],
|
||||
"summary": "Generate a UPC-E code barcode as PNG file",
|
||||
"tags": [
|
||||
"GenerateBarcode"
|
||||
]
|
||||
}
|
||||
},
|
||||
"/barcode/lookup/ean": {
|
||||
"post": {
|
||||
"consumes": [
|
||||
"application/json",
|
||||
"text/json",
|
||||
"application/xml",
|
||||
"text/xml",
|
||||
"application/x-www-form-urlencoded"
|
||||
],
|
||||
"description": "Lookup an input EAN barcode and return key details about the product",
|
||||
"operationId": "BarcodeLookup_EanLookup",
|
||||
"parameters": [
|
||||
{
|
||||
"description": "Barcode value",
|
||||
"in": "body",
|
||||
"name": "value",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
},
|
||||
"x-ms-summary": "Barcode value"
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
"application/json",
|
||||
"text/json",
|
||||
"application/xml",
|
||||
"text/xml"
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/BarcodeLookupResponse"
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"Apikey": []
|
||||
}
|
||||
],
|
||||
"summary": "Lookup EAN barcode value, return product data",
|
||||
"tags": [
|
||||
"BarcodeLookup"
|
||||
]
|
||||
}
|
||||
},
|
||||
"/barcode/scan/image": {
|
||||
"post": {
|
||||
"consumes": [
|
||||
"multipart/form-data"
|
||||
],
|
||||
"description": "Scan an image for a barcode and return the result. Supported barcode types include AZTEC, CODABAR, CODE_39, CODE_93, CODE_128, DATA_MATRIX, EAN_8, EAN_13, ITF, MAXICODE, PDF_417, QR_CODE, RSS_14, RSS_EXPANDED, UPC_A, UPC_E, All_1D, UPC_EAN_EXTENSION, MSI, PLESSEY, IMB",
|
||||
"operationId": "BarcodeScan_Image",
|
||||
"parameters": [
|
||||
{
|
||||
"description": "Image file to perform the operation on. Common file formats such as P",
|
||||
"in": "formData",
|
||||
"name": "imageFile",
|
||||
"required": true,
|
||||
"type": "file",
|
||||
"x-ms-summary": "Image file to perform the operation on. Common file formats such as P"
|
||||
}
|
||||
],
|
||||
"produces": [
|
||||
"application/json",
|
||||
"text/json",
|
||||
"application/xml",
|
||||
"text/xml"
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/BarcodeScanResult"
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"Apikey": []
|
||||
}
|
||||
],
|
||||
"summary": "Scan, recognize image for a barcode",
|
||||
"tags": [
|
||||
"BarcodeScan"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"schemes": [
|
||||
"https"
|
||||
],
|
||||
"securityDefinitions": {
|
||||
"Apikey": {
|
||||
"description": "API Key Authentication",
|
||||
"in": "header",
|
||||
"name": "Apikey",
|
||||
"type": "apiKey"
|
||||
}
|
||||
},
|
||||
"swagger": "2.0"
|
||||
}
|
|
@ -1,21 +1,23 @@
|
|||
{
|
||||
"properties": {
|
||||
"capabilities": [],
|
||||
"connectionParameters": {
|
||||
"api_key": {
|
||||
"type": "securestring",
|
||||
"uiDefinition": {
|
||||
"constraints": {
|
||||
"clearText": false,
|
||||
"required": "true",
|
||||
"tabIndex": 2
|
||||
},
|
||||
"description": "The Api Key for this API",
|
||||
"displayName": "API Key (from https://cloudmersive.com)",
|
||||
"tooltip": "Provide your Api Key - get this key from https://cloudmersive.com"
|
||||
}
|
||||
}
|
||||
},
|
||||
"iconBrandColor": "#dc8888"
|
||||
}
|
||||
"properties": {
|
||||
"capabilities": [],
|
||||
"connectionParameters": {
|
||||
"api_key": {
|
||||
"type": "securestring",
|
||||
"uiDefinition": {
|
||||
"constraints": {
|
||||
"clearText": false,
|
||||
"required": "true",
|
||||
"tabIndex": 2
|
||||
},
|
||||
"description": "The Api Key for this API",
|
||||
"displayName": "API Key (from https://cloudmersive.com)",
|
||||
"tooltip": "Provide your Api Key - get this key from https://cloudmersive.com"
|
||||
}
|
||||
}
|
||||
},
|
||||
"iconBrandColor": "#dc8888",
|
||||
"publisher": "Cloudmersive, LLC",
|
||||
"stackOwner": "Cloudmersive, LLC"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
|
||||
## Cloudmersive Currency
|
||||
[Currency API](https://cloudmersive.com/currency-api) is critical for working with prices and currencies, enabling conversion between over 30 currencies, and retrieving the latest exchange rates. Cloudmersive Currency covers a wide array of finance and pricing needs. Stateless high-security processing ensures fast performance and strong security.
|
||||
|
||||
|
||||
## Pre-requisites
|
||||
N/A
|
||||
|
||||
|
||||
## API documentation
|
||||
[Currency API](https://api.cloudmersive.com/docs/currency.asp) is available on the Cloudmersive website
|
||||
|
||||
|
||||
## Supported Operations
|
||||
|
||||
### Get a list of available currencies and corresponding countries
|
||||
Enumerates available currencies and the countries that correspond to these currencies.
|
||||
|
||||
### Converts a price from the source currency into the destination currency
|
||||
Automatically converts the price in the source currency into the destination currency using the latest available currency exchange rate data.
|
||||
|
||||
### Gets the exchange rate from the source currency into the destination currency
|
||||
Automatically gets the exchange rate from the source currency into the destination currency using the latest available currency exchange rate data.
|
||||
|
||||
## How to get credentials
|
||||
- [Register](https://account.cloudmersive.com/signup) for a Cloudmersive Account
|
||||
- [Sign In](https://account.cloudmersive.com/login) with your Cloudmersive Account and click on API Keys
|
||||
|
||||
Here you can create and see your API key(s) listed on the API Keys page. Simply copy and paste this API Key into the Cloudmersive Currency Connector.
|
||||
|
||||
Now you are ready to start using the Cloudmersive Currency Connector.
|
||||
|
||||
|
||||
## Deployment instructions
|
||||
Please use [these instructions](https://docs.microsoft.com/en-us/connectors/custom-connectors/paconn-cli) to deploy this connector as custom connector in Microsoft Power Automate and Power Apps
|
||||
|
|
@ -0,0 +1,255 @@
|
|||
{
|
||||
"swagger": "2.0",
|
||||
"info": {
|
||||
"version": "v1",
|
||||
"title": "Cloudmersive Currency",
|
||||
"description": "The currency APIs help you retrieve exchange rates and convert prices between currencies easily.",
|
||||
"contact": {
|
||||
"name": "Cloumdersive Support",
|
||||
"url": "https://account.cloudmersive.com/contact-support",
|
||||
"email": "support@cloudmersive.com"
|
||||
}
|
||||
},
|
||||
"host": "api.cloudmersive.com",
|
||||
"schemes": [
|
||||
"https"
|
||||
],
|
||||
"paths": {
|
||||
"/currency/exchange-rates/list-available": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"CurrencyExchange"
|
||||
],
|
||||
"summary": "Get a list of available currencies and corresponding countries",
|
||||
"description": "Enumerates available currencies and the countries that correspond to these currencies.",
|
||||
"operationId": "CurrencyExchange_GetAvailableCurrencies",
|
||||
"consumes": [],
|
||||
"produces": [
|
||||
"application/json",
|
||||
"text/json",
|
||||
"application/xml",
|
||||
"text/xml"
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/AvailableCurrencyResponse"
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": [{
|
||||
"Apikey": []
|
||||
}]
|
||||
}
|
||||
},
|
||||
"/currency/exchange-rates/convert/{source}/to/{destination}": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"CurrencyExchange"
|
||||
],
|
||||
"summary": "Converts a price from the source currency into the destination currency",
|
||||
"description": "Automatically converts the price in the source currency into the destination currency using the latest available currency exchange rate data.",
|
||||
"operationId": "CurrencyExchange_ConvertCurrency",
|
||||
"consumes": [
|
||||
"application/json",
|
||||
"text/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json",
|
||||
"text/json",
|
||||
"application/xml",
|
||||
"text/xml"
|
||||
],
|
||||
"parameters": [{
|
||||
"name": "source",
|
||||
"in": "path",
|
||||
"description": "Source currency three-digit code (ISO 4217), e.g. USD, EUR, etc.",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-summary": "Source currency three-digit code (ISO 4217), e.g. USD, EUR, etc."
|
||||
},
|
||||
{
|
||||
"name": "destination",
|
||||
"in": "path",
|
||||
"description": "Destination currency three-digit code (ISO 4217), e.g. USD, EUR, etc.",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-summary": "Destination currency three-digit code (ISO 4217), e.g. USD, EUR, etc."
|
||||
},
|
||||
{
|
||||
"name": "sourcePrice",
|
||||
"in": "body",
|
||||
"description": "Input price, such as 19.99 in source currency",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"format": "double",
|
||||
"type": "number"
|
||||
},
|
||||
"x-ms-summary": "Input price, such as 19.99 in source currency"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/ConvertedCurrencyResult"
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": [{
|
||||
"Apikey": []
|
||||
}]
|
||||
}
|
||||
},
|
||||
"/currency/exchange-rates/get/{source}/to/{destination}": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"CurrencyExchange"
|
||||
],
|
||||
"summary": "Gets the exchange rate from the source currency into the destination currency",
|
||||
"description": "Automatically gets the exchange rate from the source currency into the destination currency using the latest available currency exchange rate data.",
|
||||
"operationId": "CurrencyExchange_GetExchangeRate",
|
||||
"consumes": [],
|
||||
"produces": [
|
||||
"application/json",
|
||||
"text/json",
|
||||
"application/xml",
|
||||
"text/xml"
|
||||
],
|
||||
"parameters": [{
|
||||
"name": "source",
|
||||
"in": "path",
|
||||
"description": "Source currency three-digit code (ISO 4217), e.g. USD, EUR, etc.",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-summary": "Source currency three-digit code (ISO 4217), e.g. USD, EUR, etc."
|
||||
},
|
||||
{
|
||||
"name": "destination",
|
||||
"in": "path",
|
||||
"description": "Destination currency three-digit code (ISO 4217), e.g. USD, EUR, etc.",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-summary": "Destination currency three-digit code (ISO 4217), e.g. USD, EUR, etc."
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/ExchangeRateResult"
|
||||
}
|
||||
}
|
||||
},
|
||||
"security": [{
|
||||
"Apikey": []
|
||||
}]
|
||||
}
|
||||
}
|
||||
},
|
||||
"x-ms-connector-metadata": [{
|
||||
"propertyName": "Website",
|
||||
"propertyValue": "https://www.cloudmersive.com/currency-api"
|
||||
},
|
||||
{
|
||||
"propertyName": "Privacy policy",
|
||||
"propertyValue": "https://www.cloudmersive.com/privacy-policy"
|
||||
},
|
||||
{
|
||||
"propertyName": "Categories",
|
||||
"propertyValue": "Data;Finance"
|
||||
}
|
||||
],
|
||||
"definitions": {
|
||||
"AvailableCurrencyResponse": {
|
||||
"description": "Result of performing an enumerate currencies operation",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Currencies": {
|
||||
"description": "List of available currencies from the API",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/AvailableCurrency"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"AvailableCurrency": {
|
||||
"description": "Details of a specific currency",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"ISOCurrencyCode": {
|
||||
"description": "ISO 4217 currency three-letter code associated with the country",
|
||||
"type": "string"
|
||||
},
|
||||
"CurrencySymbol": {
|
||||
"description": "Symbol associated with the currency",
|
||||
"type": "string"
|
||||
},
|
||||
"CurrencyEnglishName": {
|
||||
"description": "Full name of the currency",
|
||||
"type": "string"
|
||||
},
|
||||
"CountryName": {
|
||||
"description": "Name of the country",
|
||||
"type": "string"
|
||||
},
|
||||
"CountryThreeLetterCode": {
|
||||
"description": "Three-letter ISO 3166-1 country code",
|
||||
"type": "string"
|
||||
},
|
||||
"CountryISOTwoLetterCode": {
|
||||
"description": "Two-letter ISO 3166-1 country code",
|
||||
"type": "string"
|
||||
},
|
||||
"IsEuropeanUnionMember": {
|
||||
"description": "True if this country is currently a member of the European Union (EU), false otherwise",
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ConvertedCurrencyResult": {
|
||||
"description": "Result of performing a Convert Currency operation",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"ConvertedPrice": {
|
||||
"format": "double",
|
||||
"description": "The converted price in the destination currency",
|
||||
"type": "number"
|
||||
},
|
||||
"ISOCurrencyCode": {
|
||||
"description": "ISO 4217 currency three-letter code of destination price",
|
||||
"type": "string"
|
||||
},
|
||||
"CurrencySymbol": {
|
||||
"description": "Destination currency symbol",
|
||||
"type": "string"
|
||||
},
|
||||
"FormattedPriceAsString": {
|
||||
"description": "Formatted price in the destination currency as a string",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ExchangeRateResult": {
|
||||
"description": "Result of performing a get exchange rate operation",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"ExchangeRate": {
|
||||
"format": "double",
|
||||
"description": "The exchange rate from the source to the destination currency",
|
||||
"type": "number"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"securityDefinitions": {
|
||||
"Apikey": {
|
||||
"type": "apiKey",
|
||||
"description": "API Key Authentication",
|
||||
"name": "Apikey",
|
||||
"in": "header"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"properties": {
|
||||
"connectionParameters": {
|
||||
"api_key": {
|
||||
"type": "securestring",
|
||||
"uiDefinition": {
|
||||
"constraints": {
|
||||
"clearText": false,
|
||||
"required": "true",
|
||||
"tabIndex": 2
|
||||
},
|
||||
"description": "The Api Key for this API",
|
||||
"displayName": "API Key (from https://cloudmersive.com)",
|
||||
"tooltip": "Provide your Api Key - get this key from https://cloudmersive.com"
|
||||
}
|
||||
}
|
||||
},
|
||||
"iconBrandColor": "#88dcc5",
|
||||
"capabilities": [],
|
||||
"publisher": "Cloudmersive, LLC",
|
||||
"stackOwner": "Cloudmersive, LLC"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,73 @@
|
|||
|
||||
## Cloudmersive Video and Media
|
||||
[Video and Media API](https://cloudmersive.com/video-and-media-services-api) covers a wide array of common video and audio processing needs, including encoding, decoding, editing, resizing, moderating and extracting metadata. Stateless high-security processing ensures fast performance and strong security.
|
||||
|
||||
|
||||
## Pre-requisites
|
||||
N/A
|
||||
|
||||
|
||||
## API documentation
|
||||
[Video and Media API](https://api.cloudmersive.com/docs/video.asp) is available on the Cloudmersive website
|
||||
|
||||
|
||||
## Supported Operations
|
||||
|
||||
### Convert Audio File to MP3 format
|
||||
Automatically detect audio file format and convert it to MP3 format. Supports many input audio formats, including AAC, FLAC, M4A, MP2, MP3, OGG, WMA, and WAV.
|
||||
|
||||
### Convert Audio File to M4A format
|
||||
Automatically detect audio file format and convert it to M4A format. Supports many input audio formats, including AAC, FLAC, M4A, MP2, MP3, OGG, WMA, and WAV.
|
||||
|
||||
### Convert Audio File to AAC format
|
||||
Automatically detect audio file format and convert it to AAC format. Supports many input audio formats, including AAC, FLAC, M4A, MP2, MP3, OGG, WMA, and WAV.
|
||||
|
||||
### Convert Audio File to WAV format
|
||||
Automatically detect audio file format and convert it to WAV format. Supports many input audio formats, including AAC, FLAC, M4A, MP2, MP3, OGG, WMA, and WAV.
|
||||
|
||||
### Get detailed information about a video or audio file
|
||||
Retrieve detailed information about a video or audio file, including format, dimensions, file size, bit rate, duration and start time. Compatible with many formats, including: AVI, ASF, FLV, GIF, MP4, MPEG/MPG, Matroska/WEBM, MOV, AIFF, ASF, CAF, MP3, MP2, MP1, Ogg, OMG/OMA, and WAV
|
||||
|
||||
### Convert Video to WEBM format
|
||||
Automatically detect video file format and convert it to WEBM format. Supports many input video formats, including AVI, ASF, FLV, MP4, MPEG/MPG, Matroska/WEBM, 3G2, OGV, MKV, M4V and MOV.
|
||||
|
||||
### Convert Video to MOV format
|
||||
Automatically detect video file format and convert it to MOV format. Supports many input video formats, including AVI, ASF, FLV, MP4, MPEG/MPG, Matroska/WEBM, 3G2, OGV, MKV, M4V and MOV.
|
||||
|
||||
### Convert Video to MP4 format
|
||||
Automatically detect video file format and convert it to MP4 format. Supports many input video formats, including AVI, ASF, FLV, MP4, MPEG/MPG, Matroska/WEBM, 3G2, OGV, MKV, M4V and MOV.
|
||||
|
||||
### Convert Video to Animated GIF format
|
||||
Automatically detect video file format and convert it to animated GIF format. Supports many input video formats, including AVI, ASF, FLV, MP4, MPEG/MPG, Matroska/WEBM, 3G2, OGV, MKV, M4V and MOV.
|
||||
|
||||
### Resizes a Video Preserving the Original Aspect Ratio
|
||||
Resizes a video, while maintaining the original aspect ratio and encoding. Supports many input video formats, including AVI, ASF, FLV, MP4, MPEG/MPG, Matroska/WEBM, 3G2, MKV, M4V and MOV.
|
||||
|
||||
### Resizes a Video without Preserving Aspect Ratio
|
||||
Resizes a video without maintaining original aspect ratio, allowing fully customizable dimensions. May cause image skewing. Supports many input video formats, including AVI, ASF, FLV, MP4, MPEG/MPG, Matroska/WEBM, 3G2, MKV, M4V and MOV.
|
||||
|
||||
### Cut a Video to a Shorter Length
|
||||
Cuts a video to the specified start and end times. Supports many input video formats, including AVI, ASF, FLV, MP4, MPEG/MPG, Matroska/WEBM, 3G2, MKV, M4V and MOV. Uses 1 API call per 10 MB of file size.
|
||||
|
||||
### Split a Video into Two Shorter Videos
|
||||
Cuts a video into two videos based on the specified start time. Supports many input video formats, including AVI, ASF, FLV, MP4, MPEG/MPG, Matroska/WEBM, 3G2, MKV, M4V and MOV.
|
||||
|
||||
### Convert Video to PNG Still Frames
|
||||
Automatically detect video file format and convert it to an array of still frame PNG images. Supports many input video formats, including AVI, ASF, FLV, MP4, MPEG/MPG, Matroska/WEBM, 3G2, OGV, MKV, M4V and MOV.
|
||||
|
||||
### Scan a Video for NSFW content
|
||||
Automatically detect video file format and scan it for Not Safe For Work (NSFW)/Porn/Racy content. Supports many input video formats, including AVI, ASF, FLV, MP4, MPEG/MPG, Matroska/WEBM, 3G2, OGV, MKV, M4V and MOV.
|
||||
|
||||
|
||||
## How to get credentials
|
||||
- [Register](https://account.cloudmersive.com/signup) for a Cloudmersive Account
|
||||
- [Sign In](https://account.cloudmersive.com/login) with your Cloudmersive Account and click on API Keys
|
||||
|
||||
Here you can create and see your API key(s) listed on the API Keys page. Simply copy and paste this API Key into the Cloudmersive Video and Media Connector.
|
||||
|
||||
Now you are ready to start using the Cloudmersive Video and Media Connector.
|
||||
|
||||
|
||||
## Deployment instructions
|
||||
Please use [these instructions](https://docs.microsoft.com/en-us/connectors/custom-connectors/paconn-cli) to deploy this connector as custom connector in Microsoft Power Automate and Power Apps
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"properties": {
|
||||
"connectionParameters": {
|
||||
"api_key": {
|
||||
"type": "securestring",
|
||||
"uiDefinition": {
|
||||
"constraints": {
|
||||
"clearText": false,
|
||||
"required": "true",
|
||||
"tabIndex": 2
|
||||
},
|
||||
"description": "The Api Key for this API",
|
||||
"displayName": "API Key (from https://cloudmersive.com)",
|
||||
"tooltip": "Provide your Api Key - get this key from https://cloudmersive.com"
|
||||
}
|
||||
}
|
||||
},
|
||||
"iconBrandColor": "#3a6f99",
|
||||
"capabilities": [],
|
||||
"publisher": "Cloudmersive, LLC",
|
||||
"stackOwner": "Cloudmersive, LLC"
|
||||
}
|
||||
}
|
|
@ -220,12 +220,7 @@
|
|||
"schema": {
|
||||
"$ref": "#/definitions/EntitiesResult"
|
||||
}
|
||||
},
|
||||
"default": {
|
||||
"description": "Error Response",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/TextAnalyticsError"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"deprecated": false
|
||||
|
@ -273,12 +268,7 @@
|
|||
"schema": {
|
||||
"$ref": "#/definitions/EntityLinkingResult"
|
||||
}
|
||||
},
|
||||
"default": {
|
||||
"description": "Error Response",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/TextAnalyticsError"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"deprecated": false
|
||||
|
@ -326,12 +316,7 @@
|
|||
"schema": {
|
||||
"$ref": "#/definitions/KeyPhraseResult"
|
||||
}
|
||||
},
|
||||
"default": {
|
||||
"description": "Error Response",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/TextAnalyticsError"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"deprecated": false
|
||||
|
@ -379,12 +364,7 @@
|
|||
"schema": {
|
||||
"$ref": "#/definitions/LanguageResult"
|
||||
}
|
||||
},
|
||||
"default": {
|
||||
"description": "Error Response",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/TextAnalyticsError"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"deprecated": false
|
||||
|
@ -432,12 +412,7 @@
|
|||
"schema": {
|
||||
"$ref": "#/definitions/SentimentResponse"
|
||||
}
|
||||
},
|
||||
"default": {
|
||||
"description": "Error Response",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/TextAnalyticsError"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"deprecated": false
|
||||
|
|
|
@ -42,6 +42,6 @@
|
|||
},
|
||||
"iconBrandColor": "#FA9901",
|
||||
"publisher": "GAC Business Solutions",
|
||||
"stackOwner": "GAC Buisness Solutions"
|
||||
"stackOwner": "GAC Business Solutions"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
## Connective eSignatures Connector
|
||||
|
||||
Connective, a specialist in digital signatures, identity services, and smart document generation, has made the Connective eSignatures Connector for Power Automate available for usage. The Connector allows companies to forward documents that require a digital signature directly from their favorite Microsoft 365 applications – from Microsoft Teams to Word, SharePoint, Dynamics, OneDrive, and many others.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
To start making use of the connector, reach out to your Relationship manager at Connective or go to our [contact page](https://connective.eu/contact/) on our website to receive the credentials.
|
||||
|
||||
This page will further detail the different actions available, as well as provide insight on the different ways these actions can be implemented.
|
||||
|
||||
## Documentation
|
||||
|
||||
Don't hesitate to have a look at our [documentation website](https://documentation.connective.eu/) for further information or reach out to the support team through or [support contact form](https://connective.eu/contact-support/) or support mailbox: service@connective.eu
|
||||
|
||||
A [glossary](https://documentation.connective.eu/en-us/eSignaturesGlossary/Glossary.html) is available to explain the different terms being used within this documentation
|
||||
|
||||
## Supported Operations
|
||||
|
||||
The Connective eSignatures connector is based on API v3 of eSignatures. The eSignatures API is a REST API that allows external applications to integrate with and use the features listed in this document to create and manage signing flows.
|
||||
|
||||
The available actions can be grouped into different groups
|
||||
|
||||
| Action Group | Available Actions |
|
||||
| ----------------------------------- | ------------------------------------------------------------ |
|
||||
| Uploading documents | [Create Package](https://documentation.connective.eu/en-us/eSignatures5.5/api/CreatePackage.html) |
|
||||
| | [Add Document to Package](https://documentation.connective.eu/en-us/eSignatures5.5/api/DocToPackage.html) |
|
||||
| | [Get Signing Locations](https://documentation.connective.eu/en-us/eSignatures5.5/api/GetSigningLocations.html) |
|
||||
| | [Set Process Information](https://documentation.connective.eu/en-us/eSignatures5.5/api/SetProcessInformationV3.1.html) |
|
||||
| | [Set Package Status](https://documentation.connective.eu/en-us/eSignatures5.5/api/SetPackageStatus.html) |
|
||||
| | [Create Instant Package](https://documentation.connective.eu/en-us/eSignatures5.5/api/InstantPackageCreation.html) |
|
||||
| Retrieving the status of a document | [Get Package Status](https://documentation.connective.eu/en-us/eSignatures5.5/api/GetPackageStatus.html) |
|
||||
| | [Get Package List](https://documentation.connective.eu/en-us/eSignatures5.5/api/Packagelist.html) |
|
||||
| Miscellaneous actions | [Skip Signers](https://documentation.connective.eu/en-us/eSignatures5.5/api/SkipSigners.html) |
|
||||
| | [Download Package](https://documentation.connective.eu/en-us/eSignatures5.5/api/DownloadPackage.html) |
|
||||
| | [Package Expiry Extension](https://documentation.connective.eu/en-us/eSignatures5.5/api/PackageExpiryExtension.html) |
|
||||
| | [Send Package Reminder](https://documentation.connective.eu/en-us/eSignatures5.5/api/SendPackageReminders.html) |
|
||||
| | [Delete Package](https://documentation.connective.eu/en-us/eSignatures5.5/api/SendPackageReminders.html) |
|
||||
| Retrieving Audit Proof | [Retrieve Package Audit Proofs](https://documentation.connective.eu/en-us/eSignatures5.5/api/RetrieveAuditProofs.html) |
|
||||
| | [Retrieve Document Audit Proofs](https://documentation.connective.eu/en-us/eSignatures5.5/api/RetrieveAuditProofs.html) |
|
||||
| | [Retrieve Package Audit Proofs with Correlation ID](https://documentation.connective.eu/en-us/eSignatures5.5/api/RetrievePackageCorrelation.html) |
|
||||
| | [Retrieve Document Audit Proofs with Correlation ID](https://documentation.connective.eu/en-us/eSignatures5.5/api/RetrievePackageCorrelation.html) |
|
||||
| | [Add Proof from an External Source](https://documentation.connective.eu/en-us/eSignatures5.5/api/AddProoffromexternalsource.html) |
|
||||
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
{
|
||||
"properties": {
|
||||
"connectionParameters": {
|
||||
"connectiveHost": {
|
||||
"type": "string",
|
||||
"uiDefinition": {
|
||||
"displayName": "Connective eSignatures environment url",
|
||||
"description": "URL to your Connective eSignatures environment, eg. esignatures.connective.eu",
|
||||
"tooltip": "Please provide the environment url",
|
||||
"constraints": {
|
||||
"tabIndex": 3,
|
||||
"clearText": true,
|
||||
"required": "true"
|
||||
}
|
||||
}
|
||||
},
|
||||
"username": {
|
||||
"type": "securestring",
|
||||
"uiDefinition": {
|
||||
"displayName": "API username",
|
||||
"description": "API username to access the API",
|
||||
"tooltip": "Please provide the API username",
|
||||
"constraints": {
|
||||
"tabIndex": 4,
|
||||
"clearText": true,
|
||||
"required": "true"
|
||||
}
|
||||
}
|
||||
},
|
||||
"password": {
|
||||
"type": "securestring",
|
||||
"uiDefinition": {
|
||||
"displayName": "API password",
|
||||
"description": "API password to access the API",
|
||||
"tooltip": "Please provide the API password",
|
||||
"constraints": {
|
||||
"tabIndex": 5,
|
||||
"clearText": false,
|
||||
"required": "true"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"policyTemplateInstances": [
|
||||
{
|
||||
"parameters": {
|
||||
"x-ms-apimTemplateParameter.urlTemplate": "https://@connectionParameters('connectiveHost')/webportalapi/v3"
|
||||
},
|
||||
"templateId": "dynamichosturl",
|
||||
"title": "Route to Connective eSignatures environment"
|
||||
}
|
||||
],
|
||||
"iconBrandColor": "#07155b",
|
||||
"capabilities": [
|
||||
"actions"
|
||||
],
|
||||
"publisher": "Connective",
|
||||
"stackOwner": "Connective"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
## Prerequisites
|
||||
1. Create Data247 account
|
||||
* [Sign Up][1]
|
||||
2. After successful registration, get your Private Key from your account.
|
||||
|
||||
3. In case you need assistance contact Data247 support
|
||||
* [Support][2]
|
||||
|
||||
## Supported actions:
|
||||
- MESSAGING SERVICES - retrieves the Carrier name, iswireless, email-to-SMS, and email-to-MMS gateway addresses for your wireless phone numbers.
|
||||
- CARRIER INFORMATION SERVICES - returns Carrier name, iswireless, email-to-SMS, and email-to-MMS gateway addresses for provided domestic US phone numbers.
|
||||
- DATA VERIFICATION SERVICES - verify that each of your email, postal address, phone numbers are properly formatted and valid.
|
||||
- DATA APPEND SERVICES - appends provided information like phone, name etc. for your contacts.
|
||||
- GEOLOCATION SERVICES - returns the geolocation data for IP addresses.
|
||||
- REGULATORY SERVICES - DNC Check returns whether a phone number exists in your internal dnc list OR in Federal Do-Not-Call list. In order to use Federal Do-Not-Call service.
|
||||
- FRAUD DETECTION SERVICES - returns whether it's on a list of SPAM callers.
|
||||
|
||||
|
||||
[1]: https://www.data247.com/register/main
|
||||
[2]: https://support.data247.com/
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"properties": {
|
||||
"connectionParameters": {},
|
||||
"iconBrandColor": "#f5f5f5",
|
||||
"capabilities": [],
|
||||
"publisher": "Data247.com",
|
||||
"stackOwner": "Data247.com"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"connectorId": "shared_data247-5fccef73353190ac09-5fc6798089961e77e0",
|
||||
"environment": "Default-dd15e603-2d4c-413a-a441-4c049dc08c6a",
|
||||
"apiProperties": "apiProperties.json",
|
||||
"apiDefinition": "apiDefinition.swagger.json",
|
||||
"icon": "icon.png",
|
||||
"powerAppsUrl": "https://api.powerapps.com",
|
||||
"powerAppsApiVersion": "2016-11-01"
|
||||
}
|
|
@ -1,23 +1,23 @@
|
|||
{
|
||||
"properties": {
|
||||
"capabilities": [
|
||||
"actions"
|
||||
],
|
||||
"connectionParameters": {
|
||||
"api_key": {
|
||||
"type": "securestring",
|
||||
"uiDefinition": {
|
||||
"constraints": {
|
||||
"clearText": false,
|
||||
"required": "true",
|
||||
"tabIndex": 2
|
||||
},
|
||||
"description": "The API Key for this api",
|
||||
"displayName": "API Key",
|
||||
"tooltip": "Provide your API Key"
|
||||
"description": "The API Key for this api",
|
||||
"tooltip": "Provide your API Key",
|
||||
"constraints": {
|
||||
"tabIndex": 2,
|
||||
"clearText": false,
|
||||
"required": "true"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"iconBrandColor": "#1973ae"
|
||||
"iconBrandColor": "#1973AE",
|
||||
"capabilities": [],
|
||||
"publisher": "Data8 Ltd",
|
||||
"stackOwner": "Data8 Ltd"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
# Data8 Data Enrichment Connector
|
||||
|
||||
Data8 helps you build confidence in your data.
|
||||
|
||||
We can save you money by cleaning and enriching both your existing data, as well as ensuring only the highest quality data goes in at the point of entry, leaving you to concentrate on targeting and communicating to the right customers.
|
||||
|
||||
## Pre-requisites
|
||||
You will need the following to proceed:
|
||||
* A Microsoft Power Automate plan with premium connector feature
|
||||
* A Data8 account
|
||||
* A Data8 API key
|
||||
* Credits for the application Data8 service
|
||||
|
||||
## Getting a Data8 account
|
||||
[Register](https://www.data-8.co.uk/register/) for a new Data8 account
|
||||
Once you have a Data8 account, please contact us and let us know which services you like to trial
|
||||
[Sign In](https://www.data-8.co.uk/dashboard/api-keys/) to get your API key and create a "Server Side" API key
|
||||
|
||||
## Supported Operations
|
||||
Details of all the supported operations, inputs and outputs are available [here](https://docs.microsoft.com/en-gb/connectors/data8/).
|
||||
|
||||
## Support and documentation:
|
||||
For all the support requests and general queries you can contact helpdesk@data-8.co.uk or visit [contact-us]https://www.data-8.co.uk/contact/)
|
|
@ -0,0 +1,73 @@
|
|||
|
||||
## Docurain Connector
|
||||
Docurain connector provides an API to generate Documents (e.g. PDF, Excel, etc...).
|
||||
This API allows you to create your own Document using a template file registered in Docurain and data in PowerApps.
|
||||
|
||||
|
||||
## Prerequisites.
|
||||
To proceed, you will need the following.
|
||||
* Create a Account Docurain `https://docurain.jp/signup/`
|
||||
* Create an access token from Docurain console screen<br>
|
||||
The access token is an API key for the custom connector "Docurain". Please set an expire and an allowed IP address with this in mind.
|
||||
|
||||
## Downloading & Deploying the Connector
|
||||
1. Clone the PowerPlatformConnectors GitHub repository
|
||||
2. Open a terminal, then change to the `Docurain` directory
|
||||
3. Run `paconn login`, then follow the authentication steps
|
||||
4. Once authenticated, run `paconn create --api-def apiDefinition.swagger.json --api-prop apiProperties.json`
|
||||
5. Select the target environment for your connector
|
||||
|
||||
## Create Connection
|
||||
Create a new connection using your API Key.<br>
|
||||
The Access token you created in the Docurain console screen will be your API Key.<br>
|
||||
`token [access_token]`
|
||||
|
||||
## Supported Actions
|
||||
The Acuity Scheduling sample connector currently supports the following actions:
|
||||
* `Render`: Render a Document(Report, Form) by specifying the name of a template saved in Docurain beforehand.
|
||||
* `RenderAsync`: Render a Document(Report, Form) asynchronously by specifying the name of a template saved in Docurain beforehand.
|
||||
* `GetAsyncStatus`: Get the processing status of rendering with the result ID returned from RenderAsync.
|
||||
* `GetAsyncResult`: Get the rendering result with the result ID returned from RenderAsync.
|
||||
|
||||
## Sample Usage
|
||||
### PowerApp
|
||||
* **Displays Docurain-rendered PDFs in PDFViewer based on the input values (json) from the screen and the "sample" templates previously registered in Docurain.**
|
||||
1. Setting the OnSelect button.<br>
|
||||
`Docurain.Render("[output format]", "[template name]", "[data format]", "[JSON with any properties]")`<br>
|
||||
<img width="600px" src="images/PowerApp1-1.png">.<br>
|
||||
2. PDFViewer settings<br>
|
||||
<img width="600px" src="images/PowerApp1-2.png">.<br>
|
||||
3. Input value in each field and click the button. The result is displayed in PDFViewer.<br>
|
||||
<img width="600px" src="images/PowerApp1-3.png">.<br>
|
||||
|
||||
### PowerApp And Flow
|
||||
* **Download a Docurain-rendered PDF based on the input values (json) from the screen and a "sample" template previously registered in Docurain.**
|
||||
1. Setting the OnSelect button.<br>
|
||||
Determine the result returned from `DourainRender`, download the file or display the message.<br>
|
||||
`DourainRender` is Sample Flow. `DourainRender` will be explained in the following sections.<br>
|
||||
<img width="600px" src="images/Download1-1.png"><br>
|
||||
2. Flow in Power Automate<br>
|
||||
`DourainRender`(sample)<br>
|
||||
<img width="600px" src="images/Download1-2.png"><br>
|
||||
Temporarily save the Docurain output PDF to OneDrive and respond to PowerApp with the URL of the file. In case of an error, the response of the API is JSON, so it responds with a body.<br>
|
||||
<img width="600px" src="images/Download1-3.png"><br>
|
||||
<img width="600px" src="images/Download1-4.png"><br>
|
||||
3. Input a value in each field and click the button to download the PDF.<br>
|
||||
<img width="600px" src="images/Download1-5.png"><br>
|
||||
|
||||
* **If Render times out due to large data or output results, use RenderAsync to avoid it.**
|
||||
1. Setting the OnSelect button.<br>
|
||||
Determine the result returned from `DourainRenderAsync`, download the file or display the message.<br>
|
||||
`DourainRenderAsync` is Sample Flow. `DourainRenderAsync` will be explained in the following sections.<br>
|
||||
<img width="600px" src="images/RenderAsync1-1.png"><br>
|
||||
2. Flow in Power Automate<br>
|
||||
`DourainRenderAsync`(sample)<br>
|
||||
**If you want to use it in the actual flow, add a step to determine the response of each API.**<br>
|
||||
<img width="600px" src="images/RenderAsync1-2.png"><br>
|
||||
3. Input a value in each field and click the button to download the PDF.<br>
|
||||
<img width="600px" src="images/RenderAsync1-3.png"><br>
|
||||
|
||||
## Further Support
|
||||
* Login to the Docurain console screen and connect to the following URL.
|
||||
`https://api.docurain.jp/console/inquiry`
|
||||
* Please send your inquiry with the title and content of your inquiry.
|
|
@ -0,0 +1,432 @@
|
|||
{
|
||||
"swagger": "2.0",
|
||||
"info": {
|
||||
"version": "1.0.0",
|
||||
"title": "Docurain",
|
||||
"description": "Docurain API allows you to create your own documents using template files registered in Docurain and Data for each App and DB.",
|
||||
"contact": {
|
||||
"name": "Docurain support",
|
||||
"url": "https://api.docurain.jp/console/inquiry",
|
||||
"email": "cs@docurain.jp"
|
||||
}
|
||||
},
|
||||
"host": "powerapps.docurain.jp",
|
||||
"basePath": "/",
|
||||
"schemes": [
|
||||
"https"
|
||||
],
|
||||
"consumes": [],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"paths": {
|
||||
"/apiw/{outType}/{templateName}": {
|
||||
"post": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"title": "body",
|
||||
"type": "string",
|
||||
"format": "binary",
|
||||
"description": "Reply to the binary data of the rendered form."
|
||||
},
|
||||
"headers": {
|
||||
"Content-Type": {
|
||||
"description": "Content-Type",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"401": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"402": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"403": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"404": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"405": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"406": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"412": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"413": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"415": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"429": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"500": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"502": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"503": {
|
||||
"$ref": "#/responses/Error"
|
||||
}
|
||||
},
|
||||
"summary": "Render a form",
|
||||
"operationId": "Render",
|
||||
"description": "This API renders a form by specifying the name of a template saved in Docurain beforehand.",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "outType",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"description": "Set the output format: pdf, xls(xlsx), png, jpg, jpg, gif, svg",
|
||||
"x-ms-summary": "output format"
|
||||
},
|
||||
{
|
||||
"name": "templateName",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"description": "Specify the name of the template you have already saved in Docurain.",
|
||||
"x-ms-summary": "pre-saved template name"
|
||||
},
|
||||
{
|
||||
"name": "X-Docurain-Data-Type",
|
||||
"in": "header",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"description": "Set the data format : json, csv, tsv",
|
||||
"x-ms-summary": "data format"
|
||||
},
|
||||
{
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"description": "Specify the string data in the format (json/csv/tsv) that you specify for the data format.",
|
||||
"schema": {
|
||||
"type": "string",
|
||||
"description": "Specify the format of the data in the data format.",
|
||||
"title": "data",
|
||||
"format": ""
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/apiw/async/{outType}/{templateName}": {
|
||||
"post": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"resultId": {
|
||||
"type": "string",
|
||||
"description": "ID for querying the processing status of the asynchronous API and obtaining processing results",
|
||||
"title": "resultId"
|
||||
}
|
||||
}
|
||||
},
|
||||
"headers": {
|
||||
"Content-Type": {
|
||||
"description": "Content-Type",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"401": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"402": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"403": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"404": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"405": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"406": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"412": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"413": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"415": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"429": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"500": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"502": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"503": {
|
||||
"$ref": "#/responses/Error"
|
||||
}
|
||||
},
|
||||
"summary": "Render a form asynchronously",
|
||||
"operationId": "RenderAsync",
|
||||
"description": "API to render a form asynchronously by specifying the name of a template saved in Docurain beforehand.",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "outType",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"description": "Set the output format: pdf, xls(xlsx), png, jpg, jpg, gif, svg",
|
||||
"x-ms-summary": "output format"
|
||||
},
|
||||
{
|
||||
"name": "templateName",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"description": "Specify the name of the template you have already saved in Docurain.",
|
||||
"x-ms-summary": "pre-saved template name"
|
||||
},
|
||||
{
|
||||
"name": "X-Docurain-Data-Type",
|
||||
"in": "header",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"description": "Set the data format : json, csv, tsv",
|
||||
"x-ms-summary": "data format"
|
||||
},
|
||||
{
|
||||
"name": "body",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"description": "Specify the string data in the format (json/csv/tsv) that you specify for the data format.",
|
||||
"schema": {
|
||||
"type": "string",
|
||||
"description": "Specify the format of the data in the data format.",
|
||||
"title": "data",
|
||||
"format": ""
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/apiw/async/{resultId}/status": {
|
||||
"get": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"status": {
|
||||
"type": "string",
|
||||
"description": "Processing status of the specified result ID: PROCESSING:Rendering in progress, FAIL:Failure, SUCCESS:Success",
|
||||
"title": "status"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"401": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"402": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"403": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"404": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"405": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"406": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"412": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"413": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"415": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"429": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"500": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"502": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"503": {
|
||||
"$ref": "#/responses/Error"
|
||||
}
|
||||
},
|
||||
"summary": "Get the processing status",
|
||||
"operationId": "GetAsyncStatus",
|
||||
"description": "Get the processing status of the specified result ID.",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "resultId",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"description": "Specify the result ID returned by RenderAsync.",
|
||||
"x-ms-summary": "Result ID to query processing status"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/apiw/async/{resultId}": {
|
||||
"get": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"title": "body",
|
||||
"type": "string",
|
||||
"format": "binary",
|
||||
"description": "If the process is successful, the binary data of the generated form is returned. If the process fails, JSON with the details of the error is returned."
|
||||
},
|
||||
"headers": {
|
||||
"Content-Type": {
|
||||
"description": "Content-Type",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"401": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"402": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"403": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"404": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"405": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"406": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"412": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"413": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"415": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"429": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"500": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"502": {
|
||||
"$ref": "#/responses/Error"
|
||||
},
|
||||
"503": {
|
||||
"$ref": "#/responses/Error"
|
||||
}
|
||||
},
|
||||
"summary": "Get the processing result",
|
||||
"description": "Get the processing result of the specified result ID.",
|
||||
"operationId": "GetAsyncResult",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "resultId",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"description": "Specify the result ID returned by RenderAsync.",
|
||||
"x-ms-summary": "Result ID of the processing result to be acquired."
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"x-ms-connector-metadata": [
|
||||
{
|
||||
"propertyName": "Website",
|
||||
"propertyValue": "https://docurain.jp/"
|
||||
},
|
||||
{
|
||||
"propertyName": "Privacy policy",
|
||||
"propertyValue": "https://docurain.jp/privacypolicy/"
|
||||
},
|
||||
{
|
||||
"propertyName": "Categories",
|
||||
"propertyValue": "Content and Files;Productivity"
|
||||
}
|
||||
],
|
||||
"definitions": {},
|
||||
"parameters": {},
|
||||
"responses": {
|
||||
"Error": {
|
||||
"description": "Error",
|
||||
"schema": {
|
||||
"title": "body",
|
||||
"type": "object",
|
||||
"format": "",
|
||||
"description": "Reply to the JSON containing the error details."
|
||||
},
|
||||
"headers": {
|
||||
"Content-Type": {
|
||||
"description": "Content-Type",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"securityDefinitions": {
|
||||
"API Key": {
|
||||
"type": "apiKey",
|
||||
"in": "header",
|
||||
"name": "Authorization"
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"API Key": []
|
||||
}
|
||||
],
|
||||
"tags": []
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"properties": {
|
||||
"connectionParameters": {
|
||||
"api_key": {
|
||||
"type": "securestring",
|
||||
"uiDefinition": {
|
||||
"displayName": "API Key",
|
||||
"description": "'The Access token you created in the Docurain console screen will be your API Key: `token [access_token]`",
|
||||
"tooltip": "Enter your API key",
|
||||
"constraints": {
|
||||
"tabIndex": 2,
|
||||
"clearText": false,
|
||||
"required": "true"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"iconBrandColor": "#dbdbdb",
|
||||
"capabilities": [],
|
||||
"publisher": "root42 Inc.",
|
||||
"stackOwner": "root42 Inc."
|
||||
}
|
||||
}
|
После Ширина: | Высота: | Размер: 494 KiB |
После Ширина: | Высота: | Размер: 217 KiB |
После Ширина: | Высота: | Размер: 285 KiB |
После Ширина: | Высота: | Размер: 97 KiB |
После Ширина: | Высота: | Размер: 147 KiB |
После Ширина: | Высота: | Размер: 340 KiB |
После Ширина: | Высота: | Размер: 317 KiB |
После Ширина: | Высота: | Размер: 280 KiB |
После Ширина: | Высота: | Размер: 344 KiB |
После Ширина: | Высота: | Размер: 837 KiB |
После Ширина: | Высота: | Размер: 166 KiB |
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"properties": {
|
||||
"connectionParameters": {
|
||||
"api_key": {
|
||||
"type": "securestring",
|
||||
"uiDefinition": {
|
||||
"displayName": "API Key",
|
||||
"description": "The API Key for this API",
|
||||
"tooltip": "Provide your API Access Token",
|
||||
"constraints": {
|
||||
"tabIndex": 2,
|
||||
"clearText": false,
|
||||
"required": "true"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"iconBrandColor": "#FA6400",
|
||||
"capabilities": [],
|
||||
"publisher": "Dokobit",
|
||||
"stackOwner": "Dokobit"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
## Dokobit Portal
|
||||
Use Dokobit portal with all the features that it has but make it automated so that you don't have to waste your time on the administrative job. Put together an automated document signing process puzzle from only the parts you need: signing, sharing, downloading or deleting documents, removing or replacing signers, getting details about signers, and signature information.
|
||||
|
||||
|
||||
## Prerequisites
|
||||
|
||||
In order to use Dokobit Portal, a Business or Enterprise plan in Dokobit Portal is required. Register for free at https://app.dokobit.com to explore the benefits, and contact us at sales@dokobit.com about upgrading your plan.
|
||||
|
||||
## How to get credentials?
|
||||
|
||||
- [Register](https://app.dokobit.com/register)
|
||||
- [Contact](sales@dokobit.com) our Sales to get the right plan and API access token.
|
||||
|
||||
|
||||
|
||||
## Known issues and limitations
|
||||
|
||||
The current implementation supports signature gathering on PDF files or any type of file in ASiCe containers only.
|
|
@ -0,0 +1,34 @@
|
|||
{
|
||||
"properties": {
|
||||
"connectionParameters": {
|
||||
"token": {
|
||||
"type": "oauthSetting",
|
||||
"oAuthSettings": {
|
||||
"identityProvider": "oauth2",
|
||||
"clientId": "F0k-ztrJZdVGASvX8CvPFVXVU9bfEFbrlCmVl1WX8EY",
|
||||
"scopes": [],
|
||||
"redirectMode": "Global",
|
||||
"redirectUrl": "https://global.consent.azure-apim.net/redirect",
|
||||
"properties": {
|
||||
"IsFirstParty": "False"
|
||||
},
|
||||
"customParameters": {
|
||||
"authorizationUrl": {
|
||||
"value": "https://app.e-sign.co.uk/#/authorize"
|
||||
},
|
||||
"tokenUrl": {
|
||||
"value": "https://api.e-sign.co.uk/v3/oauth/token"
|
||||
},
|
||||
"refreshUrl": {
|
||||
"value": "https://global.consent.azure-apim.net/redirect"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"iconBrandColor": "#cd1719",
|
||||
"capabilities": [],
|
||||
"publisher": "E-Sign",
|
||||
"stackOwner": "E-Sign"
|
||||
}
|
||||
}
|
После Ширина: | Высота: | Размер: 190 KiB |