Moralis Webhooks

2022-05-12 11:32 更新

Webhook 允許您使用您希望使用的任何工具在自己的環(huán)境中編寫服務(wù)器端邏輯。 如果您想使用 JavaScript 以外的語(yǔ)言、自行托管以提高測(cè)試能力,或者如果您需要 Moralis Cloud Functions 中不可用的專用庫(kù)或技術(shù),這可能會(huì)很有用。

Webhook 目前可用于 beforeSave、afterSave、beforeDelete、afterDelete 和 cloud functions。

注意:目前無(wú)法為特殊類 ?_User? 和 ?_Installation? 設(shè)置自定義 webhook。

Cloud Function Webhooks

一個(gè) cloud function 的 webhook 請(qǐng)求將包含以下參數(shù):

  • ?master?:如果使用主密鑰則為真,否則為假。
  • ?user?:如果設(shè)置,這將包含發(fā)出請(qǐng)求的 Moralis 用戶,采用我們的 REST API 格式。 如果使用主密鑰,則不設(shè)置此項(xiàng)。
  • ?installationId?:如果可用,則為發(fā)出請(qǐng)求的installationId。
  • ?params?:一個(gè) JSON 對(duì)象,包含傳遞給函數(shù)的參數(shù)。 例如:{“foo”:“bar”}。
  • ?functionName?:云函數(shù)的名稱。

要響應(yīng)此請(qǐng)求,請(qǐng)發(fā)送一個(gè)帶有error或success key集合的 JSON 對(duì)象。

  • ?success?:發(fā)回您的客戶期望的任何數(shù)據(jù); 或者如果您的客戶不需要任何數(shù)據(jù),則只是 ?true?。
  • ?error?:提供的值應(yīng)該是你想要返回的錯(cuò)誤信息。

要為cloud function創(chuàng)建 webhook,首先在您自己的服務(wù)器上編寫函數(shù)代碼。

您可以從儀表板激活 webhook,如下所示:

spaces_-MVStbACGLCycg7J5WQ2_uploads_git-blob-6fbdd3498a3982be669af39b3d89420f216bc786_Moralis_dashboard_Webhook

設(shè)置 webhook 后,您可以從 Moralis SDK 調(diào)用它,就像使用普通cloud function一樣。

當(dāng)您想要使用 Moralis Cloud Functions 無(wú)法使用的專業(yè)技術(shù)時(shí),Webhook 非常有用。

beforeSave Webhook

對(duì)于觸發(fā)器,以下參數(shù)將發(fā)送到您的 webhook。

  • ?master?:如果使用主密鑰則為真,否則為假。
  • ?user?:如果設(shè)置,這將包含發(fā)出請(qǐng)求的 Moralis 用戶,采用我們的 REST API 格式。
  • ?installationId?:如果可用,則為發(fā)出請(qǐng)求的installationId。
  • ?object?:對(duì)于觸發(fā)器,這將包含 Moralis 對(duì)象,采用我們的 REST API 格式。 例如:{“className”:“TestObject”,“foo”:“bar”}。
  • ?triggerName?:“beforeSave”。

要響應(yīng) ?beforeSave ?請(qǐng)求,請(qǐng)發(fā)送一個(gè)帶有?error?或?success ?key 的 JSON 對(duì)象。

這與cloud function相同,但 ?beforeSave? 觸發(fā)器有一個(gè)額外的功能。 通過(guò)返回錯(cuò)誤,您將取消保存請(qǐng)求,并且該對(duì)象將不會(huì)存儲(chǔ)在 Moralis 中。 您還可以返回以下格式的 JSON 對(duì)象,以覆蓋將為對(duì)象保存的值:

{
  "className": "AwesomeClass",
  "existingColumn": "sneakyChange",
  "newColumn": "sneakyAddition"
}

afterSave Webhook

就像我們?cè)谄胀╟loud function中看到的那樣,也可以在使用 webhook 保存對(duì)象后運(yùn)行一些代碼。 發(fā)送到您的 webhook 的參數(shù)與 ?beforeSave? 觸發(fā)器的參數(shù)相同,但為了清楚起見,我們將在此處重復(fù)它們。

  • ?master?:如果使用主密鑰則為真,否則為假。
  • ?user?:如果設(shè)置,這將包含發(fā)出請(qǐng)求的 Moralis 用戶,采用我們的 REST API 格式。
  • ?installationId?:如果可用,則為發(fā)出請(qǐng)求的installationId。
  • ?object?:對(duì)于觸發(fā)器,這將包含 Moralis 對(duì)象,采用我們的 REST API 格式。 例如:{“className”:“TestObject”,“foo”:“bar”}。
  • ?triggerName?:“afterSave”。

?afterSave ?觸發(fā)器不需要響應(yīng)。

beforeDelete Webhook

您還可以將 webhook 用于 ?beforeDelete ?觸發(fā)器。 發(fā)送到 webhook 的參數(shù)與 ?beforeSave ?和 ?afterSave ?觸發(fā)器的參數(shù)相同,但為了清楚起見,我們將在此處重復(fù)它們。

  • ?master?:如果使用主密鑰則為真,否則為假。
  • ?user?:如果設(shè)置,這將包含發(fā)出請(qǐng)求的 Moralis 用戶,采用我們的 REST API 格式。
  • ?installationId?:如果可用,則為發(fā)出請(qǐng)求的installationId。
  • ?object?:對(duì)于觸發(fā)器,這將包含 Moralis 對(duì)象,采用我們的 REST API 格式。 例如:{“className”:“TestObject”,“foo”:“bar”}。
  • ?triggerName?:“beforeDelete”。

就像cloud function一樣,要響應(yīng) ?beforeDelete? 請(qǐng)求,發(fā)送一個(gè)帶有?error?或?success?集合的 JSON 對(duì)象。 返回錯(cuò)誤將取消刪除,并且該對(duì)象將保留在您的數(shù)據(jù)庫(kù)中。

afterDelete Webhook

?afterDelete ?觸發(fā)器也可以通過(guò) webhook 訪問(wèn)。 發(fā)送到您的 webhook 的參數(shù)與其他觸發(fā)器的參數(shù)相同,但為了清楚起見,我們將在此處重復(fù)它們。

  • ?master?:如果使用主密鑰則為真,否則為假。
  • ?user?:如果設(shè)置,這將包含發(fā)出請(qǐng)求的 Moralis 用戶,采用我們的 REST API 格式。
  • ?installationId?:如果可用,則為發(fā)出請(qǐng)求的installationId。
  • ?object?:對(duì)于觸發(fā)器,這將包含 Moralis 對(duì)象,采用我們的 REST API 格式。 例如:{“className”:“TestObject”,“foo”:“bar”}。
  • ?triggerName?:“afterDelete”。

?afterDelete ?觸發(fā)器不需要響應(yīng)。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)