CodeX Scripts के लिए JavaScript SDK

CodeX Scripts के लिए JavaScript SDK

यह पृष्ठ AI उपकरणों का उपयोग करके अनुवादित किया गया है और इसमें त्रुटियाँ हो सकती हैं। सबसे सटीक और नवीनतम विवरण के लिए, कृपया मूल अंग्रेजी संस्करण देखें।
Zoho Projects में Codex Scripts उपयोगकर्ताओं को कस्टम मॉड्यूल और डिफ़ॉल्ट मॉड्यूल जैसे प्रोजेक्ट, Task, और समय लॉग के संचालन को कस्टमाइज़ करने की अनुमति देते हैं। इन स्क्रिप्ट का उपयोग करके, उपयोगकर्ता सत्यापन और कार्यों को स्वचालित कर सकते हैं, बाहरी सिस्टम को एकीकृत कर सकते हैं, और डेटा को पुनः प्राप्त या अपडेट कर सकते हैं।

Info
CodeX Scripts को CN, JP और AE को छोड़कर सभी डेटा सेंटर में समर्थन किया जाता है।

Codex Scripts उन ऑब्जेक्ट तक पहुंच प्रदान करते हैं जो मुख्य विवरण रखते हैं जैसे वर्तमान रिकॉर्ड, फील्ड, और मेटाडेटा जहां स्क्रिप्ट निष्पादित होती है। "Current" ऑब्जेक्ट उस रिकॉर्ड या वातावरण के बारे में संदर्भ संबंधी जानकारी रखता है जहां स्क्रिप्ट चलती है।

ऑब्जेक्ट

current { record, affectedFields, action, org, user, module }
पैरामीटर:
नाम
विवरण
record
वर्तमान रिकॉर्ड जो निष्पादित किया जा रहा है।
affectedFields
वे फील्ड जो वर्तमान कार्रवाई में अपडेट किए जाते हैं।
action
उस कार्रवाई का प्रतिनिधित्व करता है जो की जा रही है, उदाहरण के लिए, BEFORE_UPDATE, AFTER_CREATE।
org
संगठन-विशिष्ट डेटा।
user
वर्तमान उपयोगकर्ता जो कार्रवाई कर रहा है।
module
रिकॉर्ड से संबंधित Module डेटा (Task, Project)।


क्लाइंट SDK तरीके

Codex Scripts Zoho Projects डेटा के साथ इंटरैक्ट करने के लिए कई क्लाइंट-साइड तरीके (कार्यें जो उपयोगकर्ता कर सकते हैं) भी प्रदान करते हैं। नीचे दिए गए क्लाइंट-साइड SDK तरीके Zoho Projects Portal से रिकॉर्ड, उपयोगकर्ता, लेआउट, Modules, आदि के साथ इंटरैक्ट करते हैं।

रिकॉर्ड सहेजें

client.save(record) - Zoho Projects Portal में Task या प्रोजेक्ट जैसे रिकॉर्ड को सहेजें या अपडेट करें। यह तरीका स्वचालित रूप से यह निर्धारित करता है कि रिकॉर्ड ID के आधार पर रिकॉर्ड को बनाया जाए या अपडेट किया जाए।
  1. यदि रिकॉर्ड में एक ID है, तो मौजूदा रिकॉर्ड अपडेट किया जाता है।
  2. यदि रिकॉर्ड में कोई ID नहीं है, तो उस इकाई के लिए एक नया रिकॉर्ड बनाया जाता है।
पैरामीटर:
नाम
विवरण
record
सहेजने के लिए रिकॉर्ड दर्ज करें। उदाहरण के लिए Task, Project।
प्रतिक्रिया
  1. {
  2. "id":"175513000000135011",
  3. "layoutId":"175513000000027008",
  4. "projectId":"175513000000135011",
  5. "moduleId":"175513000000027005",
  6. "end_date":"2025-12-15",
  7. "hourly_budget":"500.000",
  8. "revenue_budget":"15000.000",
  9. "billing_method":"2",
  10. "is_public_project":false,
  11. "description":"<div>Zylker के क्लाइंट Portal का नवीनीकरण।</div>",
  12. "is_strict_project":true,
  13. "cost_per_hour":"500.000",
  14. "currency":"INR",
  15. "tracking_method":"1",
  16. "budget_type":"5",
  17. "start_date":"2025-08-01",
  18. "owner":"175513000000060003",
  19. "project_type":"active",
  20. "created_time":"1726215358660",
  21. "is_rollup_project":false,
  22. "created_by":"175513000000060003",
  23. "cost_budget":"10000.000",
  24. "percent_complete":"17",
  25. "rate_per_hour":"1000.000",
  26. "last_updated_time":"1749370606429",
  27. "completed_time":null,
  28. "name":"Zylker Website Revamp",
  29. "updated_by":"175513000000060004",
  30. "project_group":"175513000000025001",
  31. "fixed_cost":"0.000",
  32. "status":"175513000000027104"
  33. }

ID द्वारा रिकॉर्ड प्राप्त करें

client.getRecordById(moduleId, id) - Zoho Projects Portal से इसकी ID का उपयोग करके एक रिकॉर्ड प्राप्त करें।

पैरामीटर:
नाम
विवरण
moduleId
वर्तमान में निष्पादित किए जा रहे मॉड्यूल की ID दर्ज करें।
id
रिकॉर्ड ID दर्ज करें।
प्रतिक्रिया
  1. {

  2. "id": "214815000000120442",

  3. "layoutId": "214815000000111729",

  4. "projectId": "214815000000120442",

  5. "moduleId": "214815000000027005",

  6. "end_date": "1755196800000",

  7. "hourly_budget": "120.000",

  8. "revenue_budget": "85000.000",

  9. "billing_method": "4",

  10. "cf_decimal": "7.50",

  11. "is_public_project": false,

  12. "cf_number": "456",

  13. "description": "Mobile app development for Zylker Retail.",

  14. "is_strict_project": true,

  15. "cf_email": "monica.hemsworth@zylker.com",

  16. "cost_per_hour": "75.000",

  17. "cf_multi_line": "API integration pending <br> \\n Client approval required",

  18. "cf_currency": "820.5000",

  19. "currency": "USD",

  20. "tracking_method": "1",

  21. "cf_multi_user_picklist": [

  22. "214815000000117285"

  23. ],

  24. "budget_type": "2",

  25. "start_date": "1754524800000",

  26. "owner": "214815000000117285",

  27. "project_type": "active",

  28. "created_time": "1753082475000",

  29. "cf_pick_list": "214815000000111779",

  30. "is_rollup_project": false,

  31. "cf_url": "https://projects.zylker.com/resource-hub",

  32. "cf_checkbox": true,

  33. "created_by": "214815000000068003",

  34. "cost_budget": "60000.000",

  35. "percent_complete": "25",

  36. "cf_single_line": "Initial phase completed",

  37. "cf_user_pick_list": null,

  38. "rate_per_hour": "110.000",

  39. "cost_budget_threshold": "50000.000",

  40. "cf_phone": "9876543210",

  41. "hourly_budget_threshold": "90.000",

  42. "cf_percentage": "0.85",

  43. "last_updated_time": "1755738857000",

  44. "completed_time": null,

  45. "name": "Zylker Mobile App Dev",

  46. "updated_by": "214815000000068003",

  47. "project_group": "214815000000118849",

  48. "fixed_cost": "10000.000",

  49. "cf_multi_select": null,

  50. "cf_date_field": "1754611200000",

  51. "status": "214815000000027092"

  52. }

Modules प्राप्त करें

client.getModules(index, range) - Zoho Projects Portal से Modules (Tasks, Projects) की सूची प्राप्त करें।

पैरामीटर:
नाम
विवरण
index
Index दर्ज करें। उदाहरण के लिए 0,1।
range
प्राप्त करने के लिए Modules की संख्या दर्ज करें। उदाहरण के लिए 10।

