Dynamics crm 如何使用WebApi在Dynamics Online中创建具有多个收件人地址的电子邮件

Dynamics crm 如何使用WebApi在Dynamics Online中创建具有多个收件人地址的电子邮件,dynamics-crm,dynamics-crm-webapi,Dynamics Crm,Dynamics Crm Webapi,我很难弄清楚如何实例化一个电子邮件模板,然后使用WebApi创建一个包含多个收件人地址的电子邮件 我看到很多帖子,其中一些是针对旧版本的CRM,或者他们使用了C。这个问答向您展示了工作代码的过程 以下是我提到的一些帖子: (具体回答如下:) 要使用电子邮件模板自动生成电子邮件内容,您需要使用“”操作 该操作将一个如下所示的对象作为输入: var instantiateTemplateRequest = { TemplateId: templateId, Obje

我很难弄清楚如何实例化一个电子邮件模板,然后使用WebApi创建一个包含多个收件人地址的电子邮件

我看到很多帖子,其中一些是针对旧版本的CRM,或者他们使用了C。这个问答向您展示了工作代码的过程

以下是我提到的一些帖子:

(具体回答如下:)

  • 要使用电子邮件模板自动生成电子邮件内容,您需要使用“”操作
  • 该操作将一个如下所示的对象作为输入:

    var instantiateTemplateRequest = {
            TemplateId: templateId,
            ObjectType: objectType,
            ObjectId: objectId,
    
            getMetadata: function () {
                return {
                    boundParameter: null,
                    parameterTypes: {
                        "TemplateId": {
                            "typeName": "Edm.String",
                            "structuralProperty": 1
                        },
                        "ObjectType": {
                            "typeName": "Edm.String",
                            "structuralProperty": 1
                        },
                        "ObjectId": {
                            "typeName": "Edm.String",
                            "structuralProperty": 1
                        }
                    },
                    operationType: 0,
                    operationName: "InstantiateTemplate"
                };
            }
        };
    
    然后可以传递给:

    Xrm.WebApi.online.execute(实例化TemplateRequest)

    返回的对象有两个属性:subject和description

  • 要从模板创建电子邮件,请执行以下操作:
  • 您需要使用创建电子邮件记录 它将以下类型的对象作为输入:

    var activityParties = [];
            activityParties.push({
                participationtypemask : participationTypeMasks.From,
                "partyid_queue@odata.bind" : "/queues("+ queueId+ ")"
            });
            //setup 2 send-to addresses
            activityParties.push({
                participationtypemask : participationTypeMasks.To,
                "partyid_account@odata.bind" : "/accounts(" + accountIdTo1 + ")"
            });
            activityParties.push({
                participationtypemask : participationTypeMasks.To,
                "partyid_account@odata.bind" : "/accounts(" + accountIdTo2 + ")"
            });
    
            //examples of using contacts        
            // activityParties.push({
            //     participationtypemask : participationTypeMasks.To,
            //      "partyid_contact@odata.bind" : "/contacts(00000000-0000-0000-0000-000000000000)"
            //  });
    
            //examples of using the current user as the from address
            //  var currentUserId = Xrm.Page.context.getUserId().replace("}", "").replace("{", "");
            //  activityParties.push({
            //     participationtypemask : participationTypeMasks.From,
            //      "partyid_systemuser@odata.bind" : "/systemusers("+currentUserId+")"
            //  });
    
            var email = {
                subject: emailTemplate.subject,
                description: emailTemplate.description,
                email_activity_parties: activityParties,
                "regardingobjectid_incident@odata.bind" : "/incidents(" + incidentId + ")"
            };
    
    返回值只是创建的记录的entityId

    我有完整的代码示例,可从以下网址获得: