CodeXスクリプト用JavaScript SDK

CodeXスクリプト用JavaScript SDK

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

Zoho プロジェクトの Codex Scriptsを使用すると、プロジェクトやタスクの動作をカスタマイズできます。これらのスクリプトを使って、検証や処理の自動化、外部システムとの連携、データの取得や更新を行うことができます。

Info
CodeX Scripts は現在、限定リリースとして提供されています。この機能をポータルで有効にするには、support@zohoprojects.com までお問い合わせください。

Codex Scripts では、スクリプトが実行される場所の現在データ、項目、メタデータなどの主要な情報を保持するオブジェクトにアクセスできます。'現在' オブジェクトには、スクリプトが実行されるデータや環境に関するコンテキスト情報が格納されます。

オブジェクト:

現在 { データ, affectedFields, 操作, org, ユーザー, タブ }
パラメーター:
名前
説明
データ
実行対象となる現在のデータ。
affectedFields
現在の操作で更新される項目。
操作
実行中の操作を表します(例: BEFORE_UPDATE、AFTER_CREATE)。
org
組織固有のデータ。
ユーザー
操作を実行している現在のユーザー。
タブ
データに関連するタブ(タスク、プロジェクト)のデータ。


クライアント SDK メソッド:

Codex Scripts では、Zoho プロジェクトのデータと連携するための、複数のクライアントサイドメソッド(ユーザーが実行できる処理)も提供しています。以下のクライアントサイド SDK メソッドは、Zoho プロジェクト ポータル内のデータ、ユーザー、レイアウト、タブなどと連携します。

client。保存(データ):

Zoho プロジェクト ポータルにデータ(タスク、プロジェクト)や変数を保存します。
パラメーター:
名前
説明
データ
保存するデータを入力します(例: タスク、プロジェクト)。
Response
  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':無効,
  11. '説明':'<div>Revamp of Zylker's クライアントポータル.</div>',
  12. 'is_strict_project':真,
  13. 'cost_per_hour':'500。000',
  14. '通貨':'INR',
  15. 'tracking_method':'1',
  16. 'budget_type':'5',
  17. 'start_date':'2025-08-01',
  18. '担当者':'175513000000060003',
  19. 'project_type':'有効',
  20. 'created_time':'1726215358660',
  21. 'is_rollup_project':無効,
  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. '名前':'Zylker Webサイト Revamp',
  29. 'updated_by':'175513000000060004',
  30. 'project_group':'175513000000025001',
  31. 'fixed_cost':'0。000',
  32. 'ステータス':'175513000000027104'
  33. }

client。getRecordById(moduleId: string, id: string):
Zoho プロジェクト ポータルからデータを 1 件取得します。
パラメーター:
Name
説明
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': 無効,

  12. 'cf_number': '456',

  13. '説明': 'Zylker Retail 向けモバイルアプリ開発。',

  14. 'is_strict_project': 真,

  15. 'cf_email': 'monica。hemsworth@zylker.com',

  16. 'cost_per_hour': '75。000',

  17. 'cf_multi_line': 'API 連携 保留中 <br> \\n クライアント承認 必須',

  18. 'cf_currency': '820。5000',

  19. '通貨': 'USD',

  20. 'tracking_method': '1',

  21. 'cf_multi_user_picklist': [

  22. '214815000000117285'

  23. ],

  24. 'budget_type': '2',

  25. 'start_date': '1754524800000',

  26. '担当者': '214815000000117285',

  27. 'project_type': '有効',

  28. 'created_time': '1753082475000',

  29. 'cf_pick_list': '214815000000111779',

  30. 'is_rollup_project': 無効,

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

  32. 'cf_checkbox': 真,

  33. 'created_by': '214815000000068003',

  34. 'cost_budget': '60000。000',

  35. 'percent_complete': '25',

  36. 'cf_single_line': 'Initial phase 完了',

  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. '名前': 'Zylker モバイル 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. 'ステータス': '214815000000027092'

  52. }
client。getModules(index: 番号, range: 番号)
Zoho プロジェクトのポータルからタブ(タスク、プロジェクト)の一覧を取得します。
パラメーター:
名前

説明
index
インデックスを入力します。例: 0, 1。
range
取得するタブの数を入力します。例: 10。


getPortalUsers(フィルター: object): Iterator
Zoho プロジェクトのポータルからユーザーの一覧を取得します。
パラメーター:
名前
説明
フィルター
フィルター条件を入力します。
フィルターオブジェクトのサンプル
  1. {
  2. userType: 1 - ポータルユーザー, 2 - クライアントユーザー, 3 - クライアント連絡先, 4 - 閲覧のみ,
  3. 有効: 真|無効
  4. }

