Como fazer integração do CakePHP com Mailchimp

Em um projeto que trabalhei, o cliente tinha um espaço no site para cadastro de newsletter, dessa forma ele gostaria de fazer automaticamente esse cadastro em suas listas no Mailchimp para não ter que ficar importando uma lista nova de e-mails sempre. Dai surgiu a necessidade de pesquisar um pouco e encontrar diversas maneiras de

Em um projeto que trabalhei, o cliente tinha um espaço no site para cadastro de newsletter, dessa forma ele gostaria de fazer automaticamente esse cadastro em suas listas no Mailchimp para não ter que ficar importando uma lista nova de e-mails sempre.

Dai surgiu a necessidade de pesquisar um pouco e encontrar diversas maneiras de fazer isso, algumas que até já não funcionam mais devido a versões.. Vou mostrar aqui como funcionou pra mim.

Optei por usar um plugin do Mark S. Existe uma pequena documentação junto ao repositório do github, porém achei bastante confuso.. Vamos lá!

Instalação

Primeiramente temos que fazer a instalação do plugin no CakePHP e a geração da chave para acesso a API do Mailchimp.

Para instalar o plugin no cake é possível fazer com Composer, ou fazer o clone do repositório e manualmente colocar na pasta app/vendor. Com composer basta entrar na pasta app, abrir o terminal e executar o comando:

Após feito isso o plugin já vai estar instalado (da uma conferida na pasta app/vendor). Com o plugin instalado vamos gerar a Key.

Estrutura

Pra galera mais iniciante em cake, segue uma estrutura básica com a localização dos arquivos e pastas que vamos utilizar,

Configuração

Para carregar o plugin no arquivo app/config/boostrap.php você pode optar por duas opções:

Carregando todos os plugins que estiverem na pasta (app/Plugin), ou pode carregar plugins específicos da seguinte forma:

Após isso, coloque as seguintes configurações (ainda no arquivo bootstrap.php):

Só um lembrete: o ID da lista é o que aparece na pagina “Settings -> List name and defaults”. E não o id que aparece na url quando acessamos a lista. (No site do Mailchimp esse lembrete)

Utilização

Existem alguns métodos nesse plugin para utilização, vou mostrar como faz para incluir novos e-mails na lista. Caso queira outras operações, fique a vontade para consultar a documentação aqui!

INSERIR NOVOS E-MAILS

Para inserir novos e-mails, faça da seguinte forma:

Formulário

Controller

Primeiro estamos inicializando o plugin. Após isso, atribuímos a variável $data, todos os valores do formulário (lembrando que ele pega o campo com name “email” do formulário) e também criamos uma posição no array com o nome do formulário.

Criamos então um array com algumas opções que o Mailchimp nos oferece em sua API, aqui utilizei duas opções mas fique livre para dar uma olhada na documentação do mailchimp. Essas duas opções servem para:

Pronto, por final chamamos o método subscribe que faz a inserção na lista. Caso queira, pode utilizar a variável $response para manipular o retorno.

Lembrete: a inserção não ocorre de forma instantânea, demora entre 5 e 10 minutos para aparecer o e-mail na lista (no site do mailchimp).

Existem vários outros métodos que fazem coisas bem interessante como remover o e-mail da lista, retornar todos e-mails cadastrados e também manipulação das campanhas, veja aqui.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *