7/25(金) 15:00 開催の東京無料セミナー|業務プロセスから考えるZoho One活用戦略 ~現場相談形式で完全解説! 詳細・申し込みはこちら

×
製品メニューにスキップ
Zoho crm
close
  • 営業
  • マーケティング
  • コマースおよびPOS
  • 顧客サポート
  • メール&コラボレーション
  • 経理
  • 人事・採用
  • 法務
  • セキュリティー・IT管理
  • BI・分析
  • プロジェクト管理
  • 開発者プラットフォーム
全製品について

営業

 
CRM

顧客管理・営業支援システム

 
 
Bigin

連絡先・取引先管理システム

 
 
Forms

アンケート・フォーム作成システム

 
 
SalesIQ

チャット型Web接客システム

 
 
Bookings

予約スケジュール管理システム

 
 
Sign

電子署名サービス

 
 
英語
RouteIQ

最適なルートを計画する地図ナビゲーションシステム

 
 
英語
Thrive

アフィリエイト管理プラットフォーム

 
 
パッケージ製品
CRM Plus

各種営業・マーケティング向けシステムを集約したパッケージ

 

マーケティング

 
Campaigns

メルマガ配信・メールマーケティングツール

 
 
Social

SNSマーケティングシステム

 
 
Forms

アンケート・フォーム作成システム

 
 
Survey

アンケート集計・顧客満足度調査システム

 
 
Sites

Webサイト作成システム(レスポンシブ対応)

 
 
PageSense

ヒートマップ・ABテストシステム

 
 
Backstage

イベント運営・管理システム

 
 
Webinar

Webセミナー運営システム

 
 
Commerce

ECサイト管理システム

 
 
Marketing Automation

マーケティングオートメーションシステム

 
 
英語
LandingPage

Web分析・コンバージョン最適化ツール

 
 
SalesIQ

チャット型Web接客システム

 
 
Sign

電子署名サービス

 
 
英語
Thrive

アフィリエイト管理プラットフォーム

 
 
英語
Publish

ビジネスプロフィール管理ツール

 
 
パッケージ製品
Marketing Plus

マーケティングチーム向け統合マーケティングプラットフォーム

 

コマースおよびPOS

 
Commerce

ECサイト管理システム

 

顧客サポート

 
Desk

ヘルプデスク・カスタマーサポートシステム

 
 
Assist

リモートデスクトップ・遠隔サポートシステム

 
 
Lens

AR(拡張現実)による遠隔サポートシステム

 
 
英語
FSM

フィールドサービス管理プラットフォーム

 
 
SalesIQ

チャット型Web接客システム

 
 
Bookings

予約スケジュール管理システム

 

メール&コラボレーション

 
Mail

ビジネス向けメールサービス

 
 
Meeting

Webオンライン会議システム

 
 
Writer

文書作成ソフトウェア

 
 
Sheet

表計算ソフトウェア

 
 
Show

プレゼンテーションソフトウェア

 
 
Notebook

メモ・ノートアプリ

 
 
Cliq

ビジネスチャット・ビデオ通話アプリ

 
 
Connect

社内SNS・イントラネット

 
 
Bookings

予約スケジュール管理システム

 
 
TeamInbox

チームコラボレーションのための共有受信トレイ

 
 
WorkDrive

クラウドストレージ・ファイル管理

 
 
Sign

電子署名サービス

 
 
Office Suite

オフィススイート(文書作成・表計算・プレゼンテーション)

 
 
Office Integrator

自社アプリに組み込めるオフィスエディター

 
 
ZeptoMail

安全で信頼性の高いトランザクションメール送信サービス

 
 
Calendar

オンラインビジネスカレンダー

 
 
Learn

ナレッジ・学習管理プラットフォーム

 
 
英語
ToDo

タスク管理ツール

 
 
英語
Tables

人、プロセス、情報をつなぐ作業管理ツール

 
 
パッケージ製品
Workplace

生産性を向上させるコミュニケーション&コラボレーションスイート

 

経理

 
Books

会計管理システム

 
 
無料
Invoice

見積・請求管理システム

 
 
Expense

経費申請・管理システム

 
 
Inventory

商品・在庫管理システム

 
 
Billing

定期販売・サブスクリプション管理システム

 
 
Checkout

オンライン決済システム

 
 
英語
Payroll

