NAV
json xml php

SMS API REST

Introdução

O Webservice MAXXMOBI disponibiliza métodos para envio, recebimento e gerenciamento de SMS baseados nas tecnologias REST/JSON.
Esses métodos possibilitam grande agilidade na integração entre aplicações e a plataforma MAXXMOBI.

Principais vantagens do WebService MAXXMOBI:

Utilização do Webservice

A utilização do Webservice MAXXMOBI para integração de sistemas e envio de mensagens, é iniciado a partir da passagem de um Json a sua url correspondente.

Autenticação

Para autorizar, use este código:

{ 
"usuario":"root",
"senha":"root"
}

Para o serviço do SMS o Webservice MAXXMOBI utiliza-se usuário e senha para autenticação.
O parâmetro de autenticação tem que ser inserido acima de todos os métodos disponibilizados pela API.

Parâmetros de autenticação:

Parâmetros Descrição
Usuário Usuário de autenticação
senha Senha do usuário

Método de Envio

http://api.maxx.mobi/ws/maxxmobi/envios/

O método para envio de uma ou mais mensagens SMS’s. O agendamento é realizado a partir do momento em que se coloca a data e o horário do mesmo. Caso isso não ocorra, a mensagem será enviada na mesma hora.

Parâmetros das mensagens (* - campos obrigatórios):

Parâmetros Descrição Tipo
Sms* Lista para enviar um ou mais sms. String
idCliente Seu id definido. Isso é útil na necessidade manter o controle da mensagem enviada, desde que você pode definir diferentes ids para mensagens diferentes. String
Numero* Número de telefone para o qual a mensagem será enviada. Exemplo: 5571991990000 Não é obrigatório o uso do código do pais String
Mensagem* Mensagem de texto que vai ser enviada para o número de destino String
agendamento A mensagem não será enviada antes desta data. Este campo segue o formato DD-MM-AAAA HH:MM:SS. Ex.: 01-01-2018 19:59:59 String
Exemplo json de envio:(sem agendamento):
{
"usuario":"root",
"senha":"root",
"requisicao":[
{"idCliente":"fev01", "numero":"5571988888888","mensagem":"validando ws"},
{"idCliente":"fev02", "numero":"5571999999999","mensagem":"validando ws"}
]
}
Exemplo json de envio:(com agendamento):
{
"usuario":"root",
"senha":"root",
"requisicao":[
{"idCliente":"fev01", "numero":"5571988888888","mensagem":"validando ws"},
{"idCliente":"fev02", "numero":"5571999999999","mensagem":"validando ws"}
],
"agendamento":"01-01-2018 14:00:00"
}
Exemplos json objeto de resposta:
(Exemplo 1)
{
"status": 0,
"resposta": "OK",
"lote": 12345

}
(Exemplo 2)
{
"status": 99,
"resposta": "Usuario nao existe ou nao autorizado!",
"lote": 0
}

Método de Retorno

http://api.maxx.mobi/ws/maxxmobi/retornos/

Esse método retorna um JSON contendo o status do retorno e os SMSs respondidos num determinado período. Os parâmetros de entrada são:

Parâmetros de entrada:

Parâmetros Descrição Tipo
datainicio Data e hora inicial para obter as respostas. Esse período segue o formato DD-MM-AAAA HH:MM:SS String
dataFim Data e hora final para obter as respostas. Esse período segue o formato DD-MM-AAAA HH:MM:SS String
Exemplos de entrada (Json):
{
"usuario":"root",
"senha":"root",
"datainicio":"01-01-2018 00:00:00",
"dataFim":"31-01-2018 23:59:59"

}

Resposta do Status:

Parâmetros Descrição
status Status do retorno, tipos de status “OK” quando existe respostas para esse filtro e “SEM DADOS” quando não contem respostas
id Id da resposta
numero Número do cliente e respondeu
mensagem Mensagem respondida
seuId Caso tenha inserido o id para a mensagem enviada, ele retornará nesse campo para facilitar uma associação
data Data e hora da resposta
Os parâmetros das respostas retornadas seguem o seguinte formato:
Json exemplos de retorno com dados:
{
"status": "OK",
"listaResposta": [
{
"id": 2553,
"mensagem": "resposta 01",
"seuId": fev01,
"data": "2018-01-31 17:55:58.0",
"numero": "5571988888888"
},
{
"id": 2554,
"mensagem": "resposta 02",
"seuId": fev02,
"data": "2018-01-31 17:56:04.0",
"numero": "5571999999999"
}
]
}
Json exemplos de retorno sem dados:
{
"status": "SEM DADOS",
"listaResposta": []
}

Método de Status

http://api.maxx.mobi/ws/maxxmobi/status/

Parâmetros de entrada:
{
"usuario":"root",
"senha":"root",
"id":"fev01"
}
Exemplo de objeto de resposta:
{
"id": 548597,
"seuId": "fev01",
"numero": "5571981416558",
"dataEnvio": "2018-02-20 14:23:00.0",
"mensagem": "validando ws",
"status": "ENVIADO",
"operadora": "Claro",
"dataDaAtualizacaoDoStatus": "2018-02-20 14:23:00"
}
Exemplo de objeto de resposta de status não encontrado:
{
"id": 0,
"seuId": null,
"numero": null,
"dataEnvio": null,
"mensagem": null,
"status": null
}

Método para obter o status do SMS.

Parâmetros de entrada:

Documentação MAXXMOBI
usuario Nome do usuario do sistema
senha Senha do sistema
id ID que foi inserido na mensagem de envio

Resposta do Status:

Parâmetros Descrição Tipo
ID ID gerado para o envio int
seuId O seu id inserido na mensagem String
numero Número de destino da mensagem consultado String
dataEnvio Data de envio da mensagem String
mensagem Mensagem de texto que foi enviada ao destinatário String
Status Status da mensagem. Esse status pode sofrer uma alteração depois de um tempo, que é quando a operadora nos devolve o status final da mensagem(essa alteração só ocorre uma vez).
Status:
PENDENTE: A aplicação ainda não pegou a mensagem.
ENVIADO: A mensagem foi enviada.
ERRO: Ocorreu alguém erro ao tentar enviar a mensagem.
NAO ENVIADO: A mensagem não foi enviada, por falta de crédito ou número invalido.
ENTREGUE: Confirmação de entrega ao destinatário.
BLACKLIST: O número faz parte de uma blacklist.
String
operadora Nome da Operadora a que pertence o numero. String
dataDaAtualizacaoDoStatus Data e hora da ultima alteração de Status. DateTime

Método de Status Não Lidos

http://api.maxx.mobi/ws/maxxmobi/fetch/status/

