Introdução

Seja bem-vindo a nossa documentação para desenvolvedores! Aqui você encontrará tudo que precisa para integrar sua empresa com nossa plataforma.

Termos

Tabela 1. Termos Comuns
Termo Descrição

Campanha

É o agrupador de um ou mais envios.

Centro de Custo

É o agrupador de uma ou mais campanhas.

MO

MO (Mobile Originated) é a resposta via SMS ou Whatsapp originada do aparelho do usuário final.

LA

Número curto (Short Code) de 5 ou 6 dígitos, utilizado para envio e recebimento de mensagens SMS. São designados pelas operadoras para integradores homologados, e possuem regras anti-fraude e anti-spam.

API

Esta API permite que você automatize os de envios de mensagens (únicos ou em lote) e também possibilita a recuperação dos status dos envios através de consultas. Ela utiliza o protocolo HTTP com TLS e aceita os métodos POST com parâmetros em JSON ou GET com parâmetros via Query String.

Para desenvolvimento/testes deve-se utilizar os serviços do ambiente de "Homologação".
Tabela 2. Dados de Produção
Hostname api.bemoby.com

Porta

443 (https)

Protocolo

HTTPS (encriptação TLS)

Tabela 3. Dados de Homologação
Hostname api.hm.bemoby.com

Porta

443 (https)

Protocolo

HTTPS (encriptação TLS)

Codificação (encoding)
O Padrão de codificação utilizado é o UTF-8, todo conteúdo das mensagens deve seguir esse padrão.

Autenticação

Para efetuar a autenticação em nossa API é necessário primeiro solicitar um usuário específico para esta finalidade (Usuários comuns da aplicação não possuem permissão de acesso a API). O usuário precisa estar associado a uma conta ativa e devidamente configurada. Este usuário precisará também de um e-mail válido o qual será utilizado como USERNAME. Através da requisição de login é obtido um TOKEN que deve ser inserido no cabeçalho de todas as requisições posteriores no campo Authorization.

O TOKEN possui validade de 30 minutos.

URL de autenticação
POST https://api.bemoby.com/users/login

Estrutura da Requisição

Listagem dos campos do JSON da requisição.
* Campos obrigatórios

Tabela 4. Parâmetros para Autenticação
Campo Tipo Descrição

username*

String

E-mail do usuário

password*

String

Senha do usuário

Exemplo de Requisição

$ curl 'https://api.bemoby.com/users/login' -i -X POST \
    -H 'Content-Type: application/json' \
    -d '{
	  "username" : "usuario@bemoby.com",
	  "password" : "1234"
	}'

Exemplo de Resposta

A resposta da autenticação retorna um TOKEN no formato "application/json;charset=UTF-8".

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8

{
    "data":{
        "item":{
            "token":"eyJhbGciOiJIUzUxMiIsInppcCI6IkRFRiJ9.eNqMkM1ugzAQhN_F52BB-E1OdQltkBCJEjjVFTLgtG4DRrZRG0V59y6peouinjz-dnZXO2f0YQRaotauDyx0A8tpo8DywvZg1XXjWAtue2HgOIc6WqAZ0mMNZjlwxVqp7PlDzTtZn3AjO6gKZtDS8aN56HuuH8wQ_x5-QeTZ4QRaZhgMOFPUs45TtKS3h1E0o0jJI9fgeaEoJllWxUleJLuKFEWSr0geJ1fX7VK12SY7Uty1bEm5v2uIN3lB4qLK0n3xH1-5Xf2tXCVPpMyg6xU-09Vwx_kCmjWNHHuTtgDmIQAxKdcOQDZSm5j3hqu0vR7uu1O77vSjkp8TBegAGZSQSpjTNcB1-rym6AL5m9PAIV2KajWFiHv-peVxNEL2Guu3DrNBYMW1wWw073jUXGEyiBJeitDlBwAA__8.QIPOIBvLT3tjc4YCFSwhuxQzlmRW9-IaMDYlWCmKbB0it0kTQyD6rLmwLO4HaFeqz-hLBdUUQtOQzXD1FPCaRc"
        }
    },
    "message":"OK",
    "statusCode":200
}

SMS

Serviço para envio de mensagens SMS comuns.

Mensagens que possuem somente caracteres que estão na tabela abaixo, são cobradas a cada 160 caracteres. Caso a mensagem possua um ou mais caracteres que não estão na tabela abaixo, a cobrança é feita a cada 70 caracteres, conforme especificação do protocolo na rede das operadoras.

Space

