CodeXスクリプト用JavaScript SDK

CodeXスクリプト用JavaScript SDK

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

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

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

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

Object

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


クライアント SDK メソッド

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

データの保存

client。保存(データ) - Zoho プロジェクト ポータル内のタスクやプロジェクトなどのデータを保存または更新します。このメソッドは、データ ID に基づいて、データを新規作成するか更新するかを自動的に判別します。
  1. データに id が含まれている場合、既存のデータが更新されます。
  2. データに id が含まれていない場合、その項目の新規データが作成されます。
パラメーター:
名前
説明
データ
保存するデータを入力します(例: タスク、プロジェクト)。
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. }

ID でデータを取得

client。getRecordById(moduleId, id)-Zoho プロジェクト ポータルから、ID を使用してデータを取得します。

パラメーター:
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': '初期フェーズ 完了',

  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 Projects ポータルからタブ(タスク、プロジェクト)の一覧を取得します。

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

ポータルユーザーの取得

client。getPortalUsers(フィルター) - Zoho プロジェクトのポータルからユーザーの一覧を取得します。

パラメーター:
名前
説明
フィルター
フィルター条件を入力します。
フィルターオブジェクトのサンプル
  1. {
  2. 有効: 真|無効
  3. }

レスポンス:

  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. ]

ID でポータルユーザーを取得

client。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. }
 

クライアントユーザーの取得

client。getClientUsers(フィルター) - Zoho プロジェクトのポータルからクライアントユーザーの一覧を取得します。

パラメーター:
名前
説明
フィルター
フィルター条件を入力します。
フィルターオブジェクトのサンプル
  1. {
  2. 有効: 真|無効
  3. }

レスポンス

  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. ]

クライアントユーザーを ID で取得する

client。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. }

クライアント組織を取得する

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

名前
説明
フィルター
フィルター条件を入力します。
range
取得するクライアント組織の件数を入力します(例: 10)。
index 番号
インデックス番号を入力します(例: 0,1)。
フィルターオブジェクトのサンプル
  1. {
  2. 'プロジェクト': projectId
  3. }
レスポンス
  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. ]

クライアント企業を ID で取得する

client。getClientCompanyById(id) - 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.  

クライアント連絡先を取得する

client。getClientContacts(フィルター) - Zoho プロジェクトのポータルからクライアント連絡先の一覧を取得します。

パラメーター:
名前
説明
フィルター
フィルター条件を入力します。
フィルターオブジェクトのサンプル
  1. {
  2. 有効: 真|無効
  3. }
レスポンス

  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. ]

クライアント連絡先を ID で取得する

client。getClientContactById(id) - Zoho プロジェクトのポータルからクライアント連絡先を取得します。

パラメーター:
名前
説明
id
クライアント連絡先 ID を入力します。
レスポンス
  1. {
  2. 'id': '214815000000126153',
  3. 'zuid': null,
  4. 'メール': 'monica.hemsworth@zylker.com',
  5. '名前': 'Monica Hemsworth',
  6. 'client': 真
  7. }

ピックリスト設定の取得

client。getPicklistOptions(moduleId, layoutId, fieldId) - タブ内のピックリスト項目の設定を取得します。
パラメーター:
名前
説明
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. ]

ステータス詳細の取得

client。getStatusDetails(moduleId, layoutId, statusId) - タブ内のステータス詳細を取得します。

パラメーター:
名前
説明
moduleId
タブ ID を入力します。
layoutId
レイアウト ID を入力します。
statusId
ステータス ID を入力します。

HTTP リクエスト

CodeX Scripts では、HttpRequest オブジェクトを使用して外部サービスや API と通信できます。これにより、スクリプトロジックの一部として、サードパーティシステムとの間でデータを送受信できます。
CodeX Scripts の HTTP リクエストは、認証情報を安全に管理する外部連携と組み合わせて動作します。
要件:
  1. CodeX Scripts でサポートされるのは、組織ベースの外部連携のみです。
  2. ユーザーログイン認証情報に依存する外部連携はサポートされません。
  3. スクリプトで使用する前に、必要な接続が作成され、認証済みであることを確認してください。
  1. const request = 新規 HttpRequest();
  2. request。url(url);
  3. request。ヘッダー(JSON。stringify(ヘッダー));
  4. request。本文(JSON。stringify(本文));
  5. request。connection('connection_link_name');
  6. request。method('取得する');
  7. request。params(JSON。stringify(params));
  8. const response = request。実行する();
  9. const { ステータス, statusMessage} = response。asJson();
  10. console。log(ステータス); // 完了または失敗に応じて true または false を出力します
  11. console。log(statusMessage。responseText); // API レスポンスを出力します
  12. console。log(statusMessage。responseCode); // HTTP レスポンスコードを出力します
  13. console。log(statusMessage。responseHeader); // レスポンスヘッダーを出力します

変数

Codex Scripts の変数は、スクリプト実行中に動的な値を保存および取得するために使用されます。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 ...
                                  • JS SDKの概要

                                    お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 前提条件 次の SDK メソッドを呼び出す前に、コード内に JS https://js.zohocdn.com/projects/js/client_sdk.min.js を含めてください。 Zoho Projects のスタイルを使用するには、コード内に CSS ...
                                  • CodeXスクリプトの概要

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

                                    お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 概要 Zoho マーケットプレイスは、開発した Zoho 製品向け拡張機能をアップロードできるオンラインストアです。また、ストアで公開されている拡張機能を自社で利用することもできます。本開発者ガイドでは、拡張機能を作成し、Zoho マーケットプレイスに公開するまでの手順を説明します。 ...

                                  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.