給与計算ソフトウェア(日本非対応)

 
 
英語
Practice

会計士向けクライアント管理ソフトウェア

 
 
Sign

電子署名サービス

 
 
パッケージ製品
Finance Plus

各種会計ツールを集約したパッケージ

 

人事・採用

 
People

人事労務管理システム

 
 
Recruit

採用管理システム

 
 
Expense

経費申請・管理システム

 
 
Workerly

派遣会社向け人材管理システム

 
 
英語
Payroll

給与計算ソフトウェア(日本非対応)

 
 
英語
Shifts

従業員のスケジュール・シフト管理システム

 
 
Sign

電子署名サービス

 
 
パッケージ製品
People Plus

採用から勤怠管理業務までの人事サイクル全体を自動化、効率化するパッケージ

 

セキュリティー・IT管理

 
Creator

ローコードカスタムアプリ開発プラットフォーム

 
 
英語
Directory

ID・アクセス管理ソリューション

 
 
無料
OneAuth

多要素認証(MFA)アプリケーション

 
 
Vault

パスワード管理・共有ツール

 
 
英語
Catalyst

フルスタック開発プラットフォーム

 
 
英語
Toolkit

管理者向けツールキット by Zoho Mail

 
 
Lens

AR(拡張現実)による遠隔サポートシステム

 
 
Assist

リモートデスクトップ・遠隔サポートシステム

 
 
英語
QEngine

テスト自動化ソフトウェア

 

BI・分析

 
Analytics

BIツール・ビジネスレポートシステム

 
 
Embedded BI

埋め込み可能ホワイトラベルBIシステム

 
 
DataPrep

BI/分析用データ準備ツール

 

プロジェクト管理

 
Projects

タスク・プロジェクト管理ツール

 
 
Sprints

アジャイルプロジェクト管理ツール

 
 
BugTracker

バグ・課題管理システム

 

開発者プラットフォーム

 
Creator

ローコードカスタムアプリ開発プラットフォーム

 
 
Flow

各種プロダクト連携ツール

 
 
英語
Catalyst

フルスタック開発プラットフォーム

 
 
Office Integrator

自社アプリに組み込めるオフィスエディター

 
 
ZeptoMail

安全で信頼性の高いトランザクションメール送信サービス

 
 
英語
Apptics

アプリケーション分析・監視システム

 
 
英語
QEngine

テスト自動化ソフトウェア

 
 
CRM Plus

各種営業・マーケティング向けシステムを集約したパッケージ

トライアル
 
 
Finance Plus

各種会計ツールを集約したパッケージ

トライアル
 
 
People Plus

採用から勤怠管理業務までの人事サイクル全体を自動化、効率化するパッケージ

トライアル
 
 
Workplace

生産性を向上させるコミュニケーション&コラボレーションスイート

トライアル
 
 
Marketing Plus

マーケティングチーム向け統合マーケティングプラットフォーム

トライアル
 
 
オールインワンパッケージ

Zoho One

ビジネスのOS

Zoho は、50以上のクラウド型ビジネスアプリを提供。
シームレスに連動するアプリで、ITの力で働く人たちを笑顔に、仕事をもっと楽に。

Zoho One を試す
Zoho One
Zoho Marketplace

40以上のカテゴリに渡る2,000以上の拡張機能で、お気に入りのビジネスツールをZoho 製品に連携することができます。

マーケットプレイス
Marketplace
メインコンテンツに移動
Zoho crm

OAuth 2.0の使用 - サーバーレス関数

OAuth 2.0

OAuth 2.0プロトコルを使用して、関数にアクセスできます。OAuth 2.0メソッドを使用すると、特定のデータへのアクセスを許可する特定のスコープを持つことで、ユーザー名とパスワードを非公開にしながら、特定のデータを任意のアプリケーションと共有できます。

OAuth 2.0メソッドで関数を利用できるようにするには、まずクライアントをZoho CRMに登録する必要があります。クライアントアプリケーションの登録方法については、こちらをご覧ください。

ただし、次のいくつかの点に注意する必要があります。

  1. HTTP GET方式を使用する場合のクライアントのスコープは、次のとおりです。

    ZohoCRM.functions.execute.READ

  2. HTTP POST方式を使用する場合のクライアントのスコープは、次のとおりです。

    ZohoCRM.functions.execute.CREATE

