TuCloudAPI addcalendar: Difference between revisions
TuCloudAPI reference: pbx param help -> FuturePBX (API surface unchanged) |
TuCloudAPI calendar: year-end periods (year_wrap) and 29/02 |
||
| (2 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
''TuCloudAPI function to manage FuturePBX (the cloud PBX). 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 | 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 == | ||
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 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> | | <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.
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