Class: LockstepSdk::EmailModel

Inherits:
Object
  • Object
show all
Defined in:
lib/lockstep_sdk/models/email_model.rb

Overview

An Email represents a communication sent from one company to another. The creator of the email is identified by the ‘CompanyId` field, recipient(s) by the `EmailTo` field, and cc recipient(s) by the ’EmailCC’ field. The Email Model represents an email and a number of different metadata attributes related to the creation, storage, and ownership of the email.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params = {}) ⇒ EmailModel

Initialize the EmailModel using the provided prototype



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/lockstep_sdk/models/email_model.rb', line 30

def initialize(params = {})
    @email_id = params.dig(:email_id)
    @thread_id = params.dig(:thread_id)
    @group_key = params.dig(:group_key)
    @company_id = params.dig(:company_id)
    @email_from = params.dig(:email_from)
    @email_to = params.dig(:email_to)
    @email_cc = params.dig(:email_cc)
    @email_subject = params.dig(:email_subject)
    @email_body = params.dig(:email_body)
    @sent_date = params.dig(:sent_date)
    @is_unread = params.dig(:is_unread)
    @is_priority = params.dig(:is_priority)
    @is_spam = params.dig(:is_spam)
    @created = params.dig(:created)
    @created_user_id = params.dig(:created_user_id)
    @to_be_sent = params.dig(:to_be_sent)
    @customer_id = params.dig(:customer_id)
    @received_time_stamp = params.dig(:received_time_stamp)
    @opened_timestamp = params.dig(:opened_timestamp)
    @view_count = params.dig(:view_count)
    @app_enrollment_id = params.dig(:app_enrollment_id)
    @external_email_id = params.dig(:external_email_id)
    @external_thread_id = params.dig(:external_thread_id)
    @email_bcc = params.dig(:email_bcc)
    @send_type = params.dig(:send_type)
    @modified = params.dig(:modified)
    @modified_user_id = params.dig(:modified_user_id)
    @response_origin_id = params.dig(:response_origin_id)
    @response_origin = params.dig(:response_origin)
    @notes = params.dig(:notes)
    @attachments = params.dig(:attachments)
    @custom_field_definitions = params.dig(:custom_field_definitions)
    @custom_field_values = params.dig(:custom_field_values)
end

Instance Attribute Details

#app_enrollment_idUuid

Returns The AppEnrollmentId of the application that imported this record. For accounts with more than one financial system connected, this field identifies the originating financial system that produced this record. This value is null if this record was not loaded from an external ERP or financial system.

Returns:

  • (Uuid)

    The AppEnrollmentId of the application that imported this record. For accounts with more than one financial system connected, this field identifies the originating financial system that produced this record. This value is null if this record was not loaded from an external ERP or financial system.



148
149
150
# File 'lib/lockstep_sdk/models/email_model.rb', line 148

def app_enrollment_id
  @app_enrollment_id
end

#attachmentsAttachmentModel

Returns A collection of attachments linked to this record. To retrieve this collection, specify ‘Attachments` in the `include` parameter when retrieving data. To create an attachment, use the [Upload Attachment](developer.lockstep.io/reference/post_api-v1-attachments) endpoint with the `TableKey` to `Email` and the `ObjectKey` set to the `EmailId` for this record. For more information on extensibility, see [linking extensible metadata to objects](developer.lockstep.io/docs/custom-fields#linking-metadata-to-an-object).

Returns:



188
189
190
# File 'lib/lockstep_sdk/models/email_model.rb', line 188

def attachments
  @attachments
end

#company_idUuid

Returns The ID number of the company that created this email.

Returns:

  • (Uuid)

    The ID number of the company that created this email.



80
81
82
# File 'lib/lockstep_sdk/models/email_model.rb', line 80

def company_id
  @company_id
end

#createdDate-time

Returns The date on which this email was created.

Returns:

  • (Date-time)

    The date on which this email was created.



120
121
122
# File 'lib/lockstep_sdk/models/email_model.rb', line 120

def created
  @created
end

#created_user_idUuid

Returns The ID number of the user who created this email.

Returns:

  • (Uuid)

    The ID number of the user who created this email.



124
125
126
# File 'lib/lockstep_sdk/models/email_model.rb', line 124

def created_user_id
  @created_user_id
end

#custom_field_definitionsCustomFieldDefinitionModel

Returns A collection of custom fields linked to this record. To retrieve this collection, specify ‘CustomFieldDefinitions` in the `include` parameter when retrieving data. To create a custom field, use the [Create Custom Field](developer.lockstep.io/reference/post_api-v1-customfieldvalues) endpoint with the `TableKey` to `Email` and the `ObjectKey` set to the `EmailId` for this record. For more information on extensibility, see [linking extensible metadata to objects](developer.lockstep.io/docs/custom-fields#linking-metadata-to-an-object).

Returns:



192
193
194
# File 'lib/lockstep_sdk/models/email_model.rb', line 192

def custom_field_definitions
  @custom_field_definitions
end

#custom_field_valuesCustomFieldValueModel

Returns A collection of custom fields linked to this record. To retrieve this collection, specify ‘CustomFieldValues` in the `include` parameter when retrieving data. To create a custom field, use the [Create Custom Field](developer.lockstep.io/reference/post_api-v1-customfieldvalues) endpoint with the `TableKey` to `Email` and the `ObjectKey` set to the `EmailId` for this record. For more information on extensibility, see [linking extensible metadata to objects](developer.lockstep.io/docs/custom-fields#linking-metadata-to-an-object).

Returns:



196
197
198
# File 'lib/lockstep_sdk/models/email_model.rb', line 196

def custom_field_values
  @custom_field_values
end

#customer_idUuid

Returns The ID number of the customer that sent this email.

Returns:

  • (Uuid)

    The ID number of the customer that sent this email.



132
133
134
# File 'lib/lockstep_sdk/models/email_model.rb', line 132

def customer_id
  @customer_id
end

#email_bccString

Returns The email address(es) for the BCC recipient(s) of this email.

Returns:

  • (String)

    The email address(es) for the BCC recipient(s) of this email



160
161
162
# File 'lib/lockstep_sdk/models/email_model.rb', line 160

def email_bcc
  @email_bcc
end

#email_bodyString

Returns The body content of this email.

Returns:

  • (String)

    The body content of this email.



100
101
102
# File 'lib/lockstep_sdk/models/email_model.rb', line 100

def email_body
  @email_body
end

#email_ccString

Returns The email address for the CC recipient(s) of this email.

Returns:

  • (String)

    The email address for the CC recipient(s) of this email



92
93
94
# File 'lib/lockstep_sdk/models/email_model.rb', line 92

def email_cc
  @email_cc
end

#email_fromString

Returns The email address for the sender of this email.

Returns:

  • (String)

    The email address for the sender of this email.



84
85
86
# File 'lib/lockstep_sdk/models/email_model.rb', line 84

def email_from
  @email_from
end

#email_idUuid

Returns The unique ID of this record, automatically assigned by Lockstep when this record is added to the Lockstep platform.

Returns:

  • (Uuid)

    The unique ID of this record, automatically assigned by Lockstep when this record is added to the Lockstep platform.



68
69
70
# File 'lib/lockstep_sdk/models/email_model.rb', line 68

def email_id
  @email_id
end

#email_subjectString

Returns The subject line of this email.

Returns:

  • (String)

    The subject line of this email.



96
97
98
# File 'lib/lockstep_sdk/models/email_model.rb', line 96

def email_subject
  @email_subject
end

#email_toString

Returns The email address for the recipient(s) of this email.

Returns:

  • (String)

    The email address for the recipient(s) of this email.



88
89
90
# File 'lib/lockstep_sdk/models/email_model.rb', line 88

def email_to
  @email_to
end

#external_email_idString

Returns The id of the email in an external system if imported.

Returns:

  • (String)

    The id of the email in an external system if imported.



152
153
154
# File 'lib/lockstep_sdk/models/email_model.rb', line 152

def external_email_id
  @external_email_id
end

#external_thread_idString

Returns The id of the email thread in an external system if imported.

Returns:

  • (String)

    The id of the email thread in an external system if imported.



156
157
158
# File 'lib/lockstep_sdk/models/email_model.rb', line 156

def external_thread_id
  @external_thread_id
end

#group_keyUuid

Returns The GroupKey uniquely identifies a single Lockstep Platform account. All records for this account will share the same GroupKey value. GroupKey values cannot be changed once created. For more information, see [Accounts and GroupKeys](developer.lockstep.io/docs/accounts-and-groupkeys).

Returns:

  • (Uuid)

    The GroupKey uniquely identifies a single Lockstep Platform account. All records for this account will share the same GroupKey value. GroupKey values cannot be changed once created. For more information, see [Accounts and GroupKeys](developer.lockstep.io/docs/accounts-and-groupkeys).



76
77
78
# File 'lib/lockstep_sdk/models/email_model.rb', line 76

def group_key
  @group_key
end

#is_priorityBoolean

Returns A status flag indicating if this email is priority status.

Returns:

  • (Boolean)

    A status flag indicating if this email is priority status.



112
113
114
# File 'lib/lockstep_sdk/models/email_model.rb', line 112

def is_priority
  @is_priority
end

#is_spamBoolean

Returns A status flag indicating if this email is marked as spam.

Returns:

  • (Boolean)

    A status flag indicating if this email is marked as spam.



116
117
118
# File 'lib/lockstep_sdk/models/email_model.rb', line 116

def is_spam
  @is_spam
end

#is_unreadBoolean

Returns A status flag indicating if this email is unread.

Returns:

  • (Boolean)

    A status flag indicating if this email is unread.



108
109
110
# File 'lib/lockstep_sdk/models/email_model.rb', line 108

def is_unread
  @is_unread
end

#modifiedDate-time

Returns The date on which this email was modified. Email modification should only be done by internal services.

Returns:

  • (Date-time)

    The date on which this email was modified. Email modification should only be done by internal services.



168
169
170
# File 'lib/lockstep_sdk/models/email_model.rb', line 168

def modified
  @modified
end

#modified_user_idUuid

Returns The ID of the user who modified this email. Email modification should only be done by internal services.

Returns:

  • (Uuid)

    The ID of the user who modified this email. Email modification should only be done by internal services.



172
173
174
# File 'lib/lockstep_sdk/models/email_model.rb', line 172

def modified_user_id
  @modified_user_id
end

#notesNoteModel

Returns A collection of notes linked to this record. To retrieve this collection, specify ‘Notes` in the `include` parameter when retrieving data. To create a note, use the [Create Note](developer.lockstep.io/reference/post_api-v1-notes) endpoint with the `TableKey` to `Email` and the `ObjectKey` set to the `EmailId` for this record. For more information on extensibility, see [linking extensible metadata to objects](developer.lockstep.io/docs/custom-fields#linking-metadata-to-an-object).

Returns:



184
185
186
# File 'lib/lockstep_sdk/models/email_model.rb', line 184

def notes
  @notes
end

#opened_timestampDate-time

Returns The date on which this email was opened.

Returns:

  • (Date-time)

    The date on which this email was opened.



140
141
142
# File 'lib/lockstep_sdk/models/email_model.rb', line 140

def opened_timestamp
  @opened_timestamp
end

#received_time_stampDate-time

Returns The date on which this email was received.

Returns:

  • (Date-time)

    The date on which this email was received.



136
137
138
# File 'lib/lockstep_sdk/models/email_model.rb', line 136

def received_time_stamp
  @received_time_stamp
end

#response_originEmailModel

Returns The email object associated with the response origin id.

Returns:

  • (EmailModel)

    The email object associated with the response origin id.



180
181
182
# File 'lib/lockstep_sdk/models/email_model.rb', line 180

def response_origin
  @response_origin
end

#response_origin_idUuid

Returns If the message being sent is a reply or a forward, the id of the the email being replied to or forwarded. Otherwise null.

Returns:

  • (Uuid)

    If the message being sent is a reply or a forward, the id of the the email being replied to or forwarded. Otherwise null.



176
177
178
# File 'lib/lockstep_sdk/models/email_model.rb', line 176

def response_origin_id
  @response_origin_id
end

#send_typeString

Returns The type message being sent (New, Reply, Forward) or null for messages not being sent.

Returns:

  • (String)

    The type message being sent (New, Reply, Forward) or null for messages not being sent.



164
165
166
# File 'lib/lockstep_sdk/models/email_model.rb', line 164

def send_type
  @send_type
end

#sent_dateDate-time

Returns The date on which this email was sent.

Returns:

  • (Date-time)

    The date on which this email was sent.



104
105
106
# File 'lib/lockstep_sdk/models/email_model.rb', line 104

def sent_date
  @sent_date
end

#thread_idUuid

Returns The unique ID number of this email’s conversation thread.

Returns:

  • (Uuid)

    The unique ID number of this email’s conversation thread.



72
73
74
# File 'lib/lockstep_sdk/models/email_model.rb', line 72

def thread_id
  @thread_id
end

#to_be_sentBoolean

Returns A status flag indicating if this email is to be sent.

Returns:

  • (Boolean)

    A status flag indicating if this email is to be sent.



128
129
130
# File 'lib/lockstep_sdk/models/email_model.rb', line 128

def to_be_sent
  @to_be_sent
end

#view_countInt32

Returns The number of times this email was viewed.

Returns:

  • (Int32)

    The number of times this email was viewed.



144
145
146
# File 'lib/lockstep_sdk/models/email_model.rb', line 144

def view_count
  @view_count
end

Instance Method Details

#as_json(options = {}) ⇒ object

Returns This object as a JSON key-value structure.

Returns:

  • (object)

    This object as a JSON key-value structure



200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
# File 'lib/lockstep_sdk/models/email_model.rb', line 200

def as_json(options={})
    {
        'emailId' => @email_id,
        'threadId' => @thread_id,
        'groupKey' => @group_key,
        'companyId' => @company_id,
        'emailFrom' => @email_from,
        'emailTo' => @email_to,
        'emailCC' => @email_cc,
        'emailSubject' => @email_subject,
        'emailBody' => @email_body,
        'sentDate' => @sent_date,
        'isUnread' => @is_unread,
        'isPriority' => @is_priority,
        'isSpam' => @is_spam,
        'created' => @created,
        'createdUserId' => @created_user_id,
        'toBeSent' => @to_be_sent,
        'customerId' => @customer_id,
        'receivedTimeStamp' => @received_time_stamp,
        'openedTimestamp' => @opened_timestamp,
        'viewCount' => @view_count,
        'appEnrollmentId' => @app_enrollment_id,
        'externalEmailId' => @external_email_id,
        'externalThreadId' => @external_thread_id,
        'emailBcc' => @email_bcc,
        'sendType' => @send_type,
        'modified' => @modified,
        'modifiedUserId' => @modified_user_id,
        'responseOriginId' => @response_origin_id,
        'responseOrigin' => @response_origin,
        'notes' => @notes,
        'attachments' => @attachments,
        'customFieldDefinitions' => @custom_field_definitions,
        'customFieldValues' => @custom_field_values,
    }
end

#to_json(*options) ⇒ String

Returns This object converted to a JSON string.

Returns:

  • (String)

    This object converted to a JSON string



240
241
242
# File 'lib/lockstep_sdk/models/email_model.rb', line 240

def to_json(*options)
    "[#{as_json(*options).to_json(*options)}]"
end