Callisto Knowledge Base

This page is optimized for desktop computers and tablets. To access it, try one of the following points:

  • Access this page from a different device.
  • If you’re on a tablet, rotate it.
  • Check the “Desktop site” option in your browser settings.
Return to CTModule homepage
Knowledge Base

Member management functions

Table of Contents

Info: All examples shown here use the following placeholders. Replace these placeholders with the appropriate data:

  • <user> and <password>: Credentials of a Callisto user with REST Authentication privilege.
  • <callisto>: The base domain name or IP address of the Callisto server.
  • <MAGroup>: The name of the ManagerAssistant Group application instance to call.

All functions used for member management are called by URLs containing the following path:

http://<callisto>/Applications/inbound/<MAGroup>/rest/members

addMember

HTTP request methods: POST; GET

Add a member to a group.

Parameters

gr_id Mandatory. The ID of the group to which the member is added.
usr_Name Mandatory. The Callisto user name to associate with the new member.
mb_number Mandatory. The member’s phone number.
gm_shortName
The member’s short name. If omitted, a short name will be generated automatically.
gm_type

Boolean. Set the type of the member.

  • 1: manager
  • 0: regular member / assistant

Default value: 0

displayedGroup

Set which group to show on the member’s phone status display.

<group id>: The ID of the group to display.
0: Hide the status display.
-1: Leave the current display settings unaltered.

Default value: 0

Response

The <Response> element contains two child elements:

The <id> element contains the ID of the newly added member.

The <status> element contains the status of the executed action. The following four statuses are possible:

OK: The new member was added to the group successfully.
PARAMETER_MISSING: One or more mandatory parameters are missing.
INVALID_GROUP_ID: No group with the given ID exists.
INVALID_USERNAME: No Callisto user with the given name exists.
MANAGER_ALREADY_EXISTS: If a member in the group is already assigned as manager, and the new member gm_type is set to 1, this error will be thrown as a group cannot have more than one manager.
ERROR: Unknown error.

Example: Add the user Maria.Rossi to the group with the ID 45.

Example data

gr_id=45: ID of the group.
usr_Name=Maria.Rossi: Name of the member (as set in Callisto).
mb_number=1071: Phone number of the member.
gm_shortName=Mar: Short name for the member.
gm_type=1: The member will be assigned the role of the group manager.

Request

curl --user <user>:<password> --data "gr_id=45&usr_Name=Maria.Rossi&mb_number=1071&gm_shortName=Mar&gm_type=1" http://<callisto>/Applications/inbound/<MAGroup>/rest/members/addMember.asp

Response

<Callisto>
    <Request>addMember</Request>
    <Response>
        <id>221</id>
        <status>OK</status>
    </Response>
</Callisto>

deleteMember

HTTP request methods: POST; GET

Add a member to a group.

Parameters

mb_id Mandatory if usr_Name is omitted. The ID of the member to delete.
usr_Name

Mandatory if mb_id is omitted. The Callisto user name associated with the member to delete.

Important: A user can be associated with multiple members (i.e. when a user has multiple phones).

If both mb_id and usr_Name are provided, mb_id has priority.

gr_id

The ID of the group from which the member is to be removed.

Default value: empty string (i.e., the member is deleted from all groups)

Response

The <Response> element contains the status of the executed action. The following four statuses are possible:

OK: The member was deleted successfully.
PARAMETER_MISSING: One mandatory parameter is missing.
INVALID_MEMBER_ID: No member with the given ID exists.
ERROR: Unknown error.

Example: Add the user Maria.Rossi to the group with the ID 45.

Example data

mb_id=221: ID of the member.
gr_id=45: ID of the group.

Request

curl --user <user>:<password> --data "mb_id=221&gr_id=45" http://<callisto>/Applications/inbound/<MAGroup>/rest/members/deleteMember.asp

Response

<Callisto>
    <Request>deleteMember</Request>
    <Response>OK</Response>
</Callisto>

editMember

HTTP request methods: POST; GET

Edit the parameters of a group member.

Parameters

mb_id Mandatory if usr_Name is omitted. The ID of the member to delete.
usr_Name

Mandatory if mb_id is omitted. The Callisto user name associated with the member to delete.

Info: A user can be associated with multiple members (i.e. when a user has multiple phones).

