import { RESTTelephony } from "./RestServices/RESTTelephony"; import { HTTPService } from "./HttpService"; import EventEmitter = NodeJS.EventEmitter; import { Logger } from "../common/Logger"; import { ROOMROLE, CHATSTATE } from "../services/S2SService"; import { Core } from "../Core"; import { RESTConferenceV2 } from "./RestServices/RESTConferenceV2"; import { RESTWebinar } from "./RestServices/RESTWebinar"; import { GenericRESTService } from "./GenericRESTService"; import { TaskInput } from "../services/TasksService.js"; import { HuntingGroup } from "../common/models/RainbowVoiceCloudPBX.js"; import { PEERTYPE } from "../common/models/Conversation.js"; declare enum MEDIATYPE { WEBRTC = "webrtc", PstnAudio = "pstnAudio", WEBRTCSHARINGONLY = "webrtcSharingOnly" } declare class GuestParams { loginEmail: string; password: string; temporaryToken: string; invitationId: string; joinCompanyInvitationId: string; joinCompanyLinkId: string; openInviteId: string; isInitialized: boolean; firstName: string; lastName: string; nickName: string; title: string; jobTitle: string; department: string; emails: { email: string; type: string; }; phoneNumbers: Array<{ number: string; country: string; type: string; deviceType: string; isVisibleByOthers: boolean; }>; country: string; state: string; language: string; timezone: string; visibility: string; customData: { key1: string; key2: string; }; companyNameOfGuest: string; constructor(_loginEmail?: string, _password?: string, _temporaryToken?: string, _invitationId?: string, _joinCompanyInvitationId?: string, _joinCompanyLinkId?: string, _openInviteId?: string, _isInitialized?: boolean, _firstName?: string, _lastName?: string, _nickName?: string, _title?: string, _jobTitle?: string, _department?: string, _emails?: { email: string; type: string; }, _phoneNumbers?: Array, _country?: string, _state?: string, _language?: string, _timezone?: string, _visibility?: string, _customData?: any, _companyNameOfGuest?: string); getUrlParam(): any; } declare class RESTService extends GenericRESTService { http: HTTPService; _core: Core; account: any; app: any; renewTokenInterval: any; loginEmail: any; eventEmitter: EventEmitter; _logger: Logger; currentAttempt: any; attempt_succeeded_callback: any; attempt_failed_callback: any; attempt_promise_resolver: any; _isOfficialRainbow: any; maxAttemptToReconnect: any; fibonacciStrategy: any; reconnectDelay: any; restTelephony: RESTTelephony; restConferenceV2: RESTConferenceV2; restWebinar: RESTWebinar; applicationToken: string; connectionS2SInfo: any; private reconnectInProgress; private _options; private timeOutManager; protected apiConfigTTL: number; protected apiConfigTTLTimeout: any; static getClassName(): string; getClassName(): string; static getAccessorName(): string; getAccessorName(): string; constructor(core: Core, _options: any, evtEmitter: EventEmitter, _logger: Logger); setCredentialPassword(strPassword: string): Promise; get userId(): any; get loggedInUser(): any; start(http: any): Promise; stop(): Promise; signin(token?: string): Promise; set tokenRest(value: any); set decodedtokenRest(value: any); set credentialsRest(value: any); set applicationRest(value: any); set authRest(value: any); setconnectionS2SInfo(_connectionS2SInfo: any): void; askTokenOnBehalf(loginEmail: any, password: any): Promise; /** * @public * @method getApiConfigurationFromServer * @since 2.30.0 * @instance * @async * @category CONVERSATIONS * @description * This API returns settings applying to Rainbow APIs.
* The first use case of these settings is the configuration of rules allowing to force the clients to use a specific region for some API calls in Rainbow multi-region deployment (to avoid some clustering issues or increase performances).
* The `additionalHeaders` Array specifies that given header(s) have to be added by the clients when calling APIs being specified in the associated `match` Object (list of APIs with `method` and `url`).
* The data returned by this API comes from server configuration and can evolve, therefore the clients should periodically refresh the settings kept in their cache. A ttl (time to live) field is returned, indicating the periodicity the clients should refresh their cache.
* * @return {Promise} - result * * */ getApiConfigurationFromServer(): Promise; signout(): Promise; startTokenSurvey(): Promise; _renewAuthToken(): void; getRainbowSupportBotService(): any; getABotServiceData(botId: string): any; getAllBotServices(format?: string, limit?: number, offset?: number, sortField?: string, sortOrder?: number): any; deleteApiKey(apiKeyId: string): Promise; generateApiKey(scope?: Array, description?: string, isActive?: boolean, expirationDate?: string): Promise<[any]>; getAllApiKey(isActive: boolean, fromCreationDate: string, toCreationDate: string, limit: number, offset: number, sortField: string, sortOrder: number, format: string, userId: string): Promise; getApiKey(apiKeyId?: string): Promise; getCurrentApiKey(apiKeyId?: string): Promise; updateApiKey(apiKeyId: string, description: string, isActive: boolean, expirationDate?: string): Promise; deleteTrustedApplication(appId: string): Promise; deleteAllTrustedApplications(): Promise; disableMultifactorAuthentication(): Promise; enableMultifactorAuthentication(): Promise; getMultifactorInformation(): Promise; verifyMultifactorInformation(token: any): Promise; resetRecoveryCodeForMultifactorAuthentication(): Promise; searchInAlldirectories(pbxId?: string, systemId?: string, numberE164?: string, shortnumber?: string, format?: string, limit?: number, offset?: number, sortField?: string, sortOrder?: number): Promise; searchInPhonebook(pbxId: string, name: string, number: string, format: string, limit: number, offset: number, sortField: string, sortOrder: number): Promise; searchUserByPhonenumber(number: string): Promise; searchUsers(limit?: number, displayName?: string, search?: string, companyId?: string, excludeCompanyId?: string, offset?: number, sortField?: string, sortOrder?: number): Promise; createSource(userId: string, sourceId: string, os: string): Promise; deleteSource(userId: string, sourceId: string): Promise; getSourceData(userId: string, sourceId: string): Promise; getAllSourcesByUserId(userId: string, format?: string, sortField?: string, limit?: number, offset?: number, sortOrder?: number): Promise; updateSourceData(userId: string, sourceId: string, os: string): Promise; updateContactData(userId: string, sourceId: string, contactIddb: string, contactId: string, firstName: string, lastName: string, displayName: string, company: string, jobTitle: string, phoneNumbers: Array, emails: Array, addresses: Array, groups: Array, otherData: Array): Promise; createContact(userId: string, sourceId: string, contactId: string, firstName: string, lastName: string, displayName: string, company: string, jobTitle: string, phoneNumbers: Array, emails: Array, addresses: Array, groups: Array, otherData: Array): Promise; getContactData(userId: string, sourceId: string, contactId: string): Promise; getContactsList(userId: string, sourceId: string, format?: string): Promise; deleteContact(userId: string, sourceId: string, contactId: string): Promise; getAllUsers(format?: string, offset?: number, limit?: number, sortField?: string, companyId?: string, searchEmail?: string): Promise; getAllUsersByFilter(phoneNumbers: number, phoneNumber: number, searchEmail: string, companyId: string, roles: string, excludeRoles: string, tags: string, departments: string, isTerminated: string, isActivated: string, fileSharingCustomisation: string, userTitleNameCustomisation: string, softphoneOnlyCustomisation: string, useRoomCustomisation: string, phoneMeetingCustomisation: string, useChannelCustomisation: string, useScreenSharingCustomisation: string, useWebRTCVideoCustomisation: string, useWebRTCAudioCustomisation: string, instantMessagesCustomisation: string, userProfileCustomisation: string, fileStorageCustomisation: string, overridePresenceCustomisation: string, alert: string, changeTelephonyCustomisation: string, changeSettingsCustomisation: string, recordingConversationCustomisation: string, useGifCustomisation: string, useDialOutCustomisation: string, fileCopyCustomisation: string, fileTransferCustomisation: string, forbidFileOwnerChangeCustomisation: string, readReceiptsCustomisation: string, useSpeakingTimeStatistics: string, selectedAppCustomisationTemplate: string, format: string, limit: string, offset: string, sortField: string, sortOrder: string, displayName: string, useEmails: boolean, companyName: string, loginEmail: string, email: string, visibility: string, organisationId: string, siteId: string, jid_im: string, jid_tel: string): Promise; getContactInfos(userId: any): Promise; putContactInfos(userId: any, infos: any): Promise; getContacts(): Promise; removeContactFromRoster(dbId: any): Promise; getContactInformationByJID(jid: any): Promise; getContactInformationByID(id: any): Promise; getMyInformations(): Promise; getContactsInformationByJIDs(jid_im: Array, sortOrder?: number): Promise<[any]>; getContactsInformationByIds(ids: Array, sortOrder?: number): Promise<[any]>; getContactInformationByLoginEmail(email: any, sortOrder?: number, limit?: number, offset?: number): Promise<[any]>; getContactByToken(token: string): Promise<{ loggedInUser: any; loggedInApplication: any; token: string; }>; createUser(sendInvitationEmail?: boolean, doNotAssignPaidLicense?: boolean, mandatoryDefaultSubscription?: boolean, companyId?: string, loginEmail?: string, customData?: any, password?: string, firstName?: string, lastName?: string, nickName?: string, title?: string, jobTitle?: string, department?: string, tags?: Array, emails?: Array, phoneNumbers?: Array, country?: string, state?: string, language?: string, timezone?: string, accountType?: string, roles?: Array, adminType?: string, isActive?: boolean, isInitialized?: boolean, visibility?: string, timeToLive?: number, authenticationType?: string, authenticationExternalUid?: string, userInfo1?: string, selectedTheme?: string, userInfo2?: string, isAdmin?: boolean): Promise; createGuestUser(firstname: any, lastname: any, language: any, timeToLive: any): Promise; registerUserByEmailFirstStep(userInfo: { "email": string; "lang": string; }): Promise; registerUserByEmailSecondStepWithToken(userLoginInfo: { "loginEmail": string; "password": string; "temporaryToken": string; }): Promise; /** * Send a message notification (IM) via REST * POST /api/rainbow/enduser/v1.0/notifications/message * See https://api.openrainbow.org/enduser/#api-notifications_IM-sendMessageNotification * @param data object body as required by server (to, type, message, etc.) */ sendMessageNotification(data: any): Promise; changePassword(password: any, userId: any): Promise; updateInformation(objData: any, userId: any): Promise; deleteUser(userId: any): Promise; updateEndUserInformations(userId: any, objData: any): Promise; blockApplication(applicationId: any, reason: any): Promise; createApplication(name: any, platform: any, ownerId: any, isPublished: any, appKeyOnly: any, appKeyAndSecret: any, appKeyAndSecretAndJwt: any, appKeyAndJwtSecret: any, appKeyAndJwtAndSecret: any, appKeyAndJwtAndSecretAndRedirectUri: any): Promise; declineApplicationDeployment(applicationId: string, reason: string): Promise; deleteApplication(applicationId: string): Promise; deployApplication(applicationId: string): Promise; getAllApplicationsCreatedByUser(userId?: string): Promise; getApplicationDataById(appId: string): Promise; getEmbedFrameForApplication(applicationId: string): Promise; getEmbeddingFrameForApplication(applicationId: string): Promise; renewExpiredApplication(applicationId: string): Promise; requestDeploymentOfApplication(applicationId: string): Promise; restartApplication(applicationId: string): Promise; stopApplication(applicationId: string): Promise; unblockApplication(applicationId: string): Promise; updateApplication(applicationId: string, applicationData: object): Promise; getCountersForApplication(applicationId: string): Promise; updateCounterForApplication(applicationId: string, counterData: object): Promise; getServerFavorites(peerId?: string): Promise; addServerFavorite(peerId: string, type: string, position: number): Promise; checkIsPeerSettedAsFavorite(peerId: string): Promise; getFavoriteById(favoriteId: string): Promise; getAllUserFavoriteList(peerId: string): Promise; moveFavoriteToPosition(favoriteId: string, position: number): Promise; removeServerFavorite(favoriteId: string): Promise; getAllSentInvitations(): Promise; getInvitationsSent(sortField: string, status: string, format: string, limit: number, offset: number, sortOrder?: number): Promise; getAllReceivedInvitations(): Promise; getInvitationsReceived(sortField?: string, status?: string, format?: string, limit?: number, offset?: number, sortOrder?: number): Promise; getServerInvitation(invitationId: any): Promise; sendInvitationByCriteria(email: string, lang: string, customMessage: string, invitedPhoneNumber: string, invitedUserId: string): Promise; cancelOneSendInvitation(invitation: any): Promise; deleteAUserInvitation(invitation: any): Promise; reSendInvitation(invitationId: string, customMessage: string): Promise; sendInvitationsByBulk(listOfMails: any, lang?: string, customMessage?: string): Promise; /** * ACCEPT INVITATION */ acceptInvitation(invitation: any): Promise; /** * DECLINE INVITATION */ declineInvitation(invitation: any): Promise; /** * SEND INVITATION */ joinContactInvitation(contact: any): Promise; joinContacts(contact: any, contactIds: any, presence: any): Promise; getInvitationById(invitationId: any): Promise; getGroups(): Promise; getGroup(groupId: string): Promise; updateGroupFavorite(groupId: string, favorite: boolean): Promise; createGroup(name: string, comment: string, isFavorite: boolean): Promise; deleteGroup(groupId: string): Promise; updateGroupName(groupId: string, name: string): Promise; updateGroupComment(groupId: string, comment: string): Promise; addUserInGroup(contactId: string, groupId: string): Promise; removeUserFromGroup(contactId: string, groupId: string): Promise; getBots(): Promise; /** * @description * https://api.openrainbow.org/admin/#api-users_presence-admin_users_GetUserPresence * @param {any} userId * @return {Promise} */ getUserPresenceInformation(userId?: string): Promise; getMyPresenceInformation(): Promise; /** * @description * https://api.openrainbow.org/mediapillar/#api-mediapillars-GetMediaPillarsData * @return {Promise} */ getMediaPillarInfo(): Promise; createBubble(name: string, description: string, history?: any, p_number?: number, visibility?: string, disableNotifications?: boolean, autoRegister?: string, autoAcceptInvitation?: boolean, muteUponEntry?: boolean, playEntryTone?: boolean): Promise; updateRoomData(bubbleId: string, data: any): Promise; setBubbleVisibility(bubbleId: any, visibility: any): Promise; setBubbleAutoRegister(bubbleId: string, autoRegister?: string): Promise; setBubbleTopic(bubbleId: any, topic: any): Promise; setBubbleName(bubbleId: any, name: any): Promise; getBubbleLastActivityDate(bubble: any): number; sortByDate(dateA: any, dateB: any): number; getBubbles(format?: string, unsubscribed?: boolean): Promise; getBubble(bubbleId: string, context?: string, format?: string, unsubscribed?: boolean, nbUsersToKeep?: number): Promise; getBubbleByJid(bubbleJid: string, format?: string, unsubscribed?: boolean, nbUsersToKeep?: number): Promise; getAllBubblesJidsOfAUserIsMemberOf(isActive?: boolean, webinar?: boolean, unsubscribed?: boolean, limit?: number, offset?: number, sortField?: string, sortOrder?: number): Promise; getAllBubblesVisibleByTheUser(format?: string, userId?: string, status?: string, confId?: string, scheduled?: boolean, hasConf?: boolean, isActive?: boolean, name?: string, sortField?: string, sortOrder?: number, unsubscribed?: boolean, webinar?: boolean, limit?: number, offset?: number, nbUsersToKeep?: number, creator?: string, context?: string, needIsAlertNotificationEnabled?: string): Promise; getBubblesDataByListOfBubblesIds(bubblesIds: Array, format?: string, userId?: string, status?: string, confId?: string, scheduled?: boolean, hasConf?: boolean, sortField?: string, sortOrder?: number, unsubscribed?: boolean, webinar?: boolean, limit?: number, offset?: number, nbUsersToKeep?: number, context?: string, needIsAlertNotificationEnabled?: string): Promise; setBubbleCustomData(bubbleId: any, customData: any): Promise; inviteContactToBubble(contactId: any, bubbleId: any, asModerator: any, withInvitation: any, reason: any): Promise; inviteContactsByEmailsToBubble(contactsEmails: Array, bubbleId: string): Promise; getRoomUsers(bubbleId: any, options?: any): Promise; promoteContactInBubble(contactId: any, bubbleId: any, asModerator: any): Promise; changeBubbleOwner(bubbleId: any, contactId: any): Promise; archiveBubble(bubbleId: any): Promise; leaveBubble(bubbleId: any, bubbleStatus: any): Promise; deleteBubble(bubbleId: any): Promise; removeInvitationOfContactToBubble(contactId: any, bubbleId: any): Promise; unsubscribeContactFromBubble(contactId: any, bubbleId: any): Promise; acceptInvitationToJoinBubble(bubbleId: any): Promise; declineInvitationToJoinBubble(bubbleId: any): Promise; deleteUserFromBubble(bubbleId: any): Promise; inviteUser(email: any, _companyId: any, language: any, message: any): Promise; setAvatarRoom(bubbleid: any, binaryData: any): Promise; deleteAvatarRoom(roomId: any): Promise; getBubblesConsumption(): Promise; getAllBubblesContainers(name?: string): Promise; getABubblesContainersById(id?: string): Promise; addBubblesToContainerById(containerId: string, bubbleIds: Array): Promise; updateBubbleContainerNameAndDescriptionById(containerId: string, name: string, description?: string): Promise; createBubbleContainer(name: string, description?: string, bubbleIds?: Array): Promise; deleteBubbleContainer(containerId: any): Promise; removeBubblesFromContainer(containerId: string, bubbleIds: Array): Promise; createFileDescriptor(name: any, extension: any, size: any, viewers: any, voicemessage: boolean, duration: number, encoding: boolean, ccarelogs: boolean, ccareclientlogs: boolean): Promise; deleteFileDescriptor(fileId: any): Promise; retrieveFileDescriptors(fileName: string, extension: string, typeMIME: string, purpose: string, isUploaded: boolean, viewerId: string, path: string, limit: number, offset: number, sortField: string, sortOrder: number, format?: string): Promise; retrieveFilesReceivedFromPeer(userId: any, peerId: any): Promise; retrieveReceivedFilesForRoomOrViewer(viewerId: any, ownerId: string, fileName: boolean, extension: string, typeMIME: string, isUploaded: boolean, purpose: string, roomName: string, overall: boolean, format: string, limit: number, offset: number, sortField: string, sortOrder: number): Promise; retrieveOneFileDescriptor(fileId: any): Promise; retrieveUserConsumption(): Promise; deleteFileViewer(viewerId: any, fileId: any): Promise; addFileViewer(fileId: any, viewerId: any, viewerType: any): Promise; getFileDescriptorsByCompanyId(companyId: any, fileName: boolean, extension: string, typeMIME: string, purpose: string, isUploaded: boolean, format?: string, limit?: number, offset?: number, sortField?: string, sortOrder?: number): Promise; copyFileInPersonalCloudSpace(fileId: string): Promise; fileOwnershipChange(fileId: string, userId: string): Promise; getPartialDataFromServer(url: any, minRange: any, maxRange: any, index: any): Promise; getPartialBufferFromServer(url: any, minRange: any, maxRange: any, index: any): Promise; getFileFromUrl(url: any): Promise; getBlobFromUrl(url: any): Promise; uploadAFile(fileId: any, buffer: any): Promise; uploadAStream(fileId: any, stream: any): Promise; sendPartialDataToServer(fileId: any, file: any, index: any): Promise; sendPartialFileCompletion(fileId: any): Promise; getFilesTemporaryURL(fileId: string): Promise; getUserSettings(): Promise; updateUserSettings(settings: any): Promise; getServerCapabilities(): Promise; getAllCompanies(format?: string, sortField?: string, bpId?: string, catalogId?: string, offerId?: string, offerCanBeSold?: boolean, externalReference?: string, externalReference2?: string, salesforceAccountId?: string, selectedAppCustomisationTemplate?: string, selectedThemeObj?: boolean, offerGroupName?: string, limit?: number, offset?: number, sortOrder?: number, name?: string, status?: string, visibility?: string, organisationId?: string, isBP?: boolean, hasBP?: boolean, bpType?: string): Promise; createCompany(name: any, country: any, state: any, offerType: any): Promise; getCompany(companyId: any): Promise; deleteCompany(companyId: any): Promise; getCompanyInfos(companyId: any, format: string, selectedThemeObj: boolean, name: string, status: string, visibility: string, organisationId: string, isBP: boolean, hasBP: boolean, bpType: string): Promise; getCompaniesBPBusinessType(): Promise; getCompanyAppFeatureCustomisation(_companyId: string): Promise; getCompanyServiceDescriptionFile(_companyId: string): Promise; getDefaultCompanyData(format: string, selectedThemeObj: boolean): Promise; setCompanyAppFeatureCustomisation(_companyId: string, appFeaturesCustomisation: any): Promise; /** * Parameters for updating company details. * @param _companyId * @param selectedThemeObj Allows to return selectedTheme attribute as an object: * - true returns selectedTheme as an object (e.g. { "light": "60104754c8fada2ad4be3e48", "dark": "5ea304e4359c0e6815fc8b57" }), * - false return selectedTheme as a string. * * The list of allowed countries can be obtained using the API [GET /api/rainbow/enduser/v1.0/countries](/enduser/#api-countries-getCountries) * * The `country` value which is provided at company creation is used to determine the location (data-center) * where all the data related to this company will be stored. The data-center closest to the company's `country` is * used. * * ⚠ Warning: the location of the company's data can't be changed after the company creation. The `country` value * can be updated, but the data will remain in the data-center selected during the company creation. * * Once the company is created, the location where the data are stored is indicated in the field `dataLocation` * returned by the API [GET /api/rainbow/admin/v1.0/companies/:companyId](#api-companies-GetCompaniesId). * * If no `country` is provided, the default value is `"FRA"`, meaning that the company data are stored in French * data-center. * * The list of allowed states can be obtained using the API [GET /api/rainbow/enduser/v1.0/countries](/enduser/#api-countries-getCountries) for the associated countries. * * - List of allowed states for `USA`: * - `AA`: "Armed Forces America", * - `AE`: "Armed Forces", * - `AP`: "Armed Forces Pacific", * - `AK`: "Alaska", * - `AL`: "Alabama", * - `AR`: "Arkansas", * - `AZ`: "Arizona", * - `CA`: "California", * - `CO`: "Colorado", * - `CT`: "Connecticut", * - `DC`: Washington DC", * - `DE`: "Delaware", * - `FL`: "Florida", * - `GA`: "Georgia", * - `GU`: "Guam", * - `HI`: "Hawaii", * - `IA`: "Iowa", * - `ID`: "Idaho", * - `IL`: "Illinois", * - `IN`: "Indiana", * - `KS`: "Kansas", * - `KY`: "Kentucky", * - `LA`: "Louisiana", * - `MA`: "Massachusetts", * - `MD`: "Maryland", * - `ME`: "Maine", * - `MI`: "Michigan", * - `MN`: "Minnesota", * - `MO`: "Missouri", * - `MS`: "Mississippi", * - `MT`: "Montana", * - `NC`: "North Carolina", * - `ND`: "North Dakota", * - `NE`: "Nebraska", * - `NH`: "New Hampshire", * - `NJ`: "New Jersey", * - `NM`: "New Mexico", * - `NV`: "Nevada", * - `NY`: "New York", * - `OH`: "Ohio", * - `OK`: "Oklahoma", * - `OR`: "Oregon", * - `PA`: "Pennsylvania", * - `PR`: "Puerto Rico", * - `RI`: "Rhode Island", * - `SC`: "South Carolina", * - `SD`: "South Dakota", * - `TN`: "Tennessee", * - `TX`: "Texas", * - `UT`: "Utah", * - `VA`: "Virginia", * - `VI`: "Virgin Islands", * - `VT`: "Vermont", * - `WA`: "Washington", * - `WI`: "Wisconsin", * - `WV`: "West Virginia", * - `WY`: "Wyoming" * - List of allowed states for `CAN`: * - `AB`: "Alberta", * - `BC`: "British Columbia", * - `MB`: "Manitoba", * - `NB`: "New Brunswick", * - `NL`: "Newfoundland and Labrador", * - `NS`: "Nova Scotia", * - `NT`: "Northwest Territories", * - `NU`: "Nunavut", * - `ON`: "Ontario", * - `PE`: "Prince Edward Island", * - `QC`: "Quebec", * - `SK`: "Saskatchewan", * - `YT`: "Yukon" *
For now, only USD, EUR and CNY are supported *
Only settable by `superadmin` * - `public`: User can be searched by external users / can search external users. User can invite external users / can be invited by external users * - `private`: User **can't** be searched by external users (even within his organisation) / can search external users. User can invite external users / can be invited by external users * - `organization`: User **can't** be searched by external users / can search external users. User can invite external users / can be invited by external users * - `closed`: User **can't** be searched by external users / **can't** search external users. User can invite external users / can be invited by external users * - `isolated`: User **can't** be searched by external users / **can't** search external users. User **can't** invite external users / **can't** be invited by external users * - `hotspot`: User can be searched by hotspot attached company's users (users from any company if the user belong to the default company) / can't search any users (even in their company) | user can't invite external users / can be invited by hotspot attached company's users (users from any company if the user belong to the default company) * - currently `hotspot` visibility can only be set on the default company, and with superadmin role (development of `hotspot` visibility is partially done, only for default company in the context of RQRAINB-7456) * * External users mean public user not being in user's company nor user's organisation nor a company visible by user's company. * * Note related to organisation visibility: * - Under the same organisation, a company can choose the visibility=organisation. That means users belonging to this company are visible for users of foreign companies inside the same organisation. * - The visibility=organisation is same as visibility=private outside the organisation. That is to say users can't be searched outside the organisation's companies. *
adminEmail is case sentive. * - supportEmail is case sensitive. * - supportEmail `should be provided if company to create is a VAD or a DR` *
Note that if `disableCCareAdminAccessCustomers` is enabled on its BP company or `disableCCareAdminAccessResellers` is enabled on its BP VAD company, this setting is forced to true. *
`disableCCareAdminAccess` can only be set: * - by `superadmin` (all companies), * - by `bp_admin` or `bp_finance` for the companies he manages, * - by `organization_admin` for the BP companies he manages. * - by `organization_admin` for the companies he manages. *
This setting is only applicable for BP companies (`isBP`=true) * - If the BP company is a DR or an IR, enabling this setting disables the access to the customer care logs for the admins of all its customers companies. * - If the BP company is a VAD, enabling this setting disables the access to the customer care logs for all the admins of its customers companies.\ * Note that the bp_admins/admins of all the BP IRs companies linked to this VAD still have access to the customer care logs (the setting `disableCCareAdminAccessResellers` on the BP VAD company allows to disable it). *
`disableCCareAdminAccessCustomers` can only be set: * - by `superadmin` (all BP companies), * - by `bp_admin` or `bp_finance` of a BP VAD company for the BP companies he manages, * - by `organization_admin` for the BP companies he manages, * - by `company_admin` for the BP company he manages. *
This setting is only applicable for BP VAD companies (`isBP`=true and `bpType`=`VAD`) *
Enabling this setting disables on the BP VAD company disables the access to the customer care logs for the bp_admins/admins of all the BP IRs linked to this VAD, and to all the admins of their customers. *
Note that the admins of all the customer companies directly linked to this VAD still have access to the customer care logs (the setting `disableCCareAdminAccessCustomers` on the BP VAD company allows to disable it). *
`disableCCareAdminAccessResellers` can only be set: * - by `superadmin` (all BP VAD companies), * - by `bp_admin` or `bp_finance` of a BP VAD company for the BP companies he manages, * - by `organization_admin` for the BP VAD companies he manages, * - by `company_admin` for the BP VAD company he manages. * An overview of the number of employees * - `A`: AGRICULTURE, FORESTRY AND FISHING * - `B`: MINING AND QUARRYING * - `C`: MANUFACTURING * - `D`: ELECTRICITY, GAS, STEAM AND AIR CONDITIONING SUPPLY * - `E`: WATER SUPPLY; SEWERAGE, WASTE MANAGEMENT AND REMEDIATION ACTIVITIES * - `F`: CONSTRUCTION * - `G`: WHOLESALE AND RETAIL TRADE; REPAIR OF MOTOR VEHICLES AND MOTORCYCLES * - `H`: TRANSPORTATION AND STORAGE * - `I`: ACCOMMODATION AND FOOD SERVICE ACTIVITIES * - `J`: INFORMATION AND COMMUNICATION * - `K`: FINANCIAL AND INSURANCE ACTIVITIES * - `L`: REAL ESTATE ACTIVITIES * - `M`: PROFESSIONAL, SCIENTIFIC AND TECHNICAL ACTIVITIES * - `N`: ADMINISTRATIVE AND SUPPORT SERVICE ACTIVITIES * - `O`: PUBLIC ADMINISTRATION AND DEFENCE; COMPULSORY SOCIAL SECURITY * - `P`: EDUCATION * - `Q`: HUMAN HEALTH AND SOCIAL WORK ACTIVITIES * - `R`: ARTS, ENTERTAINMENT AND RECREATION * - `S`: OTHER SERVICE ACTIVITIES * - `T`: ACTIVITIES OF HOUSEHOLDS AS EMPLOYERS; UNDIFFERENTIATED GOODS- AND SERVICES-PRODUCING ACTIVITIES OF HOUSEHOLDS FOR OWN USE * - `U`: ACTIVITIES OF EXTRATERRITORIAL ORGANISATIONS AND BODIES * `This field is deprecated.` Manage instead useGifCustomisation field! *
When a new company is created, if no catalogId is specified the company is automatically linked to the default catalog. *
When a `bp_admin>` or `bp_finance>` creates a company, catalogId of this new company is automatically set to BP company's catalogId. *
When an `organization_admin>` creates a company, catalogId of this new company is automatically set to organization_admin's company's catalogId. *
*
Only `superadmin` can set a different catalogId to a company. *
`adminCanSetCustomData` can only be set: * - by `superadmin` (all companies), * - by `bp_admin` or `bp_finance` for the companies he manages, * - by `organization_admin` for the companies he manages. *
Object with free keys/values. *
It is up to the client to manage the company's customData (new customData provided overwrite the existing one). *

Restrictions on customData Object: *
    *
  • max 10 keys,
  • *
  • max key length: 64 characters,
  • *
  • max value length: 512 characters.
  • *
*

Company customData can only be created/updated by: *
    *
  • `superadmin` (all companies),
  • *
  • `bp_admin` or `bp_finance` for the companies he manages (except his company if its `adminCanSetCustomData` setting is not set to true),
  • *
  • `organization_admin` for the companies he manages,
  • *
  • `company_admin` for his own company if its `adminCanSetCustomData` setting is set to true (setting that can only be set by a superadmin, his bp_admin, bp_finance or organization_admin) * or if he has the feature `ADMIN_CAN_SET_CUSTOM_DATA` (if the feature is enabled, it overwrites the value of the company setting).
  • *
*
`bpId` must correspond to a valid company having `isBP` equal to true. *
Only directly settable by `superadmin`. *
If the company is created by a `bp_admin` or a `bp_finance`, `bpId` is automatically set to * BP company `id`. *
For existing companies, `bp_admin` must use invitation mechanism to a company admin in order * to request a link of this company company to his BP company. * `bp_finance` allows the `company_admin` to update the subscriptions of his company (if enable, allowed operations depend of the value of `adminAllowedUpdateSubscriptionsOps`). *
Can only be set by `superadmin` or `bp_finance` of the related company. * indicates the update operations for which the `bp_finance` allows the `company_admin` to perform on the subscriptions of his company. *
Can only be set by `superadmin` or `bp_finance` of the related company. *
Possible values: * - `all: company_admin is allowed to perform all update operations on the subscriptions of his company * - `increase_only: company_admin is only allowed to increase `maxNumberUsers` on the subscriptions of his company (decrease is forbidden) * - 'monthly': company_admin is only allowed to manage monthly subscription (increase and decrease) *
Only settable by `superadmin` * - `IR`: Indirect Reseller, * - `VAD`: Value Added Distributor, * - `DR`: Direct Reseller. *
Only applicable if `isBP` is true. *
Only settable by `superadmin`. *
Only applicable if `isBP` is true. *
Only settable by `superadmin`. *
Only applicable if `isBP` is true and `bpType` is DR or VAD. *
Only settable by `superadmin`. *
Only applicable if `isBP` is true and `bpType` is DR or VAD. *
If `bpCRDid` is not defined, BP won't be able to sell (i.e. `bpHasRightToSell` can't be set to true) *
Only settable by `superadmin`. *
Only applicable if `isBP` is true and `bpType` is DR or VAD. *
Only applicable if `bpCRDid` is defined. *
Only settable by `superadmin`. *
Only applicable if `isBP` is true. *
Only settable by `superadmin`. *
Only applicable if `isBP` is true. *
Only settable by `superadmin`.
Only applicable if `isBP` is true.
Only settable by `superadmin`. *
Should be set by `bp_admin` or `bp_finance`. *
Only applicable if `isBP` is true. *
Only applicable by `superadmin` or by `bp_admin` or `bp_finance` on one of his Indirect Resellers / End Customers companies. *
Only applicable by `superadmin` or by `bp_admin` or `bp_finance` on one of his Indirect Resellers / End Customers companies. *
Only settable by users with `superadmin` or `business_admin` role(s). * When we can't rely on Internet and Google FCM services to wake-up the app or notify the app, we can fall back to a direct XMPP connection.
* For customers using Samsung devices with Google Play services, we must have an option on admin side to set this permanent connection mode, so that mobile apps can rely on this parameter. This option will be applied for the whole company. *
Define if a user has the right to receive alert notification *
alertNotificationReception can be: * - `enabled`: Each user of the company can receive alert notification. * - `disabled`: No user of the company can receive alert notification. *
Define if a user has the right to send alert notification *
alertNotificationSending can be: * - `enabled`: Each user of the company can send alert notification. * - `disabled`: No user of the company can send alert notification. *
Define if a user is allowed to be called by the Rainbow conference bridge. *
useDialOutCustomisation can be: * - `enabled`: The user can be called by the Rainbow conference bridge. * - `disabled`: The user can't be called by the Rainbow conference bridge. * - `released`: Default value, device firmware will be the official released one. * - `latest`: Device firmware can be a more up to date binary (e.g. early adopters) *
If allowed by `superadmin`, `company admin` can then select the kind of firmware for all the users, or only for some of them. *
Only settable by users with `superadmin` or `business_admin` role(s). *
This param only applies for BP companies. * @param name * @param country * @param street * @param city * @param state * @param postalCode * @param currency * @param status Company status. If company status is `initializing`, only `superadmin` can change the status value. * @param offerType Company offer type. Companies with offerType=`freemium` are not able to subscribe to paid offers, they must be `premium` to do so. * @param visibility * @param visibleBy * @param adminEmail * @param supportEmail * @param supportUrlFAQ * @param companyContactId * @param disableCCareAdminAccess * @param disableCCareAdminAccessCustomers * @param disableCCareAdminAccessResellers * @param autoAcceptUserInvitations * @param autoAddToUserNetwork * @param contentPolicyLifeTime * @param documentGracePeriod * @param userSelfRegisterAllowedDomains * @param slogan * @param description * @param size * @param economicActivityClassification * @param website * @param giphyEnabled * @param catalogId Id of the catalog of Rainbow offers to which the company is linked. Only `superadmin` can change the catalogId of a company. * @param adminCanSetCustomData * @param customData * @param bpId * @param adminHasRightToUpdateSubscriptions * @param adminAllowedUpdateSubscriptionsOps * @param isBP * @param bpType * @param bpBusinessModel * @param bpApplicantNumber * @param bpCRDid * @param bpHasRightToSell * @param bpHasRightToConnect * @param bpHasRightForBYOT * @param preferredSipLoadBalancerId * @param bpIsContractAccepted * @param externalReference * @param externalReference2 * @param salesforceAccountId * @param avatarShape * @param isCentrex * @param companyCallNumber * @param superadminComment * @param bpBusinessType * @param billingModel * @param allowUsersSelectTheme Allow users of this company to select a theme among the ones available (owned or visible by the company). * @param allowUsersSelectPublicTheme Allow users of this company to select a public theme. * @param selectedTheme * @param mobilePermanentConnectionMode * @param alertNotificationReception * @param alertNotificationSending * @param useDialOutCustomisation * @param allowDeviceFirmwareSelection * @param selectedDeviceFirmware * @param cloudPbxVoicemailToEmail * @param businessData * @param defaultLicenseGroup * @param defaultOptionsGroups * @param selectedThemeCustomers * @param allowTeamsToDesktopSso * @param cloudPbxRecordingInboundOnly When CloudPbx recording is set, both inbound and outbound calls will be recorded for the selected users. If cloudPbxRecordingInboundOnly is set to true, only inbound calls will be recorded. * @param supervisionGroupMaxSize Maximum number of users a company can supervise. * @param supervisionGroupMaxNumber Maximum number of supervision groups a supervisor can belong to. * @param supervisionGroupMaxUsers Maximum number of users in a supervision group (supervisor included). * @param timezone User timezone name. * @param sendPrepaidSubscriptionsNotification Indicates if company_admin should receive email notification about prepaid subscriptions expiring soon. Used only on end customer companies. * @param ddiReadOnly Indicates if admin of IR company is allowed to create or delete a DDI. Used only on IR companies. * @param allowPhoneNumbersVisibility Indicates if Phone numbers should be visible or not when generating Voice CDR files. Applies only on BP companies. * @param csEmailList A list of Customer Success email addresses (maximum length : 10). * @param seEmailList A list of System Engineer email addresses (maximum length : 10). * @param csmEmailList A list of Channel Sales Manager email addresses (maximum length : 10). * @param kamEmailList A list of Key Account Manager email addresses (maximum length : 10). * @param businessSpecific Allow to specify if company has access to specific offers. Only settable by superadmin or business_admin. * @param adminServiceNotificationsLevel Level of service notification that admin should see. */ updateCompany(_companyId: string, selectedThemeObj: boolean, name: string, country: string, street: string, city: string, state: string, postalCode: string, offerType: string, currency: string, status: string, visibility: string, visibleBy: string[], adminEmail: string, supportEmail: string, supportUrlFAQ: string, companyContactId: string, disableCCareAdminAccess: boolean, disableCCareAdminAccessCustomers: boolean, disableCCareAdminAccessResellers: boolean, autoAcceptUserInvitations: boolean, autoAddToUserNetwork: boolean, contentPolicyLifeTime: boolean, documentGracePeriod: boolean, userSelfRegisterAllowedDomains: string[], slogan: string, description: string, size: string, economicActivityClassification: string, website: string, giphyEnabled: boolean, catalogId: string, adminCanSetCustomData: boolean, customData: any, bpId: string, adminHasRightToUpdateSubscriptions: boolean, adminAllowedUpdateSubscriptionsOps: string, isBP: boolean, bpType: string, bpBusinessModel: string, bpApplicantNumber: string, bpCRDid: string, bpHasRightToSell: boolean, bpHasRightToConnect: boolean, bpHasRightForBYOT: boolean, preferredSipLoadBalancerId: string, bpIsContractAccepted: boolean, externalReference: string, externalReference2: string, salesforceAccountId: string, avatarShape: string, isCentrex: boolean, companyCallNumber: string, superadminComment: string, bpBusinessType: string[], billingModel: string, allowUsersSelectTheme: boolean, allowUsersSelectPublicTheme: boolean, selectedTheme: any, mobilePermanentConnectionMode: boolean, alertNotificationReception: string, alertNotificationSending: string, useDialOutCustomisation: string, allowDeviceFirmwareSelection: boolean, selectedDeviceFirmware: string, cloudPbxVoicemailToEmail: string, businessData: any, defaultLicenseGroup: string, defaultOptionsGroups: string[], selectedThemeCustomers: any, allowTeamsToDesktopSso?: boolean, cloudPbxRecordingInboundOnly?: boolean, supervisionGroupMaxSize?: number, supervisionGroupMaxNumber?: number, supervisionGroupMaxUsers?: number, timezone?: string, sendPrepaidSubscriptionsNotification?: boolean, ddiReadOnly?: boolean, allowPhoneNumbersVisibility?: boolean, csEmailList?: string[], seEmailList?: string[], csmEmailList?: string[], kamEmailList?: string[], businessSpecific?: string, adminServiceNotificationsLevel?: string): Promise; updateCompanyByObj(_companyId: string, selectedThemeObj: boolean, companyInfoToUpdate: any): Promise; createRainbowMultifactorAuthenticationServerConfiguration(_companyId: string, enabledForAllCompanyUsers: boolean, mfaName: string, mfaType: string, mfaPolicy: string, rememberDaysApplication: string, mfaCanBeDisabled: boolean): Promise; deleteRainbowMultifactorConfiguration(_companyId: string, mfaId: string): Promise; getRainbowMultifactorConfiguration(_companyId: string, mfaId: string): Promise; getAllRainbowMultifactorConfiguration(_companyId: string, format?: string): Promise; updateRainbowMultifactorAuthenticationConfiguration(_companyId: string, mfaId: string, enabledForAllCompanyUsers: boolean, mfaName: string, mfaType: string, mfaPolicy: string, rememberDaysApplication: string, mfaCanBeDisabled: boolean): Promise; createAJoinCompanyLink(_companyId: string, description?: string, isEnabled?: boolean, expirationDate?: string, maxNumberUsers?: number): Promise; deleteAJoinCompanyLink(_companyId: string, joinCompanyLinkId: string): Promise; getAJoinCompanyLink(companyId: string, joinCompanyLinkId: string): Promise; getAllJoinCompanyLinks(_companyId: any, format?: string, createdByAdminId?: string, isEnabled?: boolean, fromExpirationDate?: string, toExpirationDate?: string, fromNbUsersRegistered?: string, toNbUsersRegistered?: string, limit?: number, offset?: number, sortField?: string, sortOrder?: number): Promise; updateAJoinCompanyLink(_companyId: string, joinCompanyLinkId: string, description: string, isEnabled: boolean, expirationDate: string, maxNumberUsers: number): Promise; createCompanyFromDefault(name: any, visibility?: string, country?: string, state?: string, slogan?: string, description?: string, size?: string, economicActivityClassification?: string, website?: string, avatarShape?: string, giphyEnabled?: boolean): Promise; getAllCompaniesVisibleByUser(format?: string, sortField?: string, limit?: number, offset?: number, sortOrder?: number, name?: string, status?: string, visibility?: string, organisationId?: string, isBP?: boolean, hasBP?: boolean, bpType?: string): Promise; getCompanyAdministrators(companyId: string, format?: string, limit?: number, offset?: number): Promise; setVisibilityForCompany(companyId: any, visibleByCompanyId: any): Promise; acceptJoinCompanyInvitation(invitationId: string): Promise; declineJoinCompanyInvitation(invitationId: string): Promise; getJoinCompanyInvitation(invitationId: string): Promise; getAllJoinCompanyInvitations(sortField: string, status: string, format?: string, limit?: number, offset?: number, sortOrder?: number): Promise; cancelJoinCompanyRequest(joinCompanyRequestId: string): Promise; getJoinCompanyRequest(joinCompanyRequestId: string): Promise; getAllJoinCompanyRequests(sortField: string, status: string, format?: string, limit?: number, offset?: number, sortOrder?: number): Promise; resendJoinCompanyRequest(joinCompanyRequestId: string): Promise; requestToJoinCompany(requestedCompanyId?: string, requestedCompanyAdminId?: string, requestedCompanyLinkId?: string, lang?: string): Promise; getEmailTemplatesDocumentation(format: string): Promise; initiateEmailTemplate(_companyId: string, templateName: string): Promise; updateSubjectPartTemplate(_companyId: string, templateName: string, body: any): Promise; updateMjmlFormatPartTemplate(_companyId: string, templateName: string, body: any): Promise; updateTextFormatFormatPartTemplate(_companyId: string, templateName: string, body: any): Promise; getEmailTemplatesByCompanyId(_companyId: string, templateName: string, format: any): Promise; deleteEmailTemplate(_companyId: string, templateName: string): Promise; deleteAvailableEmailTemplatesBycompanyId(_companyId: string, templateName: string): Promise; testEmailTemplateRendering(_companyId: string, body: any): Promise; activateDesactivateEmailTemplate(_companyId: string, templateName: string, isActive: any): Promise; applyCustomisationTemplates(name: string, companyId: string, userId: string): Promise; createCustomisationTemplate(name: string, ownedByCompany: string, visibleBy: Array, instantMessagesCustomisation: string, useGifCustomisation: string, fileSharingCustomisation: string, fileStorageCustomisation: string, phoneMeetingCustomisation: string, useDialOutCustomisation: string, useChannelCustomisation: string, useRoomCustomisation: string, useScreenSharingCustomisation: string, useWebRTCAudioCustomisation: string, useWebRTCVideoCustomisation: string, recordingConversationCustomisation: string, overridePresenceCustomisation: string, userProfileCustomisation: string, userTitleNameCustomisation: string, changeTelephonyCustomisation: string, changeSettingsCustomisation: string, fileCopyCustomisation: string, fileTransferCustomisation: string, forbidFileOwnerChangeCustomisation: string, readReceiptsCustomisation: string, useSpeakingTimeStatistics: string): Promise; deleteCustomisationTemplate(templateId: any): Promise; getAllAvailableCustomisationTemplates(companyId?: string, format?: string, limit?: number, offset?: number, sortField?: string, sortOrder?: number): Promise; getRequestedCustomisationTemplate(templateId?: string): Promise; updateCustomisationTemplate(templateId: string, name: string, visibleBy: string[], instantMessagesCustomisation?: string, useGifCustomisation?: string, fileSharingCustomisation?: string, fileStorageCustomisation?: string, phoneMeetingCustomisation?: string, useDialOutCustomisation?: string, useChannelCustomisation?: string, useRoomCustomisation?: string, useScreenSharingCustomisation?: string, useWebRTCAudioCustomisation?: string, useWebRTCVideoCustomisation?: string, recordingConversationCustomisation?: string, overridePresenceCustomisation?: string, userProfileCustomisation?: string, userTitleNameCustomisation?: string, changeTelephonyCustomisation?: string, changeSettingsCustomisation?: string, fileCopyCustomisation?: string, fileTransferCustomisation?: string, forbidFileOwnerChangeCustomisation?: string, readReceiptsCustomisation?: string, useSpeakingTimeStatistics?: string): Promise; createPublicChannel(name: any, topic: any, category: string, visibility: any, max_items: any, max_payload_size: any): Promise; deleteChannel(channelId: any): Promise; findChannels(name: any, topic: any, category: any, limit: any, offset: any, sortField: any, sortOrder: any): Promise; getChannels(): Promise; getChannel(id: any): Promise; publishMessage(channelId: any, message: any, title: any, url: any, imagesIds: any, type: any, customDatas?: any): Promise; private chewReceivedItems; /** * Get latests message from channel */ getLatestMessages(maxMessages: number, beforeDate?: Date, afterDate?: Date): Promise; subscribeToChannel(channelId: any): Promise; unsubscribeToChannel(channelId: any): Promise; updateChannel(channelId: any, title: any, visibility: any, max_items: any, max_payload_size: any, channelName: any, mode: any): Promise; uploadChannelAvatar(channelId: string, avatar: any, avatarSize: number, fileType: string): Promise; deleteChannelAvatar(channelId: string): Promise; getChannelUsers(channelId: any, options: any): Promise; deleteAllUsersFromChannel(channelId: any): Promise; updateChannelUsers(channelId: any, users: any): Promise; getChannelMessages(channelId: any, maxMessages?: number, beforeDate?: Date, afterDate?: Date): Promise; likeItem(channelId: any, itemId: any, appreciation: any): Promise; getDetailedAppreciations(channelId: any, itemId: any): Promise; /** * Delete item from a channel */ deleteChannelMessage(channelId: any, itemId: any): Promise; getServerProfiles(): Promise; getServerProfilesFeatures(): Promise; getThirdPartyApps(): Promise; revokeThirdPartyAccess(tokenId: any): Promise; makeCall(contact: any, phoneInfo: any): Promise; releaseCall(call: any): Promise; makeConsultationCall(callId: any, contact: any, phoneInfo: any): Promise; answerCall(call: any): Promise; holdCall(call: any): Promise; retrieveCall(call: any): Promise; deflectCallToVM(call: any, VMInfos: any): Promise; deflectCall(call: any, calleeInfos: any): Promise; transfertCall(activeCall: any, heldCall: any): Promise; conferenceCall(activeCall: any, heldCall: any): Promise; forwardToDevice(contact: any, phoneInfo: any): Promise; getForwardStatus(): Promise; getNomadicStatus(): Promise; nomadicLogin(data: any): Promise; sendDtmf(callId: any, deviceId: any, data: any): Promise; logon(endpointTel: any, agentId: any, password: any, groupId: any): Promise; logoff(endpointTel: any, agentId: any, password: any, groupId: any): Promise; withdrawal(agentId: any, groupId: any, status: any): Promise; wrapup(agentId: any, groupId: any, password: any, status: any): Promise; getRainbowNodeSdkPackagePublishedInfos(): Promise; getNpmPackagePublishedInfos(packageName?: string): Promise; deleteAllMyVoiceMessagesFromPbx(): Promise; deleteAVoiceMessageFromPbx(messageId: any): Promise; getAVoiceMessageFromPbx(messageId: string, messageDate: string, messageFrom: string): Promise; getDetailedListOfVoiceMessages(): Promise; getNumbersOfVoiceMessages(): Promise; getTheNumberOfHitsOfASubstringInAllUsersconversations(userId: string, substring: string, limit?: number, webinar?: boolean): Promise; getServerConversations(format?: string, maxCount?: number, lastUpdateDate?: string, limit?: number, offset?: number, before?: number): Promise; createServerConversation(conversation: any): Promise; deleteServerConversation(conversationId: any): Promise; updateServerConversation(conversationId: any, mute: any): Promise; sendConversationByEmail(conversationId: any, emails?: Array, lang?: string): Promise; ackAllMessages(conversationId: any, maskRead?: boolean): Promise; updateConversationBookmark(userId: string, conversationId: string, messageId: string): Promise; deleteConversationBookmark(userId: string, conversationId: string): Promise; getListOfCountries(): Promise; get(url: any, token: any): Promise; post(url: any, token: any, data: any, contentType: any): Promise; put(url: any, token: any, data: any): Promise; delete(url: any, token: any): Promise; checkEveryPortals(): Promise<[void, void, void, void, void, void] | { status: string; }>; checkPortalHealth(currentAttempt: any): Promise; checkRESTAuthentication(): Promise; attemptToReconnect(reconnectDelay: any, currentAttempt: any): void; get_attempt_succeeded_callback(resolve?: any): any; get_attempt_failed_callback(reject?: any): any; reconnect(): Promise; listConnectionsS2S(): Promise; sendS2SPresence(obj: any): Promise; deleteConnectionsS2S(connexions: any): Promise; loginS2S(callback_url: any): Promise; infoS2S(s2sConnectionId: any): Promise; setS2SConnection(connectionId: any): Promise; sendS2SMessageInConversation(conversationId: string, msg: any): Promise; sendS2SCorrectedChatMessage(conversationId: string, origMsgId: string, msg: any): Promise; sendS2SForwardChatMessage(conversationId: string, msgId: string, msg: any, conversationDestId: string): Promise; sendS2SChatState(conversationId: string, state: CHATSTATE): Promise; getS2SServerConversation(conversationId: any): Promise; /** * name getS2SMessagesByConversationId * @param {string} conversationId Id of conversation * @param {number} limit Maximum number of messages to return (0 for counting) * @param {number} before Get messages before this Epoch timestamp in microseconds * @param {number} after Get messages after this Epoch timestamp in microseconds * @returns {Promise} */ getS2SMessagesByConversationId(conversationId: any, limit: any, before: any, after: any): Promise; checkS2Sconnection(): Promise; checkS2SAuthentication(): Promise; /** * * @param roomid * @param {string} role Enum: "member" "moderator" of your role in this room */ joinS2SRoom(roomid: any, role: ROOMROLE): Promise; retrieveXMPPMessagesByListOfMessageIds(ims: Array): Promise; showAllMatchingMessagesForAPeer(userId: string, substring: string, peer: string, isRoom?: boolean, limit?: number): Promise; markMessageAsRead(conversationId: any, messageId: any): Promise; addPinWithPeerId(peerId: string, types: PEERTYPE, body: any): Promise; getPinWithPeerIdById(types: PEERTYPE, peerId: string, pinId: string): Promise; getAllPinsWithPeerId(types: PEERTYPE, peerId: string): Promise; removefromWithPeerIdAndPinId(types: string, peerId: string, pinId: string): Promise; updatePinWithPeerId(peerId?: string, types?: PEERTYPE, pinId?: string, body?: any): Promise; getABubblePublicLinkAsModerator(bubbleId?: string, emailContent?: boolean, language?: string): Promise; /** * * @param {string} userId id of to get all openInviteId belonging to this user. If not setted the connected user is used. * @param {string} type type optionnel to get the public link of personal rooms type query parameter used with personal_audio_room or personal_video_room or default. * @param {string} roomId id optionnel to get the public link for a given roomId, managed by the userId roomId * @return {Promise} */ getAllOpenInviteIdPerRoomOfAUser(userId?: string, type?: string, roomId?: string): Promise>; generateNewPublicUrl(bubbleId: any): Promise; removePublicUrl(bubbleId: any): Promise; createPublicUrl(bubbleId: any): Promise; registerGuest(guest: GuestParams): Promise; checkOpenInviteIdValidity(openInviteId: string): Promise; joinBubbleByOpenInviteId(openInviteId: string): Promise; retrieveAllConferences(scheduled: any): Promise; /** * Method retrieveWebConferences * @public * @param {string} mediaType mediaType of conference to retrieve. Default: this.MEDIATYPE.WEBRTC * @returns {Promise} a promise that resolves when conference are reterived * @memberof WebConferenceService */ retrieveWebConferences(mediaType?: string): Promise; retrieveAllCompanyOffers(companyId: string, format?: string, name?: string, canBeSold?: boolean, autoSubscribe?: boolean, isExclusive?: boolean, isPrepaid?: boolean, profileId?: boolean, offerReference?: boolean, sapReference?: boolean, limit?: number, offset?: number, sortField?: string, sortOrder?: number): Promise; retrieveAllCompanySubscriptions(companyId: string, format?: string): Promise; subscribeCompanyToOffer(companyId: string, offerId: string, maxNumberUsers?: number, autoRenew?: boolean): Promise; unSubscribeCompanyToSubscription(companyId: string, subscriptionId: string): Promise; subscribeUserToSubscription(userId: string, subscriptionId: string): Promise; unSubscribeUserToSubscription(userId: string, subscriptionId: string): Promise; getAUserProfiles(userId: string): Promise; getAUserProfilesFeaturesByUserId(userId: string): Promise; retrieveAllBubblesByTags(tags: Array, format?: string, nbUsersToKeep?: number): Promise; /** * * @param {string} roomId * @param {Array} tags : tags Object[] List of objects. Empty to reset the list tag String Tag name color optionnel String Tag color - Hex Color in "0x" or "#" prefixed or "non-prefixed" emoji optionnel String Tag emoji - an unicode sequence * @return {Promise} */ setTagsOnABubble(roomId: string, tags: Array): Promise; deleteTagOnABubble(roomIds: Array, tag: string): Promise; disableDialInForARoom(roomId: string): Promise; enableDialInForARoom(roomId: string): Promise; resetDialInCodeForARoom(roomId: string): Promise; getDialInPhoneNumbersList(shortList: boolean): Promise; createDevice(data: Object): Promise; updateDevice(deviceId: any, params: Object): Promise; deleteDevice(deviceId: string): Promise; getDevice(deviceId: string): Promise; getDevices(companyId: string, userId: string, deviceName: string, type: string, tag: string, offset: number, limit: number): Promise; getDevicesTags(companyId: string): Promise; /** * @method renameDevicesTags * @param {string} tag tag to rename. * @param {string} companyId Allows to rename a tag for the devices being in the companyIds provided in this option.
* If companyId is not provided, the tag is renamed for all the devices linked to all the companies that the administrator manage. * @param {string} newTagName New tag name. (Body Parameters) * @description * This API can be used to rename a tag being assigned to some devices of the companies managed by the administrator. */ renameDevicesTags(newTagName: string, tag: string, companyId: string): Promise; /** * @method deleteDevicesTags * @param {string} tag tag to rename. * @param {string} companyId Allows to remove a tag from the devices being in the companyIds provided in this option..
* If companyId is not provided, the tag is deleted from all the devices linked to all the companies that the administrator manage. * @description * This API can be used to remove a tag being assigned to some devices of the companies managed by the administrator. */ deleteDevicesTags(tag: string, companyId: string): Promise; /** * @method getstatsTags * @param {string} companyId Allows to compute the tags statistics for the devices associated to the companyIds provided in this option.
* if companyId is not provided, the tags statistics are computed for all the devices being in all the companies managed by the logged in administrator. * @description * This API can be used to list all the tags being assigned to the devices of the companies managed by the administrator, with the number of devices for each tags. */ getstatsTags(companyId: string): Promise; createTemplate(data: Object): Promise; updateTemplate(templateId: any, params: Object): Promise; deleteTemplate(templateId: string): Promise; getTemplate(templateId: string): Promise; getTemplates(companyId: string, offset: number, limit: number): Promise; createFilter(data: Object): Promise; updateFilter(FilterId: any, params: Object): Promise; deleteFilter(FilterId: string): Promise; getFilter(templateId: string): Promise; getFilters(offset: number, limit: number): Promise; createAlert(data: Object): Promise; updateAlert(AlertId: any, params: Object): Promise; deleteAlert(AlertId: string): Promise; getAlert(alertId: string): Promise; getAlerts(offset: number, limit: number): Promise; sendAlertFeedback(alertId: string, data: Object): Promise; getAlertFeedbackSentForANotificationMessage(notificationHistoryId: string): Promise; getAlertFeedbackSentForAnAlert(alertId: string): Promise; getAlertStatsFeedbackSentForANotificationMessage(notificationHistoryId: string): Promise; getReportSummary(alertId: string): Promise; getReportDetails(alertId: string): Promise; getReportComplete(alertId: string): Promise; getCalendarState(): Promise; getCalendarStates(users?: Array): Promise; setCalendarRegister(type?: string, redirect?: boolean, callbackUrl?: string): Promise; getCalendarAutomaticReplyStatus(userid?: string): Promise; enableOrNotCalendar(disable: boolean): Promise; controlCalendarOrIgnoreAnEntry(disable?: boolean, ignore?: string): Promise; unregisterCalendar(): Promise; controlMsteamsPresence(disable?: boolean, ignore?: string): Promise; getMsteamsPresenceState(userId: string): Promise; getMsteamsPresenceStates(users?: Array): Promise; registerMsteamsPresenceSharing(redirect?: boolean, callback?: string): Promise; unregisterMsteamsPresenceSharing(): Promise; activateMsteamsPresence(): Promise; deactivateMsteamsPresence(): Promise; checkCSVdata(data?: any, companyId?: string, delimiter?: string, comment?: string): Promise; deleteAnImportStatusReport(reqId: string): Promise; getAnImportStatusReport(reqId?: string, format?: string): any; getAnImportStatus(companyId?: string): any; getInformationOnImports(companyId?: string, ldapConfigId?: string): any; getResultOfStartedOffice365TenantSynchronizationTask(tenant?: string, format?: string): any; importCSVData(data?: any, companyId?: string, label?: string, noemails?: boolean, nostrict?: boolean, delimiter?: string, comment?: string): Promise; startsAsynchronousGenerationOfOffice365TenantUserListSynchronization(tenant?: string): Promise; synchronizeOffice365TenantUserList(tenant?: string, format?: string): any; checkCSVDataOfSynchronizationUsingRainbowvoiceMode(data?: any, companyId?: string, delimiter?: string, comment?: string): Promise; updateCommandIdStatus(data?: any, commandId?: string): Promise; synchronizeUsersAndDeviceswithCSV(CSVTxt?: string, companyId?: string, label?: string, noemails?: boolean, nostrict?: boolean, delimiter?: string, comment?: string, commandId?: string, ldapConfigId?: string): Promise<{ reqId: string; mode: string; status: string; userId: string; displayName: string; label: string; startTime: string; }>; getCSVTemplate(companyId?: string, mode?: string, comment?: string): any; checkCSVforSynchronization(CSVTxt: any, companyId?: string, delimiter?: string, comment?: string, commandId?: string): any; getCheckCSVReport(commandId: string): Promise; importRainbowVoiceUsersWithCSVdata(companyId: string, label: string, noemails: boolean, nostrict: boolean, delimiter: string, comment: string, csvData: string): Promise; retrieveRainbowUserList(companyId?: string, format?: string, ldap_id?: boolean, ldapConfigId?: string): Promise; checkCSVdataForSynchronizeDirectory(delimiter: string, comment: string, commandId: string, csvData: string): Promise; importCSVdataForSynchronizeDirectory(delimiter: string, comment: string, commandId: string, label: string, csvData: string, ldapConfigId?: string): Promise; getCSVReportByCommandId(commandId: string): any; createCSVReportByCommandId(commandId: string, data: any): Promise; retrieveRainbowEntriesList(companyId: string, format: string, ldap_id: boolean): any; ActivateALdapConnectorUser(): Promise<{ id: string; companyId: string; loginEmail: string; password: string; }>; deleteLdapConnector(ldapId: string): Promise<{ status: string; }>; retrieveAllLdapConnectorUsersData(companyId?: string, format?: string, limit?: number, offset?: number, sortField?: string, sortOrder?: number): Promise; sendCommandToLdapConnectorUser(ldapId: string, command: string, ldapConfigId: string): Promise; createConfigurationForLdapConnector(companyId: string, settings: any, name: string, type?: string): Promise; deleteLdapConnectorConfig(ldapConfigId: string): Promise<{ status: string; }>; retrieveLdapConnectorConfig(companyId: string, p_type?: string): Promise; retrieveLdapConnectorConfigTemplate(type?: string): Promise; retrieveLdapConnectorAllConfigTemplates(): Promise; retrieveLdapConnectorAllConfigs(companyId: string, supportMultiDomain?: boolean): Promise; retrieveLDAPConnectorConfigByLdapConfigId(ldapConfigId: string): Promise; updateConfigurationForLdapConnector(ldapConfigId: string, settings: any, strict: boolean, name: string): Promise; uploadLdapAvatar(binaryImgFile: string, contentType?: string, ldapId?: string): Promise; deleteLdapAvatar(ldapId?: string): Promise; createListOfEventsForConnector(events: Array<{ eventId: string; level: string; category: string; operation: string; description: string; date: string; }>): Promise; getCloudPbxById(systemId: any): Promise; updateCloudPBX(systemId: any, barringOptions_permissions: string, barringOptions_restrictions: string, callForwardOptions_externalCallForward: string, customSipHeader_1: string, customSipHeader_2: string, emergencyOptions_callAuthorizationWithSoftPhone: boolean, emergencyOptions_emergencyGroupActivated: boolean, externalTrunkId: string, language: string, name: string, numberingDigits: number, numberingPrefix: number, outgoingPrefix: number, routeInternalCallsToPeer: boolean): Promise; deleteCloudPBX(systemId: string): Promise<{ status: string; }>; getCloudPbxs(limit: number, offset: number, sortField: string, sortOrder: number, companyId: string, bpId: string): Promise; createACloudPBX(bpId: string, companyId: string, customSipHeader_1: string, customSipHeader_2: string, externalTrunkId: string, language: string, name: string, noReplyDelay: number, numberingDigits: number, numberingPrefix: number, outgoingPrefix: number, routeInternalCallsToPeer: boolean, siteId: string): Promise; getCloudPBXCLIPolicyForOutboundCalls(systemId: string): Promise; updateCloudPBXCLIOptionsConfiguration(systemId: string, policy: string): Promise; getCloudPBXlanguages(systemId: string): Promise; getCloudPBXDeviceModels(systemId: string): Promise; getCloudPBXTrafficBarringOptions(systemId: string): Promise; getCloudPBXEmergencyNumbersAndEmergencyOptions(systemId: string): Promise; createCloudPBXGroup(_companyId: string, huntingGroup: HuntingGroup): Promise; deleteCloudPBXGroup(_companyId: string, groupId: string): Promise; getCloudPBXGroup(_companyId: string, groupId: string): Promise; getAllCloudPBXGroups(_companyId?: string, sortField?: string, name?: string, shortNumber?: string, externalNumber?: string, memberId?: string, type?: string, limit?: number, offset?: number, sortOrder?: number): Promise; getMembersOfCloudPBXGroups(_companyId?: string, limit?: number, offset?: number, sortField?: string, sortOrder?: number, displayName?: string, internalNumber?: string): Promise; updateCloudPBXGroup(_companyId?: string, groupId?: string, name?: string, policy?: "serial" | "parallel" | "circular", timeout?: number, externalNumberId?: string, isEmptyAllowed?: boolean, isDDIUpdateByManagerAllowed?: boolean, members?: { memberId: string; roles?: ("manager" | "agent" | "leader" | "assistant")[]; status?: "active" | "idle"; }[]): Promise; updateCloudPBXHuntingGroupAnalyticsConfiguration(_companyId?: string, groupId?: string, isManagersAllowedToSeeMembersAnalytics?: boolean): Promise; updateCloudPBXHuntingGroupRecordingConfiguration(_companyId?: string, groupId?: string, recordingProfile?: string): Promise; CreateCloudPBXSIPDevice(systemId: string, description: string, deviceTypeId: string, macAddress: string): Promise; factoryResetCloudPBXSIPDevice(systemId: string, deviceId: string): Promise; getCloudPBXSIPDeviceById(systemId: string, deviceId: string): Promise; deleteCloudPBXSIPDevice(systemId: string, deviceId: string): Promise; updateCloudPBXSIPDevice(systemId: string, description: string, deviceId: string, macAddress: string): Promise; getAllCloudPBXSIPDevice(systemId: string, limit: number, offset: number, sortField: string, sortOrder: number, assigned: boolean, phoneNumberId: string): Promise; getCloudPBXSIPRegistrationsInformationDevice(systemId: string, deviceId: string): Promise; grantCloudPBXAccessToDebugSession(systemId: string, deviceId: string, duration: string): Promise; revokeCloudPBXAccessFromDebugSession(systemId: string, deviceId: string): Promise; rebootCloudPBXSIPDevice(systemId: string, deviceId: string): Promise; getCloudPBXSubscriber(systemId: string, phoneNumberId: string): Promise; deleteCloudPBXSubscriber(systemId: string, phoneNumberId: string): Promise; createCloudPBXSubscriberRainbowUser(systemId: string, login: string, password: string, shortNumber: string, userId: string): Promise; getCloudPBXSIPdeviceAssignedSubscriber(systemId: string, phoneNumberId: string, deviceId: string): Promise; removeCloudPBXAssociationSubscriberAndSIPdevice(systemId: string, phoneNumberId: string, deviceId: string): Promise; getCloudPBXAllSIPdevicesAssignedSubscriber(systemId: string, limit: number, offset: number, sortField: string, sortOrder: number, phoneNumberId: string): Promise; getCloudPBXInfoAllRegisteredSIPdevicesSubscriber(systemId: string, phoneNumberId: string): Promise; assignCloudPBXSIPDeviceToSubscriber(systemId: string, phoneNumberId: string, deviceId: string, macAddress: string): Promise; getCloudPBXSubscriberCLIOptions(systemId: string, phoneNumberId: string): Promise; getCloudPBXUnassignedInternalPhonenumbers(systemId: string): Promise; listCloudPBXDDINumbersAssociated(systemId: string, limit: number, offset: number, sortField: string, sortOrder: number, isAssignedToUser: boolean, isAssignedToGroup: boolean, isAssignedToIVR: boolean, isAssignedToAutoAttendant: boolean, isAssigned: boolean): Promise; createCloudPBXDDINumber(systemId: string, number: string): Promise; deleteCloudPBXDDINumber(systemId: string, phoneNumberId: string): Promise; associateCloudPBXDDINumber(systemId: string, phoneNumberId: string, userId: string): Promise; disassociateCloudPBXDDINumber(systemId: string, phoneNumberId: string, userId: string): Promise; setCloudPBXDDIAsdefault(systemId: string, phoneNumberId: string): Promise; retrieveExternalSIPTrunkById(externalTrunkId: string): Promise; retrievelistExternalSIPTrunks(rvcpInstanceId: string, status: string, trunkType: string): Promise; retrieveAllAvailableCallLineIdentifications(): Promise; retrieveCurrentCallLineIdentification(): Promise; setCurrentActiveCallLineIdentification(policy: string, phoneNumberId?: string): Promise; addMemberToGroup(groupId: string, memberId: string, position: number, roles: [], status: string): Promise; deleteVoiceMessageAssociatedToAGroup(groupId: string, messageId: string): Promise; getVoiceMessagesAssociatedToGroup(groupId: string, limit: number, offset: number, sortField: string, sortOrder: number, fromDate: string, toDate: string, callerName: string, callerNumber: string): Promise; getGroupForwards(groupId: string): Promise; getTheUserGroup(type: string): Promise; joinAGroup(groupId: string): Promise; joinAllGroups(): Promise; leaveAGroup(groupId: string): Promise; leaveAllGroups(): Promise; removeMemberFromGroup(groupId: string, memberId: string): Promise; retrieveNumberReadUnreadMessagesForHuntingGroupsOfLoggedUser(): Promise; updateAGroup(groupId: string, externalNumberId: string, isEmptyAllowed: boolean): Promise; updateAVoiceMessageAssociatedToAGroup(groupId: string, messageId: string, read: boolean): Promise; updateGroupForward(groupId: string, callForwardType: string, destinationType: string, numberToForward: number, activate: boolean, noReplyDelay: number, managerIds: Array, rvcpAutoAttendantId: string): Promise; updateGroupMember(groupId: string, memberId: string, position: number, roles: Array, status: string): Promise; activateDeactivateDND(activate: boolean): Promise; configureAndActivateDeactivateForward(callForwardType: string, type: string, number: string, timeout: number, activated: boolean): Promise; retrieveActiveForwards(): Promise; retrieveDNDState(): Promise; searchUsersGroupsContactsByName(displayName: string, limit: number): Promise; activatePersonalRoutine(routineId: string): Promise; createCustomPersonalRoutine(name: string): Promise; deleteCustomPersonalRoutine(routineId: string): Promise; getPersonalRoutineData(routineId: string): Promise; getAllPersonalRoutines(userId: any): Promise; updatePersonalRoutineData(routineId: string, dndPresence: boolean, name: string, presence: { manage: boolean; value: string; }, deviceMode: { manage: boolean; mode: string; }, immediateCallForward: { manage: boolean; activate: boolean; number: string; destinationType: string; }, busyCallForward: { manage: boolean; activate: boolean; number: string; destinationType: string; }, noreplyCallForward: { manage: boolean; activate: boolean; number: string; destinationType: string; noReplyDelay: number; }, huntingGroups: { withdrawAll: boolean; }): Promise; manageUserRoutingData(destinations: Array, currentDeviceId: string): Promise; retrievetransferRoutingData(calleeId: string, addresseeId?: string, addresseePhoneNumber?: string): Promise; retrieveUserRoutingData(): Promise; retrieveVoiceUserSettings(): Promise; addParticipant3PCC(callId: string, callData: { callee: string; }): Promise; answerCall3PCC(callId: string, callData: { legId: string; }): Promise; blindTransferCall3PCC(callId: string, callData: { destination: { userId: string; resource: string; }; }): Promise; deflectCall3PCC(callId: string, callData: { destination: string; }): Promise; holdCall3PCC(callId: string, callData: { legId: string; }): Promise; makeCall3PCC(callData: { deviceId: string; callerAutoAnswer: boolean; anonymous: boolean; calleeExtNumber: string; calleePbxId: string; calleeShortNumber: string; calleeCountry: string; dialPadCalleeNumber: string; }): Promise; mergeCall3PCC(activeCallId: string, callData: { heldCallId: string; }): Promise; pickupCall3PCC(callData: { deviceId: string; callerAutoAnswer: boolean; calleeShortNumber: string; }): Promise; releaseCall3PCC(callId: string, legId: string): Promise; retrieveCall3PCC(callId: string, callData: { legId: string; }): Promise; sendDTMF3PCC(callId: string, callData: { legId: string; digits: string; }): Promise; snapshot3PCC(callId: string, deviceId: string, seqNum: number): Promise; transferCall3PCC(activeCallId: string, callData: { heldCallId: string; }): Promise; deleteAVoiceMessage(messageId: string): Promise; deleteAllVoiceMessages(messageId: string): Promise; getEmergencyNumbersAndEmergencyOptions(): Promise; getVoiceMessages(limit: number, offset: number, sortField: string, sortOrder: number, fromDate: string, toDate: string, callerName: string, callerNumber: string): Promise; getUserDevices(): Promise; updateVoiceMessage(messageId: string, urlData: { read: boolean; }): Promise; forwardCall(callForwardType: string, userId: string, urlData: { destinationType: string; number: string; activate: boolean; noReplyDelay: number; }): Promise; getASubscriberForwards(userId: string): Promise; searchCloudPBXhuntingGroups(name: string): Promise; createAClientVersion(id: string, version: string): Promise; deleteAClientVersion(clientId: string): Promise; getAClientVersionData(clientId: string): Promise; getAllClientsVersions(name?: string, typeClient?: string, limit?: number, offset?: number, sortField?: string, sortOrder?: number): Promise; updateAClientVersion(clientId: string, version: string): Promise; createASite(name: string, status: string, companyId: string): Promise; deleteSite(siteId: string): Promise; getSiteData(siteId: string): Promise; getAllSites(format: string, limit: number, offset: number, sortField: string, sortOrder: number, name: string, companyId: string): Promise; updateSite(siteId: string, name: string, status: string, companyId: string): Promise; createSystem(name: string, pbxId: string, pbxLdapId: string, siteId: string, type: string, country: string, version?: string, serverPingTimeout?: number, pbxMainBundlePrefix?: Array, usePbxMainBundlePrefix?: boolean, pbxNumberingTranslator?: Array, pbxNationalPrefix?: string, pbxInternationalPrefix?: string, searchResultOrder?: Array, activationCode?: string, isCentrex?: boolean, isShared?: boolean, bpId?: string, isOxoManaged?: boolean): Promise; deleteSystem(systemId: string): Promise; getSystemConnectionState(systemId: string, format?: string, connectionHistory?: boolean): Promise; getSystemDataByPbxId(pbxId: string, connectionHistory?: boolean): Promise; getSystemData(systemId: string, connectionHistory?: boolean): Promise; getAllSystems(connectionHistory?: boolean, format?: string, limit?: number, offset?: number, sortField?: string, sortOrder?: number, name?: string, type?: string, status?: string, siteId?: string, companyId?: string, bpId?: string, isShared?: boolean, isCentrex?: boolean, isSharedOrCentrex?: boolean, isOxoManaged?: boolean, fromCreationDate?: string, toCreationDate?: string): Promise; getListOfCountriesAllowedForSystems(): Promise; updateSystem(systemId: string, name?: string, siteId?: string, pbxLdapId?: string, type?: string, country?: string, version?: string, serverPingTimeout?: number, pbxMainBundlePrefix?: string, usePbxMainBundlePrefix?: boolean, pbxNumberingTranslator?: Array, pbxNationalPrefix?: string, pbxInternationalPrefix?: string, searchResultOrder?: Array, isShared?: boolean, bpId?: string): Promise; getASystemPhoneNumber(systemId: string, phoneNumberId: string): Promise; getAllSystemPhoneNumbers(systemId: string, shortNumber?: string, internalNumber?: string, pbxUserId?: string, companyPrefix?: string, isMonitored?: boolean, name?: string, deviceName?: string, isAssignedToUser?: boolean, format?: string, limit?: number, offset?: number, sortField?: string, sortOrder?: number): Promise; updateASystemPhoneNumber(systemId: string, phoneNumberId: string, isMonitored?: boolean, userId?: string, internalNumber?: string, number?: string, type?: string, deviceType?: string, firstName?: string, lastName?: string, deviceName?: string, isVisibleByOthers?: boolean): Promise; getPbxData(pbxId: string): Promise; getAllPbxs(format?: string, sortField?: string, limit?: number, offset?: number, sortOrder?: number, name?: string, type?: string, status?: string, siteId?: string, companyId?: string, bpId?: string, isShared?: boolean, isCentrex?: boolean, isSharedOrCentrex?: boolean, isOxoManaged?: boolean, fromCreationDate?: string, toCreationDate?: string): Promise; createPbxPhoneNumber(pbxId: string, shortNumber: string, voiceMailNumber: string, pbxUserId: string, companyPrefix: string, internalNumber: string, type: string, deviceType: string, firstName: string, lastName: string, deviceName: string): Promise; deletePbxPhoneNumber(pbxId: string, shortNumber: string): Promise; getPbxPhoneNumber(pbxId: string, shortNumber: string): Promise; getAllPbxPhoneNumbers(pbxId: string, format: string, shortNumber: string, internalNumber: string, pbxUserId: string, companyPrefix: string, isMonitored: boolean, name: string, nameOrShortNumber: string, deviceName: string, isAssignedToUser: boolean, limit: number, offset: number, sortField?: string, sortOrder?: number): Promise; updatepbxPhoneNumber(pbxId: string, shortNumber: string, voiceMailNumber: string, pbxUserId: string, companyPrefix: string, companyName: string, internalNumber: string, type: string, deviceType: string, firstName: string, lastName: string, deviceName: string): Promise; createDirectoryEntry(companyId: string, firstName: string, lastName: string, companyName: string, department: string, street: string, city: string, state: string, postalCode: string, country: string, workPhoneNumbers: string[], mobilePhoneNumbers: string[], otherPhoneNumbers: string[], jobTitle: string, eMail: string, tags: string[], custom1: string, custom2: string): Promise; deleteCompanyDirectoryAllEntry(companyId: string): Promise; deleteDirectoryEntry(entryId: string): Promise; getDirectoryEntryData(entryId: string, format: string): Promise; getListDirectoryEntriesData(companyId: string, organisationIds: string, name: string, search: string, type: string, companyName: string, phoneNumbers: string, fromUpdateDate: Date, toUpdateDate: Date, tags: string, format: string, limit: number, offset: number, sortField: string, sortOrder: number, view: string): Promise; updateDirectoryEntry(entryId: string, firstName: string, lastName: string, companyName: string, department: string, street: string, city: string, state: string, postalCode: string, country: string, workPhoneNumbers: string[], mobilePhoneNumbers: string[], otherPhoneNumbers: string[], jobTitle: string, eMail: string, tags: string[], custom1: string, custom2: string): Promise; ImportDirectoryCsvFile: (companyId: any, csvContent: any, label: any) => Promise; getAllTagsAssignedToDirectoryEntries(companyId: string): Promise; removeTagFromAllDirectoryEntries(companyId: string, tag: string): Promise; renameTagForAllAssignedDirectoryEntries(tag: string, companyId: string, newTagName: string): Promise; getStatsRegardingTagsOfDirectoryEntries(companyId: string): Promise; createBubblePoll(roomId: string, title: string, questions: Array<{ text: string; multipleChoice: boolean; answers: Array<{ text: string; }>; }>, anonymous?: boolean, duration?: number): Promise; deleteBubblePoll(pollId: any): Promise; getBubblePoll(pollId: string, format?: string): Promise; getBubblePollsByBubble(roomId: string, format: string, limit: number, offset: number): Promise; publishBubblePoll(pollId: string): Promise; terminateBubblePoll(pollId: string): Promise; unpublishBubblePoll(pollId: string): Promise; updateBubblePoll(pollId: string, roomId: string, title: string, questions: Array<{ text: string; multipleChoice: boolean; answers: Array<{ text: string; }>; }>, anonymous: boolean, duration: number): Promise; votesForBubblePoll(pollId: string, votes: Array<{ question: number; answers: Array; }>): Promise; addPSTNParticipantToConference(roomId: string, participantPhoneNumber: string, country: string): Promise; askConferenceSnapshotV2(roomId: string, limit?: number, offset?: number): Promise; snapshotConference(roomId: string, limit?: number, offset?: number): Promise; delegateConference(roomId: string, userId: string): Promise; disconnectPSTNParticipantFromConference(roomId: string): Promise; disconnectParticipantFromConference(roomId: string, userId: string): Promise; getTalkingTimeForAllPparticipantsInConference(roomId: string, limit?: number, offset?: number): Promise; joinConferenceV2(roomId: string, participantPhoneNumber?: string, country?: string, deskphone?: boolean, dc?: Array, mute?: boolean, microphone?: boolean, media?: Array, resourceId?: string): Promise; pauseRecording(roomId: string): Promise; resumeRecording(roomId: string): Promise; startRecording(roomId: string): Promise; stopRecording(roomId: string): Promise; rejectAVideoConference(roomId: string): Promise; startConferenceOrWebinarInARoom(roomId: string, services: any): Promise; stopConferenceOrWebinar(roomId: string): Promise; subscribeForParticipantVideoStream(roomId: string, userId: string, media?: string, subStreamLevel?: number, dynamicFeed?: boolean): Promise; updatePSTNParticipantParameters(roomId: string, phoneNumber: string, option?: string): Promise; updateConferenceParameters(roomId: string, option?: string): Promise; updateParticipantParameters(roomId: string, userId: string, option: string, media: string, bitRate: number, subStreamLevel: number, publisherId: string): Promise; allowTalkWebinar(roomId: string, userId: string): Promise; disableTalkWebinar(roomId: string, userId: string): Promise; lowerHandWebinar(roomId: string): Promise; raiseHandWebinar(roomId: string): Promise; stageDescriptionWebinar(roomId: string, userId: string, type: string, properties: Array): Promise; deletePersonalMeetingBubble(): void; getCurrentMeetingBubble(): void; getPersonalMeetingBubble(): void; reuseAFormerMeetingBubble(): void; savePersonalMeetingBubble(): void; startAnAdHocConference(): void; createWebinar(name: string, subject: string, waitingRoomStartDate: Date, webinarStartDate: Date, webinarEndDate: Date, reminderDates: Array, timeZone: string, register: boolean, approvalRegistrationMethod: string, passwordNeeded: boolean, isOrganizer: boolean, waitingRoomMultimediaURL: Array, stageBackground: string, chatOption: string): Promise; updateWebinar(webinarId: string, name: string, subject: string, waitingRoomStartDate: Date, webinarStartDate: Date, webinarEndDate: Date, reminderDates: Array, timeZone: string, register: boolean, approvalRegistrationMethod: string, passwordNeeded: boolean, isOrganizer: boolean, waitingRoomMultimediaURL: Array, stageBackground: string, chatOption: string): Promise; getWebinarData(webinarId: string): Promise; getWebinarsData(role: string): Promise; warnWebinarModerators(webinarId: string): Promise; publishAWebinarEvent(webinarId: string): Promise; deleteWebinar(webinarId: string): Promise; getCustomerCareAdministratorsGroup(): Promise; addAdministratorToGroup(userId: string): Promise; removeAdministratorFromGroup(userId: string): Promise; getIssue(logId: string): Promise; getListOfIssues(limit: number, offset: number, sortField: string, sortOrder: number, companyId: string, bpId: string, customerCategory: string, name: string, version: string, device: string, fromCreationDate: string, toCreationDate: string, fromOccurrenceDate: string, toOccurrenceDate: string, format?: string): Promise; getListOfIssuesForUser(userId: string, format?: string): Promise; getIssueForUser(userId: string, logId: string): Promise; initiateLogsContext(userId: string, occurrenceDate: string, occurrenceDateTimezone: string, type: string, description: string, resourceId: string, externalRef: string, device: string, attachments: Array, version: string, deviceDetails: any): Promise; completeLogsContext(userId: string, logId: string, occurrenceDate: string, occurrenceDateTimezone: string, description: string, externalRef: string, device: string, attachments: Array, version: string, deviceDetails: any): Promise; cancelOrCloseLogsSubmission(userId: string, logId: string): Promise; acknowledgeLogsRequest(userId: string, logId: string): Promise; rejectLogsRequest(userId: string, logId: string): Promise; adminOrBotAddAdditionalFiles(userId: string, logId: string, attachments: Array, conversationId: string, fileName: string): Promise; getListOfResourcesForUser(userId: string): Promise; createAnAtriumTicket(userId: string, subject: string, description: string, additionalDescription: string, resource: string, externalRef: string, logs: Array): Promise; updateAnAtriumTicket(userId: string, ticketId: string, subject: string, description: string, additionalDescription: string, resource: string, externalRef: string, logs: Array): Promise; deleteAnAtriumTicketInformation(userId: string, ticketId: string): Promise; readAnAtriumTicketInformation(userId: string, ticketId: string): Promise; readAllTicketsOnASameCompany(userId: string): Promise; addTask(task: any): Promise; getAllCategories(): Promise; createTaskcategory(category: string): Promise; createOrUpdatePropertiesTaskByCategoryId(categoryId: string, properties: any): Promise; getTaskById(taskId: string): Promise; getTasksByCategoryId(category: string): Promise; getTasks(category: string): Promise; deletePropertiesFromCategoriesTasks(categoryId: string): Promise; deleteTask(taskId: string): Promise; deleteCategoryFromTasks(categoryId: string): Promise; updateTask(taskId: string, task: TaskInput): Promise; getApisSettings(): Promise; notifyCalendarProvider(ids: Array, headers?: any, forceNotify?: boolean): Promise; } export { RESTService, MEDIATYPE, GuestParams };