Поделиться через


Определение пользовательского канала

Применимые каналы: 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.

В следующем примере,обратите внимание на следующее:

Пример файла 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. Упакуйте неуправляемую папку с помощью Solution Packager, используя один из следующих способов:

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