共用方式為


定義自訂管道

適用的管道:SMS、自訂

現在您已定義自訂管道的各個部分,接下來可以開始定義管道。 在此步驟中,您會在一個中繼資料檔案中連接所有先前的部分,該檔案是管道定義實體 (msdyn_channeldefinition) 的記錄。

重要

如果您要直接在自訂檔案中設定中繼資料記錄,請確定 GUID 是小寫。

管道定義合約

實體邏輯名稱:msdyn_channeldefinition

實體集名稱:msdyn_channeldefinitions

主要識別碼屬性名稱:msdyn_channeldefinitionid

  • msdyn_displayname:字串 - 選用。 管道的顯示名稱。
  • msdyn_description:字串 - 選用。 管道的描述。
  • msdyn_channeltype:字串 - 必要。 支援的值:自訂、SMS。
  • msdyn_outboundendpointurltemplate:字串 – 必要。 輸出流程的自訂 API 名稱。
  • msdyn_hasinbound:位元 - 必要。 指出管道是否支援入站訊息的布林值。
  • msdyn_hasdeliveryreceipt:位元 - 必要。 指出管道是否支援傳遞收據的布林值。
  • msdyn_supportsaccount:位元 - 必要。 指出管道是否支援帳戶層級設定的布林值。 對於 SMS,這必須為 True;否則為 False。
  • msdyn_channeldefinitionexternalentity:字串 - 必要。 CDS 實體的名稱,表示管道執行個體的延伸設定。
  • msdyn_channeldefinitionexternalformid:GUID - 必要。 要呈現的表單識別碼,以顯示延伸管道執行個體表格的設定。
  • msdyn_channeldefinitionaccountexternalentity:字串 - 選用。 CDS 實體的名稱,表示管道執行個體帳戶的延伸設定。
  • msdyn_channeldefinitionaccountexternalformid:字串 - 選用。 要呈現的表單識別碼,以顯示延伸管道執行個體帳戶表格的設定。
  • msdyn_messageformid:GUID - 選用。 定義代表管道訊息編輯器的表單。

管道會在 customizations.xml 中定義為解決方案元件。 將每個 msdyn_channeldefinition置放在 ImportExportXml>msdyn_channeldefinitions 元素下 。 每個訊息組成部分元素 msdyn_channeldefinition 都必須以 GUID 的形式包含其本身的唯一識別碼,做為 XML 屬性 msdyn_channeldefinitionid。 匯入解決方案時,msdyn_channeldefinition 資料表中會建立新的資料列。

在下列範例中,請注意:

  • msdyn_channeldefinitionexternalentitymsdyn_channeldefinitionexternalformid 會包含您在定義管道執行個體時所建立之實體的名稱和表單識別碼。
  • msdyn_channeldefinitionaccountexternalentitymsdyn_channeldefinitionaccountexternalformid 會包含您在定義管道執行個體帳戶時所建立之實體的名稱和表單識別碼。
  • msdyn_messageformid 會包含您在定義自訂訊息編輯器時所建立的表單識別碼。
  • msdyn_outboundendpointurltemplate 會包含您在定義自訂 API 時所建立的自訂 API。

包含管道定義的 customizations.xml 範例:

<ImportExportXml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <msdyn_channeldefinitions>
    <msdyn_channeldefinition msdyn_channeldefinitionid="af0c2a3c-85a5-43b3-84be-2a4a171249f3">
      <msdyn_channeldefinitionaccountexternalentity>cr65f_samplechannelinstanceaccount</msdyn_channeldefinitionaccountexternalentity>
      <msdyn_channeldefinitionaccountexternalformid>3071133f-1208-4dc1-8eba-4d4724961029</msdyn_channeldefinitionaccountexternalformid>
      <msdyn_channeldefinitionexternalentity>cr65f_samplechannelinstance</msdyn_channeldefinitionexternalentity>
      <msdyn_channeldefinitionexternalformid>7d2b885a-80eb-479d-b0c3-600bc41e9789</msdyn_channeldefinitionexternalformid>
      <msdyn_channeltype>Custom</msdyn_channeltype>
      <msdyn_description>Metadata definition for sample custom channel</msdyn_description>
      <msdyn_displayname>Sample custom channel</msdyn_displayname>
      <msdyn_hasdeliveryreceipt>0</msdyn_hasdeliveryreceipt>
      <msdyn_hasinbound>0</msdyn_hasinbound>
      <msdyn_messageformid>69723cfe-3835-4126-ab9a-a82a5b88c21d</msdyn_messageformid>
      <msdyn_outboundendpointurltemplate>/cr65f_OutboundCustomApi</msdyn_outboundendpointurltemplate>
      <msdyn_specialconsentrequired>0</msdyn_specialconsentrequired>
      <msdyn_supportsaccount>0</msdyn_supportsaccount>
      <msdyn_supportsattachment>0</msdyn_supportsattachment>
      <msdyn_supportsbinary>0</msdyn_supportsbinary>
      <statecode>0</statecode>
      <statuscode>1</statuscode>
    </msdyn_channeldefinition>
  </msdyn_channeldefinitions>
</ImportExportXml>

範例解決方案

下列範例包含 Dataverse 和外掛程式專案的解壓縮解決方案。 若要壓縮並匯入這些解決方案,請先建立外掛程式專案。 專案會將組件複製到解決方案專案。 接著,使用解決方案壓縮工具來壓縮解決方案。

如何組建外掛程式專案和壓縮解決方案

  1. 使用 MSBuild 或 Visual Studio 組建外掛程式專案。

    建置專案會在 Dataverse 解決方案資料夾內的 PluginAssemblies 資料夾中建立 DLL。

  2. 使用解決方案封裝工具來打包非管理的資料夾,方法是兩者其中之一:

    pac solution pack --zipfile C:\tmp\SampleCustomChannelSolution.zip -f src\Solutions\Samples\SampleCustomChannel\SampleCustomChannel.Solution\unmanaged --packagetype Both