Parâmetros de entrada (JSON):
{
"usuario":"root",
"senha":"root"
}
Json exemplos de resposta com status com dados:
{
"status": "OK",
"listaStatus":[
{
"id": 123,
"seuId": "fev01",
"numero": "5571999999999",
"operadora":"TIM",
"dataDaAtualizacaoDoStatus": "2021-02-15 14:23:00.0",
"status": "ENVIADO"
},
{
"id": 456,
"seuId": "fev02",
"numero": "5571999999999",
"operadora":"CLARO",
"dataDaAtualizacaoDoStatus": "2021-02-15 14:23:00.0",
"status": "ENVIADO"
}
]
}
Json exemplos de resposta com status sem dados:
{
"status": "OK",
"destinatarios ": []
}

Json exemplos de resposta com falha na leitura
ou autenticação inválida:
{
"status": "ERRO",
"destinatarios ": []
}

Método para buscar status não lidos.

Parâmetros de entrada:

Parâmetros Descrição Tipo
ID ID gerado para o envio int
seuId O seu id inserido na mensagem String
numero Número de destino da mensagem consultado String
operadora Operadora do destinatário String
dataDaAtualizacaoDoStatus Data da ultima atualização de status String
Status Status da mensagem. Esse status pode sofrer uma alteração depois de um tempo, que é quando a operadora nos devolve o status final da mensagem(essa alteração só ocorre uma vez).
Status:
PENDENTE: A aplicação ainda não pegou a mensagem.
ENVIADO: A mensagem foi enviada.
ERRO: Ocorreu alguém erro ao tentar enviar a mensagem.
NAO ENVIADO: A mensagem não foi enviada, por falta de crédito ou número invalido.
ENTREGUE: Confirmação de entrega ao destinatário.
BLACKLIST: O número faz parte de uma blacklist.
DUPLICADO: mensagens para destinatários iguais no mesmo envio.
String

Método de Status por Período

http://api.maxx.mobi/ws/maxxmobi/status/periodo

Parâmetros de entrada (JSON):
{
"usuario":"root",
"senha" :"root",
"datainicio":"01-06-2021 00:00:00",
"dataFim":"01-08-2021 23:59:59",
"pagina":0
}
Json exemplos de resposta com status com dados:
{
"status": "OK",
"pagina": 0,
"numeroPaginas": 10001,
"listaStatus":[
{
"id": 123,
"seuId": "fev01",
"numero": "5571999999999",
"operadora":"TIM",
"dataDaAtualizacaoDoStatus": "2021-02-15 14:23:00.0",
"status": "ENVIADO"
},
{
"id": 456,
"seuId": "fev02",
"numero": "5571999999999",
"operadora":"CLARO",
"dataDaAtualizacaoDoStatus": "2021-02-15 14:23:00.0",
"status": "ENVIADO"
}
]
}
Json exemplos de resposta com status sem dados:
{
"status": "SEM DADOS",
"pagina": 0,
"numeroPaginas": 0,
"listaStatus": []
}

Json exemplos Autenticação não autorizada:
{
"status": "Autenticação falhou!",
"listaStatus ": []
}

Exemplo de Json para o periodo superior a 32 dias
{
"status": "Periodo superior a 32 dias. ",
"listaStatus": []
}

Exemplo de Json para data nula ou mal formatada.

{
"status": "Data mal formatada, por favor insera a data neste formato: dd-MM-yyyy HH:mm:ss",
"listaStatus": []
}

Método para buscar status por período de até 32 dias.
Obs.: Retorno máximo de 100 objetos por cada página do período solicitado.

Parâmetros de entrada:

Documentação MAXXMOBI
usuario Nome do usuario do sistema
senha Senha do sistema
datainicio Data inicio para o período
dataFim Data fim para o período
pagina Página para inciar a buscar.
Obs.: É recomendado que na primeira busca para o período utilize-se a página 0, e após o sistema emitir uma resposta colete o números de página existentes para o período solicitado.

Parâmetros de Saida:

Parâmetros Descrição Tipo
status Status da resposta String
pagina Página atual da busca int
numeroPaginas Número de páginas existentes para o período int
listaStatus Lista com os dados encontrados Array
seuId O seu id inserido na mensagem String
numero Número de destino da mensagem consultado String
operadora Operadora do destinatário String
dataDaAtualizacaoDoStatus Data da ultima atualização de status String
Status Status da mensagem. Esse status pode sofrer uma alteração depois de um tempo, que é quando a operadora nos devolve o status final da mensagem(essa alteração só ocorre uma vez).
Status:
PENDENTE: A aplicação ainda não pegou a mensagem.
ENVIADO: A mensagem foi enviada.
ERRO: Ocorreu alguém erro ao tentar enviar a mensagem.
NAO ENVIADO: A mensagem não foi enviada, por falta de crédito ou número invalido.
ENTREGUE: Confirmação de entrega ao destinatário.
BLACKLIST: O número faz parte de uma blacklist.
DUPLICADO: mensagens para destinatários iguais no mesmo envio.
String

Método de Retornos Não Lidos

http://api.maxx.mobi/ws/maxxmobi/fetch/retornos/

Parâmetros de entrada (JSON):
{
"usuario":"root",
"senha":"root"
}
Json exemplos de resposta com status com dados:
{
"status": "OK",
"listaResposta":[
{
"id": 123,
"mensagem": "Hello World",
"seuId": "fev01",
"data": "2021-02-15 14:23:00.0",
"numero": "5571999999999",
"operadora":"TIM"
},
{
"id": 456,
"mensagem": "Hello Brazil",
"seuId": "fev01"
"data": "2021-02-15 14:23:00.0",
"numero": "5571999999999",
"operadora":"TIM"
}
]
}

Método para buscar retornos não lidos.

Parâmetros de entrada:

Parâmetros Descrição Tipo
id ID gerado para o envio Long
mensagem Mensagem originada a partir do aparelho de Celular String
seuId O Identificador que correlaciona um envio a uma resposta String
data Data e hora da notificação do retorno DateTime
numero Número do Celular que originou a mensagem String
operadora Operadora do celular que originou a mensagem String

Cancelar agendamento

http://api.maxx.mobi/ws/maxxmobi/cancelarAgendamento/


Exemplos de entrada (Json):

{
"usuario":"root",
"senha":"root",
"id":"55"
}
Exemplo json objeto de resposta:
(Exemplo 1)
{
"status": 0,
"resposta": "OK"
}
(Exemplo 2)
{
"status": 99,
"resposta": "Nenhum lote encontrado"
}

Método para cancelar agendamento.

Parâmetros de entrada:

Parâmetros Descrição
id ID do lote

Resposta do cancelamento do lote:

Parâmetros Descrição Tipo
status Id da resposta. IDs 0 e 99, sendo 0 para status positivos e 99 para erros int
resposta Descrição da resposta String

Blacklist

Inserir

http://api.maxx.mobi/ws/maxxmobi/inserir/blacklist/

Exemplos de entrada (Json):
{
"usuario":"root",
"senha":"root",
"destinatarios":[
{"numero":"5571999999999"},
{"numero":"5571999999999"}
]
}
Exemplo json objeto de resposta:
(Exemplo 1)
{
"status": 0,
"resposta": "OK"
}
(Exemplo 2)
{
"status": 99,
"resposta": "Não foi possível inserir os números na blacklist"
}

