前段
MailchimpでAudienceのfieldとして、Country/Regionを作ろうと思うと、まず第一に定義済みfiled type "address"を使うことを検討しうるが、これはフルレングスの住所をとることになってしまい、用途に適さない。したがって、Dropdown typeをつかって、表現することにする。
このCountry/RegionをISO-3166を使って選択式にしようと思う。MailchimpのGUIだと残念ながら一つずつ設定するしかないようだ。したがってMailchimp Marketing APIをつかって設定することとしよう。
Mailchimp APIを取る方法
Profile -> Extras -> API Keys にいって、取得する。ところでこのAPI Key、とても強い権限を付与してしまうので、無闇に使わない。
Mailchimp APIをつかう
取得したAPI KeyをBearerで設定するだけでAPIは使える
以下は大前提として、すでにAudienceを作成済みで、また、Fieldとして、ひとまずCountry/Regionは作成済みであるとする。
まずはCountry/Regionを設定したいAudienceのIDを取得する。
GET https://{$dc}.api.mailchimp.com/3.0/lists/
これでlist_idをとろう。これをつかって、merge-fieldsを取得し、Country/Regionに相当するmerge_idを得る。
GET https://{$dc}.api.mailchimp.com/3.0/lists/{$list_id}/merge-fields/
きっとJSONは以下のような形をしている。
{
"merge_id": NUMBER,
"tag": "COUNTRY",
"name": "Country / Region",
"type": "dropdown",
"required": false,
"default_value": "",
"public": false,
"display_order": 0,
"options": {
"choices": [
"SOMETHING"
]
},
"help_text": ""
}
このmerge-field を updateしよう。
PATCH https://{$dc}.api.mailchimp.com/3.0/lists/{$list_id}/merge-fields/{$merge_id}
データとしては以下のようなJSONを渡す
{
"default_value":"United States",
"options":
{
"choices":
["Afghanistan","Albania","Algeria",
...
"Zambia","Zimbabwe","Åland Islands"]
}
}