TuCloudAPI updatequeue: Difference between revisions
API docs (generated from func=help) — add #48 adminusers + #52 pbxconfig |
TuCloudAPI reference (generated from func=help; ringinuse 2026-10-31) |
||
| (3 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
''TuCloudAPI function to manage | ''TuCloudAPI function to manage FuturePBX (the cloud PBX). Available to: '''SuperRoot, Operator, Client'''.'' | ||
{{Note|1=Requires the <code>pbx</code> parameter (the PBX '''name''', e.g. <code>tucall</code>). The server verifies that your <code>ukey</code>'s own account owns that PBX, whatever its role; otherwise, and also for a PBX that does not exist, it returns <code>{"ok":false,"code":"forbidden"}</code>.}} | |||
== Description == | == Description == | ||
Edit a queue's config. title editable; the realtime name is read-only ( | Edit a queue's config. title + config editable; the realtime name is read-only (trigger-owned) and exten is IMMUTABLE — submitting a differing exten returns exten_immutable (omit it to edit the rest). 404 if not in the caller's PBX. Requires a non-readonly ukey. | ||
== Call == | == Call == | ||
https://tucloudapi.7kas.com:9087/tucloud?func=updatequeue&ukey=YOUR_KEY&pbx=PBX_NAME | |||
Requires the <code>ukey</code> parameter. | GET, or POST with the parameters form-urlencoded in the body. Requires the <code>ukey</code> parameter. Always HTTP 200; the response is a JSON envelope. | ||
== Parameters == | == Parameters == | ||
| Line 12: | Line 14: | ||
! Parameter !! Type !! Required !! Default !! Meaning | ! Parameter !! Type !! Required !! Default !! Meaning | ||
|- | |- | ||
| <code>pbx</code> || string || Yes || — || | | <code>pbx</code> || string || Yes || — || FuturePBX NAME (e.g. tucall). The (ukey, pbx) pair is the tenant boundary; the server verifies the ukey owns this PBX. | ||
|- | |- | ||
| <code>id</code> || integer || Yes || — || Queue id (_id). | | <code>id</code> || integer || Yes || — || Queue id (_id). | ||
|- | |- | ||
| <code>title</code> || string || Yes || — || Queue display title (required, max 30). | | <code>title</code> || string || Yes || — || Queue display title (required, max 30). | ||
|- | |||
| <code>exten</code> || string || No || — || Immutable; omit. If sent it must equal the stored exten, else exten_immutable. | |||
|- | |- | ||
| <code>strategy</code> || string || No || <code>ringall</code> || ringall / leastrecent / fewestcalls / roundrobin / random. | | <code>strategy</code> || string || No || <code>ringall</code> || ringall / leastrecent / fewestcalls / roundrobin / random. | ||
| Line 31: | Line 35: | ||
|- | |- | ||
| <code>leavewhenempty</code> || integer || No || <code>0</code> || 1 = drop when empties. | | <code>leavewhenempty</code> || integer || No || <code>0</code> || 1 = drop when empties. | ||
|- | |||
| <code>ringinuse</code> || integer || No || <code>0</code> || 1 = ring agents who are already on a call, 0 = skip them: an agent on a call, ringing or on hold is not rung and the queue tries the next free agent (device state per SIP account; wrapuptime still applies). Default 0 by German's order 2026-10-31. | |||
|- | |- | ||
| <code>music</code> || integer || No || <code>0</code> || MOH music id (0 = default). | | <code>music</code> || integer || No || <code>0</code> || MOH music id (0 = default). | ||
| Line 38: | Line 44: | ||
| <code>servicelevel</code> || integer || No || <code>0</code> || Service-level target (seconds). | | <code>servicelevel</code> || integer || No || <code>0</code> || Service-level target (seconds). | ||
|- | |- | ||
| <code>desvio</code> || string || No || — || | | <code>desvio</code> || string || No || — || NOT IMPLEMENTED — must be empty. A non-empty value is REJECTED with invalid_param: the engine does not perform queue forward-on-timeout (tucloud_apps.c has a TODO and merely LOGS a forward it never makes), so storing a value would be a silent no-op. Empty/absent is accepted so existing rows can be cleared. Ruling by gabpbx 2026-08-17; implementation is bus task 102. | ||
|} | |} | ||
== Example == | == Example == | ||
| Line 45: | Line 51: | ||
== Response == | == Response == | ||
{ok, queue:{...}}. | {ok, queue:{...}}. | ||
== Errors == | |||
Always HTTP 200. On failure the body is <code>{"ok":false,"code":"...","message":"..."}</code>. Common codes: <code>missing_pbx</code>, <code>forbidden</code>, <code>invalid_param</code>, <code>not_found</code>, <code>conflict</code>, <code>in_use</code>, <code>db_error</code>, <code>server_busy</code>; the Response section above lists any specific to this function. | |||
---- | ---- | ||
Back to [[TuCloudAPI]] | Back to [[TuCloudAPI]] | ||
[[Category:TuCloudAPI SuperRoot]][[Category:TuCloudAPI Operator]][[Category:TuCloudAPI Client]][[Category:TuCloudAPI]] | [[Category:TuCloudAPI SuperRoot]][[Category:TuCloudAPI Operator]][[Category:TuCloudAPI Client]][[Category:TuCloudAPI]] | ||
Latest revision as of 11:48, 31 October 2026
TuCloudAPI function to manage FuturePBX (the cloud PBX). Available to: SuperRoot, Operator, Client.
pbx parameter (the PBX name, e.g. tucall). The server verifies that your ukey's own account owns that PBX, whatever its role; otherwise, and also for a PBX that does not exist, it returns {"ok":false,"code":"forbidden"}.Description
Edit a queue's config. title + config editable; the realtime name is read-only (trigger-owned) and exten is IMMUTABLE — submitting a differing exten returns exten_immutable (omit it to edit the rest). 404 if not in the caller's PBX. Requires a non-readonly ukey.
Call
https://tucloudapi.7kas.com:9087/tucloud?func=updatequeue&ukey=YOUR_KEY&pbx=PBX_NAME
GET, or POST with the parameters form-urlencoded in the body. Requires the ukey parameter. Always HTTP 200; the response is a JSON envelope.
Parameters
| Parameter | Type | Required | Default | Meaning |
|---|---|---|---|---|
pbx |
string | Yes | — | FuturePBX NAME (e.g. tucall). The (ukey, pbx) pair is the tenant boundary; the server verifies the ukey owns this PBX. |
id |
integer | Yes | — | Queue id (_id). |
title |
string | Yes | — | Queue display title (required, max 30). |
exten |
string | No | — | Immutable; omit. If sent it must equal the stored exten, else exten_immutable. |
strategy |
string | No | ringall |
ringall / leastrecent / fewestcalls / roundrobin / random. |
timeout |
integer | No | 15 |
Ring timeout (seconds). |
retry |
integer | No | 5 |
Retry delay (seconds). |
wrapuptime |
integer | No | 0 |
Wrap-up time (seconds). |
maxlen |
integer | No | 0 |
Max callers (0 = unlimited). |
joinempty |
integer | No | 1 |
1 = allow join when empty. |
leavewhenempty |
integer | No | 0 |
1 = drop when empties. |
ringinuse |
integer | No | 0 |
1 = ring agents who are already on a call, 0 = skip them: an agent on a call, ringing or on hold is not rung and the queue tries the next free agent (device state per SIP account; wrapuptime still applies). Default 0 by German's order 2026-10-31. |
music |
integer | No | 0 |
MOH music id (0 = default). |
weight |
integer | No | 0 |
Queue weight. |
servicelevel |
integer | No | 0 |
Service-level target (seconds). |
desvio |
string | No | — | NOT IMPLEMENTED — must be empty. A non-empty value is REJECTED with invalid_param: the engine does not perform queue forward-on-timeout (tucloud_apps.c has a TODO and merely LOGS a forward it never makes), so storing a value would be a silent no-op. Empty/absent is accepted so existing rows can be cleared. Ruling by gabpbx 2026-08-17; implementation is bus task 102. |
Example
https://tucloudapi.7kas.com:9087/tucloud?func=updatequeue&ukey=KEY&pbx=tucall&id=1001&title=Soporte
Response
{ok, queue:{...}}.
Errors
Always HTTP 200. On failure the body is {"ok":false,"code":"...","message":"..."}. Common codes: missing_pbx, forbidden, invalid_param, not_found, conflict, in_use, db_error, server_busy; the Response section above lists any specific to this function.
Back to TuCloudAPI