Skip to main content

Disposition Status Update API

This API allows partners to update the disposition status of a customer. The disposition status represents the outcome or current state of customer interactions, enabling better tracking and analysis of customer engagement.

Endpoint

PUT /partner/ingest/disposition-status

Version

v1

Request Body

The request body should be a JSON object with the following structure:

{
"customer_id": "string",
"disposition_status": "string"
}

Field Descriptions

FieldTypeRequiredDescription
customer_idstringYesUnique identifier for the customer within your system. This must match a customer ID previously ingested through the call ingestion APIs.
disposition_statusstringNoNew disposition status for the customer. You can send custom disposition statuses based on your business needs.

Response

Success Response

{
"success": true
}

HTTP Status Code: 200 OK

Error Responses

Authentication Error

{
"success": false,
"message": "Forbidden"
}

HTTP Status Code: 403 Forbidden

Missing Tenant ID

{
"success": false,
"message": "Tenant ID is required"
}

HTTP Status Code: 400 Bad Request

Missing Sub-Tenant ID

{
"success": false,
"message": "Sub-Tenant ID is required"
}

HTTP Status Code: 400 Bad Request

Validation Error

{
"success": false,
"message": "Validation failed",
"errors": [
{
"field": "customer_id",
"message": "customer_id should not be empty"
}
]
}

HTTP Status Code: 422 Unprocessable Entity

Customer Not Found

{
"success": false,
"message": "Customer not found"
}

HTTP Status Code: 404 Not Found

Rate Limit Exceeded

{
"success": false,
"message": "Rate limit exceeded. Try again in 60 seconds."
}

HTTP Status Code: 429 Too Many Requests

Server Error

{
"success": false,
"message": "Internal server error"
}

HTTP Status Code: 500 Internal Server Error

Example

Request

curl -X PUT \
https://api.zipteams.com/api/v1/partner/ingest/disposition-status \
-H 'Content-Type: application/json' \
-H 'x-partner-id: 123' \
-H 'x-tenant-id: tenant1' \
-H 'x-sub-tenant-id: subtenant1' \
-d '{
"customer_id": "customer123",
"disposition_status": "interested"
}'

Response

{
"success": true
}

Technical Notes

  • If the customer does not exist in the system (no calls have been ingested with this customer ID), the API will return a 404 Not Found error.
  • Disposition status updates are processed immediately and are reflected in reports and analytics in real-time.
  • Historical disposition status changes are tracked and can be accessed through the reporting APIs (Coming Soon).
  • The maximum request payload size is 5MB.

Use Cases

Sales Follow-up Tracking

Track the outcome of sales calls to identify interested prospects for follow-up:

{
"customer_id": "customer123",
"disposition_status": "interested"
}

Do Not Call Compliance

Mark customers who have requested not to be contacted:

{
"customer_id": "customer456",
"disposition_status": "do_not_call"
}

Callback Scheduling

Flag customers who have requested a callback at a later time:

{
"customer_id": "customer789",
"disposition_status": "callback_requested"
}