レスポンス:

  1. [
  2. {
  3. '名前': 'Monica Hemsworth',
  4. 'メール': 'monica。hemsworth@zylker.com',
  5. 'zuid': '96901457',
  6. '役割': 'Administrator',
  7. 'roleId': '214815000000068005',
  8. 'profileId': '214815000000068436',
  9. 'companyId': null,
  10. 'client': 無効,
  11. 'id': '214815000000068003'
  12. },
  13. {
  14. '名前': 'Chloe Tiff',
  15. 'メール': 'chloe。t@zylker.com',
  16. 'zuid': '90707086',
  17. '役割': 'Administrator',
  18. 'roleId': '214815000000068005',
  19. 'profileId': '214815000000068439',
  20. 'companyId': null,
  21. 'client': 無効,
  22. 'id': '214815000000117285'
  23. },
  24. {
  25. '名前': 'Patrick Simon',
  26. 'メール': 'patrick。simon@zylker.com',
  27. 'zuid': '91617413',
  28. '役割': '従業員',
  29. 'roleId': '214815000000068009',
  30. 'profileId': '214815000000068445',
  31. 'companyId': null,
  32. 'client': 無効,
  33. 'id': '214815000000117291'
  34. }
  35. ]
getPortalUsersById(id: 番号): ユーザー
Zoho プロジェクトのポータルからポータルユーザーを取得します。
パラメーター:
名前
説明
id
ユーザー ID を入力します。
レスポンス
  1. {
  2. '名前': 'Monica Hemsworth',
  3. 'メール': 'monica。hemsworth@zylker.com',
  4. 'zuid': '96901457',
  5. '役割': 'Administrator',
  6. 'roleId': '214815000000068005',
  7. 'profileId': '214815000000068436',
  8. 'companyId': null,
  9. 'client': 無効,
  10. 'id': '214815000000068003'
  11. }
 
getClientUsers(フィルター?: any): Iterator
Zoho プロジェクトのポータルからクライアントユーザーの一覧を取得します。
パラメーター:
名前
説明
フィルター
フィルター条件を入力します。

レスポンス

  1. [
  2. {
  3. '名前': 'Monica Hemsworth',
  4. 'メール': 'monica。hemsworth@zylker.com',
  5. 'zuid': '106992208',
  6. '役割': null,
  7. 'roleId': null,
  8. 'profileId': null,
  9. 'companyId': null,
  10. 'client': 真,
  11. 'id': '214815000000125051'
  12. },
  13. {
  14. '名前': 'Patrick Simon',
  15. 'メール': 'patrick。simon@zylker.com',
  16. 'zuid': '106992208',
  17. '役割': null,
  18. 'roleId': null,
  19. 'profileId': null,
  20. 'companyId': null,
  21. 'client': 真,
  22. 'id': '214815000000125051'
  23. }
  24. ]

getClientUserById(id: 番号): ユーザー
Zoho プロジェクトのポータルからクライアントユーザーを取得します。
パラメーター:

名前
説明
id
クライアントユーザー ID を入力します。

レスポンス
  1. {
  2. '名前': 'Monica Hemsworth',
  3. 'メール': 'monica。hemsworth@zylker.com',
  4. 'zuid': '106992208',
  5. '役割': null,
  6. 'roleId': null,
  7. 'profileId': null,
  8. 'companyId': null,
  9. 'client': 真,
  10. 'id': '214815000000125051'
  11. }

getClientCompanies(フィルター: object, range?: 番号, index?: 番号): Iterator
Zoho プロジェクトのポータルからクライアント組織の一覧を取得します。
パラメーター:

名前
説明
フィルター
フィルター条件を入力します。
range
取得するクライアント組織の件数を入力します。例: 10。
index 番号
インデックスを入力します。例: 0, 1。

レスポンス
  1. [
  2. {
  3. 'id': '214815000000125015',
  4. '名前': 'Zylker Inc',
  5. 'customerType': 1,
  6. 'addressFirstLine': '',
  7. 'addressSecondLine': '',
  8. '市区町村': '',
  9. '状態': '',
  10. '国': '',
  11. 'zipCode': '',
  12. 'webAddress': '',
  13. 'zohoCRMAccountId': null,
  14. 'currencyCode': null,
  15. 'updateTime': null
  16. },
  17. {
  18. 'id': '214815000000125016',
  19. '名前': 'Zylker Inc',
  20. 'customerType': 1,
  21. 'addressFirstLine': '',
  22. 'addressSecondLine': '',
  23. '市区町村': '',
  24. '状態': '',
  25. '国': '',
  26. 'zipCode': '',
  27. 'webAddress': '',
  28. 'zohoCRMAccountId': null,
  29. 'currencyCode': null,
  30. 'updateTime': null
  31. }
  32. ]
getClientCompanyById(id: 番号): object
Zoho プロジェクトのポータルからクライアント会社を取得します。
パラメーター:
名前
説明
id
クライアント会社の ID を入力します。
レスポンス

  1. {
  2. 'id': '214815000000125057',
  3. '名前': 'Zylker Solutions',
  4. 'addressFirstLine': '',
  5. 'addressSecondLine': '',
  6. '市区町村': '',
  7. '状態': '',
  8. '国': '',
  9. 'zipCode': '',
  10. 'webAddress': '',
  11. 'zohoCRMAccountId': '-1',
  12. 'updateTime': null
  13. }
  14.  
