Struct Groupcall
Groupcall
{
"id": "<string>",
"customer_id": "<string>",
"owner_type": "<string>",
"owner_id": "<string>",
"status": "<string>",
"flow_id": "<string>",
"source": {
...
},
"destinations": [
{
...
},
...
],
"master_call_id": "<string>",
"master_groupcall_id": "<string>",
"ring_method": "<string>",
"answer_method": "<string>",
"answer_call_id": "<string>",
"call_ids": [
"<string>",
...
],
"answer_groupcall_id": "<string>",
"groupcall_ids": [
"<string>",
...
],
"call_count": <integer>,
"groupcall_count": <integer>,
"dial_index": <integer>,
"tm_create": "<string>",
"tm_update": "<string>",
"tm_delete": "<string>"
}
id(UUID): The groupcall’s unique identifier. Returned when creating a groupcall or when listing groupcalls viaGET /groupcalls.customer_id(UUID): The customer who owns this groupcall. Obtained from theidfield ofGET /customers.owner_type(enum string): The type of owner for this groupcall. Possible values:agent(owned by a specific agent), or empty string (no specific owner).owner_id(UUID): The ID of the owner. Whenowner_typeisagent, this is an agent UUID fromGET /agents. Set to00000000-0000-0000-0000-000000000000if no owner.status(enum string): The groupcall’s current status. See Status.flow_id(UUID): The flow associated with this groupcall. Obtained from theidfield ofGET /flows. Set to00000000-0000-0000-0000-000000000000if no flow is assigned.source(Object): Source address info. See Address.destinations(Array of Object): List of destination addresses to ring. Each entry follows the Address structure. A destination can also be another groupcall for nested groupcalls.master_call_id(UUID): The ID of the master call that initiated this groupcall. Obtained fromGET /calls. Set to00000000-0000-0000-0000-000000000000if none.master_groupcall_id(UUID): The ID of the parent groupcall if this is a nested groupcall. Obtained fromGET /groupcalls. Set to00000000-0000-0000-0000-000000000000if this is a top-level groupcall.ring_method(enum string): How destinations are rung. See Ring method.answer_method(enum string): What happens when a destination answers. See Answer method.answer_call_id(UUID): The call ID of the destination that answered. Set to00000000-0000-0000-0000-000000000000until a destination answers. Obtained fromGET /calls.call_ids(Array of UUID): List of call IDs created for each destination. Each ID can be used withGET /calls/{id}to check individual call status.answer_groupcall_id(UUID): The ID of the nested groupcall that answered, if applicable. Set to00000000-0000-0000-0000-000000000000until a nested groupcall answers. Obtained fromGET /groupcalls.groupcall_ids(Array of UUID): List of nested groupcall IDs created for this groupcall. Each ID can be used withGET /groupcalls/{id}to check status.call_count(Integer): The number of remaining calls for the current dial attempt.groupcall_count(Integer): The number of remaining nested groupcalls for the current dial attempt.dial_index(Integer): The current dial index. Only meaningful whenring_methodisring_all.tm_create(string, ISO 8601): Timestamp when the groupcall was created.tm_update(string, ISO 8601): Timestamp of the last update to any groupcall property.tm_delete(string, ISO 8601): Timestamp when the groupcall was deleted.
Note
AI Implementation Hint
Timestamps set to 9999-01-01 00:00:00.000000 indicate the event has not yet occurred. For example, tm_delete with this value means the groupcall has not been deleted.
Note
AI Implementation Hint
Groupcalls involve active calls to real destinations, which are chargeable. Each destination in the destinations array results in an individual call being created. With ring_all, all calls are placed simultaneously. Monitor call_ids to track the status of each individual call.
Example
{
"id": "d8596b14-4d8e-4a86-afde-642b46d59ac7",
"customer_id": "5e4a0680-804e-11ec-8477-2fea5968d85b",
"owner_type": "agent",
"owner_id": "62005165-7592-4ff7-9076-55bf491023f2",
"status": "progressing",
"flow_id": "00000000-0000-0000-0000-000000000000",
"source": {
"type": "tel",
"target": "+15551234567",
"target_name": "",
"name": "",
"detail": ""
},
"destinations": [
{
"type": "extension",
"target": "test11@test",
"target_name": "",
"name": "",
"detail": ""
},
{
"type": "extension",
"target": "test12@test",
"target_name": "",
"name": "",
"detail": ""
}
],
"master_call_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"master_groupcall_id": "00000000-0000-0000-0000-000000000000",
"ring_method": "ring_all",
"answer_method": "hangup_others",
"answer_call_id": "00000000-0000-0000-0000-000000000000",
"call_ids": [
"3c77eb43-2098-4890-bb6c-5af0707ba4a6"
],
"answer_groupcall_id": "00000000-0000-0000-0000-000000000000",
"groupcall_ids": [],
"call_count": 2,
"groupcall_count": 0,
"dial_index": 0,
"tm_create": "2023-04-21 15:33:28.569053",
"tm_update": "9999-01-01 00:00:00.000000",
"tm_delete": "9999-01-01 00:00:00.000000"
}
Status
All possible values for the status field:
Status |
Description |
|---|---|
progressing |
The groupcall is actively dialing destinations and waiting for answers. |
hangingup |
The groupcall is in the process of hanging up all calls. |
hangup |
The groupcall has ended. All calls have been terminated. Final state. |
Ring method
Groupcall’s ringing method (enum string).
Type |
Description |
|---|---|
ring_all |
Make a call to all destinations at once. The first destination to answer wins; all other calls are cancelled. |
linear |
Make a call to each destination one-by-one in order. If a destination does not answer, the next one is tried. |
Answer method
What happens when a destination answers (enum string).
Type |
Description |
|---|---|
hangup_others |
Hang up all other unanswered calls when one destination answers. |