我正在尝试进行简单的JSON调用,以将标签添加到新订户或现有订户。
它将添加订户的名字,姓氏和电子邮件地址,但不添加标签。我不确定自己在做什么错。
这里是我所拥有的:
public function apiUrl() {
$apiKey = $this->Key;
$listId = $this->ListID;
$memberId = $memberId = md5(strtolower($this->Email));
$getapi = substr($this->escape($apiKey), strpos($this->escape($apiKey), '-') + 1);
return 'https://' . $this->escape($getapi) . '.api.mailchimp.com/3.0/lists/' . $this->escape($listId) . '/members/' . $this->escape($memberId);
}
public function jsonData() {
return json_encode(array(
'email_address' => $this->escape($this->Email),
'status' => $this->escape($this->Status),
'tags' => ['name' => 'Calendar Users', 'status' => 'active'],
'merge_fields' => array(
'FNAME' => $this->escape($this->FName),
'LNAME' => $this->escape($this->LName)
)
));
}
实际上是Mailchimp API,用于向现有成员或联系人添加标签。因此,您可以肯定地添加标签。添加新标签将很有帮助。
还有另一件事,您可以在创建成员或联系人后添加标签。因此,在发布请求后,下面的内容可帮助您创建或添加标签。在这里,当我发送发布请求时,您可以在图像中看到,我得到了响应代码200 OK。因此,首先您需要准备带有必需参数(list_id,segment_id)的发布请求。您只需要在正文部分传递“ email_address”。
因此,您需要先创建标签,因为我们需要标签或段ID。要创建新标签,请提出以下要求。
POST- https://us8.api.mailchimp.com/3.0/lists/{list_id}/segments
并且在正文中,您可以写成-
{
"name":"Tag_Name",
"static_segment":[]
}
因此,成功创建标签后,您将获得细分ID,并可以使用此ID在任何联系人或成员中添加(标签)。
添加标签的示例请求-
POST- `https://us8.api.mailchimp.com/3.0/lists/{list_id}/segments/{segments_id}/members`
并且在正文中,您可以写成-
{
"email_address": "[email protected]"
}
所以,继续执行此操作。我附上一张图片供您参考,请看。祝你好运。
我发现了另一种在成员中添加标签的方法。我认为在创建成员/联系人时在成员/联系人中创建或添加标签会更有用。
因此,您可以使用以下请求创建或添加标签-
POST - https://us8.api.mailchimp.com/3.0/lists/{list_id}/members/{member_id}/tags
您需要在正文中或根据要求传递标签数据/信息。 见下文-
{
"tags": [
{
"name" : "Tag_Name_1",
"status" : "active"
},
{
"name" : "Tag_Name_2",
"status" : "active"
}
]
}
因此,通过以上过程,您可以将Give标签添加到给定的member或member_id中。请参见下图要求创建或添加标签的图片,它将有所帮助。
NOTE-如果给定标签(标签名称)存在或在给定的list_id / audit下可用,它将使用tag_id,否则将创建标签并添加其ID(segment_id)。
谢谢。