Jump to content

TuCloudAPI addcalendar: Difference between revisions

From Wiki 7Kas
API docs (generated from func=help) — add #48 adminusers + #52 pbxconfig
 
TuCloudAPI calendar: year-end periods (year_wrap) and 29/02
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
''TuCloudAPI function to manage tucloud (PBX) services. Available to: '''SuperRoot, Operator, Client'''.''
''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 ==
Create a calendar date-override. Fields: template 1-99 (the calendar group a CLI's template_c selects), monthstart/monthend 1-12, daystart/dayend 1-31, timestart/timeend HH:MM (blank = 00:00), destination = an in-tenant route _id (required), hold 0/1 (UI flag), nota (max 256). The trigger derives the MMDD/HHMM columns + root; the API writes only the editable fields. No dedup (duplicates allowed, per legacy). Requires a non-readonly ukey.
Create a calendar date-override. Fields: template 1-99 (the calendar group a CLI's template_c selects), monthstart/monthend 1-12, daystart/dayend 1-31, timestart/timeend HH:MM (blank = 00:00), destination = an in-tenant route _id (required), hold «Repetir cada año» 1/0, nota (max 256). A period that crosses the year end (start after end) is accepted when it lasts at most 62 days, both ends included, counted in a non-leap year (23/12 -> 01/01 = 10); a longer one -> invalid_param, field monthend, reason year_wrap. «Repetir cada año» (operator 2026-11-05): 1 = the row repeats every year on those dates; 0 = only its next occurrence: expires_on is the last day of it (Europe/Madrid) and the day after, the row is deleted by itself. The next occurrence is this year's when its end day is today or later, else next year's. The trigger derives the MMDD/HHMM columns + root; the API writes only the editable fields. No dedup (duplicates allowed, per legacy). Requires a non-readonly ukey.


== Call ==
== Call ==
GET https://tucloudapi.7kas.com:9087/tucloud?func=addcalendar&ukey=YOUR_KEY
  https://tucloudapi.7kas.com:9087/tucloud?func=addcalendar&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 || — || TuCloud PBX NAME (e.g. tucall). The (ukey, pbx) pair is the tenant boundary; the server verifies the ukey owns this PBX.
| <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>template</code> || integer || Yes || — || Calendar-template group 1-99.
| <code>template</code> || integer || Yes || — || Calendar-template group 1-99.
Line 30: Line 32:
| <code>timeend</code> || string || No || <code>00:00</code> || End time HH:MM.
| <code>timeend</code> || string || No || <code>00:00</code> || End time HH:MM.
|-
|-
| <code>hold</code> || integer || No || <code>0</code> || UI flag 0/1 (not read by routing).
| <code>hold</code> || integer || No || <code>1</code> || «Repetir cada año»: 1 = every year (the default), 0 = only the next occurrence, then deleted by itself.
|-
|-
| <code>nota</code> || string || No || — || Free note (max 256).
| <code>nota</code> || string || No || — || Free note (max 256).
Line 39: Line 41:
== Response ==
== Response ==
{ok, calendar:{...}}.
{ok, calendar:{...}}.
== 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 14:20, 5 November 2026

TuCloudAPI function to manage FuturePBX (the cloud PBX). Available to: SuperRoot, Operator, Client.

ℹ Requires the 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

Create a calendar date-override. Fields: template 1-99 (the calendar group a CLI's template_c selects), monthstart/monthend 1-12, daystart/dayend 1-31, timestart/timeend HH:MM (blank = 00:00), destination = an in-tenant route _id (required), hold «Repetir cada año» 1/0, nota (max 256). A period that crosses the year end (start after end) is accepted when it lasts at most 62 days, both ends included, counted in a non-leap year (23/12 -> 01/01 = 10); a longer one -> invalid_param, field monthend, reason year_wrap. «Repetir cada año» (operator 2026-11-05): 1 = the row repeats every year on those dates; 0 = only its next occurrence: expires_on is the last day of it (Europe/Madrid) and the day after, the row is deleted by itself. The next occurrence is this year's when its end day is today or later, else next year's. The trigger derives the MMDD/HHMM columns + root; the API writes only the editable fields. No dedup (duplicates allowed, per legacy). Requires a non-readonly ukey.

Call

https://tucloudapi.7kas.com:9087/tucloud?func=addcalendar&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.
template integer Yes — Calendar-template group 1-99.
monthstart integer Yes — Start month 1-12.
monthend integer Yes — End month 1-12.
dayend integer Yes — End day 1-31.
destination integer Yes — Route _id to divert to (required, in-tenant).
daystart integer No 0 Start day 1-31, or 0/blank = all days (Todos).
timestart string No 00:00 Start time HH:MM.
timeend string No 00:00 End time HH:MM.
hold integer No 1 «Repetir cada año»: 1 = every year (the default), 0 = only the next occurrence, then deleted by itself.
nota string No — Free note (max 256).

Example

https://tucloudapi.7kas.com:9087/tucloud?func=addcalendar&ukey=KEY&pbx=tucall&template=1&monthstart=12&daystart=25&monthend=12&dayend=25&destination=197

Response

{ok, calendar:{...}}.

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