PHP로 MailChiimpAPI 사용

7958 단어 MailChimpPHP

이메일


MailChimp
메일과 동시에 시스템의 임무를 발송할 수 있는 일반적인 클라우드 서비스입니다.
특징:
  • 엔지니어가 아닌 엔지니어도 쉽게 조작할 수 있는 충실한 GUI
  • GUI에서 well-formed HTML 메일을 간단하게 만들 수 있음
  • 동시 발송에 대해 조건을 사용하여 상세한 그룹 창설과 스케줄링을 할 수 있음
  • 당연히 우편물의 개봉 상황과 전환을 추적할 수 있습니다!
  • 참으로 좋은 일이 끊이지 않는다.그리고 어쨌든
  • API 충실, 기존 웹 시스템과 협업 가능
  • 크다지금까지 자사 서비스에서 자체 제작한 메일을 동시에 발송하는 시스템의 구조를 모두 MailChiimp에 맡겼다는 것이다.이거 못 넣을 방법 없어요.
    참조:
    무료로 이용할 수 있는 메일 발송 서비스인 MailChiimp은 정말 대단합니다.
    Developer | MailChimp
    이번에는 PHP+CakePHP3 환경에서 실제로 MailChiimp의 협업을 진행했기 때문에 당시의 요점을 정리했다.CakePHP로 실시됐지만 내용상 PHP 환경이 통용된다고 생각합니다.

    공식 Composter 라이브러리


    PHP에서 MailChiimpAPI를 사용하는 경우 MailChiimp에 공식적으로 Composier 라이브러리가 있기 때문에 이것을 추천합니다.그에 상응하는 완성도도 높아 이제는 유지되고 있다는 인상을 준다.
    mailchimp/mailchimp
    이 라이브러리 자체에는 문서가 없지만 Giithub 창고에 샘플 프로그램이 있습니다. 이것을 참고하세요!이런 거.
    mailchimp/mcapi2-php-examples

    실제로 써봤어요.


    할 일


    금번
  • 기존 웹 서비스의 로그인 사용자 정보를 메일 그룹으로 하는 List(메일 그룹) 하루 1회 대량 협업
  • 를 참고하십시오.

    API 키 생성


    MailChiimp 콘솔에서
    오른쪽 위에 있는 사용자 아이콘→Profile→Extras->ApiKey
    구문을 사용합니다.

    List 작성 및 List 고유 키 확인


    이번에 서비스와 협업한 리스트 제작 자체는 콘솔에서 진행됐다.
    전역 메뉴의 [List] -> 오른쪽 위에 있는 [CreateList]
    대화 상자가 목록을 생성합니다.
    List 제작 후, 제작된 List의 ▶ 메뉴에서
    [Settings] → [List name & defaults]
    , 화면 오른쪽에 있는 [ListID] 항목
    Typically, this is what they want: **********.
    이런 항목이 있으므로 ********************************************************************************

    리스트 필즈 만들기.


    공동정보의 핵심이 되는 것은 당연히 이메일 주소지만 이메일 주소 이외에 이용자의 이름과 로그인일 등도 추가 정보로 협력하기를 원한다.
    만들어진 리스트 화면에서.
    [Settings] -> [List fields and *|MERGE|* tags]

    추가 필드의 편집 화면 표시

    이런 느낌으로 관련 정보를 등록한다.
    점은 [Putthis tainyour content] 섹션이며 여기에 입력한 정보는 API를 통해 추가 정보를 입력할 때 키 문자열입니다.
    이렇게 하면 콘솔의 설정이 끝난다.다음은 PHP 측의 설치입니다.

    PHP에서 프로그램 라이브러리를 통해 API 두드리기


    다음은 샘플 코드입니다.(실제로 wrapper반은 Component로 제작되어 이해하기 편리하도록 수속형 코드로 고쳤다.)
    mailchimpShell.php
    namespace App\Shell;
    
    use Cake\Console\Shell;
    use Mailchimp;
    
    class mailchimpShell extends Shell
    {
        public function main() 
        {
            $mailchimp = new MailChimp("##API KEY##");
            $user = $this->Users->find()->first(); // ユーザー情報を取得
    
            $res = $mailchimp->lists->batchSubscribe(
                "##LIST KEY##", //作成したLISTのキーを指定
                [
                    [
                        "email" => [
                            'email' => $user->email,
                        ],
                        'email_type' => 'text',
                        'merge_vars' => [
                            'USER_ID' => $user->id,
                            'NAME_SEI' => $user->name_sei,
                            'NAME_MEI' => $user->name_mei,
                            'CREATED' => $user->created->format('m/d/Y')
                        ]
                    ]
                    /* 以下、繰り返せば複数メアドを登録可能 */
                ],
                false, // double_optin
                true // update_existing         
            );
    
            // エラーがあった場合はログ出力
            if($res['error_count'] > 0){
                Log::error($res['errors']);
            }
    
            return true;
        }
    
    }
    
    
    다음은 설치할 때의 세부 사항입니다.
  • use의 별명 지정은 mailchimp/mailchimp이 아니라 mailchimp OK
  • API는 Mailchimp::[リソース名]::[アクション]() 순으로 지정
  • 각 자원 이름에는 하위 클래스가 있습니다.리스트라면 vendor/mailchimp/mailchimp/src/mailchimp/Lists.php에 설치된 퍼블릭 방법은 직접 사용할 수 있다.
  • 이 방법명과 공식 API 참조에 쓰인 단점이 미묘하게 다르다는 것을 알기 어렵다.
  • 제3파라미터는 기본적으로 가짜이다
  • 기본값은 진짜이며 Mailchiimp에서 등록된 메일 주소로 목록 등록 승인 메일을 보냅니다.그것도 영어야.
  • 네 번째 파라미터를 진짜로 설정한 상황에서 메일 주소를 키 정보로 설정하고 이미 등록된 메일 주소를 업데이트 처리(이른바 upsert 처리)
  • 단, 콘솔이나 사용자 측의 발송 정지 요청으로 인해 unsubscribe(配信停止) 상태에 있는 메일 주소에 대해 이번 API 호출은 다시 발송할 수 없습니다
  • 프로젝트 발송 날짜와 시간을 설정할 때 Fields 제작 시 지정한 형식(이번은 MM/DD/YYYYY)과 함께
  • 잠깐만요.
    API 호출 모드는 상당히 통용되는 것으로 이번 코드를 적용하면 콘솔에서 할 수 있는 조작을 시스템 측면에서 제어할 수 있다.꿈이 커지고 있어!

    좋은 웹페이지 즐겨찾기