TuCloudAPI simulatecall: Difference between revisions
TuCloudAPI reference (regenerated: + simulatecall) |
TuCloudAPI reference regenerated from func=help: tenancy rule, pbx notes on every PBX-scoped function, error codes |
||
| (4 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 == | ||
| Line 5: | Line 7: | ||
== Call == | == Call == | ||
https://tucloudapi.7kas.com:9087/tucloud?func=simulatecall&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>origen</code> || string || Yes || — || Caller number. If it matches a PBX extension the call is outbound/internal; otherwise it is treated as an inbound external caller. | | <code>origen</code> || string || Yes || — || Caller number. If it matches a PBX extension the call is outbound/internal; otherwise it is treated as an inbound external caller. | ||
| Line 24: | Line 26: | ||
== Response == | == 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), audio:{kind:"locution|music",root,directory,file} (when applicable)}. Errors: {ok:false,code,message} with code in missing_pbx | {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|forbidden|invalid_param|server_busy|db_error. | ||
== 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 21:17, 8 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
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
https://tucloudapi.7kas.com:9087/tucloud?func=simulatecall&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. |
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|forbidden|invalid_param|server_busy|db_error.
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