Common Structures¶
Several end points are using similar objects. They are described in ths section.
Assignement Status of PhoneNumber(s)¶
Name |
Type |
Level |
Description |
|
---|---|---|---|---|
Tenant |
Group |
|||
phoneNumber |
String |
C |
C |
An individual phone number, can not be present if phoneNumbers is present |
phoneNumbers |
String |
C |
C |
A range of phone numbers, can not be present if phoneNumber is present |
canBeDeleted |
Boolean |
A |
A |
Indicate if it can be deleted without impact |
assignedToGroup |
Boolean |
A |
N |
In case of phone number at Tenant level it indicates at which Group it has been assigned |
Examples:
{“phoneNumbers”: “+3225626999”, “canBeDeleted”: false, “assignedToGroup”: “fooGroup”}
{“phoneNumbers”: “+3226127000 - +3226127002”, “canBeDeleted”: false, “assignedToGroup”: “fooGroup”}
Available PhoneNumber(s)¶
Name |
Type |
Level |
Description |
|
---|---|---|---|---|
Tenant |
Group |
|||
phoneNumber |
String |
C |
C |
An individual phone number, can not be present if phoneNumbers is present |
phoneNumbers |
String |
C |
C |
A range of phone numbers, can not be present if phoneNumber is present |
Examples:
{“phoneNumber”: “+3225626999”}
{“phoneNumbers”: “+3226127000 - +3226127002”}
Schedule entry attributes¶
Name |
Type |
Methods |
Description |
||
---|---|---|---|---|---|
GET |
POST |
PUT |
|||
name |
String |
A |
R |
O |
The name. |
level |
String |
C |
F |
F |
The schedule level. Only returned if allLevels is set True within the request. A value from list: “Tenant”, “Group”, “User”. |
periods |
Array |
C |
O |
O |
A list of periods objects as defined in Calendar Schedule Period entry attributes for a Calendar Schedule or Time Schedule Period entry attributes for a Time Schedule. |
Calendar Schedule Period instance attributes¶
Name |
Type |
Methods |
Description |
||
---|---|---|---|---|---|
GET |
POST |
PUT |
|||
name |
String |
A |
R |
O |
The name to be modified. |
startDay |
String |
A |
R |
F |
The start date. See Date. |
stopDay |
String |
A |
R |
F |
The stop date. See Date. |
type |
String |
A |
R |
O |
Specify the duration. Value from “Full days”, “Partial days”. If Partial days is set, “startTime” and “stopTime” must be specified. |
startTime |
String |
A |
C |
C |
The start time. Conditional to type “Partial days” and required with stop time. See Time. |
stopTime |
String |
A |
C |
C |
The stop time. Conditional to type “Partial days” and required with start time. See Time. |
recurrence |
Object |
C |
C |
C |
The recurrence object. See Schedule recurrence attributes. Null value can be use in a PUT to remove it. |
active |
Boolean |
A |
O |
O |
The active attribute. If not specified, default value: true. |
Calendar Schedule Period entry attributes¶
Name |
Type |
Methods |
Description |
||
---|---|---|---|---|---|
GET |
POST |
PUT |
|||
name |
String |
A |
R |
R |
The name to be modified. When doing a PUT request on the list, identifies the period instance to be modified/deleted. |
newName |
String |
F |
R |
O |
The new name to be modified. Available ONLY for a PUT request on the list. |
startDay |
String |
A |
C |
O |
The start day. See startDay from Calendar Schedule Period instance attributes. It’s optional if ‘recurrence’ is provided. |
stopDay |
String |
A |
C |
O |
The stop day. See stopDay from Calendar Schedule Period instance attributes. It’s optional if ‘recurrence’ is provided. |
type |
String |
A |
R |
O |
The recurrence type. See type from Calendar Schedule Period instance attributes. |
startTime |
String |
C |
C |
C |
The start time. Required with stop time. See type from Calendar Schedule Period instance attributes. |
stopTime |
String |
C |
C |
C |
The stop time. Required with start time. See type from Calendar Schedule Period instance attributes. |
recurrence |
Object |
C |
C |
C |
The recurrence object. See Schedule recurrence attributes. Null value can be use in a PUT to remove it. |
active |
Boolean |
A |
O |
O |
The active attribute. If not specified, default value: true. |
delete |
Boolean |
F |
F |
O |
The delete attribute. Available ONLY for a PUT request on the list. Requires ‘name’ to be specified. |
Time Schedule Period instance attributes¶
Name |
Type |
Methods |
Description |
||
---|---|---|---|---|---|
GET |
POST |
PUT |
|||
name |
String |
A |
R |
O |
The name to be modified. |
startTime |
String |
A |
R |
O |
The start time. See Time. |
stopTime |
String |
A |
R |
O |
The stop time. See Time. |
type |
String |
A |
R |
O |
The recurrence type. Value from “Day of the week”, “Day of the month”. |
dayOfWeek |
String |
C |
C |
C |
The day of the week. Conditional to type “Day of the week”. Value from “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”. |
dayOfMonth |
Integer |
C |
C |
C |
The day of the month. Conditional to type “Day of the month”. Value in range 1 - 31. |
active |
Boolean |
A |
O |
O |
The active attribute. If not specified, default value: true. |
Time Schedule Period entry attributes¶
Name |
Type |
Methods |
Description |
||
---|---|---|---|---|---|
GET |
POST |
PUT |
|||
name |
String |
A |
R |
R |
The name. When doing a POST/PUT request on the list, “name” identifies the period instance to be modified/deleted. |
newName |
String |
F |
F |
O |
The name to be modified. Available ONLY for a PUT request on the list. |
startTime |
String |
A |
R |
O |
The start time. See startTime from Time Schedule Period instance attributes. |
stopTime |
String |
A |
R |
O |
The stop time. See stopTime from Time Schedule Period instance attributes. |
type |
String |
A |
R |
O |
The recurrence type. See type from Time Schedule Period instance attributes. |
dayOfWeek |
String |
C |
C |
C |
The day of the week. See dayOfWeek from Time Schedule Period instance attributes. |
dayOfMonth |
Integer |
C |
C |
C |
The day of the month. See type dayOfMonth Time Schedule Period instance attributes. |
active |
Boolean |
A |
O |
O |
The active attribute. If not specified, default value: true. |
delete |
Boolean |
F |
F |
O |
The delete attribute. Available ONLY for a PUT request on the list. Requires ‘name’ to be specified. |
Advanced Time Schedule Period instance attributes¶
Name |
Type |
Methods |
Description |
||
---|---|---|---|---|---|
GET |
POST |
PUT |
|||
name |
String |
A |
R |
O |
The name to be modified. |
startDay |
String |
A |
R |
F |
The start date. See Date. |
stopDay |
String |
A |
R |
F |
The stop date. See Date. |
type |
String |
A |
R |
O |
Specify the duration. Value from “Full days”, “Partial days”. If Partial days is set, “startTime” and “stopTime” must be specified. |
startTime |
String |
A |
C |
C |
The start time. Conditional to type “Partial days” and required with stop time. See Time. |
stopTime |
String |
A |
C |
C |
The stop time. Conditional to type “Partial days” and required with start time. See Time. |
recurrence |
Object |
C |
C |
C |
The recurrence object. See Schedule recurrence attributes. Null value can be use in a PUT to remove it. |
active |
Boolean |
A |
O |
O |
The active attribute. If not specified, default value: true. |
Advanced Time Schedule Period entry attributes¶
Name |
Type |
Methods |
Description |
||
---|---|---|---|---|---|
GET |
POST |
PUT |
|||
name |
String |
A |
R |
R |
The name to be modified. When doing a PUT request on the list, identifies the period instance to be modified/deleted. |
newName |
String |
F |
R |
O |
The new name to be modified. Available ONLY for a PUT request on the list. |
startDay |
String |
A |
C |
O |
The start day. See startDay from Advanced Time Schedule Period instance attributes. It’s optional if ‘recurrence’ is provided. |
stopDay |
String |
A |
C |
O |
The stop day. See stopDay from Advanced Time Schedule Period instance attributes. It’s optional if ‘recurrence’ is provided. |
type |
String |
A |
R |
O |
The recurrence type. See type from Advanced Time Schedule Period instance attributes. |
startTime |
String |
C |
C |
C |
The start time. Required with stop time. See type from Advanced Time Schedule Period instance attributes. |
stopTime |
String |
C |
C |
C |
The stop time. Required with start time. See type from Advanced Time Schedule Period instance attributes. |
recurrence |
Object |
C |
C |
C |
The recurrence object. See Schedule recurrence attributes. Null value can be use in a PUT to remove it. |
active |
Boolean |
A |
O |
O |
The active attribute. If not specified, default value: true. |
delete |
Boolean |
F |
F |
O |
The delete attribute. Available ONLY for a PUT request on the list. Requires ‘name’ to be specified. |
Date¶
Format “YYYY-MM-DD”. For instance: “2018-05-15”.
Time¶
Format “HH:MM”. For instance: “11:35”.
Unlimited_Integer¶
This structure allows to represent a value either as unlimited or with a real limit.
Name |
Type |
Methods |
Description |
|
---|---|---|---|---|
GET |
PUT |
|||
unlimited |
Boolean |
A |
O |
If True there is no limit, in that case the maximum field is irrelevant. |
maximum |
Integer |
C |
O |
Maximum value (relevant only if unlimited is set to false). |
Paging Control elements¶
There are two elements involved in the paged APIs: “pagingControl” indicates the size of a page and its starting index, “sortOrders” are sorting criteria to order the list.
pagingControl object¶
Name |
Type |
Description |
---|---|---|
startIndex |
Integer |
The starting index from this slice from the unpaged answer (starting at 1). |
pageSize |
Integer |
The maximum number of elements that will be returned in the answer. If less are returned it means the answer is complete. |
For example if there are 505 elements in the unpaged answer, and we want pages of 200 elements, it will be done in 3 requests:
“pagingControl” : {“startIndex” : 1, “pageSize” : 200} that will return 200 elements
“pagingControl” : {“startIndex” : 201, “pageSize” : 200} that will return the next 200 elements
“pagingControl” : {“startIndex” : 401, “pageSize” : 200} that will return the next 105 elements
sortOrders array¶
In paging requests it is needed to order the results in order that mechanism works fine.
The sorting can be sensitive/insensitive, ascending/descending and on several fields.
Depending on the API 1 or several sortOrder can be provided. It is why it is an array.
Each API will define exactly how many elements can be present, on which fields and what is the default one.
It has also be decided that invalid sortOrder values will be simply ignored.
Form formal point of view:
sortOrders is an array of strings
each string is composed of the concatenation 3 sub-string “sensitive” or “insensitive” followed by “Descending” or “Ascending” followed by the field name, example “GroupId”.
the case of the string is very important as decoding logic is case sensitive.
Examples: [“sensitiveDescendingGroupName”, “insensitiveDescendingGroupId”]
It is very important to know that:
the paging and sorting are not done by the APIO but by the AS that the APIO manages.
therefore the paging will not work correctly in multi-AS requests involving several AS because each AS will do its own paging and sorting. This will not be considered as a bug.