認証が完了したら、関数の作成に進むことができます。

関連項目

APIとして使用可能な関数を使用できる状況は数多くあります。たとえば、組織の業績の統計データを確認し特定の制限を超えた場合にトリガーするように関数を設定できます。このドキュメントでは、関数がAPIとして提供される外部ソースを介して実行されるサンプル関数を紹介しています。

サンプル関数:

シナリオ:

顧客の同意を得て、顧客をニュースレターに登録する必要があるとします。これは、セキュリティーを有効にし、プライバシーを侵害しないようにするためです。

連絡先データの表示ページにボタンがあります。ボタンをクリックするとウィジェットが開き、(エージェントが入力する)登録フォームが表示されます。ウィジェットを作成するには、ウィジェットのヘルプを参照してください。

ウィジェットを通じて、登録フォームが送信されます。同意フォームが記載されたメールを投稿すると、お客さまに送信されます。お客さまが同意フォームに同意すると、連絡先に関する情報がMailChimpのキャンペーンのリストに追加されます。

必要なアプリケーション:

  • MailChimp - ニュースレター用
  • Google ドライブ - 同意フォーム

要件:

  1. MailChimpとGoogle ドライブの外部連携を設定してください。
  2. この関数で、MailChimpとGoogle ドライブAPIを呼び出します。
  3. 関数をAPIに変換します。
  4. ウィジェットを作成し、その中で関数を呼び出します。

外部連携の設定:

関数で外部サービスアプリケーションを利用してデータ転送をしやすくするには、まずZoho CRMと外部サービスソフトウェアとの連携を設定する必要があります。この例では、MailChimpとGoogle ドライブが使用されます。詳細はこちらをご覧ください

MailChimpの場合:

Google ドライブの場合:

関数の作成:

要件に従って関数を作成する手順は、2つの部分に分かれています。

パート1:関数コードの書き込み

次のコードを使用してスタンドアロン関数を作成してください。

関数コードは次のとおりです。

+

string subscribeNewsletter(string listId,string emailAddress,string extraDetails){
  mailChimpURL = "https://us18.api.mailchimp.com/3.0/";
  if(isNull(listId))
  {
    //デフォルトリスト
    listId = "2a9a3690fd";
  }
  if(isNull(emailAddress))
  {
    return "Email Address cannot be null";
  }
  //すべてのメンバーを取得
  membersList = invokeurl
  [
    url :mailChimpURL + "/lists/" + listId + "/members"
    type :GET
    parameters:""
    connection:<CONNECTION_LINKNAME>
  ];
  //リストに登録されているメンバー
  for each memberInfo in membersList.get("members")
  {
    if(emailAddress.equals(memberInfo.get("email_address")))
    {
      return "The member is already subscribed to Zoho Newsletter";
    }
  }
  //Google ドライブからすべてのドキュメントを入手する
  gdriveURL = "https://www.googleapis.com/drive/v2/files";
  fileList = invokeurl
  [
    url :gdriveURL
    type :GET
    parameters:""
    connection:<CONNECTION_LINKNAME>
  ];
  //同意フォームのダウンロードURLを取得する
  webContentLink = null;
  for each fileInfo in fileList.get("items")
  {
    title = fileInfo.get("title");
    if(title.equals("Consent-Form.docx"))
    {
      webContentLink = fileInfo.get("webContentLink");
      break;
    }
  }
  if(isNull(webContentLink))
  {
    return "No Document Found on Drive.Docuemnt Name ::: Consent-Form.docx";
  }
  //通知を送信 -
  name = "Guest";
  signature = "Zoho";
  if(!isNull(extraDetails))
  {
    if(extraDetails.contains("name"))
    {
      name = extraDetails.get("name");
    }
    if(extraDetails.contains("signature"))
    {
      signature = extraDetails.get("signature");
    }
  }
  sendmail
  [
    from :zoho.adminuserid
    to :emailAddress
    subject :"consent form"
    message :"Hi " + name + ",<expression></expression><div><br></div><div>Zohoニュースレターの登録を申し込むには、</div><br /><div><br /><a target='_blank' href='" + webContentLink + "'>同意フォーム</a>をダウンロードしてnewsletter@xyz.comにメールで送信してください。</div><div><br></div><div><br></div><div>よろしくお願いいたします。</div><div>" + signature + "<br></div>" ]   if(extraDetails.contains("mobile"))
  {
    sendsms
    [
      to :extraDetails.get("mobile")
      message:"Consent Form has been sent to your mail id :- " + emailAddress
    ];
  }
  return "Consent form sent successfully"; }

 

  • リクエストボディー全体を関数内で使用することはできません。引数内で送受信する必要があります。

