# E-mail Marketing
# Introdução #
O Webservice da Plataforma de E-mail Marketing da Maxxmobi é uma API que permite aos usuários executarem muitas das funções da Plataforma, fazendo requisições usando XML.
Como XML é uma linguagem de uso geral, é possível integrar suas aplicações baseadas em Java com a base da aplicação da Plataforma de E-mail Marketing da Maxxmobi.
Tornando possível programar o seu sitema para atualizar automaticamente listas de contatos, criar listas, inserir e excluir contatos, enviar campanhas e muitas outras funções.
Este documento destina-se a explicar o propósito destas funções e prover exemplos para usá-las.
# Requisitos #
Para fazer uso dos exemplos do manual você precisará da versão do PHP 5.1.2 ou superior, porém como qualquer Webservice pode-se utilizar N linguagens de programação, pois os dados trafegados são em XML.
# Submetendo uma requisição #
Para possibilitar as requisições via XML, primeiro é preciso configurar a conta de usuário para essa função.
As requisições XML via POST, com os detalhes da licença gerada, devem ser enviadas para o “XML Path” que pode ser encontrado em "Contas de usuário -> Editar usuário", na seção “Permissões de usuários” da plataforma Web de E-mail Marketing da Maxxmobi.
Certifique-se de que a opção “Habilitar o XML API” esteja marcada e salva. O caminho do XML é semelhante ao exemplo seguinte:
https://snw00.maxx.mobi/xml.php
* Obs: substitua "xx" pelo número do seu servidor
O “nome do usuário” e o “token do usuário” mencionados nos exemplos seguintes podem ser encontrados na próxima seção sob o título de “XML Username” e “XML Token”, respectivamente.
Esta seção irá descrever as diferentes funções que podem ser utilizadas na plataforma de E-mail Marketing da Maxxmobi.
# Criando lista de contatos #
Exemplo de criação de lista de contatos (XML)
<xmlrequest>
<username>usuario</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>lists</requesttype>
<requestmethod>createlists</requestmethod>
<details>
<name>Teste Insercao 2</name>
<ownername>Contato</ownername>
<owneremail>contato@hotmail.com</owneremail>
<bounceemail>contato@hotmail.com</bounceemail>
<replytoemail>contato@hotmail.com</replytoemail>
<format>b</format>
<notifyowner>1</notifyowner>
<ownerid>1</ownerid>
<createdate>2016-08-09</createdate>
</details>
</xmlrequest>
Exemplo de requisição (PHP) O código de exemplo abaixo é escrito em PHP e faz uso da funcionalidade CURL do PHP para inserir o XML acima na aplicação.
<?php
date_default_timezone_set('America/Sao_Paulo');
$when = new DateTime("2016-08-09 10:06:00");
$xml = "<xmlrequest>
<username>usuario</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>lists</requesttype>
<requestmethod>createlists</requestmethod>
<details>
<name>Teste Insercao 2</name>
<ownername>Contato</ownername>
<owneremail>contato@hotmail.com</owneremail>
<bounceemail>contato@hotmail.com</bounceemail>
<replytoemail>contato@hotmail.com</replytoemail>
<format>b</format>
<notifyowner>1</notifyowner>
<ownerid>1</ownerid>
<createdate>2016-08-09</createdate>
</details>
</xmlrequest>";
$ch = curl_init('https://snw00.maxx.mobi/xml.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
$result = @curl_exec($ch);
var_dump($result);
if ($result === false) {
echo "Error performing request";
} else {
$xml_doc = simplexml_load_string($result);
echo 'O status é ', $xml_doc->status, '<br/>';
if ($xml_doc->status == 'SUCCESS') {
echo 'Data is ', $xml_doc->data, '<br/>';
} else {
echo 'Error is ', $xml_doc->errormessage, '<br/>';
}
}
Este exemplo irá criar uma lista de contatos, e retornará uma mensagem de erro ou sucesso da criação da lista.
xmlrequest
o username Conta de usuário
o usertoken Token único atribuído à conta de usuário utilizada acima.
o requesttype O nome do arquivo API em questão
o requestmethod Nome da função a ser chamada
o details
> name * – Nome da lista de e-mail.
> ownername * – Nome do proprietário da lista.
> owneremail – E-mail do proprietário.
> bounceemail – E-mail a ser utilizado como Bounce.
> replytoemail – E-mail de resposta (Retorno).
> format – Formato que o contato poderá receber e-mail ∗ podendo ser “b” (HTML e Texto), “h” (HTML) e “t” (Texto).
> notifyowner – Notifica o contato proprietário toda vez que é adicionado ou excluído contatos na lista.
> ownerid
> createdate – Data da criação da lista.
*Campo obrigatório
- É recomendado deixar o campo format como b, pois tem contatos que bloqueiam o formato HTML ou Text.
Resposta bem sucedida Após uma submissão válida da função “É o contato na lista”, a API XML retornará true se localizar o contato e irá retornar nada se não. O formato é o seguinte:
Response o status – O valor do campo de status será “SUCCESS ID: ” mais id de todos que tiverem o mesmo nome da lista criada. o data – Retornará “1” se o contato for localizado.
Resposta sem sucesso
Após o envio de uma resposta errada devido a um campo faltando ou um valor inválido, o a função falhará. Uma mensagem de status será retornada via XML no seguinte formato:Response o status – O valor do campo de status será “ERROR”. o errormessage – Uma mensagem textual explicando o porque a requisição falhou dentre deles está o de lista já existente: Lista já existe com esse nome + “nome da lista”.
# Adicionar contatos à lista #
O exemplo de código a seguir executa uma inserção do usuário “email@domain.com” para a lista de e-mails com ID “1”, status definido como "confirmada", o formato definido para “'html” e com um campo personalizado definido como “John Smith”.
<xmlrequest>
<username>usuario</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>subscribers</requesttype>
<requestmethod>AddSubscriberToList</requestmethod>
<details>
<emailt>
<emailaddress>email@domain.com</emailaddress>
<mailinglist>1</mailinglist>
<format>html</format>
<confirmed>yes</confirmed>
<customfields>
<item>
<fieldid>1</fieldid>
<value>John Smith</value>
</item>
</customfields>
</emailt>
</details>
</xmlrequest>
Exemplo de requisição (PHP) O código de exemplo abaixo é escrito em PHP e faz uso da funcionalidade CURL do PHP para inserir o XML acima na aplicação.
<?php
$xml = '<xmlrequest>
<username>usuario</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>subscribers</requesttype>
<requestmethod>AddSubscriberToList</requestmethod>
<details>
<emailt>
<emailaddress>email@domain.com</emailaddress>
<mailinglist>1</mailinglist>
<format>html</format>
<confirmed>yes</confirmed>
<customfields>
<item>
<fieldid>1</fieldid>
<value>John Smith</value>
</item>
</customfields>
</emailt>
</details>
</xmlrequest>';
$ch = curl_init('https://snw00.maxx.mobi/xml.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
$result = @curl_exec($ch);
if ($result === false) {
echo "Error performing request";
} else {
$xml_doc = simplexml_load_string($result);
echo 'Status is ', $xml_doc->status, '<br/>';
if ($xml_doc->status == 'SUCCESS') {
echo 'Data is ', $xml_doc->data, '<br/>';
} else {
echo 'Error is ', $xml_doc->errormessage, '<br/>';
}
}
?>
Este exemplo de requisição irá adicionar contatos às listas já existentes. Adicionando detalhes personalizados a um contato e associados.
O método adicionar os contatos, checando duplicidade de registros, que está sendo inseridos e se o formato do e-mail do contato está correto.
xmlrequest
o username – Conta de usuário.
o usertoken – Token único atribuído à conta de usuário utilizada acima.
o requesttype – O nome do arquivo API em questão.
o requestmethod – Nome da função a ser chamada.
o details
o emailt – Cada bloco que for adicionado será um novo contato.
o emailaddress – Endereço de e-mail do contato a ser adicionado.
o mailinglistid – ID da lista que o contato está localizado.
o confirmed – Configura o status de confirmação do contato para confirmado ou não (yes ou y ou true ou 1) (O padrão é “não”).
o format Formato das campanhas de e-mail que esse contato prefere receber (html ou h ou text ou t) (O padrão é “texto”).
o Customfields
o item
o fieldid – ID do campo personalizado a ser adicionado.
o value – Valor a ser adicionado nesse campo personalizado.
* Campo Obrigatório Apesar do campo “Customfields” e “Item” serem obrigatórios os mesmo podem ficar vazios (sem dados) porém o mesmo deve estar no XML se não só será adicionado um contato.
Exemplos de requisição (XML)
Resposta bem sucedida
Após a inserção válida, um contato será adicionado à lista de contatos e o número de ID de contatos retornado no seguinte formato:
Response o status – O valor do campo status será “SUCCESS” para uma resposta bem sucedida. o data – Números dos IDs dos contatos primeiro e e-mails já existentes na lista em seguida delimitando por um ponto e virgula, exemplo: Data is 1438,1439;test46@hotmail.com,test47@hotmail.com
Resposta sem sucesso Após o envio de uma resposta errada devido a um campo faltando ou um valor inválido a requisição falhará. Uma mensagem de status será retornada via XML. Neste exemplo, será apresentada a seguinte mensagem de erro: “O XML fornecido não é válido. Por favor, verifique seu documento XML e tente novamente.” O formato é o seguinte:
Response o status – O valor do campo de status será “ERROR”. o errormessage – Uma mensagem textual explicando o porque a requisição falhou dentre deles está o de contato já existente: Contato existente: +
Resposta Quebrada Este exemplo irá demonstrar uma mensagem de erro que é retornado quando uma requisição não é feita corretamente. Observe que a TAG details no exemplo não está fechada e nenhuma lista de ID é enviada para a função. A estrutura do documento XML para este exemplo é da seguinte forma:
xmlrequest
o username – Conta de usuário.
o usertoken – Token único atribuído à conta de usuário utilizada acima.
o requesttype – O nome do arquivo API em questão.
o requestmethod – Nome da função a ser chamada.
o details
* Campo Obrigatório
# Adicionar contatos as listas sem filtro #
O exemplo de código a seguir executa uma inserção do usuário "email@domain.com" para a lista de e-mails com ID "1", status definido como "confirmada" e o formato definido para "html".
<xmlrequest>
<username>usuario</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>subscribers</requesttype>
<requestmethod>AddSubscriberToList</requestmethod>
<details>
<emailt>
<emailaddress>email@domain.com</emailaddress>
<mailinglist>1</mailinglist>
<format>html</format>
<confirmed>yes</confirmed>
<customfields>
<item></item>
</customfields>
</emailt>
</details>
</xmlrequest>
Exemplo de requisição (PHP) O código de exemplo abaixo é escrito em PHP e faz uso da funcionalidade CURL do PHP para inserir o XML acima na aplicação.
<?php
$xml = '<xmlrequest>
<username>usuario</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>subscribers</requesttype>
<requestmethod>AddSubscriberToList</requestmethod>
<details>
<emailt>
<emailaddress>email@domain.com</emailaddress>
<mailinglist>1</mailinglist>
<format>html</format>
<confirmed>yes</confirmed>
<customfields>
<item></item>
</customfields>
</emailt> <!-- Corrigir esta linha fechando a tag "emailt" -->
</details>
</xmlrequest>';
$ch = curl_init('https://snw00.maxx.mobi/xml.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
$result = @curl_exec($ch);
if ($result === false) {
echo "Error performing request";
} else {
$xml_doc = simplexml_load_string($result);
echo 'Status is ', $xml_doc->status, '<br/>';
if ($xml_doc->status == 'SUCCESS') {
echo 'Data is ', $xml_doc->data, '<br/>';
} else {
echo 'Error is ', $xml_doc->errormessage, '<br/>';
}
}
?>
Com esta requisição será possível adicionar contatos às listas já existentes, de forma mais rápida.
O método adiciona contatos, sem checar duplicidade nos registros que estão sendo inserido e não verifica se o formato do e-mail, do contato, está correto.
Obs.: * É preciso higienizar a base antes de adicionar os contatos, para postar sem duplicidades e com o e-mail no formato correto. A estrutura do documento XML para a requisição é da seguinte forma:
xmlrequest
o username – Conta de usuário.
o usertoken – Token único atribuído à conta de usuário utilizada acima.
o requesttype – O nome do arquivo API em questão.
o requestmethod ∗ – Nome da função a ser chamada.
o details
o emailt – Cada bloco que for adicionado será um novo contato.
o emailaddress – Endereço de e-mail do contato a ser adicionado.
o mailinglistid – ID da lista que o contato está localizado.
o confirmed – Configura o status de confirmação do contato para confirmado ou não (yes ou y ou true ou 1) (O padrão é “não”).
o format Formato das campanhas de e-mail que esse contato prefere receber (html ou h ou text ou t) (O padrão é “texto”).
o Customfields
o item ∗
o fieldid ∗ – ID do campo personalizado a ser adicionado.
o value ∗ – Valor a ser adicionado nesse campo personalizado.
- Campo obrigatório
- Apesar do campo “Customfields” e “Item” serem obrigatórios os mesmo podem ficar vazios (sem dados) porém o mesmo deve estar no XML se não só será adicionado um contato.
Resposta Bem Sucedida Após a inserção válida, um contato será adicionado à lista de contatos e o número de ID de contatos retornado no seguinte formato:
Response o status – O valor do campo status será “SUCCESS” para uma resposta bem sucedida. o data – O valor do campo data será “Sucesso na inserção de dados.”
Resposta Sem Sucesso Após o envio de uma resposta errada devido a um campo faltando ou um valor inválido a requisição falhará. Uma mensagem de status será retornada via XML. Neste exemplo, será apresentada a seguinte mensagem de erro: “O XML fornecido não é válido. Por favor, verifique seu documento XML e tente novamente.” O formato é o seguinte:
Response o status – O valor do campo de status será “ERROR”. o errormessage – Uma mensagem textual explicando o porquê a requisição falhou dentre deles está o de contato já existente: Contato existente: + “e-mail do contato”.
Resposta Quebrada Este exemplo irá demonstrar uma mensagem de erro que é retornado quando uma requisição não é feita corretamente. Observe que a TAG details no exemplo não está fechada e nenhuma lista de ID é enviada para a função. A estrutura do documento XML para este exemplo é da seguinte forma:
xmlrequest ∗
o username – Conta do usuário.
o usertoken – Token único atribuído à conta de usuário utilizada acima.
o requesttype – O nome do arquivo API em questão.
o requestmethod – Nome da função a ser chamada.
o details * Campo Obrigatório
# Verificar token válido #
Exemplo de requisição (XML) O exemplo de código a seguir executa uma verificação de autorização no usertoken para se certificar de que ele é um token válido.
<xmlrequest>
<username>usuario</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>authentication</requesttype>
<requestmethod>xmlapitest</requestmethod>
<details>
</details>
</xmlrequest>
Exemplo de requisição (PHP)
O código de exemplo abaixo é escrito em PHP e faz uso da funcionalidade CURL do PHP para inserir o XML acima na aplicação.
<?php
$xml = '<xmlrequest>
<username>usuario</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>authentication</requesttype>
<requestmethod>xmlapitest</requestmethod>
<details>
</details>
</xmlrequest>';
$ch = curl_init('https://www.yourdomain.com/Interspire Email Marketing/xml.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
$result = @curl_exec($ch);
if ($result === false) {
echo "Error performing request";
} else {
$xml_doc = simplexml_load_string($result);
echo 'status is ', $xml_doc->status, '<br/>';
if ($xml_doc->status == 'SUCCESS') {
print_r($result);
} else {
echo 'Error is ', $xml_doc->errormessage, '<br/>';
}
}
?>
Este exemplo irá verificar e certificar se o token que está sendo utilizado é válido. Observe que a TAG details não é obrigatório.
xmlrequest ∗
o username ∗ – Nome do usuário usado para acessar o Interspire E-mail Marketing.
ousertoken ∗ – Token único atribuído à conta de usuário utilizada acima.
orequesttype ∗ – O nome do arquivo API em questão.
o requestmethod ∗ – Nome da função a ser chamada.
o details
- Campo obrigatório
• Resposta bem sucedida
Após a submissão de uma requisição “check token” válida, a XML API retornará true. O formato é o seguinte:
• Response o status – O valor do campo de status será “SUCCESS” para uma resposta bem sucedida. o data – Esse irá retornar “1” para uma autorização bem sucedida.
• Resposta sem sucesso Após o envio de uma resposta errada devido a um campo faltando ou um valor inválido, a verificação de token vai falhar. Uma mensagem de status será respondida via XML. Neste exemplo, será apresentada a seguinte mensagem de erro: “Detalhes inválidos” O formato é o seguinte:
• Response o status – O valor do campo de status será “ERROR”. o errormessage – Uma mensagem textual explicando o porque a requisição falhou.
# Excluir contato #
Exemplo de requisição (XML)
A amostra de código a seguir irá apagar o endereço de e-mail listado na lista de contatos deste ID.
<xmlrequest>
<username>usuario</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>subscribers</requesttype>
<requestmethod>DeleteSubscriber</requestmethod>
<details>
<emailaddress>email@domain.com</emailaddress>
<list>1</list>
</details>
</xmlrequest>
Exemplo de requisição (PHP) O código de exemplo abaixo é escrito em PHP e faz uso da funcionalidade CURL do PHP para inserir o XML acima na aplicação.
<?php
$xml = '<xmlrequest>
<username>usuario</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>subscribers</requesttype>
<requestmethod>DeleteSubscriber</requestmethod>
<details>
<emailaddress>email@domain.com</emailaddress>
<list>1</list>
</details>
</xmlrequest>';
$ch = curl_init('https://snw00.maxx.mobi/xml.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
$result = @curl_exec($ch);
if ($result === false) {
echo "Error performing request";
} else {
$xml_doc = simplexml_load_string($result);
echo 'status is ', $xml_doc->status, '<br/>';
if ($xml_doc->status == 'SUCCESS') {
print_r($result);
} else {
echo 'Error is ', $xml_doc->errormessage, '<br/>';
}
}
?>
Este exemplo irá excluir um contato de sua lista de contatos.
xmlrequest
o username – Conta de Usuário.
o usertoken – Token único atribuído à conta de usuário utilizada acima.
o requesttype – O nome do arquivo API em questão.
o requestmethod – Nome da função a ser chamada.
o details
list – O ID da Lista de Contato que deseja-se fazer a pesquisa.
emailaddress – O endereço de e-mail do contato que está tentando localizar. ∗ campo obrigatório
• Resposta Bem Sucedida Após uma submissão válida da função “Excluir Contato”, a XML API retornará um status de sucesso no seguinte formato:
• Response o status – O valor do campo de status será “SUCCESS” para uma resposta bem sucedida. o data
item – O número de assinantes removidos corretamente.
• Resposta Sem Sucesso Após o envio de uma resposta errada devido a um campo faltando ou um valor inválido, a função “Excluir Contato” irá falhar. Uma mensagem de status será retornada via XML no seguinte formato:
• Response
o status – O valor do campo de status será “ERROR”.
o errormessage – Uma mensagem textual explicando o porque a requisição falhou.
# Obter dados do campo personalizado #
Exemplo de requisição (XML) O exemplo de código a seguir mostrará alguma informação encontrada no campo personalizado para a lista com o ID igual a “1”.
<xmlrequest>
<username>usuario</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>lists</requesttype>
<requestmethod>GetCustomFields</requestmethod>
<details>
<listids> 1 </listids>
</details>
</xmlrequest>
Exemplo de requisição (PHP) O código de exemplo abaixo é escrito em PHP e faz uso da funcionalidade CURL do PHP para inserir o XML acima na aplicação.
<?php
$xml = '<xmlrequest>
<username>usuario</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>lists</requesttype>
<requestmethod>GetCustomFields</requestmethod>
<details>
<listids>1</listids>
</details>
</xmlrequest>
';
$ch = curl_init('https://snw00.maxx.mobi/xml.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
$result = curl_exec($ch);
if ($result === false) {
echo "Error performing request: " . curl_error($ch);
// Encerrar a execução do script em caso de erro
exit;
} else {
$xml_doc = simplexml_load_string($result);
echo 'status is ', $xml_doc->status, '<br/>';
if ($xml_doc->status == 'SUCCESS') {
print_r($result);
} else {
echo 'Error is ', $xml_doc->errormessage, '<br/>';
}
}
?>
A estrutura do documento XML para obter os dados dos campos personalizados de um contato a de uma lista é a seguinte:
xmlrequest
o username – Conta de Usuário.
o usertoken – Token único atribuído à conta de usuário utilizada acima.
o requesttype – O nome do arquivo API em questão.
o requestmethod – Nome da função a ser chamada.
o details › listids – Os IDs da lista de contato que os dados do campo personalizado está sendo requisitado. ∗ campo obrigatório
•Resposta Bem Sucedida Após uma submissão válida do método “Obter dados do campo personalizado", será retornado um XML no seguinte formato:
• Response
o status – O valor do campo de status será “SUCCESS” para uma resposta bem sucedida.
o data
o item
fieldid – O número ID do campo personalizado.
name – O nome do campo personalizado.
fieldtype – O tipo do campo (texto, número etc.).
defaultvalue – Se configurar um valor padrão, ele aparecerá aqui.
required – Se esse campo for requisitado, será preenchido (1 ou 0).
fieldsettings – Versão serializada das configurações do campo personalizado.
• Resposta Sem Sucesso Após o envio de uma resposta errada devido a um campo faltando ou um valor inválido, a função falhará. Uma mensagem de status será retornada via XML no seguinte formato:
• Response
o status – O valor do campo de status será “ERROR”.
o errormessage – Uma mensagem textual explicando o porque a requisição falhou.
# Obter listas #
Exemplo de requisição (XML) O exemplo de código a seguir executa um pedido para retornar todas as listas de contatos.
<xmlrequest>
<username>usuario</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>user</requesttype>
<requestmethod>GetLists</requestmethod>
<details>
</details>
</xmlrequest>
Exemplo de requisição (PHP) O código de exemplo abaixo é escrito em PHP e faz uso da funcionalidade CURL do PHP para inserir o XML acima na aplicação.
<?php
$xml = '<xmlrequest>
<username>usuario</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>user</requesttype>
<requestmethod>GetLists</requestmethod>
<details>
</details>
</xmlrequest>';
$ch = curl_init('https://snw00.maxx.mobi/xml.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
$result = curl_exec($ch);
if ($result === false) {
echo "Error performing request: " . curl_error($ch);
// Encerrar a execução do script em caso de erro
exit;
} else {
$xml_doc = simplexml_load_string($result);
echo 'status is ', $xml_doc->status, '<br/>';
if ($xml_doc->status == 'SUCCESS') {
print_r($result);
} else {
echo 'Error is ', $xml_doc->errormessage, '<br/>';
}
}
?>
Este exemplo irá retornar uma lista de todas as listas de contatos e retornar um XML formatado com os dados encontrados. Observe que a TAG detail não é um campo obrigatório.
xmlrequest
o username – Nome do usuário usado para acessar o Interspire E-mail Marketing.
o usertoken – Token único atribuído à conta de usuário utilizada acima.
o requesttype – O nome do arquivo API em questão.
o requestmethod – Nome da função a ser chamada.
o details ∗ campo obrigatório
• Resposta Bem Sucedida Após uma submissão válida da função "Obter listas”, a API XML irá retornar quaisquer dados encontrados na Lista de Contatos e será devolvido em XML formatado, no seguinte formato:
• Response o status – O valor do campo de status será “SUCCESS” para uma resposta bem sucedida. o data
item
• listid – O ID da lista.
• name – O nome da lista.
• subscribecount – Quantidade dos contatos assinados.
• unsubscribecount – Quantidade dos contatos que não são mais assinados.
• autorespondercount – Quantidade de auto respostas que estão ligadas a lista de contatos.
• Response Sem Sucesso Após o envio de uma resposta errada devido a um campo faltando ou um valor inválido, a função “Obter Listas” irá falhar. Uma mensagem de status será retornada via XML. Neste exemplo, aparecerá a seguinte mensagem de erro: “DetalhesIinválidos”
O formato é o seguinte:
• Response o status – O valor do campo de status será “ERROR”. o errormessage – Uma mensagem textual explicando o porque a requisição falhou.
# Obter contatos #
Exemplo de requisição (XML) O exemplo de código a seguir executa uma verificação na lista de contatos com ID “1” para todos os endereços de e-mail que conter a informação “@ yourdomain.com”.
<xmlrequest>
<username>usuario</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>subscribers</requesttype>
<requestmethod>GetSubscribers</requestmethod>
<details>
<searchinfo>
<List>1</List>
<Email>@yourdomain.com</Email>
</searchinfo>
</details>
</xmlrequest>
Exemplo de requisição (PHP) O código de exemplo abaixo é escrito em PHP e faz uso da funcionalidade CURL do PHP para inserir o XML acima na aplicação.
<?php
$xml = '<xmlrequest>
<username>usuario</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>subscribers</requesttype>
<requestmethod>GetSubscribers</requestmethod>
<details>
<searchinfo>
<List>1</List>
<Email>exemplo@seudominio.com</Email>
</searchinfo>
</details>
</xmlrequest>';
$ch = curl_init('https://snw00.maxx.mobi/xml.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
$result = curl_exec($ch);
if ($result === false) {
echo "Error performing request: " . curl_error($ch);
// Encerrar a execução do script em caso de erro
exit;
} else {
$xml_doc = simplexml_load_string($result);
echo 'status is ', $xml_doc->status, '<br/>';
if ($xml_doc->status == 'SUCCESS') {
print_r($result);
} else {
echo 'Error is ', $xml_doc->errormessage, '<br/>';
}
}
?>
Este exemplo irá retornar a quantidade de contatos na lista em questão, bem como uma lista de todos os contatos que estão localizados nessa lista e retornará um XML formatado, com os dados encontrados formatados.
xmlrequest
o username – Conta de Usuário.
o usertoken – Token único atribuído à conta de usuário utilizada acima.
o requesttype – O nome do arquivo API em questão.
o requestmethod– Nome da função a ser chamada.
o details
searchinfo
• List – O ID da Lista de Contatos que deseja realizar a pesquisa.
• Email – O endereço de e-mail do contato que está tentando localizar. ∗ campo obrigatório
• Resposta bem sucedida Após uma submissão válida da função "Obter contatos”, a API XML retornará a quantidade de contatos na lista em questão, juntamente com uma lista dos endereços de e-mail de contato num XML formatado. O formato é o seguinte:
• Response o status – O valor do campo de status será “SUCCESS” para uma resposta bem sucedida. o data
count – Quantidade de assinantes
subscriberlist – Uma lista de endereços de e-mail dos assinantes.
• Resposta sem sucesso Após o envio de uma resposta errada devido a um campo faltando ou um valor inválido, a função “Obter Contatos” irá falhar. Uma mensagem de status será retornada via XML no seguinte formato:
• Response o status – O valor do campo de status será “ERROR”. o errormessage – Uma mensagem textual explicando o porque a requisição falhou.
# É Contato na lista #
Exemplo de requisição (XML) O exemplo de código a seguir executa uma verificação em uma lista de contatos para ver se um determinado contato é listado nele.
<xmlrequest>
<username>user</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>subscribers</requesttype>
<requestmethod>IsSubscriberOnList</requestmethod>
<details>
<Email>email@yourdomain.com</Email>
<List>1</List>
</details>
</xmlrequest>
Exemplo de requisição (PHP) O código de exemplo abaixo é escrito em PHP e faz uso da funcionalidade CURL do PHP para inserir o XML acima na aplicação.
<?php
$xml = '<xmlrequest>
<username>user</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>subscribers</requesttype>
<requestmethod>IsSubscriberOnList</requestmethod>
<details>
<Email>email@example.com</Email>
<List>1</List>
</details>
</xmlrequest>';
$ch = curl_init('https://snw00.maxx.mobi/xml.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
$result = curl_exec($ch);
if ($result === false) {
echo "Error performing request: " . curl_error($ch);
// Encerrar a execução do script em caso de erro
exit;
} else {
$xml_doc = simplexml_load_string($result);
echo 'status is ', $xml_doc->status, '<br/>';
if ($xml_doc->status == 'SUCCESS') {
print_r($result);
} else {
echo 'Error is ', $xml_doc->errormessage, '<br/>';
}
}
?>
Este exemplo irá verificar se um determinado contato está localizado em uma determinada lista de contatos.
xmlrequest
o username – Conta de Usuário.
o usertoken – Token único atribuído à conta de usuário utilizada acima.
o requesttype – O nome do arquivo API em questão.
o requestmethod – Nome da função a ser chamada.
o details
Email – Endereço de e-mail do contato que está sendo procurado.
List – O ID da lista de contato que quer procurar. ∗ campo obrigatório
• Resposta bem sucedida Após uma submissão válida da função “É o contato na lista”, a API XML retornará true se localizar o contato e irá retornar nada se não. O formato é o seguinte:
• Response o status – O valor do campo de status será “SUCCESS” para uma resposta bem sucedida. o data – Retornará “1” se o contato for localizado.
• Resposta sem sucesso Após o envio de uma resposta errada devido a um campo faltando ou um valor inválido, o a função falhará. Uma mensagem de status será retornada via XML no seguinte formato:
• Response o status – O valor do campo de status será “ERROR”. o errormessage – Uma mensagem textual explicando o porque a requisição falhou.
# Criando campanhas #
Exemplo de criação de campanha (XML) O exemplo de código a seguir cria e enviar uma nova campanha de e-mail.
<xmlrequest>
<username>usuario</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>newsletters</requesttype>
<requestmethod>createnewnewsletter</requestmethod>
<details>
<name>Teste 1</name>
<format>html</format>
<active>1</active>
<archive>1</archive>
<subject>Teste</subject>
<textbody>teste teste</textbody>
<htmlbody><![CDATA[<html><head></head><body>teste teste</body></html>]]></htmlbody>
<when>1470096602</when>
<approved>1</approved>
<lists>
<listid>1</listid>
<listid>5</listid>
</lists>
</details>
</xmlrequest>
Exemplo de requisição (PHP) O código de exemplo abaixo é escrito em PHP e faz uso da funcionalidade CURL do PHP para inserir o XML acima na aplicação.
<?php
date_default_timezone_set('America/Sao_Paulo');
$when = new DateTime("2016-08-04 10:25:00");
$xml = "<xmlrequest>
<username>usuario</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>newsletters</requesttype>
<requestmethod>createnewnewsletter</requestmethod>
<details>
<name>Teste 9</name>
<format>html</format>
<active>1</active>
<archive>1</archive>
<subject>Teste</subject>
<textbody>teste teste</textbody>
<htmlbody><![CDATA[<html><head></head><body>teste teste</body></html>]]></htmlbody>
<when>".$when->getTimestamp()."</when>
<approved>1</approved>
<lists>
<listid>1</listid>
<listid>5</listid>
</lists>
</details>
</xmlrequest>";
$ch = curl_init('https://snw00.maxx.mobi/xml.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
$result = @curl_exec($ch);
var_dump($result);
//exit();
if ($result === false) {
echo "Error performing request";
} else {
$xml_doc = simplexml_load_string($result);
echo 'Status is ', $xml_doc->status, '<br/>';
if ($xml_doc->status == 'SUCCESS') {
echo 'Data is ', $xml_doc->data, '<br/>';
} else {
echo 'Error is ', $xml_doc->errormessage, '<br/>';
}
}
Este exemplo irá criar e enviar uma campanha de e-mail marketing, e retornará uma mensagem de erro ou sucesso da criação da campanha.
xmlrequest
o username – Conta de Usuário.
o usertoken – Token único atribuído à conta de usuário utilizada acima.
o requesttype – O nome do arquivo API em questão.
o requestmethod – Nome da função a ser chamada.
o details
> name * – Nome da Campanha de e-mail.
> formato do e-mail *
> active *
Resposta bem sucedida Após uma submissão válida da função “É o contato na lista”, a API XML retornará true se localizar o contato e irá retornar nada se não. O formato é o seguinte:
Response o status – O valor do campo de status será “SUCCESS” para uma resposta bem sucedida. o data – Retornará “1” se o contato for localizado.
Resposta Sem Sucesso Após o envio de uma resposta errada devido a um campo faltando ou um valor inválido, o a função falhará. Uma mensagem de status será retornada via XML no seguinte formato:
Response o status – O valor do campo de status será “ERROR”. o errormessage – Uma mensagem textual explicando o porquê a requisição falhou.**
# Buscar campanhas enviadas #
Exemplo de requisição de e-mails abertos (XML) O exemplo de código a seguir irá retornar as campanhas enviadas separadas por “;”, você pode buscar os resultados alterando o campo start, ele começa com o 0 igualmente um array, caso não retorne nada é porque não tem mais resultados após o número inserido no campo start.
<xmlrequest>
<username>usuario</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>newsletters</requesttype>
<requestmethod>getnewslettersends</requestmethod>
<perpage>1</perpage>
<details>
<start>0</start>
</details>
</xmlrequest>
Exemplo de requisição (PHP) O código de exemplo abaixo é escrito em PHP e faz uso da funcionalidade CURL do PHP para inserir o XML acima na aplicação.
<?php
date_default_timezone_set('America/Sao_Paulo');
$when = new DateTime("2016-08-05 15:56:00");
$xml = "<xmlrequest>
<username>usuario</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>newsletters</requesttype>
<requestmethod>getnewslettersends</requestmethod>
<details>
<start>0</start>
</details>
</xmlrequest>";
$ch = curl_init('https://snw00.maxx.mobi/xml.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
$result = @curl_exec($ch);
var_dump($result);
if ($result === false) {
echo "Error performing request";
} else {
$xml_doc = simplexml_load_string($result);
echo 'Status é: ', $xml_doc->status, '<br/>';
if ($xml_doc->status == 'SUCCESS') {
echo 'Dados: ', $xml_doc->data, '<br/>';
} else {
echo 'Erro: ', $xml_doc->errormessage, '<br/>';
}
}
Este exemplo irá retornar todas as campanhas enviadas.
Resposta bem sucedida Após uma submissão válida da função, a API XML retornará true se o pedido for correto e irá retornar os dados: ID de envio, nome da campanha, inicio de envio, final de envio, quantitativo de contatos no envio, links clicados, quantidade de e-mails abertos, quantidade de pedido de remoção, quantidade de bounce leve e quantidade de bounce pesado, todos separados por virgula, o ponto e virgula é usado para separar resultados. O formato é o seguinte:
Response o status – O valor do campo de status será “SUCCESS” para uma resposta bem sucedida. o data – 1,TOTAL MENSAL,12-12-2016 15:56:01,12-12-2016 15:58:01,3,2,2,0,0,0;11,TOTAL MENSAL 2,12-12-2016 16:33:01,12-12-2016 16:41:01,3,0,2,0,0,0;2,TOTAL MENSAL 3,12-12-2016 16:46:02,12-12-2016 16:51:10,5153,297,551,1,24,232;3,GERAL 4,12-12-2016 21:38:01,12-12-2016 22:09:59,2350,129,269,0,14,146;4,TALENTO,23-01-2017 22:56:01,23-01-2017 22:57:02,2,0,0,0,2,0;5,TALENTO,23-01-2017 23:00:01,23-01-2017 23:01:02,3,0,0,0,3,0;6,TALENTO,24-01-2017 13:27:01,24-01-2017 13:28:01,4,12,19,0,3,0;7,TALENTO,24-01-2017 15:41:01,24-01-2017 15:43:02,4,33,111,0,3,0;8,TALENTO,24-01-2017 22:45:01,24-01-2017 22:49:01,4,17,23,0,3,0;9,CONFEITARIA CLASSICA,26-01-2017 22:36:01,26-01-2017 22:42:02,81,7,11,0,4,8;
Resposta sem sucesso Após o envio de uma resposta errada devido a um campo faltando ou um valor inválido, a função falhará. Uma mensagem de status será retornada via XML no seguinte formato:
Response o status – O valor do campo de status será “ERROR”. o errormessage – Uma mensagem textual explicando o porquê a requisição falhou.
# Buscar e-mails com erros #
<xmlrequest>
<username>usuario</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>newsletters</requesttype>
<requestmethod>getnewsletterbounce</requestmethod>
<details>
<start>0</start>
<stats>99</stats>
</details>
</xmlrequest>
Exemplo de requisição (PHP) O código de exemplo abaixo é escrito em PHP e faz uso da funcionalidade CURL do PHP para inserir o XML acima na aplicação.
<?php
date_default_timezone_set('America/Sao_Paulo');
$when = new DateTime("2016-08-05 15:56:00");
$xml = "<xmlrequest>
<username>usuario</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>newsletters</requesttype>
<requestmethod>getnewsletterbounce </requestmethod>
<details>
<start>0</start>
<stats>99</stats>
</details>
</xmlrequest>";
$ch = curl_init('https://snw00.maxx.mobi/xml.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
$result = @curl_exec($ch);
var_dump($result);
if ($result === false) {
echo "Error performing request";
} else {
$xml_doc = simplexml_load_string($result);
echo 'Status é: ', $xml_doc->status, '<br/>';
if ($xml_doc->status == 'SUCCESS') {
echo 'Dados: ', $xml_doc->data, '<br/>';
} else {
echo 'Erro: ', $xml_doc->errormessage, '<br/>';
}
}
Este exemplo irá retornar todas os e-mails com erros.
Exemplo de requisição de e-mails abertos (XML) O exemplo de código a seguir irá retornar as campanhas enviadas separadas por “;”, no campo stats deve ser inserido o ID da campanha enviada(pode ser visto no item 15), podemos buscar os resultados alterando o campo start, ele começa com o 0 igualmente um array, caso não retorne nada é porque não tem mais resultados após o número inserido no campo start.
Resposta bem sucedida Após uma submissão válida da função, a API XML retornará true se o pedido for correto e irá retornar os dados: ID da lista, e-mail, data da inserção no bounce, tipo do bounce e descrição do bounce, todos separados por virgula, o ponto e virgula é usado para separar resultados. O formato é o seguinte:
Response o status – O valor do campo de status será “SUCCESS” para uma resposta bem sucedida.
o data – 99,email1@gmail.com,03-05-2018 14:38:36,hard,emaildoesntexist;100,email2@uol.com,03-05-2018 14:38:36,hard,emaildoesntexist;101,email3@hotmail.com,03-05-2018 14:38:40,soft,overquota;101,email1@yahoo.com,03-05-2018 14:38:49,soft,overquota;102,email1@Maxxmobi.com.br,03-05-2018 14:38:49,soft,overquota;1111,email7@Maxxmobi.com.br,03-05-2018 14:38:55,hard,emaildoesntexist;999,email1@Maxxmobi.com.br,03-05-2018 14:39:50,hard,emaildoesntexist;163,email1@Maxxmobi.com.br,05-05-2018 14:39:06,soft,remoteconfigerror;
Resposta sem sucesso Após o envio de uma resposta errada devido a um campo faltando ou um valor inválido, a função falhará. Uma mensagem de status será retornada via XML no seguinte formato:
Response o status – O valor do campo de status será “ERROR”. o errormessage – Uma mensagem textual explicando o porquê a requisição falhou.
# Buscar aberturas de e-mail #
Exemplo de Requisição de E-mails Abertos (XML) O exemplo de código a seguir irá retornar as campanhas enviadas separadas por “;”, no campo stats deve ser inserido o ID da campanha enviada(pode ser visto no item 15), podemos buscar os resultados alterando o campo start, ele começa com o 0 igualmente um array, caso não retorne nada é porque não tem mais resultados após o número inserido no campo start.
<xmlrequest>
<username>usuario</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>newsletters</requesttype>
<requestmethod>getnewsletteropens</requestmethod>
<details>
<start>0</start>
<stats>99</stats>
</details>
</xmlrequest>
Exemplo de requisição (PHP) O código de exemplo abaixo é escrito em PHP e faz uso da funcionalidade CURL do PHP para inserir o XML acima na aplicação.
<?php
date_default_timezone_set('America/Sao_Paulo');
$when = new DateTime("2016-08-05 15:56:00");
$xml = "<xmlrequest>
<username>usuario</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>newsletters</requesttype>
<requestmethod>getnewsletteropens</requestmethod>
<details>
<start>0</start>
<stats>99</stats>
</details>
</xmlrequest>";
$ch = curl_init('https://snw00.maxx.mobi/xml.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
$result = @curl_exec($ch);
var_dump($result);
if ($result === false) {
echo "Error performing request";
} else {
$xml_doc = simplexml_load_string($result);
echo 'Status é: ', $xml_doc->status, '<br/>';
if ($xml_doc->status == 'SUCCESS') {
echo 'Dados: ', $xml_doc->data, '<br/>';
} else {
echo 'Erro: ', $xml_doc->errormessage, '<br/>';
}
}
Este exemplo irá retornar todas as aberturas de e-mails.
Resposta bem sucedida Após uma submissão válida da função, a API XML retornará true se o pedido for correto e irá retornar os dados: ID da abertura, e-mail, data e hora da abertura, IP de abertura e tipo da abertura, todos separados por virgula, o ponto e virgula é usado para separar resultados. O formato é o seguinte:
Response o status – O valor do campo de status será “SUCCESS” para uma resposta bem sucedida. o data – 999,email1@gmail.com,03-05-2018 14:35:22,66.102.8.16,h;777,email1@hotmail.com,03-05-2018 14:35:49,66.102.8.16,h;666,email1@uol.com,03-05-2018 14:35:51,66.102.8.18,h;555,email1@Maxxmobi.com.br,03-05-2018 14:36:06,173.205.33.19,h;111,email1@maxx.mobi,03-05-2018 14:36:25,66.102.8.16,h;222,email1@net.com.br,03-05-2018 14:36:32,66.249.88.4,h;333,email2@net.com.br,03-05-2018 14:36:34,177.42.45.101,h;1112,email1s@net.com.br,03-05-2018 14:36:42,66.249.88.3,h;2633795,email1@Maxxmobi.com.br,03-05-2018 14:37:01,66.102.8.20,h;2633836,email1@maxx.mobi,03-05-2018 14:38:30,179.184.9.203,h;
Resposta sem sucesso Após o envio de uma resposta errada devido a um campo faltando ou um valor inválido, a função falhará. Uma mensagem de status será retornada via XML no seguinte formato:
Response o status – O valor do campo de status será “ERROR”. o errormessage – Uma mensagem textual explicando o porquê a requisição falhou.
# Buscar e-mails que pediram remoção #
Exemplo de Requisição de E-mails Abertos (XML) O exemplo de código a seguir irá retornar as campanhas enviadas separadas por “;”, no campo stats deve ser inserido o ID da campanha enviada(pode ser visto no item 15), podemos buscar os resultados alterando o campo start, ele começa com o 0 igualmente um array, caso não retorne nada é porque não tem mais resultados após o número inserido no campo start.
<xmlrequest>
<username>usuario</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>newsletters</requesttype>
<requestmethod>getnewsletterunsubscribe</requestmethod>
<details>
<start>0</start>
<stats>99</stats>
</details>
</xmlrequest>
Exemplo de requisição (PHP) O código de exemplo abaixo é escrito em PHP e faz uso da funcionalidade CURL do PHP para inserir o XML acima na aplicação.
<?php
date_default_timezone_set('America/Sao_Paulo');
$when = new DateTime("2016-08-05 15:56:00");
$xml = "<xmlrequest>
<username>usuario</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>newsletters</requesttype>
<requestmethod>getnewsletterunsubscribe</requestmethod>
<details>
<start>0</start>
<stats>99</stats>
</details>
</xmlrequest>";
$ch = curl_init('https://snw00.maxx.mobi/xml.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
$result = @curl_exec($ch);
var_dump($result);
if ($result === false) {
echo "Error performing request";
} else {
$xml_doc = simplexml_load_string($result);
echo 'Status é: ', $xml_doc->status, '<br/>';
if ($xml_doc->status == 'SUCCESS') {
echo 'Dados: ', $xml_doc->data, '<br/>';
} else {
echo 'Erro: ', $xml_doc->errormessage, '<br/>';
}
}
Este exemplo irá retornar todos os pedidos de remoção.
Resposta bem sucedida Após uma submissão válida da função, a API XML retornará true se o pedido for correto e irá retornar os dados: ID da lista, e-mail, data da inserção, IP do pedido de remoção, FBL(se ele marcou como SPAM),todos separados por virgula, o ponto e virgula é usado para separar resultados. O formato é o seguinte:
Response o status – O valor do campo de status será “SUCCESS” para uma resposta bem sucedida. o data – 1,pepe@maxx.mobi,03-05-2018 14:43:00,70.42.131.106,0;2,nenem@maxx.mobi,03-05-2018 14:43:00,70.42.131.106,0;3,pepe1@maxx.mobi, 03-05-2018 14:43:00,70.42.131.106,0;4,nenem2@maxx.mobi,03-05-2018 14:43:00,70.42.131.106,0;
Resposta sem sucesso Após o envio de uma resposta errada devido a um campo faltando ou um valor inválido, a função falhará. Uma mensagem de status será retornada via XML no seguinte formato:
Response o status – O valor do campo de status será “ERROR”. o errormessage – Uma mensagem textual explicando o porquê a requisição falhou.
# Visualizar domínios com quantitativo #
Exemplo de requisição de visualizar domínios com quantitativo (XML) O exemplo de código a seguir irá requisitar os domínios e seu quantitativo por domínio.
<xmlrequest>
<username>usuario</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>newsletters</requesttype>
<requestmethod>getdomainnewsletterunsubscribe</requestmethod> E-mail Marketing
<details>
<jobid>138</jobid>
</details>
</xmlrequest>
Exemplo de requisição (PHP) O código de exemplo abaixo é escrito em PHP e faz uso da funcionalidade CURL do PHP para inserir o XML acima na aplicação.
<?php
date_default_timezone_set('America/Sao_Paulo');
$when = new DateTime("2016-08-05 15:56:00");
$xml = <xmlrequest>
<username>usuario</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>newsletters</requesttype>
<requestmethod>getdomainnewsletterunsubscribe</requestmethod> E-mail Marketing
<details>
<jobid>138</jobid>
</details>
</xmlrequest>";
$ch = curl_init('https://snw00.maxx.mobi/xml.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
$result = @curl_exec($ch);
var_dump($result);
if ($result === false) {
echo "Error performing request";
} else {
$xml_doc = simplexml_load_string($result);
echo 'Status é: ', $xml_doc->status, '<br/>';
if ($xml_doc->status == 'SUCCESS') {
echo 'Dados: ', $xml_doc->data, '<br/>';
} else {
echo 'Erro: ', $xml_doc->errormessage, '<br/>';
}
}
Este exemplo irá retornar os domínios e seu quantitativo por domínio.
Resposta bem sucedida Após uma submissão válida da função “É o contato na lista”, a API XML retornará true se localizar o contato e irá retornar nada se não. O formato é o seguinte:
Response o status – O valor do campo de status será “SUCCESS” para uma resposta bem sucedida. o data – Retornará por exemplo “@gmail.com,200,@hotmail.com,300”.
Resposta sem sucesso Após o envio de uma resposta errada devido a um campo faltando ou um valor inválido, o a função falhará. Uma mensagem de status será retornada via XML no seguinte formato:
Response o status – O valor do campo de status será “ERROR”. o errormessage – Uma mensagem textual explicando o porque a requisição falhou.
# Visualizar campanhas por período #
Exemplo de requisição de visualizar domínios com quantitativo (XML) O exemplo de código a seguir irá requisitar os domínios e seu quantitativo por domínio.
<xmlrequest>
<username>usuario</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>newsletters</requesttype>
<requestmethod>getnewslettersdate</requestmethod>
<details>
<datei>2011-01-01</datei>
<datef>2011-01-01</datef>
</details>
</xmlrequest>
Exemplo de requisição (PHP) O código de exemplo abaixo é escrito em PHP e faz uso da funcionalidade CURL do PHP para inserir o XML acima na aplicação.
<?php
date_default_timezone_set('America/Sao_Paulo');
$when = new DateTime("2016-08-05 15:56:00");
$xml = “<xmlrequest>
<username>usuario</username>
<usertoken>a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1</usertoken>
<requesttype>newsletters</requesttype>
<requestmethod>getnewslettersdate</requestmethod>
<details>
<datei>2011-01-01</datei>
<datef>2011-01-01</datef>
</details>
</xmlrequest>";
$ch = curl_init('https://snw00.maxx.mobi/xml.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
$result = @curl_exec($ch);
var_dump($result);
if ($result === false) {
echo "Error performing request";
} else {
$xml_doc = simplexml_load_string($result);
echo 'Status é: ', $xml_doc->status, '<br/>';
if ($xml_doc->status == 'SUCCESS') {
echo 'Dados: ', $xml_doc->data, '<br/>';
} else {
echo 'Erro: ', $xml_doc->errormessage, '<br/>';
}
}
Este exemplo irá retornar as campanhas limitadas por período de início e termino.
Resposta Bem Sucedida Após uma submissão válida da função “É o contato na lista”, a API XML retornará true se localizar o contato e irá retornar nada se não. O formato é o seguinte:
Response o status – O valor do campo de status será “SUCCESS” para uma resposta bem sucedida. o data – Retornará nome campanha, inicio da campanha, final da campanha, enviado, links clicados, e-mails abertos, e-mails abertos únicos, html open, html open único, text open, text open único, como pode-se ver no exemplo a seguir: “teste, 2011-01-01, 2011-01-01,3,1,2,2,2,2,0,0”.
Resposta sem sucesso Após o envio de uma resposta errada devido a um campo faltando ou um valor inválido, o a função falhará. Uma mensagem de status será retornada via XML no seguinte formato:
Response o status – O valor do campo de status será “ERROR”. o errormessage – Uma mensagem textual explicando o porque a requisição falhou.
# Codigos de erro HTTP #
Código de Erro | Significado em Inglês | Significado |
---|---|---|
400 | Bad Request | Mensagem de requisição mal formatada |
401 | Unauthorized | Acesso não autorizado, autenticação possível |
402 | Payment Required | Pagamento necessário para acesso ao recurso |
403 | Forbidden | Acesso não autorizado, autenticação impossível |
404 | Not Found | Recurso não encontrado |
405 | Method Not Allowed | Método não permitido |
406 | Not Acceptable | Não aplicável |
429 | Too Many Requests | Requisições em excesso |
500 | Internal Server Error | Erro interno |
503 | Service Unavailable | Serviço indisponível |
Copyright © 2023 Maxxmobi Todos os direitos reservados.