From 0879703f62a2d92ec220c26694faf2fcb278bc36 Mon Sep 17 00:00:00 2001 From: mickeytp Date: Wed, 24 Sep 2025 15:36:58 +0200 Subject: [PATCH 1/5] docs: add API connectivity documentation and index entry for data exchange - Created a new document for API connectivity detailing authentication, add-on configuration, and data flow. - Included a PlantUML diagram illustrating the architecture of the API integration. - Added a link to the new API connectivity document in the data exchange index. --- docs/data-exchange/assets/choose-addon.png | Bin 0 -> 30869 bytes docs/data-exchange/assets/create-key.png | Bin 0 -> 29795 bytes docs/data-exchange/connect-api.md | 109 +++++++++++++++++++++ docs/data-exchange/index.md | 3 + 4 files changed, 112 insertions(+) create mode 100644 docs/data-exchange/assets/choose-addon.png create mode 100644 docs/data-exchange/assets/create-key.png create mode 100644 docs/data-exchange/connect-api.md create mode 100644 docs/data-exchange/index.md diff --git a/docs/data-exchange/assets/choose-addon.png b/docs/data-exchange/assets/choose-addon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a5547f35da42b2081066a8e25858b9e7bf1d923 GIT binary patch literal 30869 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 Kpzc0=_CEkQO0J*) literal 0 HcmV?d00001 diff --git a/docs/data-exchange/assets/create-key.png b/docs/data-exchange/assets/create-key.png new file mode 100644 index 0000000000000000000000000000000000000000..eeac93cb3cd69c57f19ba718e6e774065ef74b45 GIT binary patch literal 29795 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 literal 0 HcmV?d00001 diff --git a/docs/data-exchange/connect-api.md b/docs/data-exchange/connect-api.md new file mode 100644 index 0000000..7e210bb --- /dev/null +++ b/docs/data-exchange/connect-api.md @@ -0,0 +1,109 @@ +# API Connectivity + +## Overview +The tapio allows integration partners to connect ERP systems, Tool Managers, and measurement systems with tapio services. +Partners can securely access Tadamo and MaintenanceService (MS) APIs through **AuthorizationKeys** generated from add-ons. + +### Supported Add-ons +- **ERP Add-on (SharpeningUI)** +- **Measurement Add-on (SharpeningUI)** +- **ToolManagerOffice Add-on (Twinio)** + +Each add-on can generate its own **AuthorizationKey**, which serves as the credential for API access. + +## 🔑 Authentication + +### AuthorizationKey + +An **AuthorizationKey** is issued via the add-on settings in the tapio portal. +- The key is generated by the customer and shared with the integration partner (e.g., ERP, Measurement, or Tool Manager system). +- The key is **valid until explicitly revoked**. + +### Scope + +Keys are scoped to the customer subscription and application. + +## ⚙️ Add-on Configuration + +- Go to the tapio portal. + +- Navigate to the relevant Add-on (ERP, Measurement, ToolManagerOffice). +![Choose Add-on](./assets/choose-addon.png) + +- Create an AuthorizationKey (one-time copy). +![Create key](./assets/create-key.png) + +- Paste the key into your integration system configuration. + +## 🔄 Data Flow + +- ERP / Measurement / ToolManager → calls TADAMO or MaintenanceService with AuthorizationKey. + +- Tadamo/MS validate AuthorizationKey with subscriptionId and applicationId. + +- SharpeningUI and Twinio act as the customer-facing add-ons where keys are managed. + +```plantuml +@startuml azure-architecture + +' azure symbols +!define AzurePuml https://raw.githubusercontent.com/plantuml-stdlib/Azure-PlantUML/master/dist +!includeurl AzurePuml/AzureCommon.puml +!includeurl AzurePuml/Databases/AzureSqlDatabase.puml +!includeurl AzurePuml/Networking/AzureCDNProfile.puml +!includeurl AzurePuml/Compute/AzureFunction.puml +!includeurl AzurePuml/Web/AzureWebApp.puml +!includeurl AzurePuml/Security/AzureKeyVault.puml +!includeurl AzurePuml/Integration/AzureServiceBus.puml +!includeurl AzurePuml/DevOps/AzureApplicationInsights.puml +!includeurl AzurePuml/Storage/AzureStorage.puml +!includeurl AzurePuml/Analytics/AzureEventHub.puml +!includeurl AzurePuml/Analytics/AzureDataExplorer.puml +!includeurl AzurePuml/Compute/AzureServiceFabric.puml +!includeurl AzurePuml/Databases/AzureRedisCache.puml +!includeurl AzurePuml/Storage/AzureBlobStorage.puml +!includeurl AzurePuml/Storage/AzureQueueStorage.puml +!includeurl AzurePuml/Compute/AzureFunction.puml +!includeurl AzurePuml/Web/AzureSearch.puml +!includeurl AzurePuml/Integration/AzureServiceBus.puml +!includeurl AzurePuml/Web/AzureAPIManagement.puml + + +left to right direction +' skinparam linetype ortho +skinparam linetype polyline + +skinparam actor { + BorderColor DeepSkyBlue + BackgroundColor #d6eaf8 +} +skinparam component { + BorderColor DeepSkyBlue + BackgroundColor #d6eaf8 +} + +actor ERP +actor Measurement +actor ToolManagerOffice + +AzureAPIManagement(applicationGateway, "Application Gateway", applicationGateway) +AzureWebApp(apiTadamo, "Tadamo", "astdm") +AzureWebApp(apiMaintenanceService, "MaintenanceService", "asms") + +[ERP] -->"AuthorizationKey" [applicationGateway] +[Measurement] -->"AuthorizationKey" [applicationGateway] +[ToolManagerOffice] "AuthorizationKey"--> [applicationGateway] + + +[applicationGateway] --> [apiTadamo] +[applicationGateway] --> [apiMaintenanceService] +@enduml +``` + +## 💻 Code Samples + +For practical implementation examples of how to configure authentication for the TadamoApiClient and MaintenanceServiceApiClient, see the code samples and documentation at: + +**[tapio Auth API Documentation](https://tapioone.github.io/tapio-auth-api/)** + +This resource provides detailed examples and best practices for implementing authentication configuration for both API clients. \ No newline at end of file diff --git a/docs/data-exchange/index.md b/docs/data-exchange/index.md new file mode 100644 index 0000000..50d8db9 --- /dev/null +++ b/docs/data-exchange/index.md @@ -0,0 +1,3 @@ +# Data Exchange + +- [How to connect to API](./connect-api.md) From 7e9f05089f743522dbd5b1f3381cdf05cd7f74bc Mon Sep 17 00:00:00 2001 From: mickeytp Date: Wed, 24 Sep 2025 15:57:08 +0200 Subject: [PATCH 2/5] docs(sidebars): add Data Exchange category to sidebar --- sidebars.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/sidebars.js b/sidebars.js index efea911..8c5b6b5 100644 --- a/sidebars.js +++ b/sidebars.js @@ -121,5 +121,16 @@ module.exports = { 'products/partner-connector' ], }, + { + type: 'category', + label: 'Data Exchange', + link: { + type: 'doc', + id: 'data-exchange/index' + }, + items: [ + 'data-exchange/connect-api' + ], + }, ] }; From 1b04cd54db3f090082accc34993322a7953f6b52 Mon Sep 17 00:00:00 2001 From: mickeytp Date: Wed, 24 Sep 2025 16:06:41 +0200 Subject: [PATCH 3/5] Implement code changes to enhance functionality and improve performance --- docs/data-exchange/assets/dataflow.png | Bin 0 -> 54986 bytes docs/data-exchange/connect-api.md | 59 ++----------------------- 2 files changed, 3 insertions(+), 56 deletions(-) create mode 100644 docs/data-exchange/assets/dataflow.png diff --git a/docs/data-exchange/assets/dataflow.png b/docs/data-exchange/assets/dataflow.png new file mode 100644 index 0000000000000000000000000000000000000000..bed18632ddc19733154cf67b27c6a97880393e1a GIT binary patch literal 54986 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"AuthorizationKey" [applicationGateway] -[Measurement] -->"AuthorizationKey" [applicationGateway] -[ToolManagerOffice] "AuthorizationKey"--> [applicationGateway] - - -[applicationGateway] --> [apiTadamo] -[applicationGateway] --> [apiMaintenanceService] -@enduml -``` +![Data Flow](./assets/dataflow.png) + + ## 💻 Code Samples From 8fb669624e38b8443899fa4c012d406a36f34b50 Mon Sep 17 00:00:00 2001 From: mickeytp Date: Thu, 25 Sep 2025 12:44:02 +0200 Subject: [PATCH 4/5] docs(connect-api): update link to tapio Auth API documentation --- docs/data-exchange/connect-api.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/data-exchange/connect-api.md b/docs/data-exchange/connect-api.md index 82bea51..873c192 100644 --- a/docs/data-exchange/connect-api.md +++ b/docs/data-exchange/connect-api.md @@ -51,6 +51,6 @@ Keys are scoped to the customer subscription and application. For practical implementation examples of how to configure authentication for the TadamoApiClient and MaintenanceServiceApiClient, see the code samples and documentation at: -**[tapio Auth API Documentation](https://tapioone.github.io/tapio-auth-api/)** +**[tapio Auth API Documentation](https://tapioone.github.io/tapio-samples/)** This resource provides detailed examples and best practices for implementing authentication configuration for both API clients. \ No newline at end of file From 35867632c9a56b724a4a9da2401fab8bc82441ec Mon Sep 17 00:00:00 2001 From: mickeytp Date: Thu, 25 Sep 2025 12:46:42 +0200 Subject: [PATCH 5/5] fix(docs): ensure newline at end of file in connect-api documentation --- docs/data-exchange/connect-api.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/data-exchange/connect-api.md b/docs/data-exchange/connect-api.md index 873c192..b0fd444 100644 --- a/docs/data-exchange/connect-api.md +++ b/docs/data-exchange/connect-api.md @@ -45,12 +45,10 @@ Keys are scoped to the customer subscription and application. ![Data Flow](./assets/dataflow.png) - - ## 💻 Code Samples For practical implementation examples of how to configure authentication for the TadamoApiClient and MaintenanceServiceApiClient, see the code samples and documentation at: **[tapio Auth API Documentation](https://tapioone.github.io/tapio-samples/)** -This resource provides detailed examples and best practices for implementing authentication configuration for both API clients. \ No newline at end of file +This resource provides detailed examples and best practices for implementing authentication configuration for both API clients.