【问题标题】:Mailchimp API adding tags to new and existing membersMailchimp API 向新成员和现有成员添加标签
【发布时间】:2020-07-07 14:52:18
【问题描述】:

我正在尝试做一个简单的 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)
            )
        ));
    }

【问题讨论】:

  • 您所说的“除 TAG 之外的一切都有效”到底是什么意思?您预计“TAG”会发生什么,而实际上发生了什么?
  • 向该订阅者添加标签。它添加订阅者 fname、lname 和电子邮件,但不添加 TAG
  • 您希望标签出现在哪里?您在查看什么来确定未添加标签?
  • mailchimp 内部!您可以在某些订阅者进来时对其进行标记。mailchimp.com/developer/reference/lists/list-members/…
  • 根据该页面,您应该向/lists/{list_id}/members/{subscriber_hash}/tags 发出 POST 请求。我看不出这段代码在哪里做的。

标签: json mailchimp mailchimp-api-v3.0


【解决方案1】:

实际上 Mailchimp API 提供向现有成员或联系人添加标签。所以你可以肯定地添加标签。添加新标签会有所帮助。

您可以在创建会员或联系人后添加标签。所以下面的帖子请求帮助您创建或添加标签。在这里你可以看到当我发送 post 请求时,我得到了响应代码 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"
}   

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

Postman request sample image

【讨论】:

  • 是的,这在 Postman 和我创建的 Repl 中有效,但在实际代码中无效。
【解决方案2】:

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

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

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

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

Postman request sample image

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

谢谢。

【讨论】:

    【解决方案3】:

    下面是如何删除已经分配的标签并只添加需要它的标签。

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

    }

    【讨论】:

      猜你喜欢
      • 2021-05-22
      • 2020-05-26
      • 2019-09-25
      • 2021-01-16
      • 2017-10-19
      • 2016-02-08
      • 2015-09-18
      • 1970-01-01
      • 2019-07-12
      相关资源
      最近更新 更多