Crear cuenta Mailrelay Crear cuenta Mailrelay Crear cuenta Mailrelay

Enviando newsletter com o API de Mailrelay

Publicado por Mailrelay em 05/04/2012

Neste artigo, vamos ver como fazer para enviar uma campanha de newsletter com o API Mailrelay. O primeiro passo é analisar o seguinte artigo do nosso blog:

Exemplo de acesso API com JSON

Este artigo inclui informações básicas sobre o uso do API, e são conhecimentos que serão necessários neste artigo. O próximo passo será criar um arquivo php, no qual você poderá preparar o código necessário. Você pode dar o nome que quiser a este arquivo PHP. A primeira coisa a ser incluída neste arquivo será o acesso ao API:

1
2
$hostname = 'tu-host.ip-zone.com';
$apiKey = 'la-clave-de-acceso-al-api';
$hostname = 'tu-host.ip-zone.com';
$apiKey = 'la-clave-de-acceso-al-api';

Em seguida, você vai precisar saber como identificar o seu vínculo (bônus), “PackageID”, e para sabê-lo você deverá adicionar o seguinte código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$curl = curl_init('http://' . $hostname . '/ccm/admin/api/version/2/&type=json');
 
$postData = array(
'function' => 'getPackages',
'apiKey' => $apiKey,
);
 
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postData);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
 
$json = curl_exec($curl);
$result = json_decode($json);
 
if ($result->status == 0) {
throw new Exception('Ocorreu algum problema durante a execução');
}
 
echo '
<pre>'; 
    var_dump($result->data);
    echo '</pre>
';
$curl = curl_init('http://' . $hostname . '/ccm/admin/api/version/2/&type=json');
$postData = array(
'function' => 'getPackages',
'apiKey' => $apiKey,
);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postData);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$json = curl_exec($curl);
$result = json_decode($json);
if ($result->status == 0) {
throw new Exception('Ocorreu algum problema durante a execução');
}
echo '
<pre>'; 
var_dump($result->data);
echo '</pre>
';

Com isto, você verá uma tela semelhante à imagem abaixo, o que nos interessa é o número do campo ID, como está realçado na imagem apresentada. Anote este número:

Enviar newsletters desde Mailrelay con el API
Enviar newsletters através de Mailrelay com o API 

Outro número que será necessário será o identificador de “mailbox”. Este número é muito mais simples de ser obtido, você poderá vê-lo a partir do próprio painel de Mailrelay. Para fazer isto, você deverá ir  ao menu  “Configuração” e depois em “Gerenciar remetentes”. Ao fazer isto você verá uma tabela semelhante à seguinte:

Enviar newsletters desde Mailrelay con el API
Enviar newsletters através de Mailrelay com o API 

Anote o ID do “mailbox” que você precisará usar. Você precisará do ID dos grupos aos quais você deseja enviar suas newsletters. Agora, vá para o menu Mailrelay, em seguida, para “grupos de assinantes”, no qual você verá a tabela a seguir:

Enviar newsletters desde Mailrelay con el API
Enviar newsletters através de Mailrelay com o API 

Agora você já está com tudo pronto, portanto poderá criar outro arquivo PHP, ou apagar todas as linhas do arquivo anterior, exceto as seguintes:

1
2
$hostname = 'tu-host.ip-zone.com';
$apiKey = 'la-clave-de-acceso-al-api';
$hostname = 'tu-host.ip-zone.com';
$apiKey = 'la-clave-de-acceso-al-api';

Em seguida o seguinte:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
$curl = curl_init('http://' . $hostname . '/ccm/ccm/admin/api/version/2/&type=json');
 
$postData = array(
'function' => 'addCampaign',
'apiKey' => $apiKey,
'subject' => 'Minha newsletter enviada através do API',
'mailboxFromId' => 1,
'mailboxReplyId' => 1,
'mailboxReportId' => 1,
'emailReport' => true,
'groups' => array(
1,
17
),
'text' => 'Novas promoções em E-mail Marketing'
'html' => <strong>'Novas promoções em E-mail Marketing'</strong>,
'packageId' => 6,
'campaignFolderId' => 1,
);
 