If both mb_id and usr_Name are provided, only mb_id is used.

gr_id

ID of the group in which the member’ parameters are changed.

Default value: empty string (i.e., parameters will be changed for every instance where the member is present)

mb_number

The member’s phone number.

warning: If usr_Name is used to determine the user, only change the mb_number if the user is associated with one single mb_id. If the user is associated with multiple members, changing the mb_number can cause unpredictable results.

gm_shortName
The member’s short name.
displayedGroup

Set which group to show on the member’s phone status display.

<group id>: The ID of the group to display.
0: Hide the status display.
-1: Leave the current display settings unaltered.

Default value: 0

Response

The <Response> element contains the status of the executed action. The following four statuses are possible:

OK: The member’s data was edited successfully.
PARAMETER_MISSING: One mandatory parameter is missing.
INVALID_MEMBER_ID: No member with the given ID exists.
INVALID_USERNAME: No Callisto user with the given name exists.
ERROR: Unknown error.

Example: In the group with the ID 45, change the short name of the member with the ID 221 to Ros.

Example data

mb_id=221: ID of the member.
gr_id=45: ID of the group.
gm_shortName=Ros: Short name for the member.

Request

curl --user <user>:<password> --data "mb_id=221&gr_id=45&gm_shortName=Ros" http://<callisto>/Applications/inbound/<MAGroup>/rest/members/editMember.asp

Response

<Callisto>
    <Request>editMember</Request>
    <Response>OK</Response>
</Callisto>

getMembers

HTTP request methods: POST; GET

Return all members in the application instance. Members can be filtered by first name, last name, phone number, short name or group in which they are. Filters by logical conjunction (i.e., only results that contain a match for all filters will be shown).

Parameters

mb_id Find a member by ID.
usr_Name Filter members by the associated Callisto user name.
gm_type

Boolean. Filter by type of the member.

  • 1: manager
  • 0: regular member/assistant
firstName Filter by first name.
lastName Filter by last name.
mb_number Filter by phone number.
gm_shortName Filter by short name.
gr_id Show only members of the group with this ID.

Response

The <Response> element contains a <member> element for every member that matches the criteria. Each <member> element contains the parameters that can be set using addMember and editMember. Additional elements are:

<id>: The member’s ID.
<index>: The position of the member inside the group member list.
<userState>: The current presence status of the member.
<forwardDestination>: The current forwarding destination of the member.
<statusMessage>: The current status message of the member.
<lineState>: The current phone status of the member.

If an error occurs, the <Response> element will contain the text ERROR.

Example: Get all assistants from the group with the ID 45.

Example data

gm_type=0: Filter by members whose type is assistant.
gr_id=45: Limit results to members of the group with the ID 45.

Request

curl --user <user>:<password> --data "gm_type=0&gr_id=45" http://<callisto>/Applications/inbound/<MAGroup>/rest/members/getMembers.asp

Response

<Callisto>
    <Request>getMembers</Request>
    <Response>
        <member>
            <id>198</id>
            <firstName>Rafael</firstName>
            <lastName>Hidalgo</lastName>
            <number>1175</number>
            <type>0</type>
            <grId>45</grId>
            <userName>Rafael.Hidalgo</userName>
            <index>1</index>
            <shortName>Raf</shortName>
            <displayedGroup>45</displayedGroup>
            <userState>0</userState>
            <forwardDestination></forwardDestination>
            <statusMessage></statusMessage>
            <lineState>0</lineState>
        </member>
        <member>
            <id>102</id>
            <firstName>Aradhana</firstName>
            <lastName>Jaggi</lastName>
            …
        </member>
        <member>
            <id>103</id>
            <firstName>Léonard</firstName>
            <lastName>Saligny</lastName>
            …
        </member>
        …
    </Response>
</Callisto>

orderByUserList

HTTP request methods: POST; GET

Reorder a group’s member list by providing an ordered list.

Parameters

gr_id Mandatory. Group whose member list is to be reordered.
usr_list

Mandatory. A comma-separated list of all users in the desired order. Use the username as set in Callisto.

Important: All members’ usernames must be present.

Response

The <Response> element contains the status of the executed action. The following four statuses are possible:

OK: The member list was reordered successfully.
PARAMETER_MISSING: One ore more mandatory parameters are missing.
INVALID_PARAMETERS: Either no group with the given ID exists, or the provided list doesn’t contain all group members.
ERROR: Unknown error.

