Metaforce.WebEditor.Api.Client.Core 2.0.2

There is a newer version of this package available.
See the version list below for details.
dotnet add package Metaforce.WebEditor.Api.Client.Core --version 2.0.2                
NuGet\Install-Package Metaforce.WebEditor.Api.Client.Core -Version 2.0.2                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Metaforce.WebEditor.Api.Client.Core" Version="2.0.2" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Metaforce.WebEditor.Api.Client.Core --version 2.0.2                
#r "nuget: Metaforce.WebEditor.Api.Client.Core, 2.0.2"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Metaforce.WebEditor.Api.Client.Core as a Cake Addin
#addin nuget:?package=Metaforce.WebEditor.Api.Client.Core&version=2.0.2

// Install Metaforce.WebEditor.Api.Client.Core as a Cake Tool
#tool nuget:?package=Metaforce.WebEditor.Api.Client.Core&version=2.0.2                

Metaforce.WebEditor.Api clients

This client package aims to facilitate the integration with the Metaforce WebEditor api. There are two versions of this package:

The main difference is that the .NET Core package offers the ability to authenticate using mTLS, otherwise both packages offers the exact same funtionality.

Getting started

Download the package to include it in your project and enjoy 😃

Upgrading from version 1 to version 2

Due to refactoring classes have changed namespaces. Let Visual Studio do its magic and guide after your upgrade...

Usage Metaforce.WebEditor.Api.Client

ClientId/ClientSecret authentication

Setup your appsettings.json with the following configuration structure:

{
  "WebEditorClientOptions": {
    "AuthorityEndpoint": "https://identity-v2.metaforce.net",
    "ApiBaseAddress": "https://api.webeditor.metaforce.net",
    "ClientId": "YOUR_CLIENT_ID",
    "ClientSecret": "YOUR_CLIENT_SECRET",
    "Scopes": "api.external",
    "CustomerEnvironment": "Test"
  }
}

Configuration properties

  • AuthorityEndpoint - The URL of the Identity server. Should always be https://identity-v2.metaforce.net.
  • ApiBaseAddress - The base URL of the service. Should always be https://api.webeditor.metaforce.net.
  • ClientId - The ClientId of the api client. Get it from Centerpoint.
  • ClientSecret - The ClientSecret of the api client. Get it from Centerpoint.
  • CertificateThumbprint - The thumbprint of your client authentication certificate. This only works with the .NET Core package.
  • Scopes - The api client should always be scoped to "api.external". If one wants to further limit the scope of the api client one can also configure the api client to be scoped for webeditor.dev, webeditor.test, webeditor.stage, webeditor.demo and webeditor.prod. This scope can then be configured for an Interact environment to limit what clients can access the specific environment.
  • CustomerEnvironment - This value should point to the specific Interact environment the client should interact with. Possible values are Development, Test, Test1, Test2, Test3, Test4, Test5, IntegrationTest, AcceptanceTest and Production.

Configure services

var hostBuilder = new HostBuilder()
.ConfigureServices((context, services) =>
{
    _ = services.WebEditorClient(context.Configuration);
});

var host = hostBuilder.Build();

Usage Metaforce.WebEditor.Api.Client.Core

ClientId/ClientSecret authentication (Core)

See ClientId/ClientSecret authentication configuration above...

mTLS authentication

Setup your appsettings.json with the following configuration structure:

{
  "WebEditorClientOptions": {
    "AuthorityEndpoint": "https://identity-v2.metaforce.net",
    "ApiBaseAddress": "https://api.webeditor.metaforce.net",
    "ClientId": "YOUR_CLIENT_ID",
    "CertificateThumbprint": "YOUR_THUMBPRINT",
    "Scopes": "api.external",
    "CustomerEnvironment": "Test"
  }
}

Configuration properties (Core)

See Configuration properties above...

Configure services (Core)

var hostBuilder = new HostBuilder()
.ConfigureServices((context, services) =>
{
    _ = services.WebEditorClientCore(context.Configuration);
});

var host = hostBuilder.Build();

Client services

Once configuration is done you can use the following clients (interfaces) via dependency injection. Each interface corresponds to the api:s exposed by the Metaforce WebEditor api.

  • IWebEditorApiClient - Corresponds to the Interact controller used to generate ondemand documents in PDF- and HTML-format, creating WebEditor instances and working with the Dynamo (postprocess database).
  • IWebEditorArchive - Corresponds to the Archive controller used to interact with the Viewpoint archiving system.
  • IWebEditorDistribution - Corresponds to Distribution controller used to generate and distribute documents to digital mailboxes, email and SMS notification and more services.
  • IWebEditorStatus - Corresponds to Status controller used to controll and manage WebEditor instances.
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
4.0.0 69 11/17/2024
3.0.1 173 1/12/2024
3.0.0 141 12/31/2023
2.0.3 159 7/14/2023
2.0.2 149 7/14/2023
2.0.1 160 7/13/2023
2.0.0 161 7/13/2023
1.0.17 157 7/13/2023
1.0.16-beta 130 7/12/2023