Método para inserir números em uma lista negra, para que os mesmos não recebam mais sms.

Parâmetros de entrada:

Parâmetros Descrição Tipo
destinatarios Lista de destinatários para inserir na blacklist Int
Numero String

Resposta da inserção na blacklist:

Parâmetros Descrição Tipo
status Id da resposta. IDs 0 e 99, sendo 0 para status positivos e 99 para erros int
resposta Descrição da resposta String

Buscar

http://api.maxx.mobi/ws/maxxmobi/blacklist/

Parâmetros de entrada (JSON):
{
"usuario":"root",
"senha":"root"
}
Json exemplos de blacklist com dados:
{
"status": "OK",
"destinatarios":[
{"numero":"5571999999999"},
{"numero":"5571999999999"}
]
}
Json exemplos de blacklist sem dados:
{
"status": "SEM DADOS",
"destinatarios ": []
}

Método para buscar números em uma lista negra.

Resposta da busca:

Parâmetros Descrição Tipo
status Id da resposta. IDs 0 e 99, sendo 0 para status positivos e 99 para erros int
resposta Descrição da resposta String

Excluir

http://api.maxx.mobi/ws/maxxmobi/delete/blacklist/

Exemplos de entrada (Json):
{
"usuario":"root",
"senha":"root",
"destinatarios":[
{"numero":"5571999999999"}
]
}

Exemplo json objeto de resposta:
(Exemplo 1)
{
"status": 0,
"resposta": "OK"
}
(Exemplo 2)
{
"status": 99,
"resposta": "Não foi possível remover os números da blacklist"
}

Método para apagar números em uma lista negra.

Resposta da status:

Parâmetros Descrição Tipo
status Id da resposta. IDs 0 e 99, sendo 0 para status positivos e 99 para erros int
resposta Descrição da resposta String

Relatórios

Mensagens Recebidas

https://sms.maxx.mobi/ws/maxxmobi/retornos/

Esse método retorna um JSON contendo o status do retorno e os SMSs respondidos num determinado período. Os parâmetros de entrada são:

Parâmetros Descrição Tipo
datainicio Data e hora inicial para obter as mensagens do chat. Esse período segue o formato DD-MM-AAAA HH:MM:SS String
dataFim Data e hora final para obter as mensagens do chat. Esse período segue o formato DD-MM-AAAA HH:MM:SS String
Exemplos de entrada (Json):
{
"usuario":"root",
"senha":"root",
"datainicio":"01-01-2018 00:00:00",
"dataFim":"31-01-2018 23:59:59"
}

Os parâmetros das respostas retornadas seguem o seguinte formato:

Parâmetros Descrição
status Status do retorno, tipos de status “OK” quando existe respostas para esse filtro e “SEM DADOS” Quando não contem respostas
id Id da resposta
numero Número do cliente e respondeu
mensagem Mensagem respondida
seuId Caso tenha inserido o id para a mensagem enviada, ele retornará nesse campo para facilitar uma associação
data Data e hora da resposta
Json exemplos de retorno com dados:
{
"status": "OK",
"listaResposta": [
{
"id": 2553,
"mensagem": "resposta 01",
"seuId": fev01,
"data": "2018-01-31 17:55:58.0",
"numero": "5571988888888"
},
{
"id": 2554,
"mensagem": "resposta 02",
"seuId": fev02,
"data": "2018-01-31 17:56:04.0",
"numero": "5571999999999"
}
]
}
Json exemplos de retorno sem dados:
{
"status": "SEM DADOS",
"listaResposta": []
}

Mensagens Recebidas (Avançado)

https://sms.maxx.mobi/ws/relatorios/mensagens/recebidas/

Esse método retorna um JSON contendo as mensagens recebidas em um determinado período e/ou filtrando por número e limitando por quantidade de resultados. Os parâmetros de entrada são:

Parâmetros das mensagens (* - campos obrigatórios)

Parâmetros Descrição
Usuário* Usuário de autenticação
Senha* Senha do usuário
Datainicio* Data e hora de início da consulta
DataFim* Data e hora final da consulta
Numero(opcional) Número de celular
QtdResultados(opcional) Quantidades que deseja retornar
{
"usuario": "root",
"senha": "root",
"datainicio": "01-01-2018 00:00:00",
"dataFim": "01-06-2018 00:00:00",
"numero": "557199999999",
"qtdResultados": 10
}

Retorno das mensagens recebidas:

Parâmetros Descrição
status Status do retorno, tipos de status “OK” quando existe respostas para esse filtro e “SEM DADOS” quando não contem respostas.
listaResposta Array de respostas
id Id da resposta
mensagem Resposta
seuId Id do cliente
data Data da mensagem
numero Número
Json exemplos de retorno com dados:
{
"status": "OK",
"listaResposta": [
{
"id": 212,
"mensagem": "Teste",
"seuId": null,
"data": "26-03-2018 14:55:47",
"numero": "557199999999"
},
{
"id": 585,
"mensagem": "Oi",
"seuId": null,
"data": "09-04-2018 17:34:38",
"numero": "557199999999"
}
]
}
Json exemplos de retorno sem dados:
{
"status": "SEM DADOS",
"listaResposta": []
}

Chat

http://api.maxx.mobi/ws/maxxmobi/chat/

Método para buscar interação entre destinatários e remetentes.

Parâmetros de entrada:

Parâmetros Descrição Tipo
datainicio Data e hora inicial para obter as mensagens do chat. Esse período segue o formato DD-MM-AAAA HH:MM:SS String
dataFim Data e hora final para obter as mensagens do chat. Esse período segue o formato DD-MM-AAAA HH:MM:SS String
Exemplos de entrada (Json):
{
"usuario":"root",
"senha":"root",
"datainicio":"01-01-2018 00:00:00",
"dataFim":"31-01-2018 23:59:59"
}

Resposta:

