4

メンバーが Web アプリでメール アドレスを変更したときに、MailChimp API を使用してメンバーのメール アドレスを更新しようとしています。

私はLaravel MailChimp バンドルを使用しており、うまく機能しています (ユーザーのサブスクライブ、グループの更新、名前の更新などを行うことができます) が、merge_vars または何かが間違っている必要があります。

私はこれを使用します:

$member_details = array(
    // grabbed from config and working (also API key handled by bundle)
    'id' => $id,
    // passed from function - corresponds to the old email address
    'email_address' => $mailchimp_old_email,
    'merge_vars' => array(
        // Old email again?
        'EMAIL' => $mailchimp_old_email,     
        // new email address        
        'NEW-EMAIL' => $mailchimp_new_email, 
    ),
    'replace_interests' => FALSE,
);

$response = Mailchimp::listUpdateMember($member_details);

「$response = 1」なので、うまくいったと思いましたが、MailChimp でサブスクライバー リストを表示すると、ユーザーのメール アドレスは変更されていません。

1.3 API ドキュメントには、merge_vars の「EMAIL」と「NEW-EMAIL」の詳細を記載した listSubscribe があり、このスタックオーバーフローの投稿でそれについて読みました。既存のメンバーであっても、もう一度 listSubscribe を使用しようとしましたが、メンバーが既に購読されているという $response で失敗しました。

どこが間違っている可能性があるかについての推奨事項はありますか? この種の listUpdateMember API の使用法の明確な例は見つかりませんでした。

4

2 に答える 2

8

答えは非常に簡単です。

https://twitter.com/MailChimp_API/status/351674145609748480

どうやら NEW-EMAIL は merge_vars ではまったく必要なく、EMAIL だけです。

したがって、私の場合の作業コードは次のとおりです。

$member_details = array(
    // grabbed from config and working (also API key handled by bundle)
    'id' => $id,
    // passed from function - corresponds to the old email address
    'email_address' => $mailchimp_old_email,
    'merge_vars' => array(
        // new email address        
        'EMAIL' => $mailchimp_new_email,     
    ),
    'replace_interests' => FALSE,
);

$response = Mailchimp::listUpdateMember($member_details);

これはすぐに機能します。「NEW-EMAIL」は実際には必要ないように感じます (または、EMAIL を削除して「NEW-EMAIL」のみを使用する必要があります)。

于 2013-07-04T08:32:05.573 に答える
0

MailChimp API v3 を使用するように更新した場合は、それを行う新しい方法があります。

エンドポイントでpatchorputメソッドを使用します。/lists/members

email_addressプッシュするオブジェクトの「最上位」プロパティ ( API 2merge_fieldsで呼び出される と同じレベル) であり、新しい電子メール アドレスを表します。merge_vars

MailChimp ドキュメント

于 2016-12-02T15:49:23.887 に答える