$post = http_build_query($postData);
 
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
 
$json = curl_exec($curl);
$result = json_decode($json);
 
if ($result->status == 0) {
throw new Exception('Bad status returned. Something went wrong.');
}
 
echo '
<pre>'; 
    var_dump($result->data);
    echo '</pre>
';
$curl = curl_init('http://' . $hostname . '/ccm/ccm/admin/api/version/2/&type=json');
$postData = array(
'function' => 'addCampaign',
'apiKey' => $apiKey,
'subject' => 'Minha newsletter enviada através do API',
'mailboxFromId' => 1,
'mailboxReplyId' => 1,
'mailboxReportId' => 1,
'emailReport' => true,
'groups' => array(
1,
17
),
'text' => 'Novas promoções em E-mail Marketing'
'html' => <strong>'Novas promoções em E-mail Marketing'</strong>,
'packageId' => 6,
'campaignFolderId' => 1,
);
$post = http_build_query($postData);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$json = curl_exec($curl);
$result = json_decode($json);
if ($result->status == 0) {
throw new Exception('Bad status returned. Something went wrong.');
}
echo '
<pre>'; 
var_dump($result->data);
echo '</pre>
';

Ao executar este código, você irá obter uma imagem semelhante a esta:

Enviar newsletters desde Mailrelay con el API
Enviar newsletters através de Mailrelay com o API

Esse número, é o identificador da newsletter que está sendo criada através do API. Você também Pode vê-lo através do painel de Mailrelay no menu “Newsletters” e “Lista de newsletters”, para então clicar em “Mostrar todas”, e você poderá ver uma imagem semelhante a esta:

Enviar newsletters desde Mailrelay con el API
Enviar newsletters através de Mailrelay com o API

A partir deste ponto, você já poderá enviar a newsletter usando o próprio painel de Mailrelay, como de costume, ou através do API, e para isto você poderá criar um outro arquivo PHP com o seguinte código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$hostname = 'tu-host.ip-zone.com';
$apiKey = 'la-clave-de-acceso-al-api';
 
$curl = curl_init('http://' . $hostname . '/ccm/admin/api/version/2/&type=json');
 
$postData = array(
'function' => 'sendCampaign',
'apiKey' => $apiKey,
'id' => 28,
);
 
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postData);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
 
$json = curl_exec($curl);
$result = json_decode($json);
 
if ($result->status == 0) {
throw new Exception('Bad status returned. Something went wrong.');
}
 
var_dump($result->data);
$hostname = 'tu-host.ip-zone.com';
$apiKey = 'la-clave-de-acceso-al-api';
$curl = curl_init('http://' . $hostname . '/ccm/admin/api/version/2/&type=json');
$postData = array(
'function' => 'sendCampaign',
'apiKey' => $apiKey,
'id' => 28,
);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postData);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$json = curl_exec($curl);
$result = json_decode($json);
if ($result->status == 0) {
throw new Exception('Bad status returned. Something went wrong.');
}
var_dump($result->data);

Como você pode ver, a única coisa que você precisa fazer é indicar o ID da newsletter que será enviada, e executar o código PHP, o que irá retornar um resultado semelhante a este:

Enviar newsletters desde Mailrelay con el API
Enviar newsletters através de Mailrelay com o API

Uma vez que o envio foi concluído, você poderá acessar o menu “Enviadas” e em seguida no submenu “Enviadas”, onde você poderá ver a lista de mensagens enviadas:

Enviar newsletters desde Mailrelay con el API
Enviar newsletters através de Mailrelay com o API

E, claro, a mensagem chegará à caixa de entrada dos seus assinantes:

Enviar newsletters desde Mailrelay con el API
Enviar newsletters através de Mailrelay com o API

Todo esse processo poderia ter sido automatizado a partir do API, obtendo os grupos, mailboxes etc, mas com o objetivo de simplificar o exemplo, fizemos todo o processo de forma manual. Você pode ver mais exemplos do API nesta página:

http://mailrelay.com/es/api

Esperamos que este artigo seja útil para todos.



Comentários

Deixe um comentário

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


Shares
Menu Title