Portal उपयोगकर्ताओं को प्राप्त करें

client.getPortalUsers(filter) - Zoho Projects Portal से उपयोगकर्ताओं की सूची प्राप्त करें।

पैरामीटर:
नाम
विवरण
फ़िल्टर
फ़िल्टर मानदंड दर्ज करें।
नमूना फ़िल्टर ऑब्जेक्ट
  1. {
  2. active: true|false
  3. }

प्रतिक्रिया:

  1. [
  2. {
  3. "name": "Monica Hemsworth",
  4. "email": "monica.hemsworth@zylker.com",
  5. "zuid": "96901457",
  6. "role": "Administrator",
  7. "roleId": "214815000000068005",
  8. "profileId": "214815000000068436",
  9. "companyId": null,
  10. "client": false,
  11. "id": "214815000000068003"
  12. },
  13. {
  14. "name": "Chloe Tiff",
  15. "email": "chloe.t@zylker.com",
  16. "zuid": "90707086",
  17. "role": "Administrator",
  18. "roleId": "214815000000068005",
  19. "profileId": "214815000000068439",
  20. "companyId": null,
  21. "client": false,
  22. "id": "214815000000117285"
  23. },
  24. {
  25. "name": "Patrick Simon",
  26. "email": "patrick.simon@zylker.com",
  27. "zuid": "91617413",
  28. "role": "Employee",
  29. "roleId": "214815000000068009",
  30. "profileId": "214815000000068445",
  31. "companyId": null,
  32. "client": false,
  33. "id": "214815000000117291"
  34. }
  35. ]

ID के अनुसार Portal उपयोगकर्ता पुनः प्राप्त करें

client.getPortalUsersById(id) - Zoho Projects Portal से एक Portal उपयोगकर्ता पुनः प्राप्त करें।

पैरामीटर:
नाम
विवरण
id
उपयोगकर्ता ID दर्ज करें।
प्रतिक्रिया
  1. {
  2. "name": "Monica Hemsworth",
  3. "email": "monica.hemsworth@zylker.com",
  4. "zuid": "96901457",
  5. "role": "Administrator",
  6. "roleId": "214815000000068005",
  7. "profileId": "214815000000068436",
  8. "companyId": null,
  9. "client": false,
  10. "id": "214815000000068003"
  11. }
 

ग्राहक उपयोगकर्ताओं को पुनः प्राप्त करें

client.getClientUsers(filter) - Zoho Projects Portal से ग्राहक उपयोगकर्ताओं की सूची पुनः प्राप्त करें।

पैरामीटर:
नाम
विवरण
फ़िल्टर
फ़िल्टर मानदंड दर्ज करें।
नमूना फ़िल्टर ऑब्जेक्ट
  1. {
  2. active: true|false
  3. }

प्रतिक्रिया

  1. [
  2. {
  3. "name": "Monica Hemsworth",
  4. "email": "monica.hemsworth@zylker.com",
  5. "zuid": "106992208",
  6. "role": null,
  7. "roleId": null,
  8. "profileId": null,
  9. "companyId": null,
  10. "client": true,
  11. "id": "214815000000125051"
  12. },
  13. {
  14. "name": "Patrick Simon",
  15. "email": "patrick.simon@zylker.com",
  16. "zuid": "106992208",
  17. "role": null,
  18. "roleId": null,
  19. "profileId": null,
  20. "companyId": null,
  21. "client": true,
  22. "id": "214815000000125051"
  23. }
  24. ]

क्लाइंट उपयोगकर्ता को ID द्वारा पुनः प्राप्त करें

client.getClientUserById(id) - Zoho Projects Portal से क्लाइंट उपयोगकर्ता को पुनः प्राप्त करें।

पैरामीटर:

नाम
विवरण
id
क्लाइंट उपयोगकर्ता ID दर्ज करें।

प्रतिक्रिया
  1. {
  2. "name": "Monica Hemsworth",
  3. "email": "monica.hemsworth@zylker.com",
  4. "zuid": "106992208",
  5. "role": null,
  6. "roleId": null,
  7. "profileId": null,
  8. "companyId": null,
  9. "client": true,
  10. "id": "214815000000125051"
  11. }