Parâmetros Descrição
status Status do retorno, tipos de status “OK” quando existe respostas para esse filtro e “SEM DADOS” quando não contem respostas.
id Id da relação
mensagem Mensagem que foi enviada ao destinatário
dataEnvio Data de envio ao destinatário
Numero Número do destinatário
resposta Mensagem respondida pelo destinatário.
dataResposta Data de resposta do destinatário ao remetente
Json exemplos de retorno com dados:
{
"status":"OK",
"chats" : [
{"id": "500","mensagem":"confirma o envio?", "dataEnvio": "20-02-2018
14:35:00","numero":"719999999999", "resposta":"confirmado!", "dataResposta":"21-02-2018
12:00:00","numero":"719999999999"}
]
}
Json exemplos de retorno sem dados:
{
"status": "SEM DADOS",
"chats ": []
}

Relatório de mensagens não lidas

https://sms.maxx.mobi/ws/relatorios/mensagens/naolidas/

Esse método retorna um JSON com as mensagens não lidas. Os parâmetros de entrada são:

Parâmetros das mensagens (* - campos obrigatórios)

Parâmetros Descrição
Usuário* Usuário de autenticação
Senha* Senha do usuário
{
"usuario": "root",
"senha": "root"
}

Retorno de mensagens não lidas:

Parâmetros Descrição
status Status do retorno, tipos de status “OK” quando existe respostas para esse filtro e “SEM DADOS” quando não contem respostas.
listaResposta Array de respostas
id Id da resposta
mensagem Resposta
seuId Id do cliente
data Data da mensagem
numero Número
Json exemplos de retorno com dados:
{
"status": "OK",
"listaResposta": [
{
"id": 212,
"mensagem": "Teste",
"seuId": "fev10",
"data": "26-03-2018 14:55:47",
"numero": "5571999999999"
},
{
"id": 585,
"mensagem": "Oi",
"seuId": null,
"data": "09-04-2018 17:34:38",
"numero": "5571999999999"
}
]
}
Json exemplos de retorno sem dados:
{
"status": "SEM DADOS",
"listaResposta": []
}

Quantitativo de mensagens não lidas

https://sms.maxx.mobi/ws/relatorios/mensagens/quantidade/naolidas/

Esse método retorna um JSON contendo a quantidade de mensagens não lidas. Os parâmetros de entrada são:

Parâmetros das mensagens (* - campos obrigatórios):

Parâmetros Descrição
Usuário* Usuário de autenticação
Senha* Senha do usuário
{
"usuario": "root",
"senha": "root"
}

Retorno do quantitativo de mensagens não lidas:

Parâmetros Descrição
status Status da resposta
Resposta Status do retorno, tipos de status “OK” quando existe respostas para esse filtro e “SEM DADOS” quando não contem respostas.
Quantidade Quantidade de mensagens não lidas
Json exemplos de retorno com dados:
{
"status": 0,
"resposta": "OK",
"quantidade": "2"
}

Gerenciar Grupo de contatos

Buscar grupos

http://api.maxx.mobi/ws/maxxmobi/grupos/

Parâmetros de entrada (JSON):   
{
"usuario":"root",
"senha":"root"

}

Json exemplos de retorno com dados:
{
"status": "OK",
"grupos": [
{
"id": 001,
"nome": "Desenvolvimento"
},
{
"id": 002,
"nome": "maxxmobi"
}
]
}
Json exemplos de retorno sem dados:
{
"status": "SEM DADOS",
"grupos": []
}

Método para consultar grupos.

Parâmetros Descrição
status Status do retorno, tipos de status “OK” quando existe respostas para esse filtro e “SEM DADOS” quando não contem respostas.
id Id do grupo
nome Nome do grupo

Apagar grupos

http://api.maxx.mobi/ws/maxxmobi/grupos/delete/

Método para apagar grupos.

Parâmetros de entrada:

Parâmetros Descrição
id ID do grupo
Exemplos de entrada:
{
"usuario":"root",
"senha":"root",
"id":"55"
}

Resposta da exclusão do grupo

Parâmetros Descrição Tipo
status Id da resposta. IDs 0 e 99, sendo 0 para status positivos e 99 para erros. Int
resposta Descrição da resposta String
Exemplo json objeto de resposta:
(Exemplo 1)
{
"status": 0,
"resposta": "OK"
}
Exemplo json grupo não existente:
{
"status": 99,
"resposta": "grupo não existe!"
}

Listar contatos do grupo

http://api.maxx.mobi/ws/maxxmobi/grupos/contatos/


Exemplos de entrada (Json):
{
"usuario":"root",
"senha":"root",
"id":"55"
}
Json exemplos de retorno com dados:
{
"status": "OK",
"nome": "Desenvolvimento",
"contatos": [
{
"id": 907,
"nome": "João",
"numero": "7199999999999"
},
{
"id": 908,
"nome": "Pedro",
"numero": "7198888888888"
}
]
}
Json exemplos de retorno sem dados:
{
"status": "Grupo não existe!",
"nome": "",
"contatos": []
}

Método para listar grupos.

Parâmetros de entrada:

Parâmetros Descrição
id* ID do grupo

Retorno da lista de contatos do grupo:

Parâmetros Descrição
status Status do retorno, tipos de status “OK” quando existe respostas para esse filtro e “SEM DADOS” quando não contem respostas.
nome Nome do grupo
contatos Array de contatos
id Id do contato
nome Nome do contato
numero Número do contato

Criar grupos com contatos

http://api.maxx.mobi/ws/maxxmobi/criar/grupos/contatos/

Grupo sem contatos
{
"usuario":"maxx",
"senha":"5m52012",
"nome":"diretoria2"
}
Grupo com contatos
{
"usuario":"root",
"senha":"root",
"nome":"diretoria",
"contatos":[
{"nome":"diretor","numero":"71992000000"},
{"nome":"diretor2","numero":"71992000000"}
]
}
Exemplo json objeto de resposta:
(Exemplo 1)
{
"status": 0,
"resposta": "OK",
"id": 01
}
Exemplo json grupo não existente:
{
"status": 99,
"resposta": "erro na criação do grupo!",
"id": 0
}

Método para criar grupos com e sem contatos

Parâmetros de entrada

Parâmetros Descrição
nome Nome do grupo
contatos Array de contatos
nome Nome do contato
numero Número do contato

Resposta da criação do grupo

Parâmetros Descrição Tipo
status Id da resposta. IDs 0 e 99, sendo 0 para status positivos e 99 para erros Int
resposta Descrição da resposta String
id Id gerado na criação Int

Apagar contato

http://api.maxx.mobi/ws/maxxmobi/contato/delete/

Exemplos de entrada (Json):
{
"usuario":"root",
"senha":"root",
"id":"55"
}
Exemplo json objeto de resposta:
(Exemplo 1)
{
"status": 0,
"resposta": "OK"
}
Exemplo json contato não existente:
{
"status": 99,
"resposta": "O contato não existe!"
}

Método para apagar contatos

Parâmetros de entrada

Parâmetros Descrição
Id* ID do contato

Retorno da exclusão do contato

Parâmetros Descrição Tipo
status Id da resposta. IDs 0 e 99, sendo 0 para status positivos e 99 para erros Int
resposta Descrição da resposta String

Listar contatos

http://api.maxx.mobi/ws/maxxmobi/contatos/

Parâmetros de entrada (JSON):
{
"usuario":"root",
"senha":"root"
}
Json exemplos de retorno com dados:
{
"status": "OK",
"contatos": [
{
"id": 907,
"nome": "João",
"numero": "7199999999999"
},
{
"id": 908,
"nome": "Pedro",
"numero": "7198888888888"
}
]
}
Json exemplos de retorno sem dados:
{
"status": "SEM DADOS",
"contatos": []
}

Método para listar contatos.

Parâmetros de entrada:

Parâmetros Descrição
usuario Usuário de autenticação
senha Senha do usuário

Retorno da lista de contatos:

Parâmetros Descrição
status Status do retorno, tipos de status “OK” quando existe respostas para esse filtro e “SEM DADOS” quando não contem respostas
contatos Array de contatos
id Id do contato
nome Nome do contato
numero Número do contato

Relacionar grupo/contato

http://api.maxx.mobi/ws/maxxmobi/relacionar/grupoContato/

 Parâmetros de entrada (JSON):
{
"usuario":"root",
"senha":"root",
"idGrupo":"55",
"idContato":"4666"
}
Exemplo json objeto de resposta:
(Exemplo 1)
{
"status": 0,
"resposta": "OK"
}
Exemplo de relacionamento mal sucedido:
{
"status": 99,
"resposta": " Um dos lados da relação não existe, verifique os IDS!"
}

Método para relacionar um contato ao um grupo

Parâmetros de entrada:

Parâmetros Descrição
idGrupo* ID do grupo
idContato* ID do contato

Retorno da relação grupo x contato:

Parâmetros Descrição Tipo
status Id da resposta. IDs 0 e 99, sendo 0 para status positivos e 99 para erros Int
resposta Descrição da resposta String

Criar contatos

http://api.maxx.mobi/ws/maxxmobi/relacionar/grupoContato/

Parâmetros de entrada (JSON):
{
"usuario":"root",
"senha":"root",
"contatos":[
{"nome":"diretor","numero":"71992000000"},
{"nome":"diretor2","numero":"71992000000"}
]
}
Exemplo json objeto de resposta:
(Exemplo 1)
{
"status": 0,
"resposta": "OK"
}
Exemplo de erro ao criar contato:
{
"status": 99,
"resposta": " Erro ao criar contato"
}

Método para criar contatos

Parâmetros de entrada:

Parâmetros Descrição
contatos Array de contatos
nome Nome do contato
numero Número do contato

Retorno da criação de contato:

Parâmetros Descrição Tipo
status Id da resposta. IDs 0 e 99, sendo 0 para status positivos e 99 para erros Int
reposta Descrição da resposta String

resposta | Descrição da resposta

Atualizar contatos

http://api.maxx.mobi/ws/maxxmobi/atualizar/contato/


Atualização de nome e número
{
"usuario":"root",
"senha":"root",
"id":"55",
"nome":"Joao",
"numero":"7599999999999"
}
Atualização somente do número
{
"usuario":"root",
"senha":"root",
"id":"55",
"numero":"7599999999999"
}
Atualização somente do nome
{
"usuario":"root",
"senha":"root",
"id":"55",
"nome":"Joao"
}
Exemplo json objeto de resposta:
(Exemplo 1)
{
"status": 0,
"resposta": "OK"
}
Exemplo de erro ao criar contato:
{
"status": 99,
"resposta": "Contato não existe!"
}

Método para atualizar contato

Parâmetro de entrada:

Parâmetros Descrição
id* ID do contato
nome Novo nome do contato
numero Novo número do contato

Retorno da atualização de contato:

Parâmetros Descrição Tipo
status Id da resposta. IDs 0 e 99, sendo 0 para status positivos e 99 para erros Int
resposta Descrição da resposta String

Atualizar grupos

http://api.maxx.mobi/ws/maxxmobi/atualizar/contato/

{
"usuario":"root",
"senha":"root",
"idGrupo":"55",
"nome":"Dev"
}
Exemplo json objeto de resposta:
(Exemplo 1)
{
"status": 0,
"resposta": "OK"
}
Exemplo de erro ao criar contato:
{
"status": 99,
"resposta": "Grupo não existe!"
}

Método para atualizar grupo

Parâmetro de entrada:

Parâmetros Descrição
idGrupo* ID do grupo
nome Novo nome do grupo

Retorno da atualização de grupo:

Parâmetros Descrição Tipo
status ID do grupo Id da resposta. IDs 0 e 99, sendo 0 para status positivos e 99 para erros.
reposta Novo nome do grupo Descrição da resposta

Excluir relacionamento Contato x Grupo

http://api.maxx.mobi/ws/maxxmobi/excluir/relacionamento/grupoContato/

{
"usuario":"root",
"senha":"root",
"idGrupo":"55",
"idContato":"4666"
}

Exemplo json objeto de resposta:
(Exemplo 1)
{
"status": 0,
"resposta": "OK"
}
Exemplo de relacionamento mal sucedido:
{
"status": 99,
"resposta": " Um dos lados da relação não existe, verifique os IDS!"
}

Método para excluir o relacionamento entre um contato e grupo

Parâmetro de entrada:

Parâmetros Descrição
idGrupo* ID do grupo
nome Novo nome do grupo

Retorno da relação grupo x contato

Parâmetros Descrição Tipo
idGrupo* Id da resposta. IDs 0 e 99, sendo 0 para status positivos e 99 para erros Int
nome Descrição da resposta String

Auditorias de acesso

http://api.maxx.mobi/ws/maxxmobi/auditoria/historicoAcesso/


{
"usuario":"root",
"senha":"root",
"datainicio":"01-01-2018 00:00:00",
"dataFim":"01-06-2018 23:59:59"
}

Json exemplos de retorno com dados:
{
"status": "OK",
"historicoAcessoWS": [
{
"dataHora": "05-01-2018 15:23:02",
"idUsuario": 1,
"nomeUsuario": "root",
"idDepartamento": 1,
"nomeDepartamento": "master",
"ip": "0:0:0:0:0:0:0:1 / 0:0:0:0:0:0:0:1 / Maxx"
},
{
"dataHora": "05-01-2018 15:33:49",
"idUsuario": 1,
"nomeUsuario": "root",
"idDepartamento": 1,
"nomeDepartamento": "master",
"ip": "0:0:0:0:0:0:0:1 / 0:0:0:0:0:0:0:1 / Maxx"
}
]
}
Json exemplos de retorno sem dados:
{
"status": "SEM DADOS",
"historicoAcessoWS ": []
}
}

