@aurigma/ng-rendering-service-client

Angular API Client for Rendering service of Customer's Canvas web-to-print system.

Usage no npm install needed!

<script type="module">
  import aurigmaNgRenderingServiceClient from 'https://cdn.skypack.dev/@aurigma/ng-rendering-service-client';
</script>

README

Aurigma Customer's Canvas SDK - Rendering Service Client

This module is an Angular API client for Rendering service which is a part of Customer's Canvas web-to-print system. It is supposed that you are familiar with its services and understand how to use its APIs. To learn more about Customer's Canvas and its services, refer the Getting Started section of its documentation.

The API client is automatically generated with NSwag tool. If for any reasons this API client does not work well for you, feel free to generate it yourself using Swagger document published at Customer's Canvas API Gateway.

Pre-requisites

To be able to use this package, you need to meet the following requirements:

  • You must have an account at Customer's Canvas.
  • You need to use it in Angular applications only.

For other platforms, see the Backend services article in Customer's Canvas documentation.

Usage

Install it as a regular npm package:

npm install @aurigma/ng-rendering-service-client

Receive an access token through your backend as explained in the documentation and deliver it to your app.

Setup module parameters in the app.module.ts:

import {RenderingServiceModule} from '@aurigma/ng-rendering-service-client';

// ... 

// Generally you can use "https://api.customerscanvashub.com" as an api url.
// But this url may be different for on-premises version of Customer's Canvas
const baseApiUrl = "https://api.customerscanvashub.com"; 

// A token should be received from your backend
const accessToken = "...";

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    HttpClientModule,
    RenderingServiceModule.forRoot(accessToken, baseApiUrl, null)
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

Now you can inject this module in your services. For example, imagine that you want to use it in a app.component.ts. For simplicity, we will just request a service version information. However, you can use other clients in a similar manner.

It may look as follows:

import { Component } from '@angular/core';
import { BuildInfoApiClient } from '@aurigma/ng-rendering-service-client';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss']
})
export class AppComponent {
  constructor(private buildInfo: BuildInfoApiClient) {
    this.buildInfo.getInfo().subscribe(info => console.log(info));
  }
}

To find out what other clients are available in this module, refer Rendering Service API Reference.

NOTE: The class name for each client is formed as ClientNameApiClient, e.g. BuildInfo -> BuildInfoApiClient, etc.