क्लाइंट कंपनियों को पुनः प्राप्त करें

client.getClientCompanies(filter, range, index) - Zoho Projects Portal से क्लाइंट कंपनियों की सूची को पुनः प्राप्त करें।
पैरामीटर:

नाम
विवरण
फ़िल्टर
फ़िल्टर मानदंड दर्ज करें।
range
पुनः प्राप्त करने के लिए क्लाइंट कंपनियों की संख्या दर्ज करें। उदाहरण: 10।
index संख्या
Index दर्ज करें। उदाहरण: 0,1।
नमूना फ़िल्टर ऑब्जेक्ट
  1. {
  2. "project": projectId
  3. }
प्रतिक्रिया
  1. [
  2. {
  3. "id": "214815000000125015",
  4. "name": "Zylker Inc",
  5. "customerType": 1,
  6. "addressFirstLine": "",
  7. "addressSecondLine": "",
  8. "city": "",
  9. "state": "",
  10. "country": "",
  11. "zipCode": "",
  12. "webAddress": "",
  13. "zohoCRMAccountId": null,
  14. "currencyCode": null,
  15. "updateTime": null
  16. },
  17. {
  18. "id": "214815000000125016",
  19. "name": "Zylker Inc",
  20. "customerType": 1,
  21. "addressFirstLine": "",
  22. "addressSecondLine": "",
  23. "city": "",
  24. "state": "",
  25. "country": "",
  26. "zipCode": "",
  27. "webAddress": "",
  28. "zohoCRMAccountId": null,
  29. "currencyCode": null,
  30. "updateTime": null
  31. }
  32. ]

ID द्वारा क्लाइंट कंपनी को पुनः प्राप्त करें

client.getClientCompanyById(id) - Zoho Projects Portal से क्लाइंट कंपनी को पुनः प्राप्त करें।

पैरामीटर:
नाम
विवरण
id
क्लाइंट कंपनी ID दर्ज करें।
प्रतिक्रिया

  1. {
  2. "id": "214815000000125057",
  3. "name": "Zylker Solutions",
  4. "addressFirstLine": "",
  5. "addressSecondLine": "",
  6. "city": "",
  7. "state": "",
  8. "country": "",
  9. "zipCode": "",
  10. "webAddress": "",
  11. "zohoCRMAccountId": "-1",
  12. "updateTime": null
  13. }
  14.  

क्लाइंट संपर्कों को पुनः प्राप्त करें

client.getClientContacts(filter) - Zoho Projects Portal से क्लाइंट संपर्कों की एक सूची को पुनः प्राप्त करें।

पैरामीटर:
नाम
विवरण
filter
फ़िल्टर मानदंड दर्ज करें।
नमूना फ़िल्टर ऑब्जेक्ट
  1. {
  2. active: true|false
  3. }
प्रतिक्रिया

  1. [
  2. {
  3. "name": "Monica Hemsworth",
  4. "email": "monica.hemsworth@zylker.com",
  5. "zuid": null,
  6. "role": null,
  7. "roleId": null,
  8. "profileId": null,
  9. "companyId": null,
  10. "client": true,
  11. "id": "214815000000126133"
  12. },
  13. {
  14. "name": "Chloe Tiff",
  15. "email": "chloe.tiff@zylker.com",
  16. "zuid": null,
  17. "role": null,
  18. "roleId": null,
  19. "profileId": null,
  20. "companyId": null,
  21. "client": true,
  22. "id": "214815000000126153"
  23. }
  24. ]

क्लाइंट संपर्क को ID द्वारा प्राप्त करें

client.getClientContactById(id) - Zoho Projects Portal से क्लाइंट संपर्क को प्राप्त करें।

