Integração MailChimp em um site usando API MailChimp e PHP
MailChimp é um dos mais populares serviços de marketing por e-mail que gerencia os assinantes do seu site. Usando MailChimp, você pode enviar um boletim informativo para seus assinantes. No boletim informativo, você pode escrever sobre seu novo conteúdo, ofertas ou anúncios em seu site. Os boletins informativos são úteis para trazer o público de volta ao site.
Outros provedores de serviços de marketing por e-mail populares são:
A maioria dos sites coloca um formulário de inscrição onde coleta o e-mail do usuário. Este e-mail irá diretamente para o MailChimp como um assinante.
Neste artigo, estudamos como fazer a integração do MailChimp usando suas APIs e PHP cURL. Vamos adicionar um e-mail ao MailChimp. Em outras palavras, veremos como adicionar assinantes ao MailChimp usando sua API.
Antes de continuar, certifique-se de ter cURL habilitado no servidor. Estamos interagindo com a URL externa que nada mais é do que terminais do MailChimp. Requer cURL para enviar solicitações e receber respostas.
Dito isso, vamos ver como alguém pode adicionar um assinante às suas listas do MailChimp por meio da API.
Você pode integrar esta integração MailChimp em qualquer site baseado em PHP. Por exemplo, em sites que são construídos usando WordPress, Laravel, etc.
Obtenha a chave da API MailChimp e o ID do público
Para interagir com a API MailChimp, você precisa obter a chave da API e o ID de público. Siga as etapas abaixo e faça o download.
Faça login em sua conta MailChimp. No ícone do usuário, selecione a conta.
Clique em Extra-> Chaves de API.
Na seção Suas chaves de API, clique em Criar uma chave. Copie sua chave de API que precisamos em um momento.
Em seguida, obtenha um ID de público ao qual você precisa adicionar seus assinantes. Para isso, clique no menu Público e selecione a opção Configurações no menu Gerenciar Público.
Em Configurações, clique em ‘Nome e padrões do público-alvo’.
Na próxima página, você encontrará seu ID de público.
Adicionar assinante à lista MailChimp
Neste estágio, você está pronto com sua chave de API e id de público. Agora, tudo o que precisamos fazer é enviar uma solicitação HTTP para a API MailChimp junto com os parâmetros necessários.
Você pode encontrar uma lista de todas as chamadas de API em sua documentação oficial. Para o nosso tutorial, precisamos de sua chamada de API Add a new list member.
Esta chamada de API requer uma chave de API com um endereço de e-mail e status. Para o status, podemos passar o valor ‘inscrito’ ou ‘pendente’. Se um valor for ‘inscrito’, o endereço de e-mail será adicionado diretamente à lista do MailChimp. E se um valor estiver ‘pendente’, um e-mail de confirmação será enviado ao usuário. Após a confirmação, o usuário se torna um assinante.
Para integrar esta API, coloque o código abaixo em seu arquivo PHP. Certifique-se de substituir os marcadores de posição pelos valores reais.
<?php
$email = 'EMAIL_ADDRESS';
$list_id = 'LIST_ID';
$api_key = 'API_KEY';
$data_center = substr($api_key,strpos($api_key,'-')+1);
$url = 'https://'. $data_center .'.api.mailchimp.com/3.0/lists/'. $list_id .'/members';
$json = json_encode([
'email_address' => $email,
'status' => 'subscribed', //pass 'subscribed' or 'pending'
]);
try {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERPWD, 'user:'. $api_key);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
$result = curl_exec($ch);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if (200 == $status_code) {
echo "The user added successfully to the MailChimp.";
}
} catch(Exception $e) {
echo $e->getMessage();
}
No código acima, na execução bem-sucedida, você obterá 200 como código de resposta. Também tratamos do erro se ele lançar por algum motivo.
O Mailchimp também fornece os campos de público que armazenam informações extras sobre os usuários diretamente no painel do MailChimp. Por precaução, se você deseja adicionar campos de público, pode fazê-lo adicionando mais um elemento de matriz na solicitação POST acima. Aqui, estou adicionando valores para os campos padrão de público FNAME e LNAME.
<?php
...
...
$json = json_encode([
'email_address' => $email,
'status' => 'subscribed', //pass 'subscribed' or 'pending'
'merge_fields' => [
'FNAME' => 'ENTER_FIRST_NAME',
'LNAME' => 'ENTER_LAST_NAME'
]
]);
Adicionar Marcas ao Assinante
Você pode querer organizar seus contatos do MailChimp com tags. Para atribuir tags ao assinante, você precisa enviar uma solicitação POST para a API MailChimp. Consulte o código a seguir que atribui tags Blogger e YouTuber a um assinante.
<?php
$email = 'EMAIL_ADDRESS';
$list_id = 'LIST_ID';
$api_key = 'API_KEY';
$data_center = substr($api_key,strpos($api_key,'-')+1);
$subscriber_hash = md5(strtolower($email));
$url = 'https://'. $data_center .'.api.mailchimp.com/3.0/lists/'. $list_id .'/members/'. $subscriber_hash .'/tags';
$json = json_encode([
'tags' => [
['name' => 'Blogger', 'status' => 'active'],
['name' => 'YouTuber', 'status' => 'active'],
]
]);
try {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERPWD, 'user:'. $api_key);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
$result = curl_exec($ch);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if (204 == $status_code) {
echo "The tags added successfully to the User.";
}
} catch(Exception $e) {
echo $e->getMessage();
}
O usuário pode remover tags fornecendo um valor ‘inativo’ para a chave de status.
Excluir um assinante da lista MailChimp
A API MailChimp fornece uma chamada de API para excluir um endereço de e-mail de uma lista. De acordo com a documentação para excluir um assinante, precisamos enviar uma solicitação DELETE para a API. Desta vez, você deve passar o hash md5 de um endereço de e-mail para o endpoint da API.
<?php
$email = 'EMAIL_ADDRESS';
$list_id = 'LIST_ID';
$api_key = 'API_KEY';
$data_center = substr($api_key,strpos($api_key,'-')+1);
$url = 'https://'. $data_center .'.api.mailchimp.com/3.0/lists/'. $list_id .'/members/'. md5(strtolower($email));
try {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERPWD, 'user:'. $api_key);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($ch);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
} catch(Exception $e) {
echo $e->getMessage();
}
Espero que você entenda sobre a integração da API MailChimp em um site usando PHP. Por favor, compartilhe suas idéias e sugestões no comentário abaixo.
Artigos relacionados
- Integração do MailChimp no WordPress sem usar um plug-in
- Como integrar o boletim informativo MailChimp no aplicativo Laravel
- Integração MailChimp com Formulário de Contato 7 Plugin