Workflow: Communication Center
Manage all case-related communications between creditors, debtors, and collection partners through the Customer API. This guide covers messaging, document management, and communication tracking.
Overview
The Communication Center provides a unified interface for managing all communications related to your debt collection cases. Track messages, share documents, maintain conversation history, and ensure all parties stay informed throughout the collection process.
Communication Types
Email Communications
Sending emails:
- Payment reminders to debtors
- Case updates to creditors
- Document requests
- Settlement offers
- Status notifications
Receiving emails:
- Debtor responses
- Payment confirmations
- Dispute notifications
- Document submissions
SMS Communications
Use cases:
- Quick payment reminders
- Important deadline alerts
- Payment confirmation
- Appointment reminders
System Messages
Automated notifications:
- Status change alerts
- Payment received confirmations
- Document upload notifications
- Deadline approaching warnings
Sending Messages
Send Email
Send an email related to a case:
Endpoint: POST /api/cases/{caseId}/messages
POST /api/cases/550e8400-e29b-41d4-a716-446655440000/messages
Authorization: Bearer your-access-token
Content-Type: application/json
{
"messageType": "email",
"to": "debtor@example.com",
"subject": "Payment Reminder - Invoice INV-2024-001",
"body": "Dear customer,\n\nThis is a reminder...",
"cc": ["creditor@example.com"],
"priority": "normal",
"templateId": "payment-reminder-v1"
}
Response:
{
"messageId": "msg_123",
"caseId": "550e8400-e29b-41d4-a716-446655440000",
"messageType": "email",
"to": ["debtor@example.com"],
"subject": "Payment Reminder - Invoice INV-2024-001",
"status": "sent",
"sentAt": "2024-01-10T14:30:00Z",
"sentBy": "Collection Partner A"
}
Send SMS
Send SMS notification:
POST /api/cases/550e8400-e29b-41d4-a716-446655440000/messages
Authorization: Bearer your-access-token
Content-Type: application/json
{
"messageType": "sms",
"to": "+4512345678",
"body": "Payment reminder: Invoice INV-2024-001 due. Please contact us.",
"priority": "high"
}
Message Templates
Use predefined templates for consistency:
Endpoint: GET /api/message-templates
{
"templates": [
{
"templateId": "payment-reminder-v1",
"name": "Standard Payment Reminder",
"type": "email",
"subject": "Payment Reminder - Invoice {{invoiceNumber}}",
"variables": ["invoiceNumber", "amount", "dueDate", "debtorName"]
},
{
"templateId": "first-notice",
"name": "First Collection Notice",
"type": "email",
"subject": "Collection Notice - {{caseNumber}}",
"variables": ["caseNumber", "amount", "deadline"]
}
]
}
Using templates:
{
"templateId": "payment-reminder-v1",
"variables": {
"invoiceNumber": "INV-2024-001",
"amount": "15,000 DKK",
"dueDate": "January 15, 2024",
"debtorName": "Example Company ApS"
}
}
Receiving Messages
Retrieve Messages
Get all messages for a case:
Endpoint: GET /api/cases/{caseId}/messages
GET /api/cases/550e8400-e29b-41d4-a716-446655440000/messages
Authorization: Bearer your-access-token
Response:
{
"messages": [
{
"messageId": "msg_123",
"messageType": "email",
"direction": "outbound",
"from": "noreply@debitura.com",
"to": ["debtor@example.com"],
"subject": "Payment Reminder",
"sentAt": "2024-01-10T14:30:00Z",
"status": "delivered"
},
{
"messageId": "msg_124",
"messageType": "email",
"direction": "inbound",
"from": "debtor@example.com",
"to": ["support@debitura.com"],
"subject": "Re: Payment Reminder",
"receivedAt": "2024-01-11T09:00:00Z",
"hasAttachments": true
}
],
"totalCount": 2
}
Filter Messages
Filter messages by various criteria:
GET /api/cases/{caseId}/messages?type=email&direction=inbound&dateFrom=2024-01-01
Message Webhooks
Receive notifications for new messages:
{
"event": "message.received",
"messageId": "msg_124",
"caseId": "550e8400-e29b-41d4-a716-446655440000",
"caseNumber": "DEB-2024-12345",
"messageType": "email",
"from": "debtor@example.com",
"subject": "Re: Payment Reminder",
"hasAttachments": true,
"timestamp": "2024-01-11T09:00:00Z"
}
Document Management
Upload Documents
Attach documents to cases:
Endpoint: POST /api/cases/{caseId}/documents
POST /api/cases/550e8400-e29b-41d4-a716-446655440000/documents
Authorization: Bearer your-access-token
Content-Type: multipart/form-data
file=@invoice.pdf
documentType=invoice
description=Original invoice INV-2024-001
Response:
{
"documentId": "doc_456",
"caseId": "550e8400-e29b-41d4-a716-446655440000",
"fileName": "invoice.pdf",
"documentType": "invoice",
"size": 245760,
"uploadedAt": "2024-01-02T10:35:00Z",
"uploadedBy": "API User"
}
Document Types
Supported document categories:
- invoice - Original invoices
- contract - Contracts and agreements
- correspondence - Email and letter correspondence
- payment_proof - Payment confirmations
- settlement - Settlement agreements
- legal - Legal documents
- other - Other documents
Download Documents
Endpoint: GET /api/documents/{documentId}/download
GET /api/documents/doc_456/download
Authorization: Bearer your-access-token
List Case Documents
Endpoint: GET /api/cases/{caseId}/documents
{
"documents": [
{
"documentId": "doc_456",
"fileName": "invoice.pdf",
"documentType": "invoice",
"size": 245760,
"uploadedAt": "2024-01-02T10:35:00Z"
},
{
"documentId": "doc_457",
"fileName": "payment_confirmation.pdf",
"documentType": "payment_proof",
"size": 125440,
"uploadedAt": "2024-01-25T15:20:00Z"
}
]
}
Conversation Threads
Thread Management
Messages are organized into conversation threads:
Endpoint: GET /api/cases/{caseId}/threads
{
"threads": [
{
"threadId": "thread_001",
"subject": "Payment Reminder Discussion",
"participants": [
"debtor@example.com",
"partner@debitura.com"
],
"messageCount": 5,
"lastMessageAt": "2024-01-15T10:00:00Z",
"status": "active"
}
]
}
View Thread Messages
Endpoint: GET /api/threads/{threadId}/messages
{
"threadId": "thread_001",
"messages": [
{
"messageId": "msg_123",
"from": "partner@debitura.com",
"body": "Initial payment reminder sent",
"timestamp": "2024-01-10T14:30:00Z"
},
{
"messageId": "msg_124",
"from": "debtor@example.com",
"body": "Request for payment plan",
"timestamp": "2024-01-11T09:00:00Z"
}
]
}
Communication Tracking
Message Status Tracking
Track delivery and read status:
Email statuses:
queued- Message queued for sendingsent- Message sent successfullydelivered- Message delivered to recipientopened- Message opened by recipientclicked- Link in message clickedfailed- Delivery failedbounced- Email bounced
SMS statuses:
queued- SMS queued for sendingsent- SMS sent to carrierdelivered- SMS delivered to recipientfailed- Delivery failed
Delivery Reports
Get message delivery report:
Endpoint: GET /api/messages/{messageId}/delivery-report
{
"messageId": "msg_123",
"status": "delivered",
"events": [
{
"event": "queued",
"timestamp": "2024-01-10T14:30:00Z"
},
{
"event": "sent",
"timestamp": "2024-01-10T14:30:05Z"
},
{
"event": "delivered",
"timestamp": "2024-01-10T14:30:12Z"
},
{
"event": "opened",
"timestamp": "2024-01-10T15:45:00Z"
}
]
}
Communication Preferences
Set Debtor Preferences
Configure debtor communication preferences:
Endpoint: PUT /api/cases/{caseId}/communication-preferences
{
"preferredChannel": "email",
"emailAddress": "debtor@example.com",
"phoneNumber": "+4512345678",
"allowSms": true,
"allowEmail": true,
"preferredLanguage": "da",
"doNotContact": false,
"contactHours": {
"start": "09:00",
"end": "17:00",
"timezone": "Europe/Copenhagen"
}
}
Opt-Out Management
Handle communication opt-outs:
{
"doNotContact": true,
"reason": "Debtor requested no contact",
"effectiveDate": "2024-01-15",
"exceptions": ["legal_notices", "payment_confirmations"]
}
Notes and Comments
Add Internal Notes
Add notes visible only to creditor and partners:
Endpoint: POST /api/cases/{caseId}/notes
{
"note": "Debtor called requesting payment plan. Discussed 6-month installment option.",
"visibility": "internal",
"category": "call_log",
"tags": ["payment_plan", "phone_call"]
}
Retrieve Notes
Endpoint: GET /api/cases/{caseId}/notes
{
"notes": [
{
"noteId": "note_001",
"note": "Debtor called requesting payment plan.",
"createdAt": "2024-01-15T10:30:00Z",
"createdBy": "John Doe",
"category": "call_log"
}
]
}
Best Practices
Communication Strategy
- Consistent messaging: Use templates for standardized communication
- Track all interactions: Document every communication
- Respect preferences: Honor debtor communication preferences
- Timely responses: Respond to debtor messages promptly
- Professional tone: Maintain professional communication standards
Document Management
- Organize documents: Use proper document types
- Secure storage: Ensure document security and compliance
- Version control: Track document versions
- Retention policies: Follow data retention requirements
- Access control: Limit document access appropriately
Compliance
- GDPR compliance: Ensure data protection compliance
- Fair debt collection: Follow collection regulations
- Communication hours: Respect contact time restrictions
- Opt-out handling: Honor do-not-contact requests
- Record keeping: Maintain compliance documentation
Integration Patterns
Email Integration
Connect with email systems:
- SMTP/IMAP integration
- Exchange/Office 365 sync
- Gmail API integration
- Email archiving
Document Management Systems
Integrate with DMS platforms:
- SharePoint integration
- Google Drive sync
- Dropbox Business
- Box integration
CRM Integration
Sync communication with CRM:
- Salesforce integration
- Microsoft Dynamics
- HubSpot integration
- Custom CRM systems
Code Examples
Node.js - Send Message
// Send email message
async function sendMessage(caseId, messageData) {
const response = await fetch(
`https://api.debitura.com/api/cases/${caseId}/messages`,
{
method: 'POST',
headers: {
'Authorization': `Bearer ${accessToken}`,
'Content-Type': 'application/json'
},
body: JSON.stringify(messageData)
}
);
return response.json();
}
C# - Upload Document
// Upload document to case
public async Task<DocumentResponse> UploadDocument(
string caseId,
Stream fileStream,
string fileName,
string documentType)
{
using var content = new MultipartFormDataContent();
content.Add(new StreamContent(fileStream), "file", fileName);
content.Add(new StringContent(documentType), "documentType");
var response = await _httpClient.PostAsync(
$"https://api.debitura.com/api/cases/{caseId}/documents",
content
);
return await response.Content.ReadFromJsonAsync<DocumentResponse>();
}
Related Resources
For secure communication handling, all messages and documents are encrypted in transit and at rest.