Método para auditar histórico de acesso a plataforma

Parâmetros de entrada:

Parâmetros Descrição Tipo
datainicio Data e hora inicial para obter os dados. Esse período segue o formato DD-MM-AAAA HH:MM:SS String
dataFim Data e hora final para obter as dados. Esse período segue o formato DD-MM-AAAA HH:MM:SS String

Retorno da lista de históricos:

Parâmetros Descrição
status Status do retorno, tipos de status “OK” quando existe respostas para esse filtro e “SEM DADOS” quando não contem respostas.
historicoAcessoWS Array de históricos
dataHora Data e hora do acesso
idUsuario Id do usuário
nomeUsuario Nome do usuário
idDepartamento Id do departamento
nomeDepartamento Nome do departamento
ip Ip de acesso ou nome do host

Usuários

Buscar usuários

https://sms.maxx.mobi/ws/seguranca/usuarios/

Esse método retorna um JSON com os usuários da empresa. Os parâmetros de entrada são:

Parâmetros das mensagens (* - campos obrigatórios):

Parâmetros Descrição
Usuário* Usuário de autenticação
Senha* Senha do usuário
{
"usuario": "root",
"senha": "root"
}

Retorno dos usuários:

Parâmetros Descrição
status Status do retorno, tipos de status “OK” quando existe respostas para esse filtro e “SEM DADOS” quando não contém respostas.
usuarios Array de usuários
id Id do usuário
nome Nome do usuário
username Login do usuário
email E-mail do usuário
idDepartamento Id do departamento
departamento Nome do departamento
Json exemplos de retorno sem dados:
{
"status": "OK",
"usuarios": [
{
"id": 255,
"nome": "Maxxmobi",
"username": "Maxx",
"email": " maxx@gmail.com",
"idDepartamento": 7,
"departamento": "maxxs"
},
{
"id": 253,
"nome": "conselho",
"username": "cr",
"email": "producao@maxxmobi.com.br",
"idDepartamento": 1,
"departamento": "maxxmobi"
},
{
"id": 254,
"nome": "Jose",
"username": "jose_master ",
"email": "jose@maxxmobi.com.br",
"idDepartamento": 250,
"departamento": "maxxmobi"
}
]
}
Json exemplos de retorno sem dados:
{
"status": "SEM DADOS",
"usuarios": []
}

