我使用PHP包装器为Mailchimp API v3进行了测试。它对我很有用但是当我使用POST为#34;创建细分"创建一个请求时收到错误(附上截图):
请求代码是(通过关联数组) -
$api_key = "xxxxxxxxxxxxxxxx-us11";
$list_id = "1xx2xx3xx4xx";
$MailChimp = new MailChimp($api_key);
$result = $MailChimp->post('lists/' . $list_id . '/segments', array('name' => 'Testing Data',
'options' => array('match' => 'all',
'conditions' => array('field' => 'type', 'op' => 'is', 'value' => 'Testing'))
));
此请求调用返回以下错误 -
数组(大小= 2)'字段' =>字符串' options.conditions' (长度= 18) '消息' => string' Schema描述了数组,而是找到了对象' (长度= 44)
我也会尝试创建Request(通过关联数组) -
方法1:
$api_key = "xxxxxxxxxxxxxxxx-us11";
$list_id = "1xx2xx3xx4xx";
$MailChimp = new MailChimp($api_key);
$result = $MailChimp->post('lists/' . $list_id . '/segments', array('name' => 'Testing Data',
'options' => array('match' => 'all',
'conditions' => array(array('field' => 'type', 'op' => 'is', 'value' => 'Testing')))
));
方法2:
$api_key = "xxxxxxxxxxxxxxxx-us11";
$list_id = "1xx2xx3xx4xx";
$MailChimp = new MailChimp($api_key);
$result = $MailChimp->post('lists/' . $list_id . '/segments', array('name' => 'Testing Data 4',
'options' => array('match' => 'all',
'conditions' => array(array('field' => 'type'), array('op' => 'is'), array('value' => 'Testing')))
));
这两种方法都会在mailchimp帐户上创建段,但没有任何条件。见截图 -
如何覆盖此问题?
答案 0 :(得分:0)
您缺少condition_type参数。它应该从端点文档中的MailChimp提供的列表中选择。
例如,如果MailChimp列表中的字段“type”是文本字段,则应使用'condition_type': 'TextMerge'
。在这种情况下,条件应具有以下格式:
[
{
'condition_type': 'TextMerge',
'field': 'type',
'op': 'is',
'value': 'Testing'
}
]
但是,MailChimp可能在此端点中存在错误,因为TextMerge仅适用于EMAIL字段。我最近也偶然发现了这个问题:
Mailchimp api v3 - can't create segment based on a TEXT merge field