Difference between revisions of "API:Followup:Updated"

From docs
Jump to: navigation, search
(Created page with " == API » Updated Followups == '''URL:''' <nowiki>https://app.callproof.com/api/followup/updated/</nowiki> '''Method:''' GET '''Required Fields:''' * '''''key''''...")
 
 
Line 1: Line 1:
  
== [[API]] &#187; Updated Followups ==
+
== [[API]] &#187; Get Follow-Ups Updated ==
  
'''URL:''' <nowiki>https://app.callproof.com/api/followup/updated/</nowiki>
+
=== Base URL ===
 +
https://app.callproof.com
  
'''Method:''' GET
+
=== Endpoint ===
 +
/api/followup/updated/
  
'''Required Fields:'''
+
=== 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.
  
* '''''key''''' - API Key
+
=== HTTP Method ===
* '''''secret''''' - API Key Secret
+
GET
* '''''after''''' - Date/Time Followups were updated after (e.g. '2014-08-10 12:34:56')
 
  
'''Optional Fields:'''
+
=== Headers ===
 +
No required headers.
  
* '''''before''''' - Date/Time Followups were updated after (e.g. '2014-08-10 12:34:56')
+
{| class="wikitable"
* '''''offset''''' - Only 100 Followups are returned per request, this field must be used to pull additional results when more are available
+
! Header !! Required !! Description
* '''''user_id''''' - Followups of particular sales representative
+
|-
* '''''completed''''' - Completed followups if '1' then completed followups elif '-1' not completed followups else all;
+
| — || — || No headers are required for this endpoint. Authentication is provided via query parameters.
 +
|}
  
'''Data Returned:'''
+
=== Security ===
 +
* '''Yes''' – Requires a valid API key and secret with permission to read follow-ups.
  
* '''''results''''' - Array of Followups
+
=== Parameters ===
* '''''more''''' - This field will be set if additional results are available
+
 
* '''''offset''''' - Current offset of the request
+
==== Query Parameters ====
* '''''errors''''' - Array of errors produced by the request
+
{| class="wikitable"
* '''''code''''' - HTTP request status
+
! 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

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.

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.
  • after is required and must be a valid date/time.
  • Results are limited to sales representatives the authenticated API user is allowed to access.
  • Use completed=1 for completed follow-ups and completed=-1 for incomplete follow-ups.
  • Results are ordered by newest follow-up ID first.
  • Up to 100 records are returned per page. Use offset with more to 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
}