Alterar usuários

https://sms.maxx.mobi/ws/seguranca/usuario/alterar/

Esse método altera dados de um usuário. Os parâmetros de entrada são:

Parâmetros das mensagens (* - campos obrigatórios):

Parâmetros Descrição
Usuário* Usuário de autenticação
Senha* Senha do usuário
ID* Id do usuário que dejesa alterar
Nome Nome do usuário
Email E-mail do usuário
NovaSenha Nova senha que será atribuída ao usuário
Desativar Passando parâmetro 1 para desativar a conta (a Reativação da conta, só será possível junto a suporte da Maxxmobi).
{
"usuario": "root",
"senha": "root",
"id":"110",
"nome":"jose da maxx",
"email":"suporte@maxxmobi.com.br",
"novaSenha":"123456",
"desativar":"1"
}

Retorno

Parâmetros Descrição
status Status do retorno, tipos de status “OK” quando existe respostas para esse filtro e “SEM DADOS” quando não contem respostas.
resposta Array de respostas
Json exemplos de retorno de sucesso:
{
"status": 0,
"resposta": "OK"
}
Json exemplos de retorno usuário existente:
{
"status": 99,
"resposta": "Usuário não existe"
}

Listar Departamentos

https://sms.maxx.mobi/ws/maxxmobi/departamento/listar/

Esse método retorna um JSON com os departamentos da empresa. Os parâmetros de entrada são:

Parâmetros das mensagens (* - campos obrigatórios):

Parâmetros Descrição
Usuário* Usuário de autenticação
Senha* Senha do usuário
{
"usuario": "root",
"senha": "root"
}

Retorno das mensagens recebidas

Parâmetros Descrição
status Status do retorno, tipos de status “OK” quando existe respostas para esse filtro e “SEM DADOS” quando não contem respostas.
departamentos Array de departamentos
id Id do departamento
Nome Nome do departamento
tipo Tipo do departamento(1 para limitado e 0 para ilimitado)
crédito Credito do departamento(departamentos ilimitados aparecerá com credito 0)
Json exemplos de retorno com dados:
{
"status": "OK",
"departamentos": [
{
"id": 1,
"nome": "maxx",
"tipo": 1,
"credito": 679605
},
{
"id": 40,
"nome": "Desenvolvimento",
"tipo": 1,
"credito": 300
},
{
"id": 42,
"nome": "Campanhas",
"tipo": 0,
"credito": 0
}
]
}

Listar Grupos de usuários

https://sms.maxx.mobi/ws/seguranca/grupousuario/listar/

Esse método retorna um JSON com os grupos de usuários da empresa. Os parâmetros de entrada são:

Parâmetros das mensagens (* - campos obrigatórios):

Parâmetros Descrição
Usuário* Usuário de autenticação
Senha* Senha do usuário
{
"usuario": "root",
"senha": "root"
}

Retorno das mensagens recebidas

Parâmetros Descrição
status Status do retorno, tipos de status “OK” quando existe respostas para esse filtro e “SEM DADOS” quando não contem respostas.
departamentos Array de departamentos
id Id do departamento
Nome Nome do departamento
tipo Tipo do departamento
credito Crédito do departamento(departamentos ilimitados aparecerão com crédito 0)
Json exemplos de retorno com dados:
{
"status": "OK",
"retornoGrupoUsuario": [
{
"id": 1,
"nome": "Financeiro"
},
{
"id": 8,
"nome": "Contabilidade"
}
]
}
Json exemplos de retorno sem dados:
{
"status": "SEM DADOS",
"retornoGrupoUsuario": []
}

Criar usuário

https://sms.maxx.mobi/ws/seguranca/usuario/criar/

Método para criar usuários. Os parâmetros de entrada são:

Parâmetros das mensagens (* - campos obrigatórios):

Parâmetros Descrição
Usuário* Usuário de autenticação
Senha* Senha de autenticação
criarUsuarios* Objeto do usuário
Nome Nome do usuário
Email E-mail do usuário para recuperação de senha
usuario Login do usuário
senha Senha do usuário
idDepartamento ID do departamento
idGrupoUsuario ID do grupo de usuário
{
"usuario": "root",
"senha": "root",
"criarUsuarios":
{
"nome":"maxx",
"email":"suporte@maxxmobi.com.br",
"usuario":"maxx_usuario",
"senha":"123456",
"idDepartamento":1,
"idGrupoUsuario":8
}
}

Retorno

Parâmetros Descrição
status Status do retorno, tipos de status “OK” quando existe respostas para esse filtro e “SEM DADOS” quando não contem respostas.
resposta ID do usuário criado
Json exemplos de retorno com dados:
{
"status": 0,
"resposta": "186"
}
Json exemplos de retorno de erro:
{
"status": 99,
"resposta": "USUARIO INVALIDO OU JA EXISTENTE"
}
OU
{
"status": 99,
"resposta": "GRUPO USUARIO INCORRETO"
}
OU
{
"status": 99,
"resposta": "DEPARTAMENTO INCORRETO"
}

Criar Urls de Callbacks

https://sms.maxx.mobi/ws/maxxmobi/criar/callbacks/

Método para criar urls de callback. Os parâmetros de entrada são:

Parâmetros das mensagens (* - campos obrigatórios):

Parâmetros Descrição
Usuário* Usuário de autenticação
Senha* Senha de autenticação
callbacks* Objeto de callbacks
respostas Url para receber as respostas do usuário final
status Url para receber os status das operadoras
Departamento* Id do departamento que as urls serão vinculadas
{
"usuario":"root",
"senha":"root",
"callbacks": {
"respostas": "http://respostas2.api/",
"status":"http://status.api/",
"departamento":"1"
}
}

Retorno

Parâmetros Descrição Tipo
status Id da resposta. IDs 0 e 99, sendo 0 para status positivos e 99 para erros Int
resposta Descrição da resposta String
id Id gerado na criação Int
Exemplo json
{
"status": 0,
"resposta": "OK",
"id": 01
}
Exemplo json de Erros
{
"status": 99,
"resposta": " Não foi possivel inserir a url",
"id": 0
}
{
"status": 99,
"resposta": " Departamento não existe",
"id": 0
}

