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



29
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
# File 'lib/lockstep_sdk/models/email_model.rb', line 29

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 AppEnrollmentId for this record; used for mapping purposes.

Returns:

  • (Uuid)

    AppEnrollmentId for this record; used for mapping purposes.



106
107
108
# File 'lib/lockstep_sdk/models/email_model.rb', line 106

def app_enrollment_id
  @app_enrollment_id
end

#attachmentsAttachmentModel

Returns All attachments attached to this email. To retrieve this collection, specify `Attachments` in the “Include” parameter for your query.

Returns:

  • (AttachmentModel)

    All attachments attached to this email. To retrieve this collection, specify `Attachments` in the “Include” parameter for your query.



126
127
128
# File 'lib/lockstep_sdk/models/email_model.rb', line 126

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.



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

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.



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

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.



94
95
96
# File 'lib/lockstep_sdk/models/email_model.rb', line 94

def created_user_id
  @created_user_id
end

#custom_field_definitionsCustomFieldDefinitionModel

Returns All definitions attached to this email. To retrieve this collection, specify `CustomFieldValues` in the “Include” parameter for your query.

Returns:

  • (CustomFieldDefinitionModel)

    All definitions attached to this email. To retrieve this collection, specify `CustomFieldValues` in the “Include” parameter for your query.



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

def custom_field_definitions
  @custom_field_definitions
end

#custom_field_valuesCustomFieldValueModel

Returns All values attached to this email. To retrieve this collection, specify `Attachments` in the “Include” parameter for your query.

Returns:

  • (CustomFieldValueModel)

    All values attached to this email. To retrieve this collection, specify `Attachments` in the “Include” parameter for your query.



130
131
132
# File 'lib/lockstep_sdk/models/email_model.rb', line 130

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.



98
99
100
# File 'lib/lockstep_sdk/models/email_model.rb', line 98

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



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

def email_bcc
  @email_bcc
end

#email_bodyString

Returns The body content of this email.

Returns:

  • (String)

    The body content of this email.



82
83
84
# File 'lib/lockstep_sdk/models/email_model.rb', line 82

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



78
79
80
# File 'lib/lockstep_sdk/models/email_model.rb', line 78

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.



74
75
76
# File 'lib/lockstep_sdk/models/email_model.rb', line 74

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.



66
67
68
# File 'lib/lockstep_sdk/models/email_model.rb', line 66

def email_id
  @email_id
end

#email_subjectString

Returns The subject line of this email.

Returns:

  • (String)

    The subject line of this email.



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

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.



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

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.



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

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.



110
111
112
# File 'lib/lockstep_sdk/models/email_model.rb', line 110

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).



70
71
72
# File 'lib/lockstep_sdk/models/email_model.rb', line 70

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.



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

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.



90
91
92
# File 'lib/lockstep_sdk/models/email_model.rb', line 90

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.



86
87
88
# File 'lib/lockstep_sdk/models/email_model.rb', line 86

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.



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

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.



118
119
120
# File 'lib/lockstep_sdk/models/email_model.rb', line 118

def modified_user_id
  @modified_user_id
end

#notesNoteModel

Returns All notes attached to this email. To retrieve this collection, specify `Notes` in the “Include” parameter for your query.

Returns:

  • (NoteModel)

    All notes attached to this email. To retrieve this collection, specify `Notes` in the “Include” parameter for your query.



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

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.



102
103
104
# File 'lib/lockstep_sdk/models/email_model.rb', line 102

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.



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

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.



122
123
124
# File 'lib/lockstep_sdk/models/email_model.rb', line 122

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.



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

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.



114
115
116
# File 'lib/lockstep_sdk/models/email_model.rb', line 114

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.



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

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.



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

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.



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

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.



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

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



133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
# File 'lib/lockstep_sdk/models/email_model.rb', line 133

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



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

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