Skip to content

API Clients

API clients, ready to use in project "Out of the box".

Interface

Each client should have default Interface for CRUD methods. This naming is important, because Store modules depend on this interface.

  • getList: (params: any) => Promise<{ items: array, next: boolean }>;
  • get: ({ itemId: string }) => Promise<{}>;
  • add: ({ itemInstance: object }) => Promise<any>;
  • patch: ({ id: string, changes: object }) => Promise<any>;
  • update: ({ itemId: string, itemInstance: object }) => Promise<any>;
  • delete: ({ id: string }) => Promise<any>;
  • getLookup: see getList.

All other methods are named depending on context.

Users

js
import { users } from '@webitel/ui-sdk/src/api/clients';

const {
  getList,
  get,
  add,
  patch,
  update,
  delete: _delete,
  getLookup,
  patchUserPresence,
  logoutUser,
} = users;

Roles

js
import { roles } from '@webitel/ui-sdk/src/api/clients';

const {
  getList,
  get,
  add,
  update,
  delete: _delete,
  getLookup,

  getExtendedRoles,
  getPermissionsOptions,
} = roles;

Queues

js
import { queues } from '@webitel/ui-sdk/src/api/clients';

const {
  getList,
  get,
  add,
  patch,
  update,
  delete: _delete,
  getLookup,

  getQueuesTags,
} = queues;

Media

js
import { media } from '@webitel/ui-sdk/src/api/clients';

const { getList, get, add, delete: _delete, getLookup } = media;

Lists

js
import { lists } from '@webitel/ui-sdk/src/api/clients';

const { getList, get, add, patch, update, delete: _delete, getLookup } = lists;

Gateways

js
import { gateways } from '@webitel/ui-sdk/src/api/clients';

const {
  getList,
  get,
  add,
  patch,
  update,
  delete: _delete,
  getLookup,
} = gateways;

Flows

js
import { flows } from '@webitel/ui-sdk/src/api/clients';

const {
  getList,
  get,
  add,
  patch,
  update,
  delete: _delete,
  getLookup,

  getFlowTags,
} = flows;

Communications

js
import { communications } from '@webitel/ui-sdk/src/api/clients';

const {
  getList,
  get,
  add,
  patch,
  update,
  delete: _delete,
  getLookup,
} = communications;

Chat Gateways

js
import { chatGateways } from '@webitel/ui-sdk/src/api/clients';

const {
  getList,
  get,
  add,
  patch,
  update,
  delete: _delete,
  getLookup,
} = chatGateways;

Calendars

js
import { calendars } from '@webitel/ui-sdk/src/api/clients';

const {
  getList,
  get,
  add,
  patch,
  update,
  delete: _delete,
  getLookup,

  getTimezonesLookup,
} = calendars;

Buckets

js
import { buckets } from '@webitel/ui-sdk/src/api/clients';

const { getList, get, add, update, delete: _delete, getLookup } = buckets;

Agents

js
import { agents } from '@webitel/ui-sdk/src/api/clients';

const {
  getList,
  get,
  add,
  patch,
  update,
  delete: _delete,
  getLookup,

  getAgentHistory,
  getRegularAgentsOptions,
  getAgentUsersOptions,
  getSupervisorOptions,
} = agents;

Teams

js
import { teams } from '@webitel/ui-sdk/src/api/clients';

const { getList, get, add, update, delete: _delete, getLookup } = teams;

Skills

js
import { skills } from '@webitel/ui-sdk/src/api/clients';

const { getList, get, add, update, delete: _delete, getLookup } = skills;