Example: Reorder the member list of the group with the ID 64, which has four members.

Example data

gr_id=64: Apply the member list reordering to this group.
usr_list=maria.santos,
chiyo.fujimoto,romeo.girard,
frederique.voclain
:
Every member in the group, set in the desired order.

Request

curl --user <user>:<password> --data "gr_id=64&usr_list=maria.santos,chiyo.fujimoto,romeo.girard,frederique.voclain" http://<callisto>/Applications/inbound/<MAGroup>/rest/members/orderByUserList.asp

Response

<Callisto>
    <Request>orderByUserList</Request>
    <Response>OK</Response>
</Callisto>

reorderMembers

HTTP request methods: POST; GET

Move a single member up or down in a group’s member list.

Parameters

mb_id
Mandatory if usr_Name is omitted. The ID of the member to reorder.
usr_Name

Mandatory if mb_id is omitted. The Callisto user name associated with the member to reorder.

important: A user can be associated with multiple members (i.e. when a user has multiple phones). In this case, the action will only be applied to the first matching member.

If both mb_id and usr_Name are provided, mb_id has priority.

gr_id Mandatory. Group whose member list is to be reordered.
move Mandatory. Possible values are up or down. Set whether the user is to be moved up or down in the member list.

Response

The <Response> element contains the status of the executed action. The following four statuses are possible:

OK: The member’s order in the member list was reordered successfully.
PARAMETER_MISSING: One ore more mandatory parameters are missing.
INVALID_PARAMETERS: Either no group with the given ID exists, or the provided list doesn’t contain all group members.
ERROR: Unknown error.

Example: In the group with the ID 64, move the member chiyo.fujimoto up one position in the member list.

Before executing reorderMembers

  1. maria.santos
  2. chiyo.fujimoto
  3. romeo.girard
  4. frederiquie.voclain

After executing reorderMembers

  1. chiyo.fujimoto
  2. maria.santos
  3. romeo.girard
  4. frederiquie.voclain

Example data

mb_id=279: The ID of chiyo.fujimoto.
gr_id=64: The ID of the group to apply the action.
move=up: Move chiyo.fujimoto up in the member list.

Request

curl --user <user>:<password> --data "mb_id=279&gr_id=64&move=up" http://<callisto>/Applications/inbound/<MAGroup>/rest/members/reorderMembers.asp

Response

<Callisto>
    <Request>reorderMembers</Request>
    <Response>OK</Response>
</Callisto>

setPresence

HTTP request methods: POST; GET

Set a single member’s presence status and status message.

Parameters

mb_id
Mandatory if usr_Name is omitted. The ID of the member whose presence status to set.
usr_Name

Mandatory if mb_id is omitted. The Callisto user name associated with the member whose presence status to set.

important: A user can be associated with multiple members (i.e. when a user has multiple phones).

If both mb_id and usr_Name are provided, mb_id has priority.

presenceState

Mandatory. The member’s new presence state. The following values are accepted:

  • 0: available
  • 1: away
  • 3: busy
  • 4: DND
  • 6: offline
presenceMessage

Set a custom status message.

Hint: Use percent-encoding if the message contains special characters.

Response

The <Response> element contains the status of the executed action. The following four statuses are possible:

OK: The member’s presence status was updated successfully.
PARAMETER_MISSING: One ore more mandatory parameters are missing.
INVALID_PARAMETERS: Either no group with the given ID exists, or the provided list doesn’t contain all group members.
INVALID_STATE: The provided presence status value isn’t valid.
INVALID_MEMBER_ID: No member with the given ID exists.
ERROR: Unknown error.

Example: Change the presence status of the member with the ID 279 to away and set the member’s status message to “Out for lunch.”

Example data

mb_id=279
The ID of the member whose status to change.
presenceState=1 The presence status will be set to away.
presenceMessage=Out%20for%20lunch The new status message (percent-encoded).

Request

curl --user <user>:<password> --data "mb_id=279&presenceState=1&presenceMessage=Out%20for%20lunch" http://<callisto>/Applications/inbound/<MAGroup>/rest/members/setPresence.asp

Response

<Callisto>
    <Request>setPresence<</Request>
    <Response>OK</Response>
</Callisto>