ADDRESS 是一个合并字段,但文档(http://developer.mailchimp.com/documentation/mailchimp/reference/lists/members/)不清楚如何将其传递给 API,因为它有街道的子字段,邮编,城市等。有没有人有一个例子如何做到这一点?
问问题
6169 次
6 回答
23
这个 JSON 有效:
{
"addr1" : "first line",
"addr2" : "second line",
"city" : "city",
"state": "state",
"zip": "zip code",
"country": "country"
}
它记录在此处的架构中: https ://us1.api.mailchimp.com/schema/3.0/Lists/Members/MergeField.json
于 2017-05-31T09:25:06.940 回答
4
合并字段可以这样传递:
'FNAME' => $contact->first_name,
'LNAME' => $contact->last_name,
'ADDRESS' => (Object)[
'addr1' => $contact->fulladdress,
//'addr2' => $contact->address2,
'city' => $contact->city,
'state' => $contact->state_region,
'zip' => $contact->zip_postal_code,
'country' => $contact->country->shortcode,
'language' => $contact->language->code,
],
于 2019-07-06T13:29:14.857 回答
3
以防万一有人遇到同样的问题。
我创建了自己的地址类并尝试将ADDRESS
-MergeField 设置为 JSON 字符串,如下所示:
member.MergeFields["ADDRESS"] = Newtonsoft.Json.JsonConvert.SerializeObject(MyAddressObject);
这不会设置地址,但也不会返回错误。
需要分配一个Dictionary<string, object>
:
var adr = new Dictionary<string, object>
{
{ "addr1", "123 Whatever" },
{ "addr2", "" },
{ "city", "New York" },
{ "state", "NY" },
{ "zip", "12345" },
{ "country", "US" }
};
member.MergeFields["ADDRESS"] = adr;
于 2019-12-30T15:48:08.707 回答
2
它对我有用(php)
$address = new stdClass();
$address->addr1 = $customer->address;
$address->city = $customer->city;
$address->state = $customer->state;
$address->zip = $customer->zip;
$address->country = $customer->country;
$options = [
'status' => 'subscribed',
'email_address' => $customer->email,
'merge_fields' => [
'FNAME'=> $customer->first_name,
'LNAME'=> $customer->last_name,
'PHONE' => $customer->phone,
'ADDRESS' => $address,
]
];
...
curl_setopt($ch, CURLOPT_POSTFIELDS,json_encode($options));
...
于 2020-07-07T05:16:52.570 回答
0
蟒蛇答案
我收到错误是因为地址行 1 是空的。这是一个有效的复制和粘贴代码:
added_user= {}
added_user.update({'email_address': "ground0@yahoo.com"})
#status options: "subscribed", "unsubscribed", "cleaned", "pending", or "transactional"
added_user.update({'status': 'subscribed'})
address_dict = {
"addr1": "line 1",
"addr2": "made up address",
"city": "Kirkland",
"state": "WA",
"zip": "12345",
"country": "US",
"language": "en"
}
added_user.update({'merge_fields':{ 'FNAME': "Corona",'LNAME': "Virus", 'ADDRESS':address_dict}})
client.lists.members.create(list_id=list_id,data=added_user)
于 2020-04-01T06:28:51.187 回答
0
您可以创建自己的地址类并将其分配如下
public class Address
{
[JsonProperty("addr1")]
public string Address1 { get; set; }
[JsonProperty("addr2")]
public string Address2 { get; set; }
[JsonProperty("city")]
public string City { get; set; }
[JsonProperty("state")]
public string State { get; set; }
[JsonProperty("zip")]
public string Zip { get; set; }
[JsonProperty("country")]
public string Country { get; set; }
}
var address = new Address()
{
Address1 = "1 Main Street,
Address2 = "",
City = "Brooklyn",
State = "NY",
Zip = "11299",
Country = "US"
};
member.MergeFields["ADDRESS"] = address;
于 2021-02-04T02:30:23.473 回答