Status do serviço

http://api.maxx.mobi/ws/maxxmobi/statusservico/

 Exemplos de entrada
Chamada get a url do método.
Json de retorno online:
{
"status":"UP"
}
Json de retorno offline:
{
"status":"DOWN"
}

Método para verificar o status do serviço.

Envio via arquivo (SFTP)

Exemplos de arquivo:  

maxx01;71999999999;mensagem de teste
maxx02;71988888888;mensagem de teste
maxx03;71977777777;mensagem de teste
maxx04;71966666666;mensagem de teste

Método para envio de sms a partir de um arquivo .csv. O processo se inicia a partir da transferência de um arquivo .csv para um caminho fornecido pela MAXXMOBI.

Parâmetros das mensagens (* - campos obrigatórios):

Parâmetros Descrição Tipo
idCliente Seu id definido. Isso é útil na necessidade manter o controle da mensagem enviada, desde que você pode definir diferentes ids para mensagens diferentes String
Numero* Número de telefone para o qual a mensagem será enviada. Exemplo: 5571991990000 Não é obrigatório o uso do código do pais. String
Mensagem Mensagem de texto que vai ser enviada para o número de destino String

Arquivos para Download

Git Zip
Principais Funcoes em C# Zip C#
Principais Funcoes em VB.Net Zip Vb.Net
Principais Funces em PHP Zip PHP

APISOAP

Introdução

O Webservice MAXXMOBI disponibiliza uma interface para envio, recebimento e gerenciamento de SMS baseados nas tecnologias XML/SOAP. Essa interface possibilita grande agilidade na integração entre aplicações e a plataforma MAXXMOBI, com a segurança e confiabilidade de uma conexão criptografada.

A tecnologia dos webservices provê um formato destinado à execução de métodos remotos via HTTP, amplamente suportado pelas mais diversas plataformas e servidores de aplicação (PHP, .NET, JEE, etc.). Além disso, é possível executar as funções via URL por parâmetros via GET, ou via POST. Desta forma é possível que aplicações diferentes possam interagir com a plataforma MAXXMOBI, de forma simples e direta.

Principais vantagens do WebService MAXXMOBI:

• Permite às aplicações enviar e receber dados em formatos XML(soap). Cada aplicação pode ter a sua própria “linguagem”, que é traduzida para uma linguagem universal, o formato XML;

• Disponibiliza muito mais segurança no tráfego de mensagens via Internet, através de conexões seguras e publicação do serviço de forma simples e isoladas da base de dados;

• Permite uma integração de sistemas completamente simples, segura, reutilizável e padronizada.

Importação da interface

A utilização do Webservice MAXXMOBI para integração de sistemas e envio de mensagens, deve iniciar com a importação das interfaces disponíveis (contratos) no ambiente de desenvolvimento do cliente através da URL abaixo.

https://api.maxx.mobi/api/wsmaxxmobi?wsdl

Após a importação bem-sucedida das interfaces, o ambiente de desenvolvimento utilizado deve gerar automaticamente uma série de classes e métodos que farão a comunicação entre a aplicação cliente e a plataforma MAXXMOBI.

Autenticação

Exemplos do xml de autenticação:
<autenticacao>
<usuario>maxxmobi</usuario>
<senha>123456</senha>
<token>8f37bd20-3681-11e8-b467-0ed5f89f718b</token>
</autenticacao>
Xml de falha na autenticação:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>Autorizacao falhou</faultstring>
<detail>
<ns1:AutorizacaoFault xmlns:ns1="http://wsmaxxmobi.mobi.maxx.com.br/"/>
</detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>

Para o serviço do SMS o Webservice MAXXMOBI utiliza usuário, senha e token para autenticação.
O parâmetro de autenticação tem que ser inserido acima de todos os métodos disponibilizados pela API.






ParâmetrosDescrição
UsuárioUsuário de autenticação
senhaSenha do usuário
TokenUUID fornecido pela maxxmobi

Autenticação com êxito

Quando a autenticação é bem-sucedida o retorno será de acordo com o método utilizado.

Método de Envio


Exemplos do xml de envio: (sem agendamento)
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsm="http://wsmaxxmobi.mobi.maxx.com.br/">
<soapenv:Header/>
<soapenv:Body>
<wsm:Envios>
<autenticacao>
<usuario>maxxmobi</usuario>
<senha>123456</senha>
<token>8f37bd20-3681-11e8-b467-0ed5f89f718b</token>
</autenticacao>
<mensagens>
<!--1 or more repetitions:-->
<sms>
<!--Optional:-->
<idCliente>maxx01</idCliente>
<numero>71991000000</numero>
<mensagem>Seja bem-vindo!</mensagem>
</sms>
<!--Optional:-->
<agendamento></agendamento>
</mensagens>
</wsm:Envios>
</soapenv:Body>
</soapenv:Envelope>
Exemplos do xml de envio: (com agendamento)
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsm="http://wsmaxxmobi.mobi.maxx.com.br/">
<soapenv:Header/>
<soapenv:Body>
<wsm:Envios>
<autenticacao>
<usuario>maxxmobi</usuario>
<senha>123456</senha>
<token>8f37bd20-3681-11e8-b467-0ed5f89f718b</token>
</autenticacao>
<mensagens>
<!--1 or more repetitions:-->
<sms>
<!--Optional:-->
<idCliente>maxx01</idCliente>
<numero>71991000000</numero>
<mensagem>Seja bem-vindo!</mensagem>
</sms>
<!--Optional:-->
<agendamento>01-01-2018 19:59:59</agendamento>
</mensagens>
</wsm:Envios>
</soapenv:Body>
</soapenv:Envelope>
Exemplo XML objeto de resposta:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:EnviosResponse xmlns:ns2="http://wsmaxxmobi.mobi.maxx.com.br/">
<Resposta>
<status>0</status>
<resposta>OK</resposta>
</Resposta>
</ns2:EnviosResponse>
</soap:Body>
</soap:Envelope>

Web método para envio de uma ou mais mensagens SMS’s. O agendamento é realizado a partir do momento em que se coloca a data e o horário do mesmo. Caso isso não ocorra, a mensagem será enviada na mesma hora.








ParâmetrosDescriçãoTipo
Sms∗Lista para enviar um ou mais sms’s.Sms[]
idClienteSeu id definido. Isso é útil no caso de você querer manter o controle da mensagem enviada, desde que você pode definir diferentes ids para mensagens diferentes.String
Numero∗Número de telefone para o qual a mensagem será enviada. Exemplo: 5571991990000 Não é obrigatório o uso do código do pais.String
Mensagem∗Mensagem de texto que vai ser enviada para o número de destinoString
agendamentoA mensagem não será enviada antes desta data. Este campo segue o formato DD-MM-AAAA HH:MM:SS.Ex.: 01-01-2018 19:59:59String

