Споделяне чрез


Дефиниране на персонализирания канал

Приложими канали: SMS, по поръчка

Сега, след като сте дефинирали частите на персонализирания си канал, е време да дефинирате канала. Тази стъпка е мястото, където свързвате всички предишни парчета в един файл с метаданни, който е запис на обекта за дефиниране на канал (msdyn_channeldefinition).

Важно

Ако конфигурирате записи на метаданни директно във файла за персонализиране, уверете се, че GUID са с малки букви.

Договор за дефиниране на канал

Логическо име на обект: msdyn_channeldefinition

Име на набор от обекти: msdyn_channeldefinitions

Име на атрибут на първичен ИД: msdyn_channeldefinitionid

  • msdyn_displayname: низ - По избор. Показвано име на канала.
  • msdyn_description: низ - По избор. Описание на канала.
  • msdyn_channeltype: низ - Задължително. Поддържани стойности: Custom, SMS.
  • msdyn_outboundendpointurltemplate: string – Задължително. Име на потребителски API за изходящия поток.
  • msdyn_hasinbound: бит - Задължително. Булева стойност, указваща дали каналът поддържа входящи съобщения.
  • msdyn_hasdeliveryreceipt: бит - Задължително. Булева стойност, показваща дали каналът поддържа разписка за доставка.
  • msdyn_supportsaccount: бит - Задължително. Булева стойност, показваща дали каналът поддържа конфигурация на ниво акаунт. За SMS трябва да е вярно; В противен случай, невярно.
  • msdyn_channeldefinitionexternalentity: низ - Задължително. Име на обекта CDS, представляващ разширена конфигурация на екземпляра на канала.
  • msdyn_channeldefinitionexternalformid: GUID - Задължително. ИД на формуляра, който трябва да се рендира за показване на конфигурацията на таблицата с екземпляри на разширения канал.
  • msdyn_channeldefinitionaccountexternalentity: низ - по избор. Име на обекта CDS, представляващ разширена конфигурация на акаунта на екземпляра на канала.
  • msdyn_channeldefinitionaccountexternalformid: низ - По избор. ИД на формуляра, който трябва да се рендира за показване на конфигурацията на таблицата с екземпляри на разширен канал.
  • msdyn_messageformid: GUID - По избор. Дефинира формуляр, представляващ редактора на съобщения за канала.

Каналите са дефинирани в customizations.xml като компоненти на решението. Поставете всеки msdyn_channeldefinition под ImportExportXml>msdyn_channeldefinitions елементи. Всеки елемент msdyn_channeldefinition от частта на съобщението трябва да включва свой собствен уникален ИД под формата на GUID като msdyn_channeldefinitionid на XML атрибута. Когато вашето решение се импортира, в таблицата msdyn_channeldefinition се създава нов ред.

В следващия пример обърнете внимание, че:

  • msdyn_channeldefinitionexternalentity и msdyn_channeldefinitionexternalformid съдържат името и ИД на формуляра на обекта, който сте създали, когато сте дефинирали екземпляра на канала.
  • msdyn_channeldefinitionaccountexternalentity и msdyn_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.

    Изграждането на проекта създава DLL в папката PluginAssemblies в папката на Dataverse решението.

  2. Пакетирайте незавършената папка с пакета за решения, като използвате или:

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