Files
3cx_tapi/client
CPAMAP 93d066299c Add quick status buttons with SVG icons and status text support
Status buttons (Arbeiten, Besprechung, Fokus, Mittag, Feierabend) allow
one-click 3CX presence changes including status text via DOM automation.
Buttons are color-coded by status type (green/red/yellow) with Font Awesome
SVG icons. Also reduces verbose console logging in search module.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 10:05:38 +02:00
..
2026-03-27 11:00:10 +01:00
2026-04-09 14:14:04 +02:00
2026-03-18 10:34:20 +01:00
2026-03-18 10:34:20 +01:00

3CX TAPI

Inject CPA TAPI functions into the 3CX Webclient

dev

  1. Allow Tampermonkey's access to local file URIs tampermonkey/faq
  2. install deps with npm i or npm ci.
  3. npm run dev to start your development.
  4. open webpack-userscript-template/dist/index.dev.user.js in your Chrome and install it with your userscript manager.

this userscript's meta contains // @require file://path/to/dist/index.prod.user.js, it will run the code in index.prod.user.js, which take src/js/index.js as entry point.

every times you edit your metadata, you'll have to install it again, because Tampermonkey don't read it from dist every times.

  1. edit src/js/index.js with es6, you can even import css or less files. You can use scss if you like.

livereload is default enabled, use this chrome extension

dependencies

There are two ways to using a package on npm.

UserScript way

Like original UserScript way, you will need to add them to your user script metadata's require section , and exclude them in config/webpack.config.base.js

Webpack way

just install a package and import it in your js file. webpack will pack them with in your final production js file.

build

npm run build

dist/index.prod.user.js is the final script.

distribution

cp "dist/3CX TAPI.prod.user.js" ../3CX_TAPI.user.js

And commit 3CX_TAPI.user.js

see also

Based on webpack-userscript-template