Skip to content
forked from clement78/3cx-api

3CX Phone System API forked and partially updated to work with 3CX v18. Feel free to contribute. NPM: @adroste/3cx-api

Notifications You must be signed in to change notification settings

adroste/3cx-api

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

REST-API for 3CX

This is a fork of the last publicly available 3CX Phone API (see: https://www.npmjs.com/package/@3cx/api). As long as we are waiting for a new public API this is all we got. As I'm working on small side projects that rely on this api I'll try to maintain it a bit (update dependencies, add missing APIs etc.)

I will accept pull requests that for instance

  • add missing APIs,
  • remove unsupported APIs,
  • fix stuff,
  • introduce handy utils etc.

Related projects

Other APIs for 3CX

  • Call Control API
    • official .NET library for 3CX. Still available, but no longer supported. Documentation was unpublished recently.
    • e.g. https://github.com/Montesuma80/3cx-web-API : dotnet core based server application to control calls (make calls, drop calls, transfer etc.)
  • MyPhone API (/MyPhone/MPWebService.asmx)
    • Lot of useful endpoints but it uses an undocumented binary format
    • used by the official webclient

Getting started

Installation:

# npm
npm install --save @adroste/3cx-api

# yarn
yarn add @adroste/3cx-api

Usage

import { createClient, ConsoleClient } from '@adroste/3cx-api';

async function main(){
    const http = await createClient('http://my-3cx-instance:5000', { Username: 'Admin', Password: '############' });
    const api = new ConsoleClient(http);

    console.log(await api.getSystemStatus());
}

main();

Docs

Unfortunately, there are no docs available at this moment. However, the code is very simple. I'll suggest you start by looking at the lib/console-client.ts as well as lib/dashboard/dashboard-func.ts. The majority of available endpoints is implemented those two files.

Hints

  • DN Properties: To list/manage DN properties in the Web-Interface go to Settings -> Paramters and set DEVELOPMENT_DNTABLE_EXPOSE to 1. Refresh the page and you should see the DN properties tab.

About

3CX Phone System API forked and partially updated to work with 3CX v18. Feel free to contribute. NPM: @adroste/3cx-api

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 100.0%