पैरामीटर:
नाम
विवरण
id
क्लाइंट संपर्क ID दर्ज करें।
प्रतिक्रिया
  1. {
  2. "id": "214815000000126153",
  3. "zuid": null,
  4. "email": "monica.hemsworth@zylker.com",
  5. "name": "Monica Hemsworth",
  6. "client": true
  7. }

Picklist विकल्प प्राप्त करें

client.getPicklistOptions(moduleId, layoutId, fieldId) - किसी मॉड्यूल से picklist फ़ील्ड के विकल्प प्राप्त करें।
पैरामीटर:
नाम
विवरण
moduleId
मॉड्यूल ID दर्ज करें।
layoutId
layout ID दर्ज करें।
fieldId
picklist फ़ील्ड ID दर्ज करें।

प्रतिक्रिया

  1. [
  2. {
  3. "id": "214815000000111775",
  4. "value": "5"
  5. },
  6. {
  7. "id": "214815000000111787",
  8. "value": "1"
  9. },
  10. {
  11. "id": "214815000000111789",
  12. "value": "2"
  13. },
  14. {
  15. "id": "214815000000111791",
  16. "value": "3"
  17. },
  18. {
  19. "id": "214815000000111793",
  20. "value": "4"
  21. }
  22. ]

स्थिति विवरण प्राप्त करें

client.getStatusDetails(moduleId, layoutId, statusId) - किसी मॉड्यूल से स्थिति विवरण प्राप्त करें।

पैरामीटर:
नाम
विवरण
moduleId
मॉड्यूल ID दर्ज करें।
layoutId
लेआउट ID दर्ज करें।
statusId
स्थिति ID दर्ज करें।

HTTP अनुरोध

CodeX Scripts आपको HttpRequest ऑब्जेक्ट का उपयोग करके बाहरी सेवाओं और API के साथ संचार करने की अनुमति देते हैं। यह आपको अपने स्क्रिप्ट लॉजिक के हिस्से के रूप में तीसरे पक्ष की प्रणालियों से डेटा भेजने या पुनः प्राप्त करने में सक्षम बनाता है।
CodeX Scripts में HTTP अनुरोध Connections के साथ मिलकर काम करते हैं, जो प्रमाणीकरण विवरण को सुरक्षित रूप से प्रबंधित करते हैं।
आवश्यकताएँ:
  1. CodeX Scripts में केवल org-based connections समर्थित हैं।
  2. जो Connections उपयोगकर्ता लॉगिन क्रेडेंशियल पर निर्भर करते हैं, वे समर्थित नहीं हैं।
  3. स्क्रिप्ट में उपयोग करने से पहले सुनिश्चित करें कि आवश्यक Connection बनाया गया है और अधिकृत है।
  1. const request = new HttpRequest();
  2. request.url(url);
  3. request.headers(JSON.stringify(headers));
  4. request.body(JSON.stringify(body));
  5. request.connection("connection_link_name");
  6. request.method("GET");
  7. request.params(JSON.stringify(params));
  8. const response = request.execute();
  9. const { status, statusMessage} = response.asJson();
  10. console.log(status); // सफलता या विफलता के आधार पर true या false प्रिंट करता है
  11. console.log(statusMessage.responseText); // API प्रतिक्रिया प्रिंट करता है
  12. console.log(statusMessage.responseCode); // HTTP प्रतिक्रिया कोड प्रिंट करता है
  13. console.log(statusMessage.responseHeader); // प्रतिक्रिया हेडर प्रिंट करता है

वेरिएबल

Codex Scripts में वेरिएबल का उपयोग स्क्रिप्ट निष्पादन के दौरान गतिशील मानों को संग्रहीत और पुनः प्राप्त करने के लिए किया जाता है। इनका उपयोग ID, नाम, या किसी भी पुनः उपयोग योग्य मान को संग्रहीत करने के लिए करें।
सिंटैक्स:
वेरिएबल नामों के लिए जो वैध javascript-variable नामकरण सम्मेलनों का पालन करते हैं:
  1. variables.<var_name>.value
अन्य वैध json keys के लिए:
  1. variables["<var_name>"].value
    या
  2. variables['<var_name>'].value