# 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 detailslistids – 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.