Parâmetros de entrada

O corpo de resposta conterá um objeto XML com informações de rastreamento sobre a mensagem enviada:





ParâmetrosDescriçãoTipo
statusId da resposta. IDs 0 e 99, sendo 0 para status positivos e 99 para erros.int
respostaDescrição da respostaString

Resposta envio SMS

Método de retorno


Exemplos de entrada (XML):
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsm="http://wsmaxxmobi.mobi.maxx.com.br/">
<soapenv:Header/>
<soapenv:Body>
<wsm:Retornos>
<autenticacao>
<usuario>maxxmobi</usuario>
<senha>123456</senha>
<token>8f37bd20-3681-11e8-b467-0ed5f89f718b</token>
</autenticacao>
<Periodo>
<datainicio>01-01-2018 00:00:00</datainicio>
<dataFim>01-01-2018 23:59:59</dataFim>
</Periodo>
</wsm:Retornos>
</soapenv:Body>
</soapenv:Envelope>

XML exemplos de retorno com dados:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:RetornosResponse xmlns:ns2="http://wsmaxxmobi.mobi.maxx.com.br/">
<Retorno>
<status>OK</status>
<retornos>
<id>141</id>
<numero>5571981416558</numero>
<data>2018-03-23 18:25:42.0</data>
<mensagem>Ok</mensagem>
</retornos>
<retornos>
<id>212</id>
<numero>5571982576778</numero>
<data>2018-03-26 14:55:47.0</data>
<mensagem>Teste</mensagem>
</retornos>
<retornos>
<id>217</id>
<numero>5543999559111</numero>
<data>2018-03-26 16:01:42.0</data>
<mensagem>Ok</mensagem>
</retornos>
</Retorno>
</ns2:RetornosResponse>
</soap:Body>
</soap:Envelope>
XML exemplos de retorno sem dados:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:RetornosResponse xmlns:ns2="http://wsmaxxmobi.mobi.maxx.com.br/">
<Retorno>
<status>Sem dados</status>
</Retorno>
</ns2:RetornosResponse>
</soap:Body>
</soap:Envelope>

Esse método retorna um XML contendo o status do retorno e os SMSs respondidos num determinado período. Os parâmetros de entrada são:





ParâmetrosDescriçãoTipo
datainicioData e hora inicial para obter as respostas. Esse período segue o formato DD-MM-AAAA HH:MM:SS
String
dataFim
Data e hora final para obter as respostas. Esse período segue o formato DD-MM-AAAA HH:MM:SS
String

Parâmetros de entrada










ParâmetrosDescrição
statusStatus do retorno, tipos de status “OK” quando existe respostas para esse filtro e “SEM DADOS” Quando não contem respostas.
idId da resposta
numeroNúmero do cliente e respondeu
mensagemMensagem respondida
seuIdCaso você tenha inserido o id para a mensagem enviada, ele retornará nesse campo para facilitar uma associação.
dataData e hora da resposta.

Os parâmetros das respostas retornadas seguem o seguinte formato

Método de Status

Método para obter o status do SMS.

<soapenv:Envelope xmlns:soapenv="htt://schemas.xmlsoap.org/soap/envelope/" xmns:wsm="http://wsmaxxmobi.mobi.maxx.com.br/">
<soapenv:Header/>
<soapenv:Body>
<wsm:Status>
<autenticacao>
<usuario>maxxmobi</usuario>
<senha>123456</senha>
<token>8f37bd20-3681-11e8-b467-0ed5f89f718b</token>
</autenticacao>
<Status>
<id>fev01</id>
</Status>
</wsm:Status>
</soapenv:Body>
</soapenv:Envelope>
Exemplo de objeto de resposta:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:StatusResponse xmlns:ns2="http://wsmaxxmobi.mobi.maxx.com.br/">
<Informacaoes>
<id>14319</id>
<seuId>maxx0204</seuId>
<numero>71981416558</numero>
<dataEnvio>2018-04-02 00:24:00.0</dataEnvio>
<mensagem>validando envios</mensagem>
<status>ENVIADO</status>
</Informacaoes>
</ns2:StatusResponse>
</soap:Body>
</soap:Envelope>
Exemplo de objeto de resposta de status não encontrado:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:StatusResponse xmlns:ns2="http://wsmaxxmobi.mobi.maxx.com.br/">
<Informacaoes>
<id>0</id>
</Informacaoes>
</ns2:StatusResponse>
</soap:Body>
</soap:Envelope>



ParâmetrosDescrição
idID que foi inserido na mensagem de envio.

Parâmetros de entrada










ParâmetrosDescriçãoTipo
IDID gerado para o envioint
seuIdO seu id inserido na mensagemString
numeroNúmero de destino da mensagem consultadoString
dataEnvioData de envio da mensagemString
mensagemMensagem de texto que foi enviada ao destinatário.String
StatusStatus da mensagem. Esse status pode sofrer uma alteração depois de um tempo, que é quando a operadora nos devolve o status final da mensagem(essa alteração só ocorre uma vez). Status:
PENDENTE: A aplicação ainda não pegou a mensagem.
ENVIADO: A mensagem foi enviada.
ERRO: Ocorreu alguém erro ao tentar enviar a mensagem.
NAO ENVIADO: A mensagem não foi enviada, por falta de crédito ou número invalido.
String

Resposta do Status

E-MAIL MARKETING

Introdução

O Webservice da Plataforma de Email 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 Email 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:

http://snwXX.maxx.mobi/xml.php
∗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 Email 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 as listas

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>
E-mail Marketing - Documentação Técnica
Página 10 de 39
MaxxMobi www.maxxmobi.com.br
suporte@maxxmobi.com.br A cada dia mais maxx.
</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.
emailaddress ∗ – Endereço de e-mail do contato a ser adicionado.
mailinglistid ∗ – ID da lista que o contato está localizado.
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”).
format – Formato das campanhas de e-mail que esse contato prefere receber (html ou h ou text ou t) (O padrão é “texto”).
Customfields ∗
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.

Exemplo 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 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

Adicionar contatos as listas sem filtro

Exemplo de Requisição (XML)
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>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>';
$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.
emailaddress ∗ – Endereço de e-mail do contato a ser adicionado.
mailinglistid ∗ – ID da lista que o contato está localizado.
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”).
format – Formato das campanhas de e-mail que esse contato prefere receber (html ou h ou text ou t) (O padrão é “texto”).
Customfields ∗
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('http://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 Email 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>usario</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";
}
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";
}
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 Email 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>@yourdomain.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";
}
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@yourdomain.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";
}
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.
format ∗ – 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, email, 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, email, 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.

ERROS

Erro de código Significado
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
405 Method Not Allowed
406 Not Acceptable
410 Gone
418 I’m a teapot
429 Too Many Requests
500 Internal Server Error
503 Service Unavailable

SUPORTE

Abertura de chamados Enviar um email para: suporte@maxxmobi.com.br
Telefone +55 (71) 3487-0202