getClientContacts(フィルター?: any): Iterator
Zoho プロジェクトのポータルからクライアント連絡先の一覧を取得します。
パラメーター:
名前
説明
フィルター
フィルター条件を入力します。
レスポンス

  1. [
  2. {
  3. '名前': 'Monica Hemsworth',
  4. 'メール': 'monica。hemsworth@zylker.com',
  5. 'zuid': null,
  6. '役割': null,
  7. 'roleId': null,
  8. 'profileId': null,
  9. 'companyId': null,
  10. 'client': 真,
  11. 'id': '214815000000126133'
  12. },
  13. {
  14. '名前': 'Chloe Tiff',
  15. 'メール': 'chloe。tiff@zylker.com',
  16. 'zuid': null,
  17. '役割': null,
  18. 'roleId': null,
  19. 'profileId': null,
  20. 'companyId': null,
  21. 'client': 真,
  22. 'id': '214815000000126153'
  23. }
  24. ]

getClientContactById(id: 番号): ユーザー

Zoho プロジェクトのポータルからクライアント連絡先を 1 件取得します。
パラメーター:
名前
説明
id
クライアント連絡先 ID を入力します。
レスポンス
  1. {
  2. 'id': '214815000000126153',
  3. 'zuid': null,
  4. 'メール': 'monica。hemsworth@zylker.com',
  5. '名前': 'Monica Hemsworth',
  6. 'client': 真
  7. }
getPicklistOptions(moduleId: string, layoutId: string, fieldId: string):
タブのピックリスト項目の設定を取得します。
パラメーター:
名前
説明
moduleId
タブ ID を入力します。
layoutId
レイアウト ID を入力します。
fieldId
ピックリスト項目 ID を入力します。
レスポンス

  1. [
  2. {
  3. 'id': '214815000000111775',
  4. '値': '5'
  5. },
  6. {
  7. 'id': '214815000000111787',
  8. '値': '1'
  9. },
  10. {
  11. 'id': '214815000000111789',
  12. '値': '2'
  13. },
  14. {
  15. 'id': '214815000000111791',
  16. '値': '3'
  17. },
  18. {
  19. 'id': '214815000000111793',
  20. '値': '4'
  21. }
  22. ]
getStatusDetails(moduleId: string, layoutId: string, statusId: string): any
タブからステータスの詳細を取得します。
パラメーター:
名前
説明
moduleId
タブ ID を入力します。
layoutId
レイアウト ID を入力します。
statusId
ステータス ID を入力します。

変数:

Codex スクリプトの変数は、スクリプト実行中に動的な値を保存および取得するために使用されます。ID や名前など、再利用可能な値を保存するために使用します。
構文:
有効な JavaScript 変数の命名規則に従う変数名の場合:
  1. variables.<var_name>.値
その他の有効な JSON キーの場合:
  1. variables['<var_name>'].値
    または
  2. variables['<var_name>'].値

    Zoho CRM 管理者向けトレーニング

    「導入したばかりで基本操作や設定に不安がある」、「短期間で集中的に運用開始できる状態にしたい」、「運用を開始しているが再度学び直したい」 といった課題を抱えられているユーザーさまに向けた少人数制のオンライントレーニングです。

    日々の営業活動を効率的に管理し、導入効果を高めるための方法を学びましょう。

    Zoho CRM Training



              Zoho Campaigns Resources

                Zoho WorkDrive Resources




                  • Desk Community Learning Series


                  • Digest


                  • Functions


                  • Meetups


                  • Kbase


                  • Resources


                  • Glossary


                  • Desk Marketplace


                  • MVP Corner


                  • Word of the Day


                  • Ask the Experts









                                  • Related Articles

                                  • CodeXスクリプトの操作方法

                                    お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 CodeX Scripts を使用すると、タブ内での処理(プロジェクトやタスクの作成・更新・削除時など)に応じて自動的に実行されるカスタムロジックを定義できます。これらのスクリプトにより、入力値の検証を強制したり、処理を制限したり、自社の要件に合致する条件を適用したりできます。 ...
                                  • CodeXスクリプトの概要

                                    お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 CodeX Scripts を使用すると、タスクやプロジェクトで、ユーザーの操作に応じて自動的に実行されるカスタムロジックを定義できます。これにより、特定の条件に基づいてタブの動作を制御できます。ユーザーは、JavaScript SDK ...

                                  Resources

                                  Videos

                                  Watch comprehensive videos on features and other important topics that will help you master Zoho CRM.



                                  eBooks

                                  Download free eBooks and access a range of topics to get deeper insight on successfully using Zoho CRM.



                                  Webinars

                                  Sign up for our webinars and learn the Zoho CRM basics, from customization to sales force automation and more.



                                  CRM Tips

                                  Make the most of Zoho CRM with these useful tips.