使用 Web API 发送电子邮件不反映“发件人”和“收件人”数据

问题描述 投票:0回答:2

我想使用 MS Dynamics Web API 创建电子邮件。

我在这里发布数据

{
  "sender": "[email protected]",
  "torecipients": "[email protected]",
  "subject": "Test Subject New 1234567",
  "description": "Test Description New 1234567"
}

但是发件人收件人未反映在Dynamics CRM中。 仅显示主题描述

我有什么遗漏的吗?

javascript dynamics-crm microsoft-dynamics dynamics-crm-365 dynamics-crm-webapi
2个回答
3
投票

您必须填充集合值导航属性

email_activity_parties
来填充
From
To
字段。
sender
torecipients
是仅用于报告目的的字段,其中包含这些活动各方的电子邮件地址。

    var email = {};
    email["subject"] = "Email demo from Web API";
    email["description"] = "This a web api test";
    email["[email protected]"] = "/contacts(C41CE33F-D0A0-E611-811E-5065F38C8781)";

    //activityparty collection
    var activityparties = [];
    //from party
    var from = {};
    from["[email protected]"] = "/systemusers(8D23B2C1-9869-4C3F-9A80-BA51375C1784)";
    from["participationtypemask"] = 1;

    //to party
    var to = {};
    to["[email protected]"] = "/contacts(C41CE33F-D0A0-E611-811E-5065F38C8781)";
    to["participationtypemask"] = 2;

    activityparties.push(to);
    activityparties.push(from);

    //set to and from to email
    email["email_activity_parties"] = activityparties;

了解更多

编辑

JSON 将如下所示:

{
  "subject": "Test Subject New 1234567",
  "description": "Test Description New 1234567",
  "[email protected]": "/contacts(<GUID>)",
  "email_activity_parties": [
    {
      "[email protected]": "/contacts(<GUID>)",
      "participationtypemask": 2
    },
    {
      "[email protected]": "/systemusers(<GUID>)",
      "participationtypemask": 1
    }
  ]
}

0
投票

通过这种方法,From vales 会被填充,但 CC 和 To vales 不会被填充。

将此函数与数据帧输入一起使用。

def transform_df(df):
        result = []
        for index, row in df.iterrows():  
            entity_binding = f"/{row['partyid_entitytype']}s({row['partyid'].upper()})"
            if row['participationtypemask'] == 1:
                if row['partyid_entitytype'] == '':
                    result.append({
                        f"addressused": f"{row['addressused']}",
                        "participationtypemask": row['participationtypemask']
                                    })
                else:
                    result.append({
                    f"partyid_{row['partyid_entitytype']}@odata.bind": f"{row['addressused']}",
                    "participationtypemask": row['participationtypemask']
                                    })
            elif row['participationtypemask'] == 2:
                if row['partyid_entitytype'] == '':
                    result.append({
                        f"addressused": f"{row['addressused']}",
                        "participationtypemask": row['participationtypemask']
                                    })
                else:
                    result.append({
                    f"partyid_{row['partyid_entitytype']}@odata.bind": entity_binding,
                    "participationtypemask": row['participationtypemask']
                                    })
            elif row['participationtypemask'] == 3:
                result.append({
                    f"addressused": f"{row['addressused']}",
                    "participationtypemask": row['participationtypemask']
                })
            elif row['participationtypemask'] == 4:
                result.append({
                    f"addressused": f"{row['addressused']}",
                    "participationtypemask": row['participationtypemask']
                })
        return result
© www.soinside.com 2019 - 2024. All rights reserved.