Ruby SDK Samples - Notes Operations
require 'ZOHOCRMSDK2_0'
class Note
def self.get_notes
# """
# This method is used to get the list of notes and print the response.
# """
# Get instance of NotesOperations Class
no = Notes::NotesOperations.new
# Get instance of ParameterMap Class
pm = ParameterMap.new
# pm.add(Notes::NotesOperations::GetNotesParam.page,"1")
# Get instance of HeaderMap Class
hm = HeaderMap.new
# hm.add(Notes::NotesOperations::GetNotesHeader.If_modified_since,"2020-08-05T13:36:16+05:30")
# Call get_notes method that takes paramInstance and headerInstance as parameters
response = no.get_notes(pm, hm)
unless response.nil?
status_code = response.status_code
# Get the status code from response
print "\n Status Code :" + status_code.to_s
if [204, 304].include? status_code
print(status_code == 204 ? 'No Content' : 'Not Modified')
return
end
# Check if expected instance is received.
if response.is_expected
# Get object from response
response_handler = response.data_object
# Check if expected ResponseWrapper instance is received
if response_handler.is_a? Notes::ResponseWrapper
# Get the list of obtained Note instances
notes = response_handler.data
notes.each do |note|
# Get the owner User instance of each Note
owner = note.owner
# Check if owner is not None
unless owner.nil?
# Get the Name of the Owner
print "\n Note Owner User-Name: "
print owner.name
# Get the ID of the Owner
print "\n Note Owner User-Id: "
print owner.id.to_s
# Get the Email of the Owner
print "\n Note Owner User-Email: "
print owner.email
end
# Get the ModifiedTime of each Note
print "\n Note ModifiedTime: "
print note.modified_time
# Get the list of Attachment instances of each Note
attachments = note.attachments
# Check if attachments is not None
attachments&.each do |attachment|
print_attachment(attachment)
end
# Get the CreatedTime of each Note
print "\n Note CreatedTime: "
print note.created_time
# Get the parentId Record instance of each Note
parent_id = note.parent_id
# Check if parent_id is not None
unless parent_id.nil?
unless parent_id.get_key_value('name').nil?
# Get the parent record Name of each Note
print "\n Note parent record Name: "
print parent_id.get_key_value('name')
end
# Get the parent record ID of each Note
print "\n Note parent record ID: "
print parent_id.to_s
end
# Get the Editable of each Note
print "\n Note Editable: "
print note.editable
# Get the SeModule of each Note
print "\n Note SeModule: "
print note.se_module
# Get the IsSharedToClient of each Note
print "\n Note IsSharedToClient: "
print note.is_shared_to_client
# Get the modifiedBy User instance of each Note
modified_by = note.modified_by
# Check if modifiedBy is not None
unless modified_by.nil?
# Get the Name of the modifiedBy User
print "\n Note ModifiedBy User-Name: "
print modified_by.name
# Get the ID of the modifiedBy User
print "\n Note ModifiedBy User-Id: "
print modified_by.id.to_s
# Get the Email of the modifiedBy User
print "\n Note ModifiedBy User-Email: "
print modified_by.email
end
created_by = note.created_by
# Check if created_by is not None
unless created_by.nil?
# Get the Name of the created_by User
print "\n Note CreatedBy User-Name: "
print created_by.name
# Get the ID of the created_by User
print "\n Note CreatedBy User-Id: "
print created_by.id.to_s
# Get the Email of the created_by User
print "\n Note CreatedBy User-Email: "
print created_by.email
end
# Get the Size of each Note
print "\n Note Size: "
print note.size
# Get the State of each Note
print "\n Note State: "
print note.state
# Get the VoiceNote of each Note
print "\n Note VoiceNote: "
print note.voice_note
# Get the Id of each Note
print "\n Note Id: "
print note.id.to_s
# Get the NoteTitle of each Note
print "\n Note NoteTitle: "
print note.note_title
# Get the NoteContent of each Note
print "\n Note NoteContent: "
print note.note_content
end
# Get the Info object from obtained response
info = response_handler.info
unless info.nil?
# Get the PerPage from Info
unless info.per_page.nil?
print "\n Note Info PerPage: "
print info.per_page
end
# Get the Count from Info
unless info.count.nil?
print "\n Note Info Count: "
print info.count
end
# Get the Page from Info
unless info.count.nil?
print "\nNote Info Page: "
print info.page
end
# Get the MoreRecords from Info
unless info.more_records.nil?
print "\Note Info more records: "
print info.more_records
end
end
# Get the Info object from obtained response
elsif response_handler.is_a? Notes::APIException
exception = response_handler
# Get the Code
print 'code:'
print exception.code.value
# Get the Status
print "\n status:"
print exception.status.value
# Get the Message
print "\n message:"
print exception.message.value
# Get the Details map
exception.details.each do |k, v|
print "\n"
print k
print v
print "\n"
end
print "\n"
end
elsif status_code != 204
response_object = response.data_object
response_object.instance_variables.each do |field|
print field
print "\n"
print response_object.instance_variable_get(field)
end
end
end
end
end
require 'ZOHOCRMSDK2_0'
class Note
def self.create_notes
# """
# This method is used to add new notes and print the response.
# """
# Get instance of NotesOperations Class
no = Notes::NotesOperations.new
# List to hold Note instances
notes = []
(0..5).each do |i|
# Get instance of Note Class
note = Notes::Note.new
# Set Note Title of the Note
note.note_title = 'Contacted'
# Set Note Content of the Note
note.note_content = 'Need to do further tracking'
# Get instance of Record Class
parent_record = Record::Record.new
# Set ID of the Record
parent_record.id = 3_524_033_000_005_495_066
# Set ParentId of the Note
note.parent_id = parent_record
# Set SeModule of the Record
note.se_module = 'Leads'
notes.push(note)
end
# Get instance of BodyWrapper Class that will contain the request body
body_wrapper = Notes::BodyWrapper.new
# Set the list to notes in BodyWrapper instance
body_wrapper.data = notes
# Call create_notes method that takes BodyWrapper instance as parameter
response = no.create_notes(body_wrapper)
unless response.nil?
status_code = response.status_code
# Get the status code from response
print "\n Status Code :" + status_code.to_s
# Check if expected instance is received.
if response.is_expected
# Get object from response
action_handler = response.data_object
# Check if expected ActionWrapper instance is received.
if action_handler.is_a? Notes::ActionWrapper
action_wrapper = action_handler
# Get the list of obtained ActionResponse instances
action_responses = action_wrapper.data
action_responses.each do |action_response|
# Check if expected SuccessResponse instance is received.
if action_response.is_a? Notes::SuccessResponse
success_response = action_response
# Get the Code
print 'code:'
print success_response.code.value
# Get the Status
print "\n status:"
print success_response.status.value
# Get the Message
print "\n message:"
print success_response.message.value
# Get the details map
success_response.details.each do |k, v|
print "\n"
print k
print v
print "\n"
end
# Check if the request returned an exception
elsif action_response.is_a? Notes::APIException
api_exception = action_response
# Get the Code
print 'code:'
print api_exception.code.value
# Get the Status
print "\n status:"
print api_exception.status.value
# Get the Message
print "\n message:"
print api_exception.message.value
# Get the details map
api_exception.details.each do |k, v|
print "\n"
print k
print v
print "\n"
end
print "\n"
end
end
# Check if the request returned an exception
elsif action_handler.is_a? Notes::APIException
exception = action_handler
# Get the Code
print 'code:'
print exception.code.value
# Get the Status
print "\n status:"
print exception.status.value
# Get the Message
print "\n message:"
print exception.message.value
# Get the details map
exception.details.each do |k, v|
print "\n"
print k
print v
print "\n"
end
print "\n"
end
else
response_object = response.data_object
response_object.instance_variables.each do |field|
print field
print "\n"
print response_object.instance_variable_get(field)
end
end
end
end
end
require 'ZOHOCRMSDK2_0'
class Note
def self.update_notes
# Get instance of NotesOperations Class
notes_id = [3_524_033_000_005_936_004, 3_524_033_000_005_539_004]
no = Notes::NotesOperations.new
# List to hold Note instances
notes = []
(0..1).each do |i|
# Get instance of Note Class
note = Notes::Note.new
# Set Note Title of the Note
note.note_title = 'Contacted'
# Set Note ID of the Note
note.id = notes_id[i]
# Set Note Content of the Note
note.note_content = 'Need to do further tracking'
# Get instance of Record Class
parent_record = Record::Record.new
# Set ID of the Record
parent_record.id = 3_524_033_000_005_495_066
# Set ParentId of the Note
note.parent_id = parent_record
# Set SeModule of the Record
note.se_module = 'Leads'
notes.push(note)
end
# Get instance of BodyWrapper Class that will contain the request body
body_wrapper = Notes::BodyWrapper.new
# Set the list to notes in BodyWrapper instance
body_wrapper.data = notes
# Call update_notes method that takes BodyWrapper instance as parameter
response = no.update_notes(body_wrapper)
unless response.nil?
status_code = response.status_code
# Get the status code from response
print "\n Status Code :" + status_code.to_s
# Check if expected instance is received.
if response.is_expected
# Get object from response
action_handler = response.data_object
# Check if expected ActionWrapper instance is received.
if action_handler.is_a? Notes::ActionWrapper
action_wrapper = action_handler
# Get the list of obtained ActionResponse instances
action_responses = action_wrapper.data
action_responses.each do |action_response|
# Check if expected SuccessResponse instance is received.
if action_response.is_a? Notes::SuccessResponse
success_response = action_response
# Get the Code
print 'code:'
print success_response.code.value
# Get the Status
print "\n status:"
print success_response.status.value
# Get the Message
print "\n message:"
print success_response.message.value
# Get the details map
success_response.details.each do |k, v|
print "\n"
print k
print v
print "\n"
end
# Check if the request returned an exception
elsif action_response.is_a? Notes::APIException
api_exception = action_response
# Get the Code
print 'code:'
print api_exception.code.value
# Get the Status
print "\n status:"
print api_exception.status.value
# Get the Message
print "\n message:"
print api_exception.message.value
# Get the details map
api_exception.details.each do |k, v|
print "\n"
print k
print v
print "\n"
end
print "\n"
end
end
# Check if the request returned an exception
elsif action_handler.is_a? Notes::APIException
exception = action_handler
# Get the Code
print 'code:'
print exception.code.value
# Get the Status
print "\n status:"
print exception.status.value
# Get the Message
print "\n message:"
print exception.message.value
# Get the details map
exception.details.each do |k, v|
print "\n"
print k
print v
print "\n"
end
print "\n"
end
else
response_object = response.data_object
response_object.instance_variables.each do |field|
print field
print "\n"
print response_object.instance_variable_get(field)
end
end
end
end
end
require 'ZOHOCRMSDK2_0'
class Note
def self.delete_notes(notes_id)
# """
# This method is used to delete notes in bulk and print the response.
# :param note_ids: The list of Note IDs to be deleted
# """
# """
# example
# note_ids = ["3409643000000648001", "3409643000000648005"]
# """
# Get instance of NotesOperations Class
no = Notes::NotesOperations.new
# Get instance of ParameterMap Class
pm = ParameterMap.new
# Add the ids to ParameterMap instance
notes_id.each do |note_id|
pm.add(Notes::NotesOperations::DeleteNotesParam.ids, note_id)
end
# Call delete_notes method that takes param_instance as parameter
response = no.delete_notes(pm)
unless response.nil?
status_code = response.status_code
# Get the status code from response
print "\n Status Code :" + status_code.to_s
# Check if expected instance is received.
if response.is_expected
# Get object from response
action_handler = response.data_object
# Check if expected ActionWrapper instance is received.
if action_handler.is_a? Notes::ActionWrapper
action_wrapper = action_handler
# Get the list of obtained ActionResponse instances
action_responses = action_wrapper.data
action_responses.each do |action_response|
# Check if expected SuccessResponse instance is received.
if action_response.is_a? Notes::SuccessResponse
success_response = action_response
# Get the Code
print 'code:'
print success_response.code.value
# Get the Status
print "\n status:"
print success_response.status.value
# Get the Message
print "\n message:"
print success_response.message.value
# Get the details map
success_response.details.each do |k, v|
print "\n"
print k
print v
print "\n"
end
# Check if the request returned an exception
elsif action_response.is_a? Notes::APIException
api_exception = action_response
# Get the Code
print 'code:'
print api_exception.code.value
# Get the Status
print "\n status:"
print api_exception.status.value
# Get the Message
print "\n message:"
print api_exception.message.value
# Get the details map
api_exception.details.each do |k, v|
print "\n"
print k
print v
print "\n"
end
print "\n"
end
end
# Check if the request returned an exception
elsif action_handler.is_a? Notes::APIException
exception = action_handler
# Get the Code
print 'code:'
print exception.code.value
# Get the Status
print "\n status:"
print exception.status.value
# Get the Message
print "\n message:"
print exception.message.value
# Get the details map
exception.details.each do |k, v|
print "\n"
print k
print v
print "\n"
end
print "\n"
end
else
response_object = response.data_object
response_object.instance_variables.each do |field|
print field
print "\n"
print response_object.instance_variable_get(field)
end
end
end
end
end
require 'ZOHOCRMSDK2_0'
class Note
def self.get_note(note_id)
# """
# This method is used to get the note with id and print the response.
# :param note_id: The ID of the Note to be obtained
# """
# """
# example
# note_id = "3409643000000549003"
# """
# Get instance of NotesOperations Class
no = Notes::NotesOperations.new
# Call get_note method that takes note_id as parameter
# Get instance of ParameterMap Class
pm = ParameterMap.new
# pm.add(Notes::NotesOperations::GetNoteParam.fields,"")
# Get instance of HeaderMap Class
hm = HeaderMap.new
# hm.add(Notes::NotesOperations::GetNoteHeader.If_modified_since,"2020-08-05T13:36:16+05:30")
response = no.get_note(note_id,pm, hm)
unless response.nil?
status_code = response.status_code
# Get the status code from response
print "\n Status Code :" + status_code.to_s
if [204, 304].include? status_code
print(status_code == 204 ? 'No Content' : 'Not Modified')
return
end
# Check if expected instance is received.
if response.is_expected
# Get object from response
response_handler = response.data_object
# Check if expected ResponseWrapper instance is received
if response_handler.is_a? Notes::ResponseWrapper
# Get the list of obtained Note instances
notes = response_handler.data
notes.each do |note|
# Get the owner User instance of each Note
owner = note.owner
# Check if owner is not None
unless owner.nil?
# Get the Name of the Owner
print "\n Note Owner User-Name: "
print owner.name
# Get the ID of the Owner
print "\n Note Owner User-Id: "
print owner.id.to_s
# Get the Email of the Owner
print "\n Note Owner User-Email: "
print owner.email
end
# Get the ModifiedTime of each Note
print "\n Note ModifiedTime: "
print note.modified_time
# Get the list of Attachment instances of each Note
attachments = note.attachments
# Check if attachments is not None
attachments&.each do |attachment|
print_attachment(attachment)
end
# Get the CreatedTime of each Note
print "\n Note CreatedTime: "
print note.created_time
# Get the parentId Record instance of each Note
parent_id = note.parent_id
# Check if parent_id is not None
unless parent_id.nil?
unless parent_id.get_key_value('name').nil?
# Get the parent record Name of each Note
print "\n Note parent record Name: "
print parent_id.get_key_value('name')
end
# Get the parent record ID of each Note
print "\n Note parent record ID: "
print parent_id.to_s
end
# Get the Editable of each Note
print "\n Note Editable: "
print note.editable
# Get the SeModule of each Note
print "\n Note SeModule: "
print note.se_module
# Get the IsSharedToClient of each Note
print "\n Note IsSharedToClient: "
print note.is_shared_to_client
# Get the modifiedBy User instance of each Note
modified_by = note.modified_by
# Check if modifiedBy is not None
unless modified_by.nil?
# Get the Name of the modifiedBy User
print "\n Note ModifiedBy User-Name: "
print modified_by.name
# Get the ID of the modifiedBy User
print "\n Note ModifiedBy User-Id: "
print modified_by.id.to_s
# Get the Email of the modifiedBy User
print "\n Note ModifiedBy User-Email: "
print modified_by.email
end
created_by = note.created_by
# Check if created_by is not None
unless created_by.nil?
# Get the Name of the created_by User
print "\n Note CreatedBy User-Name: "
print created_by.name
# Get the ID of the created_by User
print "\n Note CreatedBy User-Id: "
print created_by.id.to_s
# Get the Email of the created_by User
print "\n Note CreatedBy User-Email: "
print created_by.email
end
# Get the Size of each Note
print "\n Note Size: "
print note.size
# Get the State of each Note
print "\n Note State: "
print note.state
# Get the VoiceNote of each Note
print "\n Note VoiceNote: "
print note.voice_note
# Get the Id of each Note
print "\n Note Id: "
print note.id.to_s
# Get the NoteTitle of each Note
print "\n Note NoteTitle: "
print note.note_title
# Get the NoteContent of each Note
print "\n Note NoteContent: "
print note.note_content
end
# Get the Info object from obtained response
info = response_handler.info
unless info.nil?
# Get the PerPage from Info
unless info.per_page.nil?
print "\n Note Info PerPage: "
print info.per_page
end
# Get the Count from Info
unless info.count.nil?
print "\n Note Info Count: "
print info.count
end
# Get the Page from Info
unless info.count.nil?
print "\nNote Info Page: "
print info.page
end
# Get the MoreRecords from Info
unless info.more_records.nil?
print "\Note Info more records: "
print info.more_records
end
end
# Get the Info object from obtained response
elsif response_handler.is_a? Notes::APIException
exception = response_handler
# Get the Code
print 'code:'
print exception.code.value
# Get the Status
print "\n status:"
print exception.status.value
# Get the Message
print "\n message:"
print exception.message.value
# Get the Details map
exception.details.each do |k, v|
print "\n"
print k
print v
print "\n"
end
print "\n"
end
elsif status_code != 204
response_object = response.data_object
response_object.instance_variables.each do |field|
print field
print "\n"
print response_object.instance_variable_get(field)
end
end
end
end
end
require 'ZOHOCRMSDK2_0'
class Note
def self.delete_note(note_id)
# """
# This method is used to delete a single note with ID and print the response.
# :param note_id: The ID of the note to be deleted
# """
# """
# example
# note_id = "3409643000000549003"
# """
# Get instance of NotesOperations Class
no = Notes::NotesOperations.new
# Call delete_note method that takes note_id as parameter
response = no.delete_note(note_id)
unless response.nil?
status_code = response.status_code
# Get the status code from response
print "\n Status Code :" + status_code.to_s
# Check if expected instance is received.
if response.is_expected
# Get object from response
action_handler = response.data_object
# Check if expected ActionWrapper instance is received.
if action_handler.is_a? Notes::ActionWrapper
action_wrapper = action_handler
# Get the list of obtained ActionResponse instances
action_responses = action_wrapper.data
action_responses.each do |action_response|
# Check if expected SuccessResponse instance is received.
if action_response.is_a? Notes::SuccessResponse
success_response = action_response
# Get the Code
print 'code:'
print success_response.code.value
# Get the Status
print "\n status:"
print success_response.status.value
# Get the Message
print "\n message:"
print success_response.message.value
# Get the details map
success_response.details.each do |k, v|
print "\n"
print k
print v
print "\n"
end
# Check if the request returned an exception
elsif action_response.is_a? Notes::APIException
api_exception = action_response
# Get the Code
print 'code:'
print api_exception.code.value
# Get the Status
print "\n status:"
print api_exception.status.value
# Get the Message
print "\n message:"
print api_exception.message.value
# Get the details map
api_exception.details.each do |k, v|
print "\n"
print k
print v
print "\n"
end
print "\n"
end
end
# Check if the request returned an exception
elsif action_handler.is_a? Notes::APIException
exception = action_handler
# Get the Code
print 'code:'
print exception.code.value
# Get the Status
print "\n status:"
print exception.status.value
# Get the Message
print "\n message:"
print exception.message.value
# Get the details map
exception.details.each do |k, v|
print "\n"
print k
print v
print "\n"
end
print "\n"
end
else
response_object = response.data_object
response_object.instance_variables.each do |field|
print field
print "\n"
print response_object.instance_variable_get(field)
end
end
end
end
end