@humany/serviceclient
TypeScript icon, indicating that this package has built-in type declarations

1.1.6 • Public • Published

@humany/serviceclient

The Service Client provides an API for interacting with classic Humany projections. A projection is a URL representing a subset of content (guides, categories, contact methods etc) in a Humany application.

Projection URL Format

The standard format of a Projection URL consists of the root application url followed by the projection name.

https://[application].humany.net/[projection-name]

Create an instance of Service Client

Create an instance by passing the Projection URL as the first constructor argument.

import { ServiceClient } from '@humany/serviceclient';

const projection = '[projection-url]';
const serviceClient = new ServiceClient(projection);

Passing additional options

The second constructor argument can be used to pass additional ServiceClientOptions.

ServiceClientOptions

Argument Description Type
funnel Funnel to report statistics on. string
client Unique ID for the client string
site Site (URI) to report statistics on. string
paging Default paging options object

Comments

  • Funnel, Client and Site can be overriden by using the options parameter on specific API calls.

Match

Match guides based on a search phrase.

match(phrase, success, [error])

Argument Description Type
phrase The phrase to match. string
success Callback returning the result. function
error Callback returning a description of the error. function

match(phrase, options, success, [error])

Argument Description Type
phrase The phrase to match. string
options Additional matching options MatchingOptions
success Callback returning the result. function
error Callback returning a description of the error. function

MatchingOptions

Argument Description Type
statisticsDisabled Whether statistics should be reported for the request. boolean (default: false)
categoryId Limit the matching to the specified category number

Example

serviceClient.match('hello world', (matchResult) => {
  console.log('matched guides:', matchResult.Matches);
});

Get categories

getCategories(success, [error])

Argument Description Type
success Callback returning the result. function
error Callback returning a description of the error. function

getCategories(options, success, [error])

Argument Description Type
options Additional matching options CategoriesOptions
success Callback returning the result. function
error Callback returning a description of the error. function

CategoriesOptions

Argument Description Type
phrase Get categories containging guides matching a phrase string
categoryId Limit the matching to the specified category number
expand Possible values: 'none', 'children', 'descendants' string

Example

serviceClient.getCategories((categoryResult) => {
  console.log('all categories:', categoryResult.Children);
});

Get guide

getGuide(id, success, [error])

Argument Description Type
id Guide ID. number
success Callback returning the result. function
error Callback returning a description of the error. function

getGuide(id, options, success, [error])

Argument Description Type
id Guide ID. number
options Additional guide options. GuideOptions
success Callback returning the result. function
error Callback returning a description of the error. function

getGuide(id, connectionKey, success, [error])

Argument Description Type
id Guide ID. number
connectionKey A connection key (part of dialog) to get. string
success Callback returning the result. function
error Callback returning a description of the error. function

getGuide(id, connectionKey, options, success, [error])

Argument Description Type
id Guide ID. number
connectionKey A connection key (part of dialog) to get. string
options Additional guide options. GuideOptions
success Callback returning the result. function
error Callback returning a description of the error. function

GuideOptions

Argument Description Type
statisticsDisabled Whether statistics should be reported for the request. boolean (default: false)

Comments

  • If the Guide is not intended to be displayed as a result of a previous match statistics should be disabled.

Give feedback on guide

giveFeedback(id, connectionKey, feedbackType, [success, error])

Argument Description Type
id Guide ID. number
connectionKey A connection key (part of dialog) to give feedback on. string
feedbackType Type of feedback to give (Positive or Negative). string

Accessing the Service Client from a plugin

For implementations running version 4 you can author a plugin and access the current Service Client through the container under the key 'matchingClient'. The value must be resolved asynchronously as in the example below.

import { Plugin } from '@humany/widget-core';

class MyPlugin extends Plugin {
  initialize() {
    this.container.getAsync('matchingClient').then((matchingClient) => {
      // use 'matchingClient' here
    });  
  }
}

See the Skeleton Plugin repository for an example on how to author a Webprovisions plugin.

Readme

Keywords

Package Sidebar

Install

npm i @humany/serviceclient

Weekly Downloads

2

Version

1.1.6

License

SEE LICENSE IN LICENSE.txt

Unpacked Size

129 kB

Total Files

34

Last publish

Collaborators

  • anderslindvalltelia
  • donami
  • bratn
  • totte