0
# Organization Settings
1
2
The Organization Settings module provides access to global CRM configuration including currency management, organization details, and system variables for templates and workflows.
3
4
## Capabilities
5
6
### Currencies Operations
7
8
Multi-currency configuration and management for global business operations.
9
10
```javascript { .api }
11
/**
12
* Operations for managing currency settings and multi-currency support
13
*/
14
class CurrenciesOperations {
15
/**
16
* Get all available currencies in the organization
17
* @returns Promise with APIResponse containing currency data
18
*/
19
getCurrencies(): Promise<APIResponse>;
20
21
/**
22
* Add new currencies to the organization
23
* @param request - Body wrapper containing currency data to add
24
* @returns Promise with APIResponse containing addition results
25
*/
26
addCurrencies(request: BodyWrapper): Promise<APIResponse>;
27
28
/**
29
* Update existing currencies in the organization
30
* @param request - Body wrapper containing updated currency data
31
* @returns Promise with APIResponse containing update results
32
*/
33
updateCurrencies(request: BodyWrapper): Promise<APIResponse>;
34
35
/**
36
* Enable multi-currency support for the organization
37
* @param request - Body wrapper containing multi-currency configuration
38
* @returns Promise with APIResponse containing configuration results
39
*/
40
enableMultipleCurrencies(request: BodyWrapper): Promise<APIResponse>;
41
42
/**
43
* Update the base currency for the organization
44
* @param request - Body wrapper containing base currency details
45
* @returns Promise with APIResponse containing update results
46
*/
47
updateBaseCurrency(request: BodyWrapper): Promise<APIResponse>;
48
49
/**
50
* Get a specific currency by ID
51
* @param currencyId - Unique identifier of the currency
52
* @returns Promise with APIResponse containing currency data
53
*/
54
getCurrency(currencyId: BigInt): Promise<APIResponse>;
55
56
/**
57
* Update a specific currency by ID
58
* @param currencyId - Unique identifier of the currency
59
* @param request - Body wrapper containing updated currency data
60
* @returns Promise with APIResponse containing update results
61
*/
62
updateCurrency(currencyId: BigInt, request: BodyWrapper): Promise<APIResponse>;
63
}
64
```
65
66
**Currencies Operations Example:**
67
68
```javascript
69
const { CurrenciesOperations } = require("@zohocrm/nodejs-sdk-2.0/core/com/zoho/crm/api/currencies/currencies_operations");
70
const { BodyWrapper } = require("@zohocrm/nodejs-sdk-2.0/core/com/zoho/crm/api/currencies/body_wrapper");
71
const { Currency } = require("@zohocrm/nodejs-sdk-2.0/core/com/zoho/crm/api/currencies/currency");
72
73
const currenciesOp = new CurrenciesOperations();
74
75
// Get all currencies
76
const currenciesResponse = await currenciesOp.getCurrencies();
77
78
// Add new currency
79
const currency = new Currency();
80
currency.setCurrencyName("Euro");
81
currency.setCurrencyCode("EUR");
82
currency.setCurrencySymbol("€");
83
currency.setExchangeRate("0.85");
84
85
const bodyWrapper = new BodyWrapper();
86
bodyWrapper.setCurrencies([currency]);
87
88
const addResponse = await currenciesOp.addCurrencies(bodyWrapper);
89
```
90
91
### Organization Operations
92
93
Organization profile management including basic details and photo upload.
94
95
```javascript { .api }
96
/**
97
* Operations for managing organization profile and settings
98
*/
99
class OrgOperations {
100
/**
101
* Get organization profile details
102
* @returns Promise with APIResponse containing organization data
103
*/
104
getOrganization(): Promise<APIResponse>;
105
106
/**
107
* Upload organization logo/photo
108
* @param request - File body wrapper containing photo data
109
* @returns Promise with APIResponse containing upload results
110
*/
111
uploadOrganizationPhoto(request: FileBodyWrapper): Promise<APIResponse>;
112
}
113
```
114
115
**Organization Operations Example:**
116
117
```javascript
118
const { OrgOperations } = require("@zohocrm/nodejs-sdk-2.0/core/com/zoho/crm/api/org/org_operations");
119
const { FileBodyWrapper } = require("@zohocrm/nodejs-sdk-2.0/core/com/zoho/crm/api/org/file_body_wrapper");
120
const fs = require("fs");
121
122
const orgOp = new OrgOperations();
123
124
// Get organization details
125
const orgResponse = await orgOp.getOrganization();
126
127
// Upload organization photo
128
const fileStream = fs.createReadStream("path/to/logo.png");
129
const fileWrapper = new FileBodyWrapper();
130
fileWrapper.setFile(fileStream);
131
132
const uploadResponse = await orgOp.uploadOrganizationPhoto(fileWrapper);
133
```
134
135
### Variables Operations
136
137
Custom variable management for templates, workflows, and system automation.
138
139
```javascript { .api }
140
/**
141
* Operations for managing custom variables used in templates and workflows
142
*/
143
class VariablesOperations {
144
/**
145
* Get all variables in the organization
146
* @returns Promise with APIResponse containing variables data
147
*/
148
getVariables(): Promise<APIResponse>;
149
150
/**
151
* Create new variables
152
* @param request - Body wrapper containing variable data to create
153
* @returns Promise with APIResponse containing creation results
154
*/
155
createVariables(request: BodyWrapper): Promise<APIResponse>;
156
157
/**
158
* Update multiple variables
159
* @param request - Body wrapper containing updated variable data
160
* @returns Promise with APIResponse containing update results
161
*/
162
updateVariables(request: BodyWrapper): Promise<APIResponse>;
163
164
/**
165
* Delete multiple variables
166
* @param request - Body wrapper containing variables to delete
167
* @returns Promise with APIResponse containing deletion results
168
*/
169
deleteVariables(request: BodyWrapper): Promise<APIResponse>;
170
171
/**
172
* Get a specific variable by ID
173
* @param variableId - Unique identifier of the variable
174
* @returns Promise with APIResponse containing variable data
175
*/
176
getVariableById(variableId: BigInt): Promise<APIResponse>;
177
178
/**
179
* Update a specific variable by ID
180
* @param variableId - Unique identifier of the variable
181
* @param request - Body wrapper containing updated variable data
182
* @returns Promise with APIResponse containing update results
183
*/
184
updateVariableById(variableId: BigInt, request: BodyWrapper): Promise<APIResponse>;
185
186
/**
187
* Delete a specific variable by ID
188
* @param variableId - Unique identifier of the variable
189
* @returns Promise with APIResponse containing deletion results
190
*/
191
deleteVariable(variableId: BigInt): Promise<APIResponse>;
192
193
/**
194
* Get a variable by API name
195
* @param apiName - API name of the variable
196
* @returns Promise with APIResponse containing variable data
197
*/
198
getVariableForAPIName(apiName: string): Promise<APIResponse>;
199
200
/**
201
* Update a variable by API name
202
* @param apiName - API name of the variable
203
* @param request - Body wrapper containing updated variable data
204
* @returns Promise with APIResponse containing update results
205
*/
206
updateVariableByAPIName(apiName: string, request: BodyWrapper): Promise<APIResponse>;
207
}
208
```
209
210
**Variables Operations Example:**
211
212
```javascript
213
const { VariablesOperations } = require("@zohocrm/nodejs-sdk-2.0/core/com/zoho/crm/api/variables/variables_operations");
214
const { BodyWrapper } = require("@zohocrm/nodejs-sdk-2.0/core/com/zoho/crm/api/variables/body_wrapper");
215
const { Variable } = require("@zohocrm/nodejs-sdk-2.0/core/com/zoho/crm/api/variables/variable");
216
217
const variablesOp = new VariablesOperations();
218
219
// Get all variables
220
const variablesResponse = await variablesOp.getVariables();
221
222
// Create a new variable
223
const variable = new Variable();
224
variable.setName("Company_Slogan");
225
variable.setAPIName("Company_Slogan");
226
variable.setValue("Innovation at its Best");
227
variable.setType("text");
228
229
const bodyWrapper = new BodyWrapper();
230
bodyWrapper.setVariables([variable]);
231
232
const createResponse = await variablesOp.createVariables(bodyWrapper);
233
234
// Get variable by API name
235
const variableResponse = await variablesOp.getVariableForAPIName("Company_Slogan");
236
```
237
238
### Variable Groups Operations
239
240
Organize and manage variable groups for better organization of custom variables.
241
242
```javascript { .api }
243
/**
244
* Operations for managing variable groups and organization
245
*/
246
class VariableGroupsOperations {
247
/**
248
* Get all variable groups in the organization
249
* @returns Promise with APIResponse containing variable groups data
250
*/
251
getVariableGroups(): Promise<APIResponse>;
252
253
/**
254
* Get a specific variable group by ID
255
* @param groupId - Unique identifier of the variable group
256
* @returns Promise with APIResponse containing variable group data
257
*/
258
getVariableGroupById(groupId: BigInt): Promise<APIResponse>;
259
260
/**
261
* Get a variable group by API name
262
* @param apiName - API name of the variable group
263
* @returns Promise with APIResponse containing variable group data
264
*/
265
getVariableGroupByAPIName(apiName: string): Promise<APIResponse>;
266
}
267
```
268
269
## Core Types
270
271
```javascript { .api }
272
interface Currency {
273
id?: BigInt;
274
currencyName: string;
275
currencyCode: string;
276
currencySymbol: string;
277
exchangeRate: string;
278
isActive?: boolean;
279
isBase?: boolean;
280
format?: CurrencyFormat;
281
}
282
283
interface CurrencyFormat {
284
decimalSeparator: string;
285
thousandSeparator: string;
286
decimalPlaces: number;
287
}
288
289
interface Organization {
290
id?: BigInt;
291
companyName?: string;
292
alias?: string;
293
primaryEmail?: string;
294
website?: string;
295
mobile?: string;
296
phone?: string;
297
employeeCount?: string;
298
description?: string;
299
timeZone?: string;
300
locale?: string;
301
currency?: string;
302
currencySymbol?: string;
303
}
304
305
interface Variable {
306
id?: BigInt;
307
name: string;
308
apiName: string;
309
value: string;
310
type: "text" | "integer" | "double" | "boolean" | "date" | "datetime";
311
variableGroup?: VariableGroup;
312
}
313
314
interface VariableGroup {
315
id?: BigInt;
316
name?: string;
317
apiName?: string;
318
}
319
```