Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Calls endpoints #740

Merged
merged 37 commits into from
Nov 22, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
c321ecc
Document calls.add
Oct 3, 2023
7936c99
Document calls.info
Oct 13, 2023
ba19f7c
Document calls.list
Oct 13, 2023
0c7bc79
Document callOutcomes.list
Oct 13, 2023
f70bd88
Remove filter employee_id doesn't exist
Oct 13, 2023
0be47c3
Fix lint
Oct 13, 2023
0925855
Ids are string uuids
Oct 16, 2023
52bedb8
Make enum for status
Oct 16, 2023
f65ce91
sort alphabetically
Oct 16, 2023
c07b8f9
fix| endpoint name
tiagobastos Oct 30, 2023
702d391
feat| add `/calls.complete` endpoint
tiagobastos Oct 30, 2023
02e8829
Merge pull request #743 from teamleadercrm/ATL-117-call-and-outcome
tiagobastos Oct 30, 2023
452dbbf
Merge pull request #747 from teamleadercrm/calls.complete
joaoinacio Oct 31, 2023
1a82fe7
Merge branch 'master' into ATL-116-calls-add
joaoinacio Oct 31, 2023
d7eda64
NTH: merge new calls endpoints into a single change line
joaoinacio Oct 31, 2023
c3ba9c0
Customer is required when adding a call
joaoinacio Oct 31, 2023
98dccfb
document call_outcome_id optional filter in calls.list
joaoinacio Oct 31, 2023
996d649
fix| use correct HTTP request method
tiagobastos Oct 31, 2023
d8d1ede
chore| this filter is not yet available
tiagobastos Nov 2, 2023
93157be
chore| we also return custom field informations on /calls.info
tiagobastos Nov 2, 2023
e1ab186
feat| document `/calls.update` endpoint
tiagobastos Nov 2, 2023
de60255
chore| generate apiary file
tiagobastos Nov 2, 2023
5c138ee
refactor| rename due_date to due_at
tiagobastos Nov 3, 2023
b70fa66
refactor| responsible user becomes an object to allow expansion
tiagobastos Nov 3, 2023
78654aa
refactor| rename from done to completed
tiagobastos Nov 3, 2023
3d1b44f
chore| push list & info up
tiagobastos Nov 3, 2023
41e5d1b
chore| don't move to complete just yet
tiagobastos Nov 3, 2023
5d02d43
chore| use correct term for the assignee
tiagobastos Nov 3, 2023
b7e5e8b
Merge pull request #749 from teamleadercrm/calls.info-update-list
joaoinacio Nov 3, 2023
0cc0df7
Update contract for call participant customer/contact
joaoinacio Nov 13, 2023
e9c44e9
Document call web hooks
Nov 13, 2023
a3d1a8e
Merge pull request #755 from teamleadercrm/ATL-2260-call-webhooks
Nov 20, 2023
2eccbe2
feat| move use completed as the terminology
tiagobastos Nov 20, 2023
b6894db
Merge pull request #758 from teamleadercrm/atl-2451/calls-done
tiagobastos Nov 21, 2023
edaf3b3
chore| match feature release to month
tiagobastos Nov 22, 2023
498bd33
Merge branch 'master' into ATL-116-calls-add
tiagobastos Nov 22, 2023
5ec179d
chore| adapt filter property & explanation
tiagobastos Nov 22, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
184 changes: 184 additions & 0 deletions apiary.apib
Original file line number Diff line number Diff line change
Expand Up @@ -427,6 +427,9 @@ We list all backwards-compatible additions here. These are currently available i
(There is also a [list of backwards-incompatible upgrades](#changelog) available, but those only apply if you [upgrade your API version](#upgrading-your-api-version).)

#### November 2023
- We added the `calls.add`, `calls.list`, `calls.info` and `calls.complete` endpoints.
- We added the `callOutcomes.list` endpoint.
- We added `call.added`, `call.updated` and `call.deleted` types to supported Webhook types.
- We added `custom_fields` to `projects-v2/projects.info`, `projects-v2/projects.create` and `projects-v2/projects.update`

#### October 2023
Expand Down Expand Up @@ -3318,6 +3321,184 @@ Get information about a meeting.
+ open
+ done

## Calls [/calls]

### calls.list [POST /calls.list]

Get a list of calls.

+ Request (application/json)
+ Attributes (object)
+ filter (object, optional)
+ scheduled_after: `2021-11-21` (string) - Filter on calls occurring on or after a given date
+ scheduled_before: `2022-05-13` (string) - Filter on calls occurring on or before a given date
+ relates_to (object, optional) - Filter calls by related object (currently only companies allowed)
+ id: `415fa7e0-e319-0952-b973-f067f2b49d56` (string)
+ type: `company` (string)
+ call_outcome_id: `6bd20dd8-dc3f-0e68-8919-dee0be6efe55` (string, optional) - Filter on completed calls by outcome
+ page (object, optional)
+ size: `20` (number, optional) - The amount of entries returned per request, max 1 to 100
+ Default: `20`
+ number: `1` (number, optional) - The current page, the first page is 1
+ Default: `1`

+ Response 200 (application/json)

+ Attributes (object)
+ data (array)
+ (object)
+ id: `32665afd-1818-0ed3-9e18-a603a3a21b95` (string)
+ added_at: `2021-11-21T18:14:15+00:00` (string, nullable)
+ participant (object, nullable)
+ customer (object, nullable)
+ type: `company` (string)
+ id: `32665afd-1818-0ed3-9e18-a603a3a21b95` (string)
+ contact (object, nullable)
+ type: `contact` (string)
+ id: `32665afd-1818-0ed3-9e18-a603a3a21b95` (string)
+ description: `Call with customer` (string, nullable)
+ outcome (object, nullable)
+ type: `callOutcome` (string)
+ id: `32665afd-1818-0ed3-9e18-a603a3a21b95` (string)
+ outcome_summary: `Called, but was not available` (string, nullable)
+ assignee (object, nullable)
+ id: `f29abf48-337d-44b4-aad4-585f5277a456` (string)
+ type: `user` (string)
+ scheduled_at: `2021-11-21T19:14:15+00:00` (string)
tiagobastos marked this conversation as resolved.
Show resolved Hide resolved
+ status: `open` (enum[string])
+ Members
+ `open`
+ `completed`
+ meta (object) - Only included with request parameter `includes=pagination`
+ page (Pagination)
+ matches: `12` (number)

### calls.info [POST /calls.info]

Get information about a call.

+ Request (application/json)

+ Attributes (object)
+ id: `6fac0bf0-e803-424e-af67-76863a3d7d16` (string, required)

+ Response 200 (application/json)

+ Attributes (object)
+ data (object)
+ id: `32665afd-1818-0ed3-9e18-a603a3a21b95` (string)
+ added_at: `2016-02-01T16:44:33+00:00` (string, nullable)
+ completed_at: `2016-02-04T16:44:33+00:00` (string, nullable)
+ participant (object, nullable)
+ customer (object, nullable)
+ type: `company` (string)
+ id: `2659dc4d-444b-4ced-b51c-b87591f604d7` (string)
+ contact (object, nullable)
+ type: `contact` (string)
+ id: `2659dc4d-444b-4ced-b51c-b87591f604d7` (string)
+ description: `Description of the call` (string, nullable)
+ outcome (object, nullable)
+ type: `callOutcome` (string)
+ id: `32665afd-1818-0ed3-9e18-a603a3a21b95` (string)
+ outcome_summary: `Called, but was not available` (string, nullable)
+ assignee (object, nullable)
+ type: `user` (string)
+ id: `2659dc4d-444b-4ced-b51c-b87591f604d7` (string)
+ scheduled_at: `2016-02-04T16:00:00+00:00` (string)
+ status: `open` (enum[string])
+ Members
+ `open`
+ `completed`
+ custom_fields (array[CustomField])

### calls.add [POST /calls.add]

Add a new call.

+ Request (application/json)

+ Attributes
+ description: `Description of the call` (string, optional)
+ participant (object, required)
+ customer (object, required)
+ type (enum, required)
+ Members
+ company
+ contact
+ id: `2659dc4d-444b-4ced-b51c-b87591f604d7` (string, required)
+ due_at: `2016-02-04T16:00:00+00:00` (string, required)
+ assignee (object, required)
+ type (enum, required)
+ Members
+ user
+ id: `98b2863e-7b01-4232-82f5-ede1f0b9db22` (string, required)
+ custom_fields (array[CustomFieldValue], optional)

+ Response 201 (application/json)

+ Attributes (object)
+ data (object)
+ type: `call` (string)
+ id: `65a35860-dcca-4850-9fd6-47ff08469e0c` (string)

### calls.update [POST /calls.update]

Update a new call.

+ Request (application/json)

+ Attributes
+ id: `32665afd-1818-0ed3-9e18-a603a3a21b95` (string, required)
+ description: `Description of the call` (string, optional)
+ participant (object, optional)
+ customer (object, optional)
+ type (enum, required)
+ Members
+ company
+ contact
+ id: `2659dc4d-444b-4ced-b51c-b87591f604d7` (string, required)
+ due_at: `2016-02-04T16:00:00+00:00` (string, optional)
+ assignee (object, optional)
+ type (enum, required)
+ Members
+ user
+ id: `98b2863e-7b01-4232-82f5-ede1f0b9db22` (string, required)
+ custom_fields (array[CustomFieldValue], optional)

+ Response 204 (application/json)

### calls.complete [POST /calls.complete]

Mark a call as complete.

+ Request (application/json)

+ Attributes (object)
+ id: `6fac0bf0-e803-424e-af67-76863a3d7d16` (string, required)
+ call_outcome_id: `2b43633b-22d1-41b6-b87b-e1fd742325d4` (string, optional)
+ outcome_summary: `Called, but was not available` (string, optional)

+ Response 204 (application/json)

## Call Outcomes [/callOutcomes]

### callOutcomes.list [GET /callOutcomes.list]

+ Request (application/json)
+ Attributes (object)
+ page (object, optional)
+ size: `20` (number, optional)
+ Default: `20`
+ number: `1` (number, optional)
+ Default: `1`

+ Response 200 (application/json)
+ Attributes (object)
+ data (array)
+ (object)
+ id: `2b43633b-22d1-41b6-b87b-e1fd742325d4` (string)
+ name: `Foo Bar` (string)

# Group Invoicing

## Invoices [/invoices]
Expand Down Expand Up @@ -7760,6 +7941,9 @@ Fetch cloudPlatform url for type and id
+ Members
+ account.deactivated
+ account.deleted
+ call.added
+ call.updated
+ call.deleted
+ company.added
+ company.deleted
+ company.updated
Expand Down
18 changes: 18 additions & 0 deletions src/04-calendar/call-outcomes.apib
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
## Call Outcomes [/callOutcomes]

### callOutcomes.list [GET /callOutcomes.list]

+ Request (application/json)
+ Attributes (object)
+ page (object, optional)
+ size: `20` (number, optional)
+ Default: `20`
+ number: `1` (number, optional)
+ Default: `1`

+ Response 200 (application/json)
+ Attributes (object)
+ data (array)
+ (object)
+ id: `2b43633b-22d1-41b6-b87b-e1fd742325d4` (string)
+ name: `Foo Bar` (string)
158 changes: 158 additions & 0 deletions src/04-calendar/calls.apib
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
## Calls [/calls]

### calls.list [POST /calls.list]

Get a list of calls.

+ Request (application/json)
+ Attributes (object)
+ filter (object, optional)
+ scheduled_after: `2021-11-21` (string) - Filter on calls occurring on or after a given date
+ scheduled_before: `2022-05-13` (string) - Filter on calls occurring on or before a given date
+ relates_to (object, optional) - Filter calls by related object (currently only companies allowed)
+ id: `415fa7e0-e319-0952-b973-f067f2b49d56` (string)
+ type: `company` (string)
+ call_outcome_id: `6bd20dd8-dc3f-0e68-8919-dee0be6efe55` (string, optional) - Filter on completed calls by outcome
+ page (object, optional)
+ size: `20` (number, optional) - The amount of entries returned per request, max 1 to 100
+ Default: `20`
+ number: `1` (number, optional) - The current page, the first page is 1
+ Default: `1`

+ Response 200 (application/json)

+ Attributes (object)
+ data (array)
+ (object)
+ id: `32665afd-1818-0ed3-9e18-a603a3a21b95` (string)
+ added_at: `2021-11-21T18:14:15+00:00` (string, nullable)
+ participant (object, nullable)
+ customer (object, nullable)
+ type: `company` (string)
+ id: `32665afd-1818-0ed3-9e18-a603a3a21b95` (string)
+ contact (object, nullable)
+ type: `contact` (string)
+ id: `32665afd-1818-0ed3-9e18-a603a3a21b95` (string)
+ description: `Call with customer` (string, nullable)
+ outcome (object, nullable)
+ type: `callOutcome` (string)
+ id: `32665afd-1818-0ed3-9e18-a603a3a21b95` (string)
+ outcome_summary: `Called, but was not available` (string, nullable)
+ assignee (object, nullable)
+ id: `f29abf48-337d-44b4-aad4-585f5277a456` (string)
+ type: `user` (string)
+ scheduled_at: `2021-11-21T19:14:15+00:00` (string)
+ status: `open` (enum[string])
+ Members
+ `open`
+ `completed`
+ meta (object) - Only included with request parameter `includes=pagination`
+ page (Pagination)
+ matches: `12` (number)

### calls.info [POST /calls.info]

Get information about a call.

+ Request (application/json)

+ Attributes (object)
+ id: `6fac0bf0-e803-424e-af67-76863a3d7d16` (string, required)

+ Response 200 (application/json)

+ Attributes (object)
+ data (object)
+ id: `32665afd-1818-0ed3-9e18-a603a3a21b95` (string)
+ added_at: `2016-02-01T16:44:33+00:00` (string, nullable)
+ completed_at: `2016-02-04T16:44:33+00:00` (string, nullable)
+ participant (object, nullable)
+ customer (object, nullable)
+ type: `company` (string)
+ id: `2659dc4d-444b-4ced-b51c-b87591f604d7` (string)
+ contact (object, nullable)
+ type: `contact` (string)
+ id: `2659dc4d-444b-4ced-b51c-b87591f604d7` (string)
+ description: `Description of the call` (string, nullable)
+ outcome (object, nullable)
+ type: `callOutcome` (string)
+ id: `32665afd-1818-0ed3-9e18-a603a3a21b95` (string)
+ outcome_summary: `Called, but was not available` (string, nullable)
+ assignee (object, nullable)
+ type: `user` (string)
+ id: `2659dc4d-444b-4ced-b51c-b87591f604d7` (string)
+ scheduled_at: `2016-02-04T16:00:00+00:00` (string)
+ status: `open` (enum[string])
+ Members
+ `open`
+ `completed`
+ custom_fields (array[CustomField])

### calls.add [POST /calls.add]

Add a new call.

+ Request (application/json)

+ Attributes
+ description: `Description of the call` (string, optional)
+ participant (object, required)
+ customer (object, required)
+ type (enum, required)
+ Members
+ company
+ contact
+ id: `2659dc4d-444b-4ced-b51c-b87591f604d7` (string, required)
+ due_at: `2016-02-04T16:00:00+00:00` (string, required)
+ assignee (object, required)
+ type (enum, required)
+ Members
+ user
+ id: `98b2863e-7b01-4232-82f5-ede1f0b9db22` (string, required)
+ custom_fields (array[CustomFieldValue], optional)

+ Response 201 (application/json)

+ Attributes (object)
+ data (object)
+ type: `call` (string)
+ id: `65a35860-dcca-4850-9fd6-47ff08469e0c` (string)

### calls.update [POST /calls.update]

Update a new call.

+ Request (application/json)

+ Attributes
+ id: `32665afd-1818-0ed3-9e18-a603a3a21b95` (string, required)
+ description: `Description of the call` (string, optional)
+ participant (object, optional)
+ customer (object, optional)
+ type (enum, required)
+ Members
+ company
+ contact
+ id: `2659dc4d-444b-4ced-b51c-b87591f604d7` (string, required)
+ due_at: `2016-02-04T16:00:00+00:00` (string, optional)
+ assignee (object, optional)
+ type (enum, required)
+ Members
+ user
+ id: `98b2863e-7b01-4232-82f5-ede1f0b9db22` (string, required)
+ custom_fields (array[CustomFieldValue], optional)

+ Response 204 (application/json)

### calls.complete [POST /calls.complete]

Mark a call as complete.

+ Request (application/json)

+ Attributes (object)
+ id: `6fac0bf0-e803-424e-af67-76863a3d7d16` (string, required)
+ call_outcome_id: `2b43633b-22d1-41b6-b87b-e1fd742325d4` (string, optional)
+ outcome_summary: `Called, but was not available` (string, optional)

+ Response 204 (application/json)
2 changes: 1 addition & 1 deletion src/04-calendar/meetings.apib
Original file line number Diff line number Diff line change
Expand Up @@ -165,4 +165,4 @@ Get information about a meeting.
+ status (enum)
+ Members
+ open
+ done
+ done
Loading