UNPKG

@cognigy/rest-api-client

Version:

Cognigy REST-Client

99 lines (74 loc) 3.4 kB
Typescript / Javascript library to interaction with the `Cognigy.AI 4` RESTful API. # Installing ``` npm i @cognigy/rest-api-client ``` # Development ## Executing e2e tests In order to execute the e2e tests located in `src/spec/aiAgentV2.spec.ts`, ensure that you have the following two ENV variables defined: - **REST_API_CLIENT_E2E_TESTS_API_BASE_URL** - it should point to a Cognigy.AI environments RESTful API, example: `https://api-benni-test.cognigy.dev` - **REST_API_CLIENT_E2E_TESTS_API_KEY** - it needs to contain a Cognigy.AI RESTful API-key You can run the test-suite using the following command: ``` REST_API_CLIENT_E2E_TESTS_API_BASE_URL=<your-url> \ REST_API_CLIENT_E2E_TESTS_API_KEY=<your-api-key> \ npm run test:aiAgentsV2 ``` # Usage Once the client has been installed into your Typescript / Javascript project, you have to require the client and create a new instance from it: **Typescript** ```typescript import { RestAPIClient } from "@cognigy/rest-api-client"; const client = new RestAPIClient({ baseUrl: "<api-hostname-cognigy-ai-installation>" }); ``` **Javascript (Node.JS)** ```javascript const { RestAPIClient } = require("@cognigy/rest-api-client"); const client = new RestAPIClient({ baseUrl: "<api-hostname-cognigy-ai-installation>" }); ``` ## Authentication In order to authenticate your client, you have to use the `setCredentials` function. Our client supports multiple ways to authenticate, such as: - API-key - Basic auth - OAuth 2 The following example shows how you can use a long-lived `API key` to authenticate and authorize: **Typescript / Javascript (Node.JS)** ```typescript client.setCredentials({ type: "ApiKey", apiKey: "<your-api-key>" }); ``` ## Making your first call Let's assume that you have the permissions to create a new `agent / project` within Cognigy.AI and that you are using an API-key to authenticate and authorize calls. This is the minimal example which you can use to create a new virtual agent within Cognigy.AI: **Typescript / Javascript (Node.JS)** ```typescript const project = await client.createProject({ locale: "en-US", name: "My new agent" }); ``` This will create the new virtual agent project and return it. ## Publish to npm This package is published to the [public npm registry](https://www.npmjs.com/package/@cognigy/rest-api-client) by an automated GitHub Action scheduled for Tuesdays at 17:00 UTC (bi-weekly on even weeks), with version numbers aligned to the corresponding Cognigy.AI release version: [boron-release-rest-api-client.yml](https://github.com/Cognigy/cognigy/actions/workflows/boron-release-rest-api-client.yml). To publish manually, you need to have "admin" access to cognigy organisation. `https://www.npmjs.com/settings/cognigy/members` Only prerelease dist-tags such as `beta` or `rc` should be published manually; regular releases under the default `latest` tag are handled by the automated workflow. To publish, pull the changes from the branch, go to clients/rest folder and run the following commands: ``` # verify the user npm whoami # Login to npm if not logged in npm login # Publish the package to the default "latest" tag (normally handled by automation) npm publish # Or publish the package with a prerelease dist-tag like "beta" or "rc" -> first bump the version npm version prerelease --preid=rc -> then publish npm publish --tag beta # npm publish --tag rc ```