使用Mautic API创建电子邮件的文档为:
https://developer.mautic.org/#create-email

如果不指定参数列表,则无法创建电子邮件。
清单参数是这样指定的:

列表数组应该添加到细分电子邮件中的细分ID数组

如何使用Python通过HTTP发布发送参数列表,以便Mautic API可以理解它?

这会在Mautic中创建类型为“模板”(默认)的电子邮件。

emailData = {
    'name': 'Email-teste',
    'subject': 'Assunto teste',
    'isPublished': '1',
    'language': 'pt_BR',`enter code here`
    'customHtml' : '<strong>html do email<strong>'
}


但是我需要创建“列表”类型的电子邮件。

为此,必须指定每个列表ID。
列表是Mautic中的细分。...
我有一个ID为7的细分!

如何使用POST(Python请求)将细分ID发送到Mautic API?

emailData = {
    'name': 'Email-teste',
    'subject': 'Assunto teste',
    'emailType': 'list',
    'lists': '7',
    'isPublished': '1',
    'language': 'pt_BR',
    'customHtml' : '<strong>html do email<strong>'
}


我尝试了很多方法...而且我总是会犯错误:

u'errors': [{u'code': 400,
              u'details': {u'lists': [u'This value is not valid.']},
              u'message': u'lists: This value is not valid.'}]}


我确定我有一个ID为7的细分,如我在Mautic界面中所见。

我正在使用https://github.com/divio/python-mautic的修改版本

最佳答案

使用Python中的请求,我生成了一个网址安全的有效负载字符串,类似于以下内容,以便将列表ID传递给细分电子邮件:

lists%5B%5D=7


等于

lists[]=7


用简单的脚本。因此,您必须将[]直接放在键名的后面。

为了创建附有细分的电子邮件作为列表(细分电子邮件),在Postman的帮助下生成了以下代码:

import requests

url = "https://yourmauticUrl"

payload = "customHtml=%3Ch1%3EHello%20World%3C%2Fh1%3E&name=helloworld&emailType=list&lists%5B%5D=7"
headers = {
    'authorization': "your basic auth string",
    'content-type': "application/x-www-form-urlencoded",
    'cache-control': "no-cache"
    }

response = requests.request("PATCH", url, data=payload, headers=headers)

print(response.text)


考虑到您的特定问题,我可以想象您的代码应如下所示(尽管我不熟悉您的python lib):

emailData = {
    'name': 'Email-teste',
    'subject': 'Assunto teste',
    'emailType': 'list',
    'lists[]': '7',
    'isPublished': '1',
    'language': 'pt_BR',
    'customHtml' : '<strong>html do email<strong>'
}


希望这可以帮助!

关于python - 使用Mautic API,在创建电子邮件时如何发送参数“列表”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44145990/

10-10 15:00