(

0

8

@

H

P

X

`

h

p

x

!

)

1

9

A

I

Q

Y

a

i

q

y

*

2

:

B

J

R

Z

b

j

r

z

#

+

3

;

C

K

S

[

c

k

s

{

$

,

4

<

D

L

T

\

d

l

t

%

-

5

=

E

M

U

]

e

m

u

}

&

.

6

>

F

N

V

^

f

n

v

~

/

7

?

G

O

W

_

g

o

w

Todos os tipos de envio possuem um filtro que é aplicado sobre as mensagens enviadas para remoção de acentuação, quebra de linhas e espaçamentos desnecessários.

Envio

Utilizado para envios em massa agrupados em uma campanha diária por centro de custo (sem o parâmetro campaignName atribuído) ou em uma campanha específica (com o parâmetro campaignName atribuído).

Todas as requisições que NÃO possuírem nome de campanha configurado através do parâmetro campaignName terão os SMSs adicionados a uma campanha diária (por centro de custo enviado) criada automaticamente, ou seja, todos envios de um mesmo dia e de um mesmo centro de custo sempre pertencerão a mesma campanha.
Todas as requisições que possuírem nome de campanha configurado através do parâmetro campaignName terão os SMSs adicionados a uma campanha única e exclusiva. Neste caso a cada requisição será gerada uma nova campanha.
Existe um limite de 100000 mensagens por requisição.

URL de envio
POST https://api.bemoby.com/v1/sms/send

Estrutura da Requisição

Listagem dos campos do JSON da requisição.
* Campos obrigatórios

Tabela 5. Parâmetros para Envio (Mestre)
Campo Tipo Descrição

costCenterId

Long

Código do centro de custo cadastrado na BeMoby.com. Caso não informado será utilizado o centro de custo do usuário.

message*

String

Texto da mensagem que será enviada.

campaignName

String

Nome da nova campanha que será criada (Caso informado será criada uma nova campanha).

messages*

Detalhe[]

Lista de mensagens/destinatários que serão enviadas.

Tabela 6. Parâmetros para Envio (Detalhe)
Campo Tipo Descrição

to*

String

Telefone para qual será enviada a mensagem. Exemplo: 34999991111

message

String

Texto da mensagem que será enviada

externalId

String

Um ID único definido por você para conferência com os status de envio. Este parâmetro é opcional, e você pode utilizar o ID gerado pela BeMoby para esta conferência.

vars

Object

Objeto JSON que será utilizado para popular as variáveis da mensagem caso seja necessário

Quando um Detalhe possuir o texto da mensagem ela irá sobrepor a mensagem do Mestre

Exemplo de Requisição

Exemplo de requisição padrão: Neste exemplo não foi informado o centro de custo (costCenterId) nem o nome da campanha (campaignName). Será utilizado o centro de custo do usuário logado e os envios serão agrupados em uma campanha diária por este centro de custo.

$ curl 'https://api.bemoby.com/v1/sms/send' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiJlNjFhOTUxNC0...' \
    -d '{
    	"message" : "Olá @NOME! Tudo bem? Parabéns pelos seus @IDADE anos!!!",
    	"messages" : [
			{
			  "to" : "34999991111",
			  "vars" : {"nome" : "Fulano", "idade" : 30},
			  "externalId" : "1241"
			},
			{
			  "to" : "34999991112",
			  "vars" : {"nome" : "Sicrano", "idade" : 19},
			  "externalId" : "1242"
			},
			{
			  "to" : "34999991113",
			  "message" : "Olá @NOME! Tudo bem? Parabéns pelos seus @IDADE anos!!! Você ganhou um desconto especial!!!",
			  "vars" : {"nome" : "Beltrano", "idade" : 45},
			  "externalId" : "1243"
			}
    	]
    }'

Neste exemplo foi informado o centro de custo (costCenterId) e o nome da campanha (campaignName). Será utilizado o centro de custo enviado (ATENÇÃO: o usuário deve possuir permissão neste centro de custo) e os envios serão adicionados a uma campanha única e exclusiva com o nome configurado na requisição através do parâmetro campaignName. Caso não seja enviado o parâmetro campaignName os envios serão agrupados em uma campanha diária por centro de custo.

$ curl 'https://api.bemoby.com/v1/sms/send' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiJlNjFhOTUxNC0...' \
    -d '{
	"costCenterId" : 1,
	"message" : "Olá @NOME! Tudo bem? Parabéns pelos seus @IDADE anos!!!",
	"campaignName" : "Nome da minha nova campanha",
	"messages" : [
			{
			  "to" : "34999991111",
			  "vars" : {"nome" : "Fulano", "idade" : 30},
			  "externalId" : "1241"
			},
			{
			  "to" : "34999991112",
			  "vars" : {"nome" : "Sicrano", "idade" : 19},
			  "externalId" : "1242"
			},
			{
			  "to" : "34999991113",
			  "message" : "Olá @NOME! Tudo bem? Parabéns pelos seus @IDADE anos!!! Você ganhou um desconto especial!!!",
			  "vars" : {"nome" : "Beltrano", "idade" : 45},
			  "externalId" : "1243"
			}
    	]
    }'

Estrutura da Resposta

Listagem dos campos do JSON da resposta.

Tabela 7. Campos da Resposta
Campo Tipo Descrição

id

Long

ID único gerado pela BeMoby.com para esta resposta

externalId

String

Um ID único definido por você para conferência dos status de envio. Este parâmetro é opcional, e você pode utilizar o ID gerado pela BeMoby para esta conferência.

Exemplo de Resposta

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8

[{"externalId":"1241","id":2508648},{"externalId":"1242","id":2508649},{"externalId":"1243","id":2508650}]

Página

Serviço para envio de mensagens de páginas.

Envio

Utilizado para envios em massa agrupados em uma campanha diária por centro de custo (sem o parâmetro campaignName atribuído) ou em uma campanha específica (com o parâmetro campaignName atribuído). Todas as mensagens SMSs de páginas devem possuir a variável @LINK para configurar a URL de acesso da página.

Todas as requisições que NÃO possuírem nome de campanha configurado através do parâmetro campaignName terão os SMSs adicionados a uma campanha diária (por centro de custo enviado) criada automaticamente, ou seja, todos envios de um mesmo dia e de um mesmo centro de custo sempre pertencerão a mesma campanha.
Todas as requisições que possuírem nome de campanha configurado através do parâmetro campaignName terão os SMSs adicionados a uma campanha única e exclusiva. Neste caso a cada requisição será gerada uma nova campanha.
Mensagens SMSs sem a variável @LINK serão recusadas.
Existe um limite de 100000 mensagens por requisição.

URL de envio
POST https://api.bemoby.com/v1/page/send

Estrutura da Requisição

Listagem dos campos do JSON da requisição.
* Campos obrigatórios

Tabela 8. Parâmetros para Envio (Mestre)
Campo Tipo Descrição

costCenterId

Long

Código do centro de custo cadastrado na BeMoby.com. Caso não informado será utilizado o centro de custo do usuário.

siteId*

Long

Código do site cadastrado na BeMoby.com.

expirationDate*

Date

Data de expiração da campanha no formato yyyy-MM-dd. Exemplo: 2018-03-23.

message*

String

Texto da mensagem que será enviada.

campaignName

String

Nome da nova campanha que será criada (Caso informado será criada uma nova campanha).

messages*

Detalhe[]

Lista de mensagens/destinatários que serão enviadas.

Tabela 9. Parâmetros para Envio (Detalhe)
Campo Tipo Descrição

to*

String

Telefone para qual será enviada a mensagem. Exemplo: 34999991111

message

String

Texto da mensagem que será enviada

externalId

String

Um ID único definido por você para conferência com os status de envio. Este parâmetro é opcional, e você pode utilizar o ID gerado pela BeMoby para esta conferência.

vars

Object

Objeto JSON que será utilizado para popular as variáveis da mensagem caso seja necessário

Quando um Detalhe possuir o texto da mensagem ela irá sobrepor a mensagem do Mestre

Exemplo de Requisição

Exemplo de requisição padrão: Neste exemplo não foi informado o centro de custo (costCenterId) nem o nome da campanha (campaignName). Será utilizado o centro de custo do usuário logado e os envios serão agrupados em uma campanha diária por este centro de custo.

$ curl 'https://api.bemoby.com/v1/page/send' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiJlNjFhOTUxNC0...' \
    -d '{
	"siteId" : 1,
	"expirationDate" : "2018-05-30",
	"message" : "Olá @NOME! Tudo bem? Parabéns pelos seus @IDADE anos!!! Clique em @LINK para ver seu cartão.",
	"messages" : [
			{
			  "to" : "34999991111",
			  "vars" : {"nome" : "Fulano", "idade" : 30},
			  "externalId" : "1241"
			},
			{
			  "to" : "34999991112",
			  "vars" : {"nome" : "Sicrano", "idade" : 19},
			  "externalId" : "1242"
			},
			{
			  "to" : "34999991113",
			  "message" : "Olá @NOME! Tudo bem? Parabéns pelos seus @IDADE anos!!! Você ganhou um desconto especial!!! Clique em @LINK para ver seu cartão.",
			  "vars" : {"nome" : "Beltrano", "idade" : 45},
			  "externalId" : "1243"
			}
    	]
    }'

Neste exemplo foi informado o centro de custo (costCenterId) e o nome da campanha (campaignName). Será utilizado o centro de custo enviado (ATENÇÃO: o usuário deve possuir permissão neste centro de custo) e os envios serão adicionados a uma campanha única e exclusiva com o nome configurado na requisição através do parâmetro campaignName. Caso não seja enviado o parâmetro campaignName os envios serão agrupados em uma campanha diária por centro de custo.

$ curl 'https://api.bemoby.com/v1/page/send' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiJlNjFhOTUxNC0...' \
    -d '{
	"costCenterId" : 1,
	"siteId" : 1,
	"expirationDate" : "2018-05-30",
	"message" : "Olá @NOME! Tudo bem? Parabéns pelos seus @IDADE anos!!! Clique em @LINK para ver seu cartão.",
	"campaignName" : "Nome da minha nova campanha",
	"messages" : [
			{
			  "to" : "34999991111",
			  "vars" : {"nome" : "Fulano", "idade" : 30},
			  "externalId" : "1241"
			},
			{
			  "to" : "34999991112",
			  "vars" : {"nome" : "Sicrano", "idade" : 19},
			  "externalId" : "1242"
			},
			{
			  "to" : "34999991113",
			  "message" : "Olá @NOME! Tudo bem? Parabéns pelos seus @IDADE anos!!! Você ganhou um desconto especial!!! Clique em @LINK para ver seu cartão.",
			  "vars" : {"nome" : "Beltrano", "idade" : 45},
			  "externalId" : "1243"
			}
    	]
    }'

Estrutura da Resposta

Listagem dos campos do JSON da resposta.

Tabela 10. Campos da Resposta
Campo Tipo Descrição

id

Long

ID único gerado pela BeMoby.com para esta resposta

externalId

String

Um ID único definido por você para conferência dos status de envio. Este parâmetro é opcional, e você pode utilizar o ID gerado pela BeMoby para esta conferência.

Exemplo de Resposta

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8

[{"externalId":"1241","id":2508648},{"externalId":"1242","id":2508649},{"externalId":"1243","id":2508650}]

Cobrança

Serviços para envio de mensagens de cobrança.

Envio

Utilizado para envios em massa agrupados em uma campanha diária (sem o parâmetro campaignName atribuído) ou em uma campanha específica (com o parâmetro campaignName atribuído).

Todas as requisições que possuírem nome de campanha configurado através do parâmetro campaignName terão as cobranças adicionadas a uma campanha única e exclusiva. Neste caso a cada requisição será gerada uma nova campanha.
Existe um limite de 100000 mensagens por requisição.

URL de envio
POST https://api.bemoby.com/v1/collection/send

Estrutura da Requisição

Listagem dos campos do JSON da requisição.
* Campos obrigatórios

Tabela 11. Grupo de envio
Campo Tipo Descrição

configId*

Long

Código da configuração da cobrança cadastrada na BeMoby.com.

layout*

String

Nome do layout da cobrança cadastrado na BeMoby.com.

expirationDate*

Date

Data de expiração da campanha no formato yyyy-MM-dd. Exemplo: 2018-03-23.

campaignName

String

Nome da nova campanha que será criada (Caso informado será criada uma nova campanha).

recipient*

Beneficiário

Dados do beneficiário da cobrança.

collections*

Cobrança[]

Lista de cobranças que serão enviadas.

Tabela 12. Beneficiário
Campo Tipo Descrição

corporateName*

String

Nome do beneficiário.

document*

String

CPF/CNPJ do beneficiário.

streetAddress

String

Endereço do beneficiário.

addressNumber

String

Número do endereço do beneficiário.

addressComplement

String

Complemento do endereço do beneficiário.

neighborhood

String

Nome do bairro do beneficiário.

postalCode

String

CEP do beneficiário.

city

String

Nome da cidade do beneficiário.

state

String

Nome do estado do beneficiário.

phone

String

Telefone do beneficiário.

email

String

E-mail do beneficiário.

paymentPalce*

String

Mensagem alusiva ao local de pagamento.

bank*

String

Número do Banco que será emitido o boleto.

agency*

String

Agência bancária do beneficiário.

agencyDigit

String

Dígito da agência bancária do beneficiário.

bankAccount*

String

Conta corrente do beneficiário.

accountDigit*

String

Dígito da conta corrente do beneficiário.

purseNumber*

String

Número da carteira de cobrança no banco.

recipientId*

String

Identificação do beneficiário junto ao Banco.

recipientIdDigit

String

Digito da identificação do beneficiário junto ao Banco.

covenantNumber

String

Número do convênio junto ao banco.

instructionsOne

String

Instrução do boleto.

instructionsTwo

String

Instrução do boleto.

instructionsThree

String

Instrução do boleto.

instructionsFour

String

Instrução do boleto.

Tabela 13. Cobrança
Campo Tipo Descrição

name*

String

Nome do cliente.

document*

String

CPF/CNPJ do cliente.

streetAddress*

String

Endereço do cliente.

addressNumber*

String

Número do endereço do cliente.

addressComplement

String

Complemento do endereço do cliente.

neighborhood*

String

Nome do bairro do cliente.

postalCode*

String

CEP do cliente.

city*

String

Nome da cidade do cliente.

state*

String

Nome do estado do cliente.

to*

String

Celular do cliente.

email

String

E-mail do Cliente.

originalValue*

Float

Somatório dos valores originais dos débitos. Exemplo: 1234.56

currentValue*

Float

Somatório dos valores das dívidas atualizadas até a data do acordo. Exemplo: 1234.56

discountValue*

Float

Somatório dos valores do desconto aplicado na data do acordo. Exemplo: 1234.56

contractNumber*

String

Número do contrato do cliente.

contractDescription

String

Descrição do contrato do cliente (ex: nome do produto).

documentDate*

Date

Data da geração do boleto no formato yyyy-MM-dd. Exemplo: 2018-03-23.

expirationDate*

Date

Data de vencimento do boleto no formato yyyy-MM-dd. Exemplo: 2018-03-23.

documentValue

Float

Valor do boleto. Exemplo: 1234.56

documentNumber*

String

Código do boleto no cliente ou contrato.

ourNumber*

String

Nosso Número.

ourNumberDigit

String

Dígito do Nosso Número.

kind*

String

Espécie do boleto. Exemplo: DM

coin

String

Moeda do boleto. Exemplo: R$

accept

Boolean

Exige aceite do boleto.

lineCode*

String

Linha digitável do boleto.

barcode*

String

Código do barras do boleto.

payerMessage

String

Mensagem do recibo do sacado.

externalId*

String

Um ID único definido por você para conferência dos status de envio. Este parâmetro é opcional, e você pode utilizar o ID gerado pela BeMoby para esta conferência.

debts

Débito[]

Lista de débitos que serão enviadas.

paymentOptions*

Opção de Pagamento[]

Lista de opções de pagamentos que serão enviadas.

Tabela 14. Débito
Campo Tipo Descrição

contractNumber*

String

Número do contrato do cliente.

contractDescription

String

Descrição do contrato do cliente (ex: nome do produto).

installment*

Integer

Número sequencial da parcela.

installmentId*

String

Código identificador da parcela.

installmentDescription*

String

Observação da Parcela.

expirationDate*

Date

Data de vencimento original no formato yyyy-MM-dd. Exemplo: 2018-03-23.

originalValue*

Float

Valor original do débito. Exemplo: 1234.56

currentValue*

Float

Valor da dívida atualizada até a data do acordo. Exemplo: 1234.56

discountValue*

Float

Valor do desconto aplicado na data do acordo. Exemplo: 1234.56

Tabela 15. Opções de Pagamentos
Campo Tipo Descrição

description*

String

Descrição do plano.

installment*

Integer

Número de Parcelas.

value*

Float

Valor das Parcelas. Exemplo: 1234.56

Exemplo de Requisição

$ curl 'https://api.bemoby.com/v1/collection/send' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiJlNjFhOTUxNC0...' \
    -d '{
	  "configId": 8,
	  "layout": "DEFAULT_BASIC",
	  "expirationDate": "2018-04-15",
	  "campaignName": null,
	  "recipient": {
	    "corporateName": "Nome Empresa LTDA",
	    "document": "10000000000001",
	    "streetAddress": "Avenida Teste",
	    "addressNumber": "6000",
	    "addressComplement": null,
	    "neighborhood": "Bairro Teste",
	    "postalCode": "38402324",
	    "city": "Teste",
	    "state": "MG",
	    "phone": "32320000",
	    "email": "teste@empresa.com.br",
	    "paymentPalce": "PAGAVEL NAS REDES BANCARIAS LOTERICAS E CORREIOS ATE VENCTO",
	    "bank": "237",
	    "agency": "3301",
	    "agencyDigit": "3",
	    "bankAccount": "123",
	    "accountDigit": "1",
	    "purseNumber": "680",
	    "recipientId": "0047329027",
	    "recipientIdDigit": "4",
	    "covenantNumber": "12345",
	    "instructionsOne": "Sr. Caixa, RECEBER EM DINHEIRO",
	    "instructionsTwo": "Boleto prorrogável até 30/04/2018",
	    "instructionsThree": "Não receber após a prorrogação.",
	    "instructionsFour": "À vista: R$ 1050,00. Parcelado: 2x de R$ 550,00 cada ou 3x de R$ 384,04 cada"
	  },
	  "collections": [
	    {
	      "name": "João da Silva",
	      "document": "59032742264",
	      "streetAddress": "Rua Quarenta e Sete",
	      "addressNumber": "1000",
	      "addressComplement": "Apt 202",
	      "neighborhood": "Jardim São Paulo",
	      "postalCode": "08465312",
	      "city": "São Paulo",
	      "state": "SP",
	      "to": "34999901111",
	      "email": "email@email.com",
	      "originalValue": 1000.00,
	      "currentValue": 1200.00,
	      "discountValue": 180.00,
	      "contractNumber": "9876543",
	      "contractDescription": "Mensalidade escolar",
	      "documentDate": "2018-03-28",
	      "expirationDate": "2018-04-01",
	      "documentValue": 0.00,
	      "documentNumber": "596371281",
	      "ourNumber": "47596371281",
	      "ourNumberDigit": "8",
	      "kind": "DMI",
	      "coin": "R$",
	      "accept": false,
	      "lineCode": "74593.68002 47329.027479 80460.448006 1 67570000000000",
	      "barcode": "74591675700000000003680047329027478046044800",
	      "payerMessage": "Após a prorrogação, entrar em contato com a Acessoria.",
	      "externalId": "1005",
	      "debts": [
	        {
	          "contractNumber": "9876543",
	          "contractDescription": "Mensalidade escolar",
	          "installment": 2,
	          "installmentId": "00015678",
	          "installmentDescription": "Mês 02 de 2018",
	          "expirationDate": "2018-02-01",
	          "originalValue": 500.00,
	          "currentValue": 650.00,
	          "discountValue": 100.00
	        },
	        {
	          "contractNumber": "9876543",
	          "contractDescription": "Mensalidade escolar",
	          "installment": 3,
	          "installmentId": "00015678",
	          "installmentDescription": "Mês 03 de 2018",
	          "expirationDate": "2018-03-01",
	          "originalValue": 500.00,
	          "currentValue": 550.00,
	          "discountValue": 50.00
	        }
	      ],
	      "paymentOptions": [
	        {
	          "description": "Entrada de R$ 550,00 + 1 parcela de R$ 550,00",
	          "installment": 2,
	          "value": 550.00
	        },
	        {
	          "description": "Entrada de R$ 384,00 + 2 parcela(s) de R$ 384,00",
	          "installment": 3,
	          "value": 384.00
	        },
	        {
	          "description": "Entrada de R$ 300,00 + 3 parcela(s) de R$ 300,00",
	          "installment": 4,
	          "value": 300.00
	        }
	      ]
	    }
	  ]
	}'

Estrutura da Resposta

Listagem dos campos do JSON da resposta.

Tabela 16. Campos da Resposta
Campo Tipo Descrição

id

Long

ID único gerado pela BeMoby.com para esta resposta

externalId

String

Um ID único definido por você para conferência dos status de envio. Este parâmetro é opcional, e você pode utilizar o ID gerado pela BeMoby para esta conferência.

Exemplo de Resposta

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8

[{"externalId":"1005","id":2508690}]

HSM Whatsapp

Serviço para envio de mensagens Whatsapp em massa agrupados em uma campanha diária por centro de custo (sem o parâmetro campaignName atribuído) ou em uma campanha específica (com o parâmetro campaignName atribuído).

Todas as requisições que NÃO possuírem nome de campanha configurado através do parâmetro campaignName terão as mensagens Whatsapp adicionadas a uma campanha diária (por centro de custo enviado) criada automaticamente, ou seja, todos envios de um mesmo dia e de um mesmo centro de custo sempre pertencerão a mesma campanha.
Todas as requisições que possuírem nome de campanha configurado através do parâmetro campaignName terão as mensagens Whatsapp adicionadas a uma campanha única e exclusiva. Neste caso a cada requisição será gerada uma nova campanha.
Existe um limite de 1000 mensagens por requisição.

Envio

URL de envio
POST https://api.bemoby.com/callcenter/hsm/send/{hsmId}

O atributo {hsmId} é o código do HSM (Template de mensagem) cadastrado na BeMoby. Cada HSM possui um texto com ou sem variáveis predefinidos.

Estrutura da Requisição

Listagem dos campos do JSON da requisição.
* Campos obrigatórios

Tabela 17. Parâmetros para Envio
Campo Tipo Descrição

costCenterId

Long

Código do centro de custo cadastrado na BeMoby.com. Caso não informado será utilizado o centro de custo do usuário.

campaignName

String

Nome da nova campanha que será criada (Caso informado será criada uma nova campanha).

destinations*

Destinatário[]

Lista de destinatários que receberão as mensagens.

Tabela 18. Parâmetros para Envio (Destinatário)
Campo Tipo Descrição

to*

String

Número de telefone para qual a mensagem será enviada (código do país (55 para o Brasil) e estado devem estar presentes).. Exemplo: 5534999991111

externalId

String

Um ID único definido por você para conferência com os status de envio. Este parâmetro é opcional, e você pode utilizar o ID gerado pela BeMoby para esta conferência.

vars

Object

Objeto JSON que será utilizado para popular as variáveis da mensagem caso seja necessário

Exemplo de Requisição

Exemplo de requisição padrão: Neste exemplo não foi informado o centro de custo (costCenterId) nem o nome da campanha (campaignName). Será utilizado o centro de custo do usuário logado e os envios serão agrupados em uma campanha diária por este centro de custo.

Supondo que exista um HSM cadastrado com código ({hsmId}) 1 com seguinte texto: Olá @NOME! Tudo bem? Parabéns pelos seus @IDADE anos!!!.
$ curl 'https://api.bemoby.com/callcenter/hsm/send/1' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiJlNjFhOTUxNC0...' \
    -d '{
    	"destinations" : [
		{
			"to" : "5534999991111",
			"vars" : {"nome" : "Fulano", "idade" : 30},
			"externalId" : "1001"
		},
		{
			"to" : "5534999991112",
			"vars" : {"nome" : "Sicrano", "idade" : 19},
			"externalId" : "1002"
		},
		{
			"to" : "5534999991113",
			"vars" : {"nome" : "Beltrano", "idade" : 45},
			"externalId" : "1003"
		}
    	]
    }'

Neste exemplo foi informado o centro de custo (costCenterId) e o nome da campanha (campaignName). Será utilizado o centro de custo enviado (ATENÇÃO: o usuário deve possuir permissão neste centro de custo) e os envios serão adicionados a uma campanha única e exclusiva com o nome configurado na requisição através do parâmetro campaignName. Caso não seja enviado o parâmetro campaignName os envios serão agrupados em uma campanha diária por centro de custo.

$ curl 'https://api.bemoby.com/callcenter/hsm/send/1' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiJlNjFhOTUxNC0...' \
    -d '{
	"costCenterId" : 1,
	"campaignName" : "Nome da minha nova campanha",
    	"destinations" : [
		{
			"to" : "5534999991111",
			"vars" : {"nome" : "Fulano", "idade" : 30},
			"externalId" : "1001"
		},
		{
			"to" : "5534999991112",
			"vars" : {"nome" : "Sicrano", "idade" : 19},
			"externalId" : "1002"
		},
		{
			"to" : "5534999991113",
			"vars" : {"nome" : "Beltrano", "idade" : 45},
			"externalId" : "1003"
		}
    	]
    }'

Estrutura da Resposta

Listagem dos campos do JSON da resposta.

Tabela 19. Campos da Resposta
Campo Tipo Descrição

id

Long

ID único gerado pela BeMoby.com para esta resposta

externalId

String

Um ID único definido por você para conferência dos status de envio. Este parâmetro é opcional, e você pode utilizar o ID gerado pela BeMoby para esta conferência.

Exemplo de Resposta

HTTP/1.1 201 Created
Content-Type: application/json;charset=UTF-8

{
    "data": {
        "items": [
            {
                "externalId": "1001",
                "id": 3603364
            },
            {
                "externalId": "1002",
                "id": 3603365
            },
            {
                "externalId": "1003",
                "id": 3603366
            }
        ]
    },
    "message": "Created",
    "statusCode": 201
}

Consultas

Serviços de consultas dos envios SMS e Whatsapp realizados.

Status de Envios SMS

Utilizado para consultar os status das mensagens SMS enviadas através do ID único gerado pela BeMoby.com e/ou do EXTERNALID único enviado.

Cada consulta está limitada a no máximo 1000 resultados por requisição.

URLs de envio
POST https://api.bemoby.com/v1/report/sms/status/search
GET https://api.bemoby.com/v1/report/sms/status/list

Estrutura da Requisição

Listagem dos campos do JSON/Query String da requisição.

* Campos obrigatórios

Tabela 20. Parâmetros para Envio
Campo Tipo Descrição

ids

Long[]

Lista de um ou mais IDs únicos gerados pela BeMoby.com

externalIds

String[]

Lista de um ou mais IDs únicos definidos por você para conferência.

Os parâmetros podem ser utilizados de forma combinada. Os resultados serão as referências dos ids enviados concatenados com as referências dos externalIds enviados.

Exemplo de Requisição POST

$ curl 'https://api.bemoby.com/v1/report/sms/status/search' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiJlNjFhOTUxNC0...' \
    -d '{
		"ids" : [2508648, 2508649],
	  	"externalIds" : ["1243"]
	}'

Exemplo de Requisição GET

Para a requisição do tipo GET os parâmetros devem ser enviados via Query String.

$ curl 'https://api.bemoby.com/v1/report/sms/status/list?ids=2508648&ids=2508649&externalIds=1243' -i \
    -H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiJlNjFhOTUxNC0...'

Estrutura da Resposta

Listagem dos campos do JSON da resposta.

Tabela 21. Campos da Resposta
Campo Tipo Descrição

id

Long

ID único gerado pela BeMoby.com no envio das mensagens.

externalId

String

Um ID único definido por você no envio das mensagens.

createStatus

String

Status de criação do registro. Exemplo: VALID.

createDate

Date

Data da criação do registro, válido no formato yyyy-MM-dd HH:mm:ss. Exemplo: 2018-03-23 09:46:21.

to

String

Telefone para qual foi enviada a mensagem. Exemplo: 34999991111.

sendStatus

String

Status de envio da mensagem. Exemplo: SENT_SUCCESS.

sendDate

Date

Data de envio da mensagem no formato yyyy-MM-dd HH:mm:ss. Exemplo: 2018-03-23 09:46:22.

deliveredDate

Date

Data de entrega da mensagem no formato yyyy-MM-dd HH:mm:ss. Exemplo: 2018-03-23 09:46:25.

campaignId

Long

Código da campanha que a mensagem foi inserida. Exemplo: 1643.

Exemplo de Resposta

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8

[
   {
      "id":2508650,
      "externalId":"1243",
      "createStatus":"VALID",
      "createDate":"2018-03-23 09:46:21",
      "to":"34999991113",
      "sendStatus":"SENT_SUCCESS",
      "sendDate":"2018-03-23 09:46:22",
      "deliveredDate":"2018-03-23 09:46:25",
      "campaignId":1643
   },
   {
      "id":2508649,
      "externalId":"1242",
      "createStatus":"VALID",
      "createDate":"2018-03-23 09:46:21",
      "to":"34999991112",
      "sendStatus":"SENT_SUCCESS",
      "sendDate":"2018-03-23 09:46:22",
      "deliveredDate":null,
      "campaignId":1643
   },
   {
      "id":2508648,
      "externalId":"1241",
      "createStatus":"VALID",
      "createDate":"2018-03-23 09:46:21",
      "to":"34999991111",
      "sendStatus":"SENT_SUCCESS",
      "sendDate":"2018-03-23 09:46:22",
      "deliveredDate":"2018-03-23 09:46:43",
      "campaignId":1643
   }
]

Respostas de SMS

Utilizado para consultar as mensagens SMS (MO) enviadas pelo usuário final. Estas consultas podem ser feitas através do ID único gerado pela BeMoby.com e/ou do EXTERNALID único enviado e/ou PERÍODO INICIAL e/ou PERÍODO FINAL.

Cada consulta está limitada a no máximo 1000 resultados por requisição.

URLs de envio
POST https://api.bemoby.com/v1/report/sms/mo/search
GET https://api.bemoby.com/v1/report/sms/mo/list

Estrutura da Requisição

Listagem dos campos do JSON/Query String da requisição.

* Campos obrigatórios

Tabela 22. Parâmetros para Envio
Campo Tipo Descrição

ids

Long[]

Lista de um ou mais IDs únicos gerados pela BeMoby.com

externalIds

String[]

Lista de um ou mais IDs únicos definidos por você para conferência.

start

Date

Período inicial da consulta no formato yyyy-MM-dd’T’HH:mm:ss. Exemplo: 2018-01-01T00:00:00.

end

Date

Período final da consulta no formato yyyy-MM-dd’T’HH:mm:ss. Exemplo: 2018-06-30T23:59:59.

Os parâmetros podem ser utilizados de forma combinada. Os resultados serão as referências dos ids enviados concatenados com as referências dos externalIds enviados. Caso os períodos inicial e/ou final forem informados os resultados irão se limitar a registros encontrados neste período.

Exemplo de Requisição POST

$ curl 'https://api.bemoby.com/v1/report/sms/mo/search' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiJlNjFhOTUxNC0...' \
    -d '{
		"ids" : [3049106, 3049103],
	  	"externalIds" : ["1234"],
		"start" : "2018-01-01T00:00:00",
	  	"end" : "2018-06-30T23:59:59"
	}'

Exemplo de Requisição GET

Para a requisição do tipo GET os parâmetros devem ser enviados via Query String.

$ curl 'https://api.bemoby.com/v1/report/sms/mo/list?ids=3049106&ids=3049103&externalIds=1234&start=2018-01-01T00:00:00&end=2018-06-30T23:59:59' -i \
    -H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiJlNjFhOTUxNC0...'

Estrutura da Resposta

Listagem dos campos do JSON da resposta.

Tabela 23. Campos da Resposta
Campo Tipo Descrição

id

Long

ID único gerado pela BeMoby.com no envio das mensagens.

externalId

String

Um ID único definido por você no envio das mensagens.

receivedDate

Date

Data do recebimento da resposta enviado pelo usuário final no formato yyyy-MM-dd HH:mm:ss. Exemplo: 2018-03-23 09:46:21.

shortCode

String

O LA que originou a mensagem inicial e para o qual a resposta foi enviada. Exemplo: 27182.

source

String

Número do celular de origem da mensagem . Exemplo: 34999991111.

text

String

Texto do SMS de resposta enviado pelo usuário final.

campaignId

Long

Código da campanha que a mensagem foi inserida. Exemplo: 1643.

Exemplo de Resposta

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8

[
    {
        "id": 3049107,
        "externalId": "1234,
        "receivedDate": "2018-05-04 10:17:29",
        "shortCode": "27182",
        "source": "34999991113",
        "text": "👍👍👍",
        "campaignId": 1643
    },
    {
        "id": 3049106,
        "externalId": "1233",
        "receivedDate": "2018-05-04 10:17:28",
        "shortCode": "27182",
        "source": "34999991112",
        "text": "Tudo bem! Muito obrigado!",
        "campaignId": 1643
    },
    {
        "id": 3049103,
        "externalId": "1230",
        "receivedDate": "2018-05-04 10:17:08",
        "shortCode": "27182",
        "source": "34999991111",
        "text": "Qual o valor da minha fatura?",
        "campaignId": 1643
    }
]

Callbacks/Webhooks

A API possibilita receber os status das mensagens, receber os MOs enviados pelos clientes ou receber os tracking de acesso as páginas em um webservice de sua empresa de forma automatizada (recomendado).

Todas as requisições de callback usam o método POST e os dados são enviados no formato JSON.
Caso necessário, também é possível que os serviços expostos por sua empresa possuam autenticação do tipo HTTP Basic Auth.

Status de Envios SMS

A cada alteração de status das mensagens SMS, é enviado um callback/webhook. Tais callbacks são enviados em lote.

O endpoint em que o webhook de status de SMS será enviado deve ser configurado previamente com o time de suporte/operações da BeMoby.com.

Estrutura de Dados

Listagem dos campos do JSON enviado.

Tabela 24. Campos dos Dados
Campo Tipo Descrição

id

Long

ID único gerado pela BeMoby.com no envio das mensagens.

externalId

String

Um ID único definido por você no envio das mensagens.

createStatus

String

Status de criação do registro. Exemplo: VALID.

createDate

Date

Data da criação do registro, válido no formato yyyy-MM-dd HH:mm:ss. Exemplo: 2018-03-23 09:46:21.

to

String

Telefone para qual foi enviada a mensagem. Exemplo: 34999991111.

sendStatus

String

Status de envio da mensagem. Exemplo: SENT_SUCCESS.

sendDate

Date

Data de envio da mensagem no formato yyyy-MM-dd HH:mm:ss. Exemplo: 2018-03-23 09:46:22.

deliveredDate

Date

Data de entrega da mensagem no formato yyyy-MM-dd HH:mm:ss. Exemplo: 2018-03-23 09:46:25.

campaignId

Long

Código da campanha que a mensagem foi inserida. Exemplo: 1643.

Exemplo de Dados

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8

[
   {
      "id":2508650,
      "externalId":"1243",
      "createStatus":"VALID",
      "createDate":"2018-03-23 09:46:21",
      "to":"34999991113",
      "sendStatus":"SENT_SUCCESS",
      "sendDate":"2018-03-23 09:46:22",
      "deliveredDate":"2018-03-23 09:46:25",
      "campaignId":1643
   },
   {
      "id":2508649,
      "externalId":"1242",
      "createStatus":"VALID",
      "createDate":"2018-03-23 09:46:21",
      "to":"34999991112",
      "sendStatus":"SENT_SUCCESS",
      "sendDate":"2018-03-23 09:46:22",
      "deliveredDate":null,
      "campaignId":1643
   },
   {
      "id":2508648,
      "externalId":"1241",
      "createStatus":"VALID",
      "createDate":"2018-03-23 09:46:21",
      "to":"34999991111",
      "sendStatus":"SENT_SUCCESS",
      "sendDate":"2018-03-23 09:46:22",
      "deliveredDate":"2018-03-23 09:46:43",
      "campaignId":1643
   }
]

Respostas de SMS

A cada resposta do usuário final (SMS MO) é enviado um callback/webhook. Tais callbacks são enviados em lote.

O endpoint em que o webhook de recebimento de SMS MO será enviado deve ser configurado previamente com o time de suporte/operações da BeMoby.com.

Estrutura de Dados

Listagem dos campos do JSON enviado.

Tabela 25. Campos dos Dados
Campo Tipo Descrição

id

Long

ID único gerado pela BeMoby.com no envio das mensagens.

externalId

String

Um ID único definido por você no envio das mensagens a qual foi respondida.

receivedDate

Date

Data do recebimento da resposta enviado pelo usuário final no formato yyyy-MM-dd HH:mm:ss. Exemplo: 2018-03-23 09:46:21.

shortCode

String

O LA que originou a mensagem inicial e para o qual a resposta foi enviada. Exemplo: 27182.

source

String

Número do celular de origem da mensagem . Exemplo: 34999991111.

text

String

Texto do SMS de resposta enviado pelo usuário final.

campaignId

Long

Código da campanha que a mensagem foi inserida. Exemplo: 1643.

Exemplo de Dados

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8

[
    {
        "id": 3049107,
        "externalId": "1234,
        "receivedDate": "2018-05-04 10:17:29",
        "shortCode": "27182",
        "source": "34999991113",
        "text": "👍👍👍",
        "campaignId": 1643
    },
    {
        "id": 3049106,
        "externalId": "1233",
        "receivedDate": "2018-05-04 10:17:28",
        "shortCode": "27182",
        "source": "34999991112",
        "text": "Tudo bem! Muito obrigado!",
        "campaignId": 1643
    },
    {
        "id": 3049103,
        "externalId": "1230",
        "receivedDate": "2018-05-04 10:17:08",
        "shortCode": "27182",
        "source": "34999991111",
        "text": "Qual o valor da minha fatura?",
        "campaignId": 1643
    }
]

Rastreamento de acesso

A cada acesso à página será enviado um callback/webhook com: informações de localização, informações do dispositivo, informações do sistema e comportamentos na página. Tais callbacks serão enviados em lote.

O endpoint em que o webhook de rastreamento de acesso será enviado deve ser configurado previamente com o time de suporte/operações da BeMoby.com.

Estrutura de Dados

Listagem dos campos do JSON da requisição do callback.

Tabela 26. Campos dos Dados
Campo Tipo Descrição

id

Long

ID único gerado pela BeMoby.com no envio das mensagens.

externalId

String

Um ID único definido por você no envio das mensagens.

campaignId

Long

Código da campanha que a mensagem que originou o acesso foi inserida. Exemplo: 1643.

contractNumber

String

Número do contrato do cliente. Exemplo: 12346789.

personName

String

Nome do cliente. Exemplo: Fulano de Tal.

personDocument

String

CPF/CNPJ do cliente. Exemplo: 11111111111.

personPhone

String

Telefone do cliente. Exemplo: 3499991112.

personEmail

String

Email do cliente. Exemplo: fulano@email.com.

token

String

Token único utilizado no acesso. Exemplo: XpTo01.

origin

String

Tipo de origem de acesso. Exemplo: TOKEN.

referrer

String

Página que originou a requisição de acesso. Exemplo: www.site.com.br.

beginDate

String

Data/Hora de início de acesso. Exemplo: 2018-06-12 15:40:31.

endDate

String

Data/Hora de fim de acesso. Exemplo: 2018-06-12 15:45:15.

ip

String

Endereço IP de acesso. Exemplo: 1.2.3.4.

device

String

Nome do dispositivo de acesso. Exemplo: iPhone.

deviceType

String

Tipo de dispositivo de acesso. Exemplo: mobile.

deviceVendor

String

Nome do fornecedor do dispositivo de acesso. Exemplo: Apple.

resolution

String

Resolução do dispositivo de acesso. Exemplo: 375x667.

availableResolution

String

Resolução máxima disponível do dispositivo de acesso. Exemplo: 375x667.

os

String

Sistema operacional do dispositivo de acesso. Exemplo: iOS.

osVersion

String

Versão do sistema operacional do dispositivo de acesso. Exemplo: 11.3.

colorDepth

String

Profundidade de cor do dispositivo de acesso. Exemplo: 32.

browser

String

Browser do dispositivo de acesso. Exemplo: Mobile Safari.

browserVersion

String

Versão do browser do dispositivo de acesso. Exemplo: 11.0.

browserMajorVersion

String

Versão principal do browser do dispositivo de acesso. Exemplo: 11.

mobile

Boolean

Indica se o dispositivo de acesso é um celular. Exemplo: true.

language

String

Idioma da página. Exemplo: pt-BR.

systemLanguage

String

Idioma do sistema operacional do dispositivo de acesso. Exemplo: pt-BR.

protocol

String

Protocolo de acesso. Exemplo: https:.

hostName

String

DNS de acesso. Exemplo: site.com.br.

pathName

String

Path da página. Exemplo: /collection.

href

String

Link da página. Exemplo: https://site.com.br/collection/?token=XpTo01&email=true.

title

String

Título da página. Exemplo: Fatura.

countryCode

String

Código do país de acesso. Exemplo: BR.

country

String

País de acesso. Exemplo: Brazil.

region

String

Abreviação da região de acesso. Exemplo: SP.

regionName

String

Região de acesso. Exemplo: Sao Paulo.

city

String

Cidade de acesso. Exemplo: São Paulo.

timezone

String

Fuso horário de acesso. Exemplo: America/Sao_Paulo.

zip

String

Código postal de acesso. Exemplo: 01323.

latitude

String

Latitude de acesso. Exemplo: -23.5733.

longitude

String

Longitude de acesso. Exemplo: -46.6417.

asNumberName

String

AS do dispositivo. Exemplo: AS7738 Telemar Norte Leste S.A..

isp

String

Fornecedor de acesso à internet do dispositivo. Exemplo: Oi Velox.

organization

String

Nome do fornecedor de acesso à internet do dispositivo. Exemplo: Oi Velox.

events

Evento[]

Lista de eventos que ocorreram no acesso.

Tabela 27. Eventos
Campo Tipo Descrição

name

String

Nome do evento. Exemplo: ACCESS.

date

Date

Data/Hora do evento no formato yyyy-MM-dd HH:mm:ss. Exemplo: 2018-06-12 15:40:31.

value

String

Dado capturado no evento (caso necessite). No caso de um evento de login via CPF é capturado o CPF informado. Exemplo: 11111111112.

success

Boolean

Indicador de sucesso ou falha do evento. Exemplo: true.

Exemplo de Dados

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8

[
    {
    "id":3477188,
    "externalId":"1234",
    "campaignId":1643,
    "contractNumber":"12346789",
    "personName":"Fulano de Tal",
    "personDocument":"11111111111",
    "personPhone":"3499991112",
    "personEmail":"fulano@email.com",
    "token":"XpTo01",
    "origin":"TOKEN",
    "referrer":"www.site.com.br",
    "beginDate":"2018-06-12 15:40:31",
    "endDate":"2018-06-12 15:45:15",
    "ip":"1.2.3.4",
    "device":"iPhone",
    "deviceType":"mobile",
    "deviceVendor":"Apple",
    "resolution":"375x667",
    "availableResolution":"375x667",
    "os":"iOS",
    "osVersion":"11.3",
    "colorDepth":"32",
    "browser":"Mobile Safari",
    "browserVersion":"11.0",
    "browserMajorVersion":"11",
    "mobile":true,
    "language":"pt-BR",
    "systemLanguage":"pt-BR",
    "protocol":"https:",
    "hostName":"site.com.br",
    "pathName":"/collection",
    "href":"https://site.com.br/collection/?token=XpTo01&email=true",
    "title":"Fatura",
    "countryCode":"BR",
    "country":"Brazil",
    "region":"SP",
    "regionName":"Sao Paulo",
    "city":"São Paulo",
    "timezone":"America/Sao_Paulo",
    "zip":"01323",
    "latitude":"-23.5733",
    "longitude":"-46.6417",
    "asNumberName":"AS7738 Telemar Norte Leste S.A.",
    "isp":"Oi Velox",
    "organization":"Oi Velox",
    "events":[
        {
            "name":"ACCESS",
            "date":"2018-06-12 15:40:31",
            "value":"via token",
            "success":true
        },
        {
            "name":"LOGIN",
            "date":"2018-06-12 15:40:43",
            "value":"11111111112",
            "success":false
        },
        {
            "name":"LOGIN",
            "date":"2018-06-12 15:40:55",
            "value":"11111111111",
            "success":true
        }
    ]
    }
]

Listagens

Listagens de status e tipos

Status SMS

Listagens de status de envios SMS

Tabela 28. Status de criação
Status Descrição

VALID

Registro válido

INVALID

Registro inválido

DUPLICATE

Registro duplicado

Tabela 29. Status de envio
Status Descrição

WAITING

Aguardando o envio para a operadora.

BLACKLIST

O número de destino está na lista bloqueada, e foi inserido manualmente por sua empresa.

BLACKLISTED

O número de destino está na lista bloqueada.

CANCELED

O envio para o número foi cancelado.

NO_CREDIT

Não possui créditos indisponíveis ou o limite de mensagens configurado foi excedido.

INVALID_DESTINATION_NUMBER

O número de destino é inválido (Não é um número de celular válido).

PROCESSING

O envio está em processamento.

SENT_SUCCESS

Entregue na operadora com sucesso.

CARRIER_COMMUNICATION_ERROR

Erro de comunicação com a operadora.

INTERNAL_ERROR

Erro interno.

EXPIRED

Expirado antes de ser entregue ao aparelho.

FAILED

Falha no envio para a operadora.

INVALID_MESSAGE_TEXT

O texto da mensagem contém palavras que não são aceitas pela operadora.

REJECTED_BY_CARRIER

Operadora rejeitou a mensagem.

PAUSED

Envio pausado.

Rastreamento de acessos

Tabela 30. Tipos de origens de acesso
Tipo Descrição

DIRECT

Acesso direto. Exemplo: Clique em um link segunda via no site da empresa.

TOKEN

Acesso via token através de um link com um token único enviado via SMS ou Whatsapp.

EMAIL_TOKEN

Acesso via token através de um link com um token único enviado via e-mail.

Tabela 31. Tipos de dispositivos de acesso
Tipo Descrição

computer

Acesso via computador/PC.

console

Acesso via console/terminal.

game console

Acesso via game console.

mobile

Acesso via celular.

tablet

Acesso via tablet

unknown

Tipo de acesso desconhecido.

Tabela 32. Nomes dos eventos
Nome Descrição

ACCESS

Acesso.

ACCESS_INFO

Informação de acesso.

LOGIN

Login.

COLLECTION_SELECTION

Seleção de cobrança.

DOCUMENT_SELECTION

Seleção de documento.

INVOICE_TYPE_SELECTION

Seleção de tipo de fatura.

PAYMENT_OPTION

Seleção de opção de pagamento.

BARCODE_COPY

Cópia de código de barras.

COLLECTION_PRINT

Impressão de cobramça.

COLLECTION_SEND_EMAIL

Envio de cobramça por e-mail.

COLLECTION_SEND_SMS

Envio de cobramça por SMS.

CARD_PAYMENT_REQUESTED

Solicitação de pagamento via cartão.

CARD_PAYMENT_CANCEL

Cancelamento de pagamento via cartão.

CARD_PAYMENT_DONE

Recebimento de pagamento via cartão.

LOGOUT

Logout.