サーバースクリプト & ジョブ – コードで拡張する無限の可能性 | VtigerCRM
開発者・管理者向け (VTAP)

サーバースクリプト
& ジョブ

標準機能の限界を、コードの力で突破する。

JavaScriptを使って、独自のビジネスロジックやAPI連携を実装しましょう。
レコード保存時の複雑な計算、夜間のデータ同期処理、外部システムへのWebhook送信など、あらゆる要件をサーバーサイドで安全に実行できます。

sync_inventory.js
1 const VTAP = require(‘VTAP’);
2 module.exports = {
3   sync_stock: async (req, res) => {
4     // Get product ID
5     let id = req.query.id;
6     let stock = await getExternalStock(id);
7     if (stock > 0) {
8       updateVtigerRecord(id, stock);|
~ node deploy_script.js
✔ Script deployed successfully.
✔ Cron job scheduled (Daily at 00:00).
サーバーサイド
Vtigerのバックエンドで実行

プラットフォーム機能 (VTAP)

JavaScriptでCRMを自在に拡張

VTAP IDE

標準機能だけでは、解決できない課題がありますか?

「この計算式を入れたい」「基幹システムとリアルタイムに同期したい」「夜間に一括処理したい」。
Vtigerのサーバースクリプトは、GUIの設定だけでは手が届かない高度な要件をコードの力で解決します。

JavaScriptで記述

独自の言語を覚える必要はありません。広く普及しているJavaScript (Node.js環境) を使って、柔軟なロジックを記述できます。

外部API連携

REST APIを通じて外部の会計ソフト、ERP、ECサイトとデータを送受信。Vtigerをビジネスの中心ハブとして機能させます。

スケジュール実行

Cron(クーロン)のように、「毎日深夜2時」「毎週月曜日」といったスケジュールを設定し、重たい処理を自動でバックグラウンド実行します。

機能ハイライト

主な特徴

イベントフックの設定
Before Save (保存前) Active
if (record.discount > 20) {
  throw new Error(“割引率が高すぎます”);
}
After Save (保存後) Active
// Slackに通知を送信
vtap.api.post(‘https://slack.com/…’, payload);

イベント駆動型スクリプト

レコードが「作成された時」「更新された時」「削除された時」など、特定のイベントをトリガーにしてスクリプトを実行できます。 「保存前(Before Save)」にデータのバリデーション(入力チェック)を行ったり、「保存後(After Save)」に外部システムへデータを送信したりと、プロセスの節目に独自の処理を挟み込めます。

ジョブスケジューラ (Cron Jobs)

定期的なバックグラウンド処理を自動化します。 「毎週月曜日に未稼働顧客のリストを抽出してメールを送る」「毎晩深夜に在庫データをERPと同期する」といったバッチ処理を、サーバー側で安定して実行させることができます。

定期実行
重たい処理は夜間に自動化
スケジューラ設定
ジョブ名:
深夜在庫同期 (Nightly Stock Sync)
実行頻度 (Cron形式):
0 2 * * *
毎日 AM 2:00
ステータス:
稼働中
前回実行ログ:
2024-10-12 02:00:05 [SUCCESS] 542 records synced.
カスタムAPIエンドポイント
GET / POST
Webhook URL:
https://vtiger.com/api/v1/custom/lead_intake
外部サイト
スクリプト
CRM保存

カスタムAPIの作成 (API Designer)

Vtiger自体をAPIサーバーとして利用できます。 独自のAPIエンドポイントを作成し、外部システムからのWebhookを受け取ってデータを処理したり、特定のデータを整形して返すAPIを構築したりすることが可能です。 これにより、あらゆるサードパーティ製アプリとの柔軟な連携が実現します。

開発の流れ

1. 記述

内蔵エディタでJavaScriptコードを記述。

2. テスト

サンドボックス環境で動作検証とデバッグ。

3. デプロイ

本番環境へ反映し、機能を有効化。

4. ログ監視

実行ログを確認し、エラーやパフォーマンスを監視。

開発者のための活用シーン

ビジネスロジックを自由に実装できます。

複雑なコミッション計算

「売上額×係数+ボーナス」のような複雑な給与計算ロジックをスクリプト化。商談成立時に自動計算し、担当者の報酬フィールドを更新します。

基幹システム(ERP)連携

ERP側の在庫データや与信情報をリアルタイムで取得するAPIを実装。Vtigerの画面上に最新の与信枠を表示し、営業判断をサポートします。

データクレンジング

毎晩ジョブを実行し、表記ゆれ(半角/全角、株式会社の有無など)を自動修正したり、長期間活動のないリードを「休眠」ステータスに変更したりします。