//native
type Zoho = {
token: string;
};
/**
* Update scoring rule
*
*/
export async function main(
auth: Zoho,
id: string,
body: {
scoring_rules: {
name: string;
description: string;
id: string;
layout: { id?: string; api_name?: string };
created_time: string;
modified_time: string;
module: {
has_more_profiles?: false | true;
sub_menu_available?: false | true;
"common.search_supported": false | true;
deletable: false | true;
description: string;
creatable: false | true;
recycle_bin_on_delete: false | true;
inventory_template_supported: false | true;
modified_time: string;
plural_label: string;
presence_sub_menu: false | true;
triggers_supported: false | true;
id: string;
chart_view: false | true;
isBlueprintSupported: false | true;
visibility: number;
visible: false | true;
convertable: false | true;
editable: false | true;
emailTemplate_support: false | true;
email_parser_supported: false | true;
filter_supported: false | true;
show_as_tab: false | true;
web_link: string;
sequence_number: number;
singular_label: string;
viewable: false | true;
api_supported: false | true;
api_name: string;
quick_create: false | true;
generated_type: "default" | "web" | "linking" | "custom";
feeds_required: false | true;
scoring_supported: false | true;
webform_supported: false | true;
territory?: { name?: string; id?: string; subordinates?: false | true };
arguments: { name?: string; value?: string }[];
module_name: string;
chart_view_supported: false | true;
profile_count: number;
business_card_field_limit: number;
track_current_data: false | true;
modified_by: { name: string; id: string; email?: string };
profiles: { id: string; name: string; _delete?: false | true }[];
parent_module: {};
activity_badge: "Enabled" | "Disabled";
$field_states: string[];
business_card_fields: string[];
per_page: number;
$properties: string[];
$on_demand_properties: string[];
search_layout_fields: string[];
kanban_view_supported: false | true;
lookup_field_properties: {
fields: { sequence_number: number; api_name: string; id: string }[];
};
kanban_view: false | true;
related_lists: {
id: string;
sequence_number: string;
display_label: string;
api_name: string;
module: { api_name: string; id: string };
name: string;
action: string;
href: string;
type: string;
connectedmodule?: string;
linkingmodule?: string;
visible: false | true;
customize_sort: false | true;
customize_fields: false | true;
customize_display_label: false | true;
sort_by: { api_name: string; id: string };
sort_order: string;
fields: { api_name: string; id: string }[];
status: "visible" | "scheduled_for_deletion" | "user_hidden";
}[];
filter_status: false | true;
related_list_properties: {
sort_by: { api_name: string; id: string };
fields: string[];
sort_order: string;
};
display_field: {};
layouts: {}[];
fields: {
blueprint_supported: false | true;
json_type: string;
length: number;
decimal_place: number;
multi_module_lookup: {};
sharing_properties: {
scheduler_status?: string;
share_preference_enabled?: false | true;
share_permission?: "read-write" | "read-only" | "full-access";
};
currency: {};
file_upolad_optionlist: {
actual_value: string;
display_value: string;
}[];
lookup: {};
subform: {};
formula: {};
multiselectlookup: {};
multiuserlookup: {
display_label: string;
linking_module: {
api_name: string;
id: string;
module_name?: string;
module?: string;
};
connected_module: {
api_name: string;
id: string;
module_name?: string;
module?: string;
};
lookup_apiname: string;
api_name: string;
connectedfield_apiname: string;
connectedlookup_apiname: string;
id: string;
record_access: false | true;
};
pick_list_values: {
colour_code: string;
actual_value: string;
type: "unused" | "used";
id: string;
sequence_number: number;
display_value: string;
reference_value?: string;
deal_category?: string;
probability?: number;
forecast_category?: { id?: string; name?: string };
expected_data_type?: string;
sys_ref_name?: string;
forecast_type?: string;
maps?: { api_name?: string; pick_list_values?: {}[] }[];
_delete?: false | true;
show_value?: false | true;
}[];
allowed_modules: {
api_name: string;
id: string;
module_name?: string;
module?: string;
}[];
hipaa_compliance_enabled: false | true;
hipaa_compliance: {
restricted_in_export: false | true;
restricted: false | true;
};
associated_module: {
api_name: string;
id: string;
module_name?: string;
module?: string;
};
data_type: string;
operation_type: {
web_update: false | true;
api_create: false | true;
web_create: false | true;
api_update: false | true;
};
system_mandatory: false | true;
webhook: false | true;
sequence_number?: number;
default_value?: string;
virtual_field: false | true;
field_read_only: false | true;
customizable_properties: string[];
read_only: false | true;
custom_field: false | true;
businesscard_supported: false | true;
filterable: false | true;
visible: false | true;
available_in_user_layout: false | true;
display_field: false | true;
pick_list_values_sorted_lexically: false | true;
sortable: false | true;
layout_associations: { api_name: string; name: string; id: string }[];
separator: false | true;
searchable: false | true;
enable_colour_code: false | true;
mass_update: false | true;
created_source: string;
type: string;
display_label: string;
column_name: string;
api_name: string;
display_type: number;
ui_type: number;
colour_code_enabled_by_system: false | true;
quick_sequence_number: string;
email_parser: {
fields_update_supported: false | true;
record_operations_supported: false | true;
};
rollup_summary: {};
refer_from_field: { id: string; api_name: string };
created_time: string;
modified_time: string;
show_type: number;
category: number;
id: string;
profiles: { name: string; id: string; permission_type: string }[];
view_type: {
view: false | true;
edit: false | true;
quick_create: false | true;
create: false | true;
};
unique: {};
sub_module: {
api_name: string;
id: string;
module_name?: string;
module?: string;
};
external: {
show: false | true;
type: string;
allow_multiple_config?: false | true;
};
private?: {
restricted: false | true;
type: string;
export: false | true;
};
convert_mapping: {
Contacts?: string;
Deals?: string;
Accounts?: string;
};
autonumber: {
starting_number_length: number;
prefix: string;
suffix: string;
start_number: number;
};
auto_number: {};
crypt: {
mode: string;
status: number;
column?: string;
table?: string;
encFldIds?: string[];
notify?: string;
};
tooltip: { name: string; value: string };
history_tracking: {
module: {
layout?: {
display_type?: number;
api_name?: string;
has_more_profiles: false | true;
created_time: string;
modified_time: string;
visible: false | true;
source: string;
id: string;
name: string;
display_label: string;
mode: string;
subform_properties: { pinned_column: false | true };
status: string;
show_business_card: false | true;
generated_type: string;
created_for: { name: string; id: string; email?: string };
convert_mapping: {
Contacts: { name: string; id: string };
Deals: {
fields: {
api_name?: string;
field_label?: string;
id?: string;
required?: false | true;
}[];
name: string;
id: string;
};
Accounts: { name: string; id: string };
Invoices: { name: string; id: string };
SalesOrders: { name: string; id: string };
};
modified_by: { name: string; id: string; email?: string };
profiles: {
default: false | true;
name: string;
id: string;
_default_view: { name: string; id: string; type: string };
_default_assignment_view?: {
name?: string;
id?: string;
type?: string;
};
}[];
created_by: { name: string; id: string; email?: string };
sections: {
display_label: string;
sequence_number: number;
isSubformSection: false | true;
tab_traversal: string;
api_name: string;
column_count: number;
name: string;
generated_type: string;
id: string;
type: string;
fields: {
required: false | true;
validation_rule: {};
default_value: {};
sequence_number: number;
section_id: number;
blueprint_supported: false | true;
json_type: string;
length: number;
decimal_place: number;
multi_module_lookup: {};
sharing_properties: {
scheduler_status?: string;
share_preference_enabled?: false | true;
share_permission?:
| "read-write"
| "read-only"
| "full-access";
};
currency: {};
file_upolad_optionlist: {
actual_value: string;
display_value: string;
}[];
lookup: {};
subform: {};
formula: {};
multiselectlookup: {};
multiuserlookup: {
display_label: string;
linking_module: {
api_name: string;
id: string;
module_name?: string;
module?: string;
};
connected_module: {
api_name: string;
id: string;
module_name?: string;
module?: string;
};
lookup_apiname: string;
api_name: string;
connectedfield_apiname: string;
connectedlookup_apiname: string;
id: string;
record_access: false | true;
};
pick_list_values: {
colour_code: string;
actual_value: string;
type: "unused" | "used";
id: string;
sequence_number: number;
display_value: string;
reference_value?: string;
deal_category?: string;
probability?: number;
forecast_category?: { id?: string; name?: string };
expected_data_type?: string;
sys_ref_name?: string;
forecast_type?: string;
maps?: { api_name?: string; pick_list_values?: {}[] }[];
_delete?: false | true;
show_value?: false | true;
}[];
allowed_modules: {
api_name: string;
id: string;
module_name?: string;
module?: string;
}[];
hipaa_compliance_enabled: false | true;
hipaa_compliance: {
restricted_in_export: false | true;
restricted: false | true;
};
static_values: {
sequence_number: number;
id: string;
value: string;
}[];
static_field: false | true;
layout_associations: {
api_name: string;
name: string;
id: string;
}[];
_delete: { permanent: false | true };
associated_module: {
api_name: string;
id: string;
module_name?: string;
module?: string;
};
data_type: string;
operation_type: {
web_update: false | true;
api_create: false | true;
web_create: false | true;
api_update: false | true;
};
system_mandatory: false | true;
webhook: false | true;
virtual_field: false | true;
field_read_only: false | true;
customizable_properties: string[];
read_only: false | true;
custom_field: false | true;
businesscard_supported: false | true;
filterable: false | true;
visible: false | true;
available_in_user_layout: false | true;
display_field: false | true;
pick_list_values_sorted_lexically: false | true;
sortable: false | true;
separator: false | true;
searchable: false | true;
enable_colour_code: false | true;
mass_update: false | true;
created_source: string;
type: string;
display_label: string;
column_name: string;
api_name: string;
display_type: number;
ui_type: number;
colour_code_enabled_by_system: false | true;
quick_sequence_number: string;
email_parser: {
fields_update_supported: false | true;
record_operations_supported: false | true;
};
rollup_summary: {};
refer_from_field: { id: string; api_name: string };
created_time: string;
modified_time: string;
show_type: number;
category: number;
id: string;
profiles: {
name: string;
id: string;
permission_type: string;
}[];
view_type: {
view: false | true;
edit: false | true;
quick_create: false | true;
create: false | true;
};
unique: {};
sub_module: {
api_name: string;
id: string;
module_name?: string;
module?: string;
};
external: {
show: false | true;
type: string;
allow_multiple_config?: false | true;
};
private?: {
restricted: false | true;
type: string;
export: false | true;
};
convert_mapping: {
Contacts?: string;
Deals?: string;
Accounts?: string;
};
autonumber: {
starting_number_length: number;
prefix: string;
suffix: string;
start_number: number;
};
auto_number: {};
crypt: {
mode: string;
status: number;
column?: string;
table?: string;
encFldIds?: string[];
notify?: string;
};
tooltip: { name: string; value: string };
history_tracking: {};
association_details: {
related_field: {
api_name: string;
id: string;
module_name?: string;
module?: string;
};
lookup_field: {
api_name: string;
id: string;
module_name?: string;
module?: string;
};
};
additional_column: string;
field_label: string;
"common.picklist": {};
_update_existing_records: false | true;
number_separator: false | true;
textarea: { type?: string };
}[];
properties: {
reorder_rows: false | true;
maximum_rows: number;
tooltip: { name?: "Info Icon"; value?: string };
};
_delete: { permanent: false | true };
}[];
actions_allowed: {
edit: false | true;
rename: false | true;
clone: false | true;
downgrade: false | true;
delete: false | true;
deactivate: false | true;
set_layout_permissions: false | true;
};
};
display_label?: string;
api_name?: string;
module?: {};
id?: string;
module_name?: string;
};
duration_configured_field: {
api_name: string;
id: string;
module_name?: string;
module?: string;
};
};
association_details: {
related_field: {
api_name: string;
id: string;
module_name?: string;
module?: string;
};
lookup_field: {
api_name: string;
id: string;
module_name?: string;
module?: string;
};
};
additional_column: string;
field_label: string;
"common.picklist": {};
_update_existing_records: false | true;
number_separator: false | true;
textarea: { type?: string };
static_field: false | true;
}[];
custom_view: {
display_value: string;
system_name: string;
category: string;
created_time: string;
modified_time: string;
last_accessed_time: string;
name: string;
created_by: { name: string; id: string; email?: string };
modified_by: { name: string; id: string; email?: string };
module: { name: string; id: string; email?: string };
criteria: {
comparator: string;
field: { api_name: string; id: string };
value: {};
group_operator: string;
group: {}[];
};
default: false | true;
system_defined: false | true;
locked: false | true;
favorite: number;
offline: false | true;
access_type: "shared" | "public" | "only_to_me";
shared_to: {
type: "territories" | "roles" | "groups" | "users";
name: string;
id: string;
subordinates: false | true;
}[];
fields: { id: string; api_name: string; _pin: false | true }[];
sort_by: { id: string; api_name: string };
sort_order: "asc" | "desc";
id: string;
};
zia_view: false | true;
default_mapping_fields: { api_name: string; id: string }[];
status?: string;
static_subform_properties?: {
fields: { api_name: string; id: string }[];
};
layout_associations: { api_name: string; name: string; id: string }[];
};
modified_by: { name: string; id: string; email?: string };
active: false | true;
created_by: { name: string; id: string; email?: string };
field_rules: {
score: number;
criteria: {
comparator: string;
field: { api_name?: string; id?: string };
value: {};
group_operator: string;
group: {}[];
};
id: string;
}[];
signal_rules: {
score: number;
signal: { namespace: string; id: string };
id: string;
}[];
}[];
},
) {
const url = new URL(
`https://zohoapis.com/crm/v8/settings/automation/scoring_rules/${id}`,
);
const response = await fetch(url, {
method: "PUT",
headers: {
"Content-Type": "application/json",
Authorization: "Zoho-oauthtoken " + auth.token,
},
body: JSON.stringify(body),
});
if (!response.ok) {
const text = await response.text();
throw new Error(`${response.status} ${text}`);
}
return await response.json();
}
Submitted by hugo697 235 days ago