リクエストボディー全体を含む引数を設定してください。

上記の関数では、関数引数の1つとして「extraDetails」があります。これは、ユーザーから名前と署名を取得するために使用されます。これは、関数に渡される引数の数を知る方法がない場合に役立ちます。

関数の中に存在する引数の数を知る方法がないので、1つの引数(この場合は「extraDetails」)の中にリクエストボディー全体を含めることができます。

  • 「listId」の値は「2a9a3690fd」になります(nullの場合)。
  • 「emailAddress」は必須です。
  • 「extraDetails」引数は、リクエストボディー全体を含む、追加情報を渡すために提供されます。
  • 「listId」、「emailAddress」は文字列型です。
  • 「extraDetails」は文字列型であり、JSONを「extraDetails」で渡しています。

パート2:関数をAPIとして使用可能にする

関数が作成、テスト、保存されたら、関数をAPIに変換できます。

  1. [設定] > [開発者向け情報] > [関数]に移動してください。
  2. APIの作成が必要な、対応する関数の[設定]アイコンをクリックしてください。
  3. [REST API]をクリックしてください。
  4. [OAuth2]スライダーを有効にします。
  5. [保存]をクリックしてください。

ウィジェット内での関数の呼び出し

今度は実際の作業部分です。この関数はAPI呼び出しに変換されているため、任意のウィジェット、アプリ、またはソフトウェアでその関数のAPIコードを使用し、要件に基づいてトリガーするように設定できます。

ウィジェットを作成するには、次のHTMLコード(ニュースレターの同意フォーム)を使用します。ウィジェットの作成方法については、ここをクリックしてください。

HTMLコード

<h2>XYZ Newsletter</h2>
<div class="container">
<h2<Subscribe to our Newsletter</h2>
</div>
<div class="container" style="background-color:white">
<input type="text" id="name" placeholder="Name" name="name" required>
<input type="text" placeholder="Email address" name="mail" required id="email">
<label>
<input type="checkbox" checked="checked" name="subscribe">Daily Newsletter
</label>
</div>
<div class="container">
<input type="submit" value="Subscribe" id="subscribeButton">
</div>
<span id="res1">登録を申し込むには上のボタンをクリックしてください</span>

スクリプト(JavaScript):

<script type="text/javascript">

$("#subscribeButton").click(function() {
  var extraDetails = {};
  extraDetails.name = $("#name").val();
  extraDetails.signature = "XYZ";
  var arguments = {};
  arguments.extraDetails = extraDetails;
  arguments.emailAddress = $("#email").val();
  var data = {
      "arguments": JSON.stringify(arguments),
  }

  ZOHO.embeddedApp.init()
    .then(function() {

      ZOHO.CRM.FUNCTIONS.execute("subscribenewsletter", data)
        .then(function(resp) {
        $('#res1').text(JSON.stringify(resp));
        }).catch(function(resp) {
          $('#res1').text(JSON.stringify(resp));
        })
    });
});

  • 上記のスクリプトは、CRM内に配置されたウィジェットに対してのみ機能します。
  • 関数の連携タスクの詳細については、ここをクリックしてください。

結果:

ニュースレターの登録:

登録メールの取得:

同意フォームがメーラーに返送されると、ニュースレター登録が有効になります。

サーバーレス関数を使用しない場合の欠点:

ユーザーは次の操作を手動で行う必要があります。

  • アプリケーションをMailChimpとGoogle ドライブに登録する。
  • OAuth2フローを処理するためのコーディングを行う。
  • MailChimp APIを呼び出して、ユーザーの有無を確認する。
  • Google ドライブAPIを呼び出して、ドキュメントのURLを取得する。
  • お客さまにメールとSMSを送信するためのコーディングを行う。

上記の手順からわかるように、多くの関連する手順があり、ウィジェットのコードとウィジェットの機能を手動で記述する必要があります。しかし、この方法は時間がかかり、多くの手作業が必要になります。サーバーレス関数として機能させることで、このような事態を回避できます。