Data Model for Conversation
This is the data model for records in the returning data structure. You also use this model to query against the records.
{
'_id' : ObjectId, // READONLY
'host_id' : ObjectId,
'last_communication_date' : Date,
'status' : String, // one of these: 'inbox' 'assigned' 'archived' 'closed' 'spam' 'trash'
'mailbox_id' : ObjectId, // REQUIRED
'assignee' : ObjectId,
'labels' : [
ObjectId
],
'emails' : [{
'timestamp' : Date, // default : Date.now
'subject' : String,
'excerpt' : String,
'body' : String,
'sanitized' : String,
'responded_to' : String,
'from' : {
'user_id' : ObjectId, // See note below
'company_user_id' : ObjectId // See note below
},
'cc' : String,
'bcc' : String,
'to' : [
ObjectId
],
'is_forward' : Boolean, // default: false
'attachments' : [{
'contentType' : String,
'fileName' : String,
'generatedFileName' : String,
'contentId' : String,
'checksum' : String,
'length' : Number,
's3url' : String
}],
'message_id' : String
}],
'notes' : [{
'timestamp' : Date, // default : Date.now
'subject' : String, // default : 'note'
'excerpt' : String,
'body' : String,
'from' : ObjectId,
'is_public' : Boolean, // default: true
}],
'actions' : [{
'user_id' : ObjectId,
'timestamp' : Date, // default : Date.now
'subject' : String, // default : 'action'
'excerpt' : String,
'body' : String,
'from' : ObjectId,
'forward_id' : ObjectId
}],
'reminders' : [{
'reminder_date' : Date, // REQUIRED
'user_id' : ObjectId, // REQUIRED
}],
'has_attachments' : Boolean, // default: false,
'sender_timezone_offset' : String,
'company_id' : ObjectId,
'communication_with' : [
ObjectId
]
}
Note
The “emails.from” must either contain a “user_id” or a “company_user_id” value.
The “communication_with” field can only contain valid company_user id’s. It’s being used to show with whom you have the conversation with in the Helpmonks app.