Difference between revisions of "API:Followup:Updated"
(Created page with " == API » Updated Followups == '''URL:''' <nowiki>https://app.callproof.com/api/followup/updated/</nowiki> '''Method:''' GET '''Required Fields:''' * '''''key''''...") |
Ashley DeBon (talk | contribs) |
||
| Line 1: | Line 1: | ||
| − | == [[API]] » Updated | + | == [[API]] » Get Follow-Ups Updated == |
| − | + | === Base URL === | |
| + | https://app.callproof.com | ||
| − | + | === Endpoint === | |
| + | /api/followup/updated/ | ||
| − | + | === Purpose === | |
| + | Retrieves follow-up activities that were updated within a specified date range. Supports pagination and optional filtering by sales representative and completion status. Typically used to sync follow-up changes into external systems. | ||
| − | + | === HTTP Method === | |
| − | + | GET | |
| − | |||
| − | + | === Headers === | |
| + | No required headers. | ||
| − | + | {| class="wikitable" | |
| − | + | ! Header !! Required !! Description | |
| − | + | |- | |
| − | + | | — || — || No headers are required for this endpoint. Authentication is provided via query parameters. | |
| + | |} | ||
| − | ''' | + | === Security === |
| + | * '''Yes''' – Requires a valid API key and secret with permission to read follow-ups. | ||
| − | + | === Parameters === | |
| − | + | ||
| − | * | + | ==== Query Parameters ==== |
| − | * '''''errors''''' | + | {| class="wikitable" |
| − | + | ! Parameter !! Type !! Required !! Description | |
| + | |- | ||
| + | | key || string || Yes || Public API key assigned to your CallProof account. | ||
| + | |- | ||
| + | | secret || string || Yes || Private API secret paired with the API key. | ||
| + | |- | ||
| + | | after || datetime string || Yes || Return only follow-ups updated on or after this date/time. Invalid or missing values cause a validation error. | ||
| + | |- | ||
| + | | before || datetime string || No || Return only follow-ups updated on or before this date/time. If omitted, no upper date limit is applied. | ||
| + | |- | ||
| + | | offset || integer || No || Starting position for paginated results. Defaults to <code>0</code> if omitted or invalid. | ||
| + | |- | ||
| + | | user_id || integer || No || Filter follow-ups for a specific sales representative user ID. If omitted or invalid, results are limited to users the authenticated API user is allowed to access. | ||
| + | |- | ||
| + | | completed || integer || No || Completion filter. Use <code>1</code> for completed follow-ups, <code>-1</code> for incomplete follow-ups. Defaults to <code>0</code>, which does not filter by completion status. | ||
| + | |} | ||
| + | |||
| + | ==== Path Parameters ==== | ||
| + | None. | ||
| + | |||
| + | ==== Request Body ==== | ||
| + | None. | ||
| + | |||
| + | === cURL Example === | ||
| + | <pre> | ||
| + | curl -X GET "https://app.callproof.com/api/followup/updated/?key=YOUR_API_KEY&secret=YOUR_API_SECRET&after=2024-01-01" | ||
| + | </pre> | ||
| + | |||
| + | Example with filters: | ||
| + | <pre> | ||
| + | curl -X GET "https://app.callproof.com/api/followup/updated/?key=YOUR_API_KEY&secret=YOUR_API_SECRET&after=2024-01-01&completed=1&user_id=456" | ||
| + | </pre> | ||
| + | |||
| + | === Successful Response (200) === | ||
| + | Returns a paginated list of follow-ups updated within the requested date range. Up to 100 follow-ups are returned per request. If more matching follow-ups exist, <code>more</code> is set to <code>1</code> so the caller can request the next page using <code>offset</code>. | ||
| + | |||
| + | {| class="wikitable" | ||
| + | ! Field !! Type !! Description | ||
| + | |- | ||
| + | | results || array || List of follow-up objects (maximum 100 per response). | ||
| + | |- | ||
| + | | results[].id || integer || Unique identifier for the follow-up. | ||
| + | |- | ||
| + | | results[].rep || object || Sales representative associated with the follow-up. | ||
| + | |- | ||
| + | | results[].rep.id || integer || Rep profile identifier. | ||
| + | |- | ||
| + | | results[].rep.email || string || Rep email address. | ||
| + | |- | ||
| + | | results[].rep.user_id || integer || Associated user account identifier. | ||
| + | |- | ||
| + | | results[].rep.name || string || Rep display name. | ||
| + | |- | ||
| + | | results[].rep.title || string || Rep job title. | ||
| + | |- | ||
| + | | results[].rep.updated || string || Date and time the rep profile was last updated. | ||
| + | |- | ||
| + | | results[].contact_id || integer || Associated contact identifier. | ||
| + | |- | ||
| + | | results[].contact || string || Contact display name. | ||
| + | |- | ||
| + | | results[].start_date || string || Follow-up start date/time (<code>YYYY-MM-DD HH:MM:SS</code>). | ||
| + | |- | ||
| + | | results[].duration || number || Follow-up duration in minutes. | ||
| + | |- | ||
| + | | results[].completed || string || <code>1</code> if completed; otherwise <code>0</code>. | ||
| + | |- | ||
| + | | results[].notes || string || Follow-up notes. | ||
| + | |- | ||
| + | | results[].created || string || Date and time the follow-up was created (<code>YYYY-MM-DD HH:MM:SS</code>). | ||
| + | |- | ||
| + | | results[].updated || string || Date and time the follow-up was last updated (<code>YYYY-MM-DD HH:MM:SS</code>). | ||
| + | |- | ||
| + | | more || integer || <code>1</code> if additional matching follow-ups remain; <code>0</code> if this is the last page. | ||
| + | |- | ||
| + | | offset || integer || Offset value used for this request. | ||
| + | |- | ||
| + | | errors || array || Empty list when the request succeeds. | ||
| + | |- | ||
| + | | code || integer || HTTP-style status value; <code>200</code> on success. | ||
| + | |} | ||
| + | |||
| + | Example response: | ||
| + | <pre> | ||
| + | { | ||
| + | "results": [ | ||
| + | { | ||
| + | "id": 7001, | ||
| + | "rep": { | ||
| + | "id": 123, | ||
| + | "email": "rep@example.com", | ||
| + | "user_id": 456, | ||
| + | "name": "Jane Smith", | ||
| + | "title": "Account Executive", | ||
| + | "updated": "2024-06-01 10:00:00" | ||
| + | }, | ||
| + | "contact_id": 789, | ||
| + | "contact": "John Doe", | ||
| + | "start_date": "2024-06-20 10:00:00", | ||
| + | "duration": 30.0, | ||
| + | "completed": "0", | ||
| + | "notes": "Call to discuss proposal", | ||
| + | "created": "2024-06-15 14:30:00", | ||
| + | "updated": "2024-06-15 14:30:00" | ||
| + | } | ||
| + | ], | ||
| + | "more": 0, | ||
| + | "offset": 0, | ||
| + | "errors": [], | ||
| + | "code": 200 | ||
| + | } | ||
| + | </pre> | ||
| + | |||
| + | === Notes === | ||
| + | * Despite the route name, this endpoint retrieves follow-ups; it does not update them. | ||
| + | * This endpoint uses GET, even though some route listings may describe it as POST. | ||
| + | * Results are filtered by the follow-up’s last-updated timestamp. | ||
| + | * <code>after</code> is required and must be a valid date/time. | ||
| + | * Results are limited to sales representatives the authenticated API user is allowed to access. | ||
| + | * Use <code>completed=1</code> for completed follow-ups and <code>completed=-1</code> for incomplete follow-ups. | ||
| + | * Results are ordered by newest follow-up ID first. | ||
| + | * Up to 100 records are returned per page. Use <code>offset</code> with <code>more</code> to page through larger result sets. | ||
| + | * Duration is returned in minutes. | ||
| + | |||
| + | === Error Responses === | ||
| + | {| class="wikitable" | ||
| + | ! Status Code !! Meaning | ||
| + | |- | ||
| + | | 400 || Bad Request – The required <code>after</code> parameter is missing or cannot be interpreted as a valid date/time. | ||
| + | |- | ||
| + | | 401 || Unauthorized – The API key and/or secret is missing, invalid, inactive, associated with a disabled account, or lacks permission to read follow-ups. | ||
| + | |- | ||
| + | | 405 || Method Not Allowed – A method other than GET was used. | ||
| + | |- | ||
| + | | 500 || Internal Server Error – An unexpected server problem occurred. Not specified in Swagger. | ||
| + | |} | ||
| + | |||
| + | '''400 response body example:''' | ||
| + | <pre> | ||
| + | { | ||
| + | "results": [], | ||
| + | "errors": ["Invalid 'after' field"], | ||
| + | "code": 400 | ||
| + | } | ||
| + | </pre> | ||
| + | |||
| + | '''401 response body example:''' | ||
| + | <pre> | ||
| + | { | ||
| + | "results": [], | ||
| + | "errors": ["Invalid API Key"], | ||
| + | "code": 401 | ||
| + | } | ||
| + | </pre> | ||
| + | |||
| + | '''405 response body example:''' | ||
| + | <pre> | ||
| + | { | ||
| + | "results": [], | ||
| + | "errors": ["Method not allowed"], | ||
| + | "code": 405 | ||
| + | } | ||
| + | </pre> | ||
Latest revision as of 14:46, 17 July 2026
Contents
API » Get Follow-Ups Updated
Base URL
Endpoint
/api/followup/updated/
Purpose
Retrieves follow-up activities that were updated within a specified date range. Supports pagination and optional filtering by sales representative and completion status. Typically used to sync follow-up changes into external systems.
HTTP Method
GET
Headers
No required headers.
| Header | Required | Description |
|---|---|---|
| — | — | No headers are required for this endpoint. Authentication is provided via query parameters. |
Security
- Yes – Requires a valid API key and secret with permission to read follow-ups.
Parameters
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| key | string | Yes | Public API key assigned to your CallProof account. |
| secret | string | Yes | Private API secret paired with the API key. |
| after | datetime string | Yes | Return only follow-ups updated on or after this date/time. Invalid or missing values cause a validation error. |
| before | datetime string | No | Return only follow-ups updated on or before this date/time. If omitted, no upper date limit is applied. |
| offset | integer | No | Starting position for paginated results. Defaults to 0 if omitted or invalid.
|
| user_id | integer | No | Filter follow-ups for a specific sales representative user ID. If omitted or invalid, results are limited to users the authenticated API user is allowed to access. |
| completed | integer | No | Completion filter. Use 1 for completed follow-ups, -1 for incomplete follow-ups. Defaults to 0, which does not filter by completion status.
|
Path Parameters
None.
Request Body
None.
cURL Example
curl -X GET "https://app.callproof.com/api/followup/updated/?key=YOUR_API_KEY&secret=YOUR_API_SECRET&after=2024-01-01"
Example with filters:
curl -X GET "https://app.callproof.com/api/followup/updated/?key=YOUR_API_KEY&secret=YOUR_API_SECRET&after=2024-01-01&completed=1&user_id=456"
Successful Response (200)
Returns a paginated list of follow-ups updated within the requested date range. Up to 100 follow-ups are returned per request. If more matching follow-ups exist, more is set to 1 so the caller can request the next page using offset.
| Field | Type | Description |
|---|---|---|
| results | array | List of follow-up objects (maximum 100 per response). |
| results[].id | integer | Unique identifier for the follow-up. |
| results[].rep | object | Sales representative associated with the follow-up. |
| results[].rep.id | integer | Rep profile identifier. |
| results[].rep.email | string | Rep email address. |
| results[].rep.user_id | integer | Associated user account identifier. |
| results[].rep.name | string | Rep display name. |
| results[].rep.title | string | Rep job title. |
| results[].rep.updated | string | Date and time the rep profile was last updated. |
| results[].contact_id | integer | Associated contact identifier. |
| results[].contact | string | Contact display name. |
| results[].start_date | string | Follow-up start date/time (YYYY-MM-DD HH:MM:SS).
|
| results[].duration | number | Follow-up duration in minutes. |
| results[].completed | string | 1 if completed; otherwise 0.
|
| results[].notes | string | Follow-up notes. |
| results[].created | string | Date and time the follow-up was created (YYYY-MM-DD HH:MM:SS).
|
| results[].updated | string | Date and time the follow-up was last updated (YYYY-MM-DD HH:MM:SS).
|
| more | integer | 1 if additional matching follow-ups remain; 0 if this is the last page.
|
| offset | integer | Offset value used for this request. |
| errors | array | Empty list when the request succeeds. |
| code | integer | HTTP-style status value; 200 on success.
|
Example response:
{
"results": [
{
"id": 7001,
"rep": {
"id": 123,
"email": "rep@example.com",
"user_id": 456,
"name": "Jane Smith",
"title": "Account Executive",
"updated": "2024-06-01 10:00:00"
},
"contact_id": 789,
"contact": "John Doe",
"start_date": "2024-06-20 10:00:00",
"duration": 30.0,
"completed": "0",
"notes": "Call to discuss proposal",
"created": "2024-06-15 14:30:00",
"updated": "2024-06-15 14:30:00"
}
],
"more": 0,
"offset": 0,
"errors": [],
"code": 200
}
Notes
- Despite the route name, this endpoint retrieves follow-ups; it does not update them.
- This endpoint uses GET, even though some route listings may describe it as POST.
- Results are filtered by the follow-up’s last-updated timestamp.
afteris required and must be a valid date/time.- Results are limited to sales representatives the authenticated API user is allowed to access.
- Use
completed=1for completed follow-ups andcompleted=-1for incomplete follow-ups. - Results are ordered by newest follow-up ID first.
- Up to 100 records are returned per page. Use
offsetwithmoreto page through larger result sets. - Duration is returned in minutes.
Error Responses
| Status Code | Meaning |
|---|---|
| 400 | Bad Request – The required after parameter is missing or cannot be interpreted as a valid date/time.
|
| 401 | Unauthorized – The API key and/or secret is missing, invalid, inactive, associated with a disabled account, or lacks permission to read follow-ups. |
| 405 | Method Not Allowed – A method other than GET was used. |
| 500 | Internal Server Error – An unexpected server problem occurred. Not specified in Swagger. |
400 response body example:
{
"results": [],
"errors": ["Invalid 'after' field"],
"code": 400
}
401 response body example:
{
"results": [],
"errors": ["Invalid API Key"],
"code": 401
}
405 response body example:
{
"results": [],
"errors": ["Method not allowed"],
"code": 405
}