Jump to content

TuCloudAPI simulatecall

From Wiki 7Kas
Revision as of 06:03, 2 August 2026 by Maintenance script (talk | contribs) (API docs — simulatecall step.ring_s + levels[])

TuCloudAPI function to manage tucloud (PBX) services. Available to: SuperRoot, Operator, Client.

Description

Simulate how a call routes (inbound DID / outbound / internal) WITHOUT placing a real call, returning the ordered decision trace (flujo). Read-only: no DB writes, no side effects. Origin that is one of the PBX extensions => outbound/internal; otherwise => inbound to the destination CLI/DID. Reproduces the mod_futurepbx routing engine (calendar, 12-timer schedule with _ee blacklist gating, routes/IVR, groups, forwarding, star codes, outbound rules).

Call

GET  https://tucloudapi.7kas.com:9087/tucloud?func=simulatecall&ukey=YOUR_KEY

Requires the ukey parameter.

Parameters

Parameter Type Required Default Meaning
pbx string Yes TuCloud PBX NAME (e.g. tucall). The (ukey, pbx) pair is the tenant boundary; the server verifies the ukey owns this PBX.
origen string Yes Caller number. If it matches a PBX extension the call is outbound/internal; otherwise it is treated as an inbound external caller.
destino string Yes Called number: an extension, a star/feature code, a CLI/DID, or an external number.
datetime string No server local now Evaluation moment in ISO "YYYY-MM-DD HH:MM" (used for calendar/schedule windows). Server derives monthday=MMDD, weekday=0..6 (0=Sunday), hourmin=HHMM. (Format YYYY-MM-DD HH:MM; defaults to the server local clock.)

Example

https://tucloudapi.7kas.com:9087/tucloud?func=simulatecall&ukey=KEY&pbx=tucall&origen=600123456&destino=960800120

Response

{ok:true, direction:"inbound|outbound|internal", origen, destino, flujo:[STEP...]}. STEP={tipo, descripcion, edit_kind:"extension|group|locution|route|queue"|null, edit_id:<_id>|null, opciones:[{tecla,ruta,flujo:[STEP...]}] (IVR only), ring_s:<seconds> (ring time on timbre/app_grupo steps — also in descripcion text), levels:[{nivel,exts,ring_s}] (app_grupo per-level ring detail), audio:{kind:"locution|music", id:<_id>, root, directory, file, url:<getaudio URL minus ukey>} (when applicable — use audio.kind+audio.id to call getaudio, or fetch audio.url directly)}. Errors: {ok:false,code,message} with code in missing_pbx|unknown_pbx|forbidden|invalid_param|db_error.


Back to TuCloudAPI