WebhookブロックのPATCHメソッド

WebhookブロックのPATCHメソッド


問い合わせの優先度やユーザーの電話番号など、外部アプリ/システムの一部のデータのみを更新したい場合があります。
WebhookブロックのPATCHメソッドでは、Zoho Desk、Zoho CRMなどの外部アプリ/システムに登録されている一部のデータを更新できます。以下では、WebhookブロックのPATCHメソッドの概要やよくある質問について説明します。


参考情報:自動ガイドボットのWebhookブロックの概要 

PATCHメソッドとは   

PATCHメソッドとは、APIを通じて既存のデータの一部を更新する仕組みです。データの一部のみを更新し、他のデータは既存の状態のまま保持できます。

PATCHメソッドを使用することで、以下の処理を行うことが可能です。
  1. 問い合わせのステータスを「未完了」から「対応中」に変更する
  2. 顧客の情報に関して、電話番号のみ更新する
  3. ユーザーのサブスクリプションの種類や通知の設定を変更する


使用するタイミング   

PATCHメソッドが役に立つタイミングは、以下のとおりです。
  1. 既存のデータに関して、一部の内容のみ更新したい
  2. 更新対象外のデータについては、そのまま保持したい
  3. Zoho Desk、Zoho CRMなどの外部アプリ/システムの一部のデータを更新したい
  4. チャット内において連絡先情報の更新や問い合わせのステータスの変更があった際に、これらの内容を外部アプリ/システムに反映させたい
すべてのデータを更新せずに、特定のデータを更新したい場合に役立ちます。
使用例
顧客が既存の問い合わせのステータスを更新したいとします。この場合、以下のようにPATCHメソッドを使用することで、問い合わせのステータスを更新できます。
 
PATCHメソッドのURL:

リクエストボディ
 

   "status": "In Progress" 
 } 

これにより、以下の処理が実行されます。
  1. [ステータス]の項目の値のみ更新されます。
  2. 問い合わせの他の値は保持されます。
  3. サーバーによってステータスのみが更新され、他の値は保持されます。

APIのレスポンス

 { 
   "ticket_id": "TX12345", 
   "status": "In Progress" 
 }

ボットのレスポンスを使用することで、以下のように更新確認を行うことが可能です。
「問い合わせ(番号:TX12345)のステータスを[対応中]に変更しました。確認後、担当者が確認いたします。」

ボディ(本文)   

PATCHメソッドでは、更新対象の項目の情報を含むリクエストボディ(JSON形式)の情報が必要です。

Webhookブロックでリクエストボディの情報を入力する方法は、以下のとおりです。
  1. 手動での入力:編集画面で対象のJSONまたはフォームデータを直接入力できます。
  2. ファイルのアップロード:データが多い場合やテンプレートを再使用する場合、JSON形式の構造データを含むファイルを使用できます。
  3. 動的変数の使用:動的変数を挿入し、リクエストをカスタマイズできます。自動ガイドボットでは、「@」(アットマーク)に続けて変数名を入力することで、変数を挿入することが可能です(例:@ticket_id、@user_phone)。これらの変数の値は、会話フローでチャットの利用者が入力/選択した値に置き換えられます。
フォームデータ
フォームデータ
特定のサービスや長く使用されているAPIなどの一部のAPIでは、JSONではなくフォームデータが必要です。この場合、以下のようにキーと値のペアを入力します。
 
name = {{user.name}} 
 email = {{user.email}} 
 message = {{user.query}}   

APIの対応形式(JSONまたはフォームデータ)や必須項目に関する詳細については、APIドキュメントをご参照ください。
 

PATCHメソッドのメリット   


  1. 必要な情報のみを更新できます。
  2. 対象外のデータを削除、変更してしまう可能性を低減できます。
  3. チャットでのやりとりを通じて、データをリアルタイムで更新できます。
  4. 必要に応じて、複数の項目の値を更新できます。

  

PATCHメソッドとPUTメソッドの違い  

PATCHメソッドとPUTメソッドは、両方とのAPIを通じて既存のデータを更新する仕組みですが、機能の内容が異なります。

PUTメソッドとPATCHメソッドの違い
PUTメソッドとPATCHメソッドの違い
PUTメソッドとPATCHメソッドの主な違いは、以下の表のとおりです。

機能
PUTメソッド
PATCHメソッド
更新の種類
すべてのデータの更新(すべてのデータを置換する)
一部のデータの更新(特定の項目の値のみ変更する)
必要なデータ
対象のデータの全体
更新対象の項目のみ
使用例
すべてのデータを置換、更新する
特定の値のみ変更する
APIの動作
すべてのデータを上書きする
指定されていない項目の値は保持する
 
PUTメソッドでは対象のデータのすべての値が更新されるのに対して、PATCHメソッドでは対象のデータの一部の値のみが更新されます。
 そのため、一部の値のみを更新したい場合はPATCHメソッドを、すべての値を更新したい場合はPUTメソッドを使用することをお勧めします。

PUTメソッドに関する詳細については、こちらをご参照ください
 

Webhookブロックの各メソッドの違い 

GET
POST
PUT
PATCH
DELETE
GET
主な使用目的
一般的な使用例
リクエストボディ

サーバーからデータを取得する
ユーザー情報の取得
問い合わせの履歴の取得
ナレッジベースの記事の取得
×
メールアドレスをもとに顧客のサブスクリプション情報を表示する
POST
主な使用目的
一般的な使用例
リクエストボディ

外部アプリ/システムに新しいデータを作成する
新しい問い合わせの作成
フォームの送信
ユーザーのフィードバックの記録
○(例:JSON)
チャットの利用者の情報をもとにZoho Deskで新しい問い合わせを作成する
PUT
主な使用目的
一般的な使用例
リクエストボディ

既存のデータを更新する/置き換える
問い合わせのステータスの更新
連絡先情報の更新
サブスクリプション情報の変更
○(すべてのデータ)
問い合わせの優先度を「緊急」に変更する
PATCH
主な使用目的
一般的な使用例
リクエストボディ

既存のデータの一部を更新する
問い合わせの優先度の更新
顧客の電話番号の変更
特定の項目の更新
○(一部のデータ)
問い合わせのステータスの項目のみを「対応中」に更新する
DELETE
主な使用目的
一般的な使用例
リクエストボディ

サーバーからデータを削除する
問い合わせの削除
ユーザーの登録解除
顧客のデータの削除
任意
ユーザーの問い合わせを削除する

よくある質問   

PATCHメソッドはZoho Deskで使用できますか?
はい、一部のエンドポイントで使用できます。PATCHメソッドに対応している機能やデータについては、Zoho DeskのAPIドキュメントをご参照ください。
POSTメソッドのテストを行うことはできますか?
はい、できます。Postmanなどのツールを使用して、PATCHメソッドの実行やレスポンスに関するテストを行うことが可能です。
PATCHメソッドを通じて複数の項目の値を更新できますか?
はい。APIに対応している場合であれば、更新対象の項目として複数の項目を指定できます。

使用に関するヒント   


  1. PATCHメソッドを使用するにあたって、テストすることをお勧めします。
  2. 対象のデータのすべての値を更新する必要がない場合は、PATCHメソッドを使用して値を更新することをお勧めします。
  3. チャットの利用者に対して、データの更新に関する確認メッセージを表示することをお勧めします。
  4. リクエストの内容が簡潔になるように、更新する必要のあるデータの情報のみを指定してください。