0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Mailchimp で Country/Region をユーザーからとれるようにする

Posted at

前段

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?