1

我正在尝试进行简单的 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)
            )
        ));
    }
4

3 回答 3

2

实际上 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": "sample@email.com"
}   

所以,继续做这件事。我附上一张图片供您参考,请看。祝你好运。

邮递员请求示例图片

于 2020-04-29T16:24:47.747 回答
1

我发现了另一种在成员中添加标签的方法。我认为在创建成员/联系人时在成员/联系人中创建或添加标签更有帮助。

因此,您可以使用以下请求创建或添加标签 -

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"
                }
            ]
  }

因此,通过上述过程,您可以将给标签添加到给定成员或 member_id 中。请参阅下面的帖子请求图片以创建或添加标签,这将有所帮助。

邮递员请求示例图片

注意- 如果给定的标签(标签名称)在给定的 list_id/audience 下存在或可用,它将使用 tag_id,如果不存在,它将创建标签并添加它的 id(segment_id)。

谢谢你。

于 2020-05-01T16:19:25.957 回答
0

下面如何删除已分配的标签并仅添加所需的标签。

{
"tags": [
            {
                "name" : "status-user",
                "status" : "inactive"
            },                
            {
                "name" : "Unsubscribed_over_email",
                "status" : "inactive"
            }
            ,                
            {
                "name" : "status-user",
                "status" : "active"
            }
        ]

}

于 2020-10-01T11:57:06.003 回答