@cognigy/rest-api-client
Version:
Cognigy REST-Client
99 lines (74 loc) • 3.4 kB
Markdown
Typescript / Javascript library to interaction with the `Cognigy.AI 4` RESTful API.
# Installing
```
npm i /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
```