Dotzlabs é o Laboratório de Inovação da Dotz.

Uma das soluções de varejo mais eficazes do Brasil para marcas interessadas em programas de fidelidade de coalizão.

Suggest Edits

Guia do Usuário da API

 

Nossa Web API permite que sua aplicação manipule dados do programa de fidelidade Dotz.

Baseado em princípios simples REST, nossa Web API retorna metadados em formato JSON sobre faturamento, crédito, troca, extrato, catálogo e assinaturas. A Web API também fornece acesso a dados relacionados ao usuário, como saldo e endereço, sujeito a autorização do usuário.

Suggest Edits

1. Sobre a Web API

 

Através da Dotz Web API suas aplicações podem recuperar e gerenciar dados do Programa de Fidelidade Dotz. O endereço base da API é https://api.dotzlabs.com. Existem vários endpoints nesse endereço, cada um com seu próprio caminho exclusivo. Para acessar dados particulares através da Web API, como saldo e extrato, um aplicativo deve obter permissão do usuário para acessar os dados. A autorização é feita através do serviço de Accounts da Web API em https://accounts.dotzlabs.com.

Suggest Edits

2. Requisições

 

A Dotz Web API é baseada em princípios REST: dados são acessados através de requisições HTTPS em formato UTF-8 a um endpoint da API. Sempre que possível, a API se esforça para usar verbos HTTP apropriados para cada ação:

Verbo
Descrição

GET

Obtenção de recursos.

POST

Criação de recursos.

PUT

Modificar ou substituir recursos ou coleções.

DELETE

Remove recursos.

Suggest Edits

3. Taxas de consumo

 

Para tornar a Web API rápida para todos, os limites de taxa no consumo se aplicam. As solicitações não autenticadas são processadas no limite de taxa mais baixo. Solicitações autenticadas com um access token válido se beneficiam de limites de taxa mais altos - isso é verdade mesmo se o ponto de extremidade não exigir que um access token seja passado na chamada. Leia o Guia de Autorização para obter mais informações sobre como registrar um aplicativo e assinar seus pedidos com um token de acesso.

A limitação de taxa é aplicada com base na aplicação (com base no client id), independentemente do número de utilizadores que usam o mesmo client id.

Se você receber o código HTTP 429, significa que enviou muitas requisições. Se isso acontecer, dê uma olhada no valor do header Retry-After, onde você verá um número exibido. Esta é a quantidade de segundos que você precisa esperar, antes que você possa repetir o envio de suas requisições.

Suggest Edits

4. Timestamps

 

Os timestamps de data/hora são retornados no formato ISO 8601 como Coordinated Universal Time (UTC) com offset zero: YYYY-MM-DDTHH:mm:SSZ.

Suggest Edits

5. Paginação

 

Alguns endpoints suportam uma forma de paginação para um conjunto de dados, podendo receber como parâmetros _page e um _pageSize para realizar a consulta:

https://api.dotzlabs.com/pos/v1/purchases?_page=1&_pageSize=10

Observe que as numerações _page e _pageSize são iniciados em 1 (um) e devem ser informados, sempre. Todos os resultados obtidos a partir de um filtro de paginação, serão retornado dentro de um objeto de paginação.

Suggest Edits

6. Requisições condicionais

 

Algumas das respostas da Web API vem com cache-control headers, definidos para auxiliar no cache do lado do cliente. Se você tiver armazenado em cache uma resposta, não solicite novamente até que a resposta tenha expirado, se a resposta contiver um ETag, defina o cabeçalho If-None-Match na solicitação para o valor ETag. Se a resposta não tiver sido alterada, a Web API responderá rapidamente com o código HTTP 304 (Not Modified) (ou seja, sua versão em cache ainda é boa e seu aplicativo deve usá-la).

Suggest Edits

7. Código HTTP das respostas

 

A API usa os seguintes códigos HTTP de resposta, conforme definido no RFC 2616 e RFC 6585:

Código HTTP
Descrição

200

OK: A solicitação foi bem-sucedida. O cliente pode ler o resultado do pedido no corpo e os cabeçalhos da resposta.

304

Not Modified: Consulte Requisições condicionais.

400

Bad Request: O pedido não pôde ser compreendido pelo servidor devido à sintaxe malformada.

401

Unauthorized: A solicitação requer autenticação, se a solicitação incluir credenciais de autorização, a autorização foi recusada para essas credenciais.

403

Forbidden: O servidor entendeu o pedido, mas se recusa a cumpri-lo.

404

Not Found: Não foi possível encontrar o recurso solicitado. Este erro pode ser devido a uma condição temporária ou permanente.

409

Conflict: Alguma regra de negócio foi violada.

429

Too Many Requests: Taxas de consumo foram aplicadas. Consulte Taxas de consumo.

500

Internal Server Error: Você nunca deve receber este erro porque nossos programadores irão pegar todos... mas se você é azarado o suficiente para obter um, por favor informe-nos através de um comentário na parte inferior desta página.

502 ou 503

  • Service Unavailable: O servidor é atualmente incapaz de lidar com a solicitação devido a uma condição temporária que será aliviada após algum atraso. Você pode optar por reenviar a solicitação novamente.
 

A API usa um formato para descrever seus erros.

Erro Padrão

Além dos códigos HTTP de erro, as respostas mal-sucedidas retornam informações sobre o erro como um objeto JSON de erro contendo as seguintes informações:

Chave
Tipo
Descrição

code

string

Código do erro ocorrido, no formato (000).

message

string

Uma breve descrição da causa do erro.

Exemplo de retorno:

HTTP/1.1 400 Bad Request
{
"code": "010",
"message": "Senha incorreta, você tem 3 tentativas."
}

Autenticação

Todas as requisições para a API requerem autenticação, com ou sem usuário vinculado. Para obter mais informações sobre os métodos de autenticação, consulte o Guia de Autorização da Web API. Observe que, para acessar as informações pessoais de um usuário, é necessário um access token gerado ao solicitar permissão do usuário para acessar os dados (com excessão do fluxo de autenticação Password).

Suggest Edits

Guia de Autorização da Web API

 

Este guia mostra como obter a autorização de um usuário para acessar dados por meio da Web API.

Suggest Edits

1 . Introdução

 

Todas as solicitações para a Dotz API requerem autorização, ou seja, toda requisição precisa ser autorizada por um usuário (para tornar disponível seus dados) ou para uma determinada função que não requer dados do usuário. Para provar que o usuário concedeu permissão, o cabeçalho da solicitação enviado pelo aplicativo deve incluir um access token válido.

Como primeiro passo para a autorização, você precisará solicitar um Client ID e Client Secret entrando em contato pelo número (11) 3736.9555, nós lhe concederemos credenciais exclusivas, com os devidos acessos, para as nossas APIs.

Suggest Edits

2. Fluxos de Autorização Permitidos

 

Atualmente, a Dotz API suporta dois fluxos de autorização:

  1. O fluxo Client Credentials permite que você obtenha um access token fornecendo suas credencias (client id e client secret).

  2. O fluxo Password funciona de forma semelhante ao Client Credentials, porém com os dados do cliente. Além do access tokens emitido, também é fornecido o refresh token para renovar o access token quando expirado.

Suggest Edits

3. Fluxo Client Credentials

 
  • O método torna possível autenticar suas solicitações para a Web API da Dotz. No entanto, note que este fluxo não inclui autorização e, portanto, não pode ser usado para acessar ou gerenciar dados privados de um usuário. Este fluxo é descrito na RFC-6749.

1. Sua aplicação requisita a Autorização

A requisição é enviada para https://api.dotzlabs.com/accounts/v1/connect/token do serviço de Accounts:

curl -X POST https://api.dotzlabs.com/accounts/v1/connect/token -H "authorization: Basic Nlh...NjNRUA==" -d "grant_type=client_credentials&scope=addressdata.api%20storelocator.api%20rewards.api"

Essa requisição deve incluir os parâmetros no corpo da requisição:

Parâmetro do corpo da requisição
Valor

scope

Requerido. Um ou mais escopos solicitados pelo token.

grant_type

Requerido. Definir como 'client_credentials'.

O header da requisição POST deve conter os seguintes parâmetros:

Parâmetro do Header
Valor

Authorization

Requerido. Seqüência codificada em Base 64 que contém o client id e a client secret da aplicação cliente. O campo deve ter o formato: Authorization: Basic <base64 encoded client_id:client_secret>

Exemplo de requisição com resposta:

curl -X POST http://uat-accounts.dotzlabs.com/connect/token -H "authorization: Basic Nlh...NjNRUA==" -d "grant_type=client_credentials&scope=addressdata.api%20storelocator.api%20rewards.api"
{
    "access_token":"eyJhb...8KIw",
    "expires_in":3600,
    "token_type":"Bearer"
}

2. Use o access token para acessar a Web API da Dotz

O access token permite que você faça requisições aos pontos de extremidade da Web API da Dotz, que não requerem autorização do usuário, como o ponto de extremidade Obter Estados,, por exemplo:

curl -X GET https://api.dotzlabs.com/address-data/v1/states?_pageSize=10&_page=1 -H "authorization: Bearer eyJh...InmQ"
{
  "items": [
    {
      "id": "MT8J7PSCVXQHHS9Y",
      "abreviation": "AC",
      "name": "Acre"
    },
    {
      "id": "768VFHC3PMULECQB",
      "abreviation": "AL",
      "name": "Alagoas"
    },
    ...]
}
Suggest Edits

4. Fluxo Password

 

O método torna possível autenticar suas solicitações para a Web API da Dotz assumindo os dados de um usuário. Este fluxo é descrito na RFC-6749.

Possibilidade de Uso

Esse fluxo somente é possível ser utilizado por aplicações aprovadas com essa permissão, que não é habilitada por padrão.

1. Sua aplicação requisita a Autorização

A requisição é enviada para /connect/token do serviço de Accounts:

curl -X POST https://accounts.dotzlabs.com/accounts/v1/connect/token -H "authorization: Basic NlhM...RA==" -d "grant_type=password&username=00000000000&password=ABCDEFD"

Essa requisição deve incluir os parâmetros no corpo da requisição:

Parâmetro do corpo da requisição
Valor

grant_type

Requerido. Definir como 'password'.

username

Identificador do usuário na plataforma. Pode ser CPF, CNPJ ou e-mail.

password

Senha do usuário na plataforma. Deve ser codificado em Base64.

O header da requisição POST deve conter os seguintes parâmetros:

Parâmetro do Header
Valor

Authorization

Requerido. Seqüência codificada em Base 64 que contém o client id e client secret da aplicação cliente. O campo deve ter o formato: Authorization: Basic <base64 encoded client_id:client_secret>

Exemplo de requisição com resposta:

curl -X POST https://accounts.dotzlabs.com/accounts/v1/connect/token -H "authorization: Basic Nlh...RUA==" -d "grant_type=password&username=00000000000&password=ABCDEFG"
{
  "access_token": "eyJhb...J1K_w",
  "expires_in": 3600,
  "token_type": "Bearer",
  "refresh_token": "717c4...683"
}

2. Use o access token para acessar a Web API da Dotz

Com access token obtido no passo anterior, é possível realizar chamadas para as Web APIs que precisam dos dados do usuário, como por exemplo, a operação Obter Saldo, por exemplo:

curl -X GET --header "Authorization: Bearer eyJ...Nhhw" "https://api.dotzlabs.com/wallet/v1/balance"
{
  "available": 2350,
  "pending": 1000,
  "expiring": 350,
  "nextExpirationDate": "2017-06-13T17:45:29.352Z"
}

3. Atualizando o Access Token

Para atualizar o access token, uma requisição é enviada para https://accounts.dotzlabs.com/accounts/v1/connect/token do serviço de Accounts:

curl -X POST https://accounts.dotzlabs.com/accounts/v1/connect/token -H 'authorization: Basic NlhM...RUA==' -d 'grant_type=refresh_token&refresh_token=a97b29...0c48'

Essa requisição deve incluir os parâmetros no corpo da requisição:

Parâmetro do corpo da requisição
Valor

grant_type

Requerido. Definir como 'refresh_token'.

refresh_token

Requerido. Refresh token recebido na resposta do passo 2.

O header da requisição POST deve conter os seguintes parâmetros:

Parâmetro do Header
Valor

Authorization

Requerido. Seqüência codificada em Base 64 que contém o client id e a client secret da aplicação cliente. O campo deve ter o formato: Authorization: Basic <base64 encoded client_id:client_secret>

Por exemplo:

curl -X POST http://uat-accounts.dotzlabs.com/connect/token -H 'authorization: Basic NlhM...RUA==' -d 'grant_type=refresh_token&refresh_token=a97b29...0c48'
Suggest Edits

5. Escopos

 

Os possíveis escopos que podem ser utilizados por uma aplicação é listado a seguir:

Nome
Escopo

Accounts API

accounts.api

Address Data API

addressdata.api

Deposits API

deposits.api

Members API

members.api

POS API

pos.api

Redemptions API

redemptions.api

Rewards API

rewards.api

Signup API

signup.api

Store Locator API

storelocator.api

Wallet API

wallet.api

Wishlist API

wishlist.api

 
Suggest Edits

/accounts/{identifier}

Exemplo de requisição para obter o primeiro nome do usuário.

Request:
GET /accounts/v1/api/accounts/89738163307

Response:
{
    "id": "DDR1RS7TC055MTI",
    "firstName": "Ricardo"
}
 
gethttps://api.dotzlabs.com/accounts/v1/Accounts/identifier
curl --request GET \
  --url https://api.dotzlabs.com/accounts/v1/Accounts/identifier
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.dotzlabs.com/accounts/v1/Accounts/identifier' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.dotzlabs.com/accounts/v1/Accounts/identifier")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.dotzlabs.com/accounts/v1/Accounts/identifier");

xhr.send(data);
import requests

url = "https://api.dotzlabs.com/accounts/v1/Accounts/identifier"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

identifier
string
required

Identificador do usuário (CPF ou e-mail).

Response

Success

idstring
firstNamestring
isRecaptchaActiveboolean
dateValidationstring
virtualKeyboardarray

Bad Request

codestring
messagestring

Not Found

codestring
messagestring
Suggest Edits

/accounts/{accountid}/password

Exemplo de requisição para obter as opções disponíveis para recuperação de senha.

Request:
GET /accounts/v1/api/accounts/DDR1RS7TC055MTI/password

Response:
[
    {
        "optionId": "RQ687SQABZUIP56",
        "type": 0,
        "description": "E-mail: r*****@outlook.com"
    },
    {
        "optionId": "SX51EYYV0NC41GH",
        "type": 1,
        "description": "Celular: *****-8275"
    },
    {
        "optionId": "0QYUH4NGH0TDU24",
        "type": 2,
        "description": "Dispositivo: iPh****"
    }
]
 
gethttps://api.dotzlabs.com/accounts/v1/Accounts/accountId/password
curl --request GET \
  --url https://api.dotzlabs.com/accounts/v1/Accounts/accountId/password
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.dotzlabs.com/accounts/v1/Accounts/accountId/password' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.dotzlabs.com/accounts/v1/Accounts/accountId/password")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.dotzlabs.com/accounts/v1/Accounts/accountId/password");

xhr.send(data);
import requests

url = "https://api.dotzlabs.com/accounts/v1/Accounts/accountId/password"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

accountId
string
required

Identificador da conta do usuário.

Response

Success

Bad Request

codestring
messagestring

Not Found

codestring
messagestring
Suggest Edits

/accounts/{accountid}/password

Exemplo de requisição para redefinir uma senha:

Request:
PUT /accounts/v1/api/accounts/DDR1RS7TC055MTI/password
{
    "token" : "123",
    "currentPassword": "",
    "password": "ODQ1MjM0"
}
 
puthttps://api.dotzlabs.com/accounts/v1/Accounts/accountId/password
curl --request PUT \
  --url https://api.dotzlabs.com/accounts/v1/Accounts/accountId/password
var request = require("request");

var options = { method: 'PUT',
  url: 'https://api.dotzlabs.com/accounts/v1/Accounts/accountId/password' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.dotzlabs.com/accounts/v1/Accounts/accountId/password")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "https://api.dotzlabs.com/accounts/v1/Accounts/accountId/password");

xhr.send(data);
import requests

url = "https://api.dotzlabs.com/accounts/v1/Accounts/accountId/password"

response = requests.request("PUT", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

accountId
string
required

Identificador da conta do usuário.

Body Params

token
string
currentPassword
string
password
string
required

Response

Success

Bad Request

codestring
messagestring

Not Found

codestring
messagestring

Conflict

codestring
messagestring
Suggest Edits

/accounts/{accountid}/password

Exemplo de requisição para solicitar a recuperação de senha por uma das opções disponíveis para o usuário:

Request:
POST /accounts/v1/api/accounts/DDR1RS7TC055MTI/password
{
    "optionId": "RQ687SQABZUIP56"
}
 
posthttps://api.dotzlabs.com/accounts/v1/Accounts/accountId/password
curl --request POST \
  --url https://api.dotzlabs.com/accounts/v1/Accounts/accountId/password
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.dotzlabs.com/accounts/v1/Accounts/accountId/password' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.dotzlabs.com/accounts/v1/Accounts/accountId/password")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.dotzlabs.com/accounts/v1/Accounts/accountId/password");

xhr.send(data);
import requests

url = "https://api.dotzlabs.com/accounts/v1/Accounts/accountId/password"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

accountId
string
required

Identificador da conta do usuário.

Body Params

optionId
string

Response

Success

Bad Request

codestring
messagestring

Not Found

codestring
messagestring

Conflict

codestring
messagestring
Suggest Edits

/accounts/logout

Exemplo de requisição para desativar um token de autenticação/autorização.

Request:
POST /accounts/v1/api/accounts/logout
 
posthttps://api.dotzlabs.com/accounts/v1/Accounts/logout
curl --request POST \
  --url https://api.dotzlabs.com/accounts/v1/Accounts/logout
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.dotzlabs.com/accounts/v1/Accounts/logout' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.dotzlabs.com/accounts/v1/Accounts/logout")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.dotzlabs.com/accounts/v1/Accounts/logout");

xhr.send(data);
import requests

url = "https://api.dotzlabs.com/accounts/v1/Accounts/logout"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Response

Success

Bad Request

codestring
messagestring

Conflict

codestring
messagestring
Suggest Edits

Accounts - Return Codes

 

[GET] /accounts/{identifier}

HTTP Code
Error Message
Error Code

400

Identificador (CPF ou e-mail) deve ser informado.

003

400

Identificador informado ({0}) não é um CPF ou e-mail válido.

004

404

Identificador informado ({0}) não foi encontrado.

005

404

Identificador informado ({0}) está com algum problema, entre em contato com a Central de Atendimento.

006

[GET] /accounts/{accountId}/password

HTTP Code
Error Message
Error Code

400

Identificador informado ({0}) não é um Hash de 15 caracteres.

007

404

Identificador informado ({0}) não foi encontrado.

008

404

Nenhuma opção disponível para recuperação de senha.

009

[POST] /accounts/{accountId}/password

HTTP Code
Error Message
Error Code

400

Identificador informado ({0}) não é um Hash de 15 caracteres.

010

404

Identificador informado ({0}) não foi encontrado.

011

400

Nenhuma opção disponível para recuperação de senha.

012

409

OptionId informado é inválido.

103

409

Falha na solicitação de recuperação de senha.

014

409

Envio de SMS para recuperação de senha falhou.

015

409

Envio de e-mail para recuperação de senha falhou.

016

[PUT] /accounts/{accountId}/password

HTTP Code
Error Message
Error Code

400

Corpo da mensagem deve ser informado para essa requisição.

000

400

Identificador informado ({0}) não é um Hash de 15 caracteres.

017

400

Senha deve ser informada.

018

400

Senha atual e token não podem ser informados ao mesmo tempo, só um dos campos pode ser informado.

019

400

Senha informada é inválida, deve ter 6 caracteres numéricos e não pode ser sequencial.

020

409

Senha atual informada é inválida, deve ter 6 caracteres numéricos e não pode ser sequencial.

021

409

Senha atual não pode ser igual a senha anterior.

022

400

Token informado não é válido.

023

409

Usuário não possui dispositivos ativos para realizar confirmação de senha por SMS.

024

409

Usuário possui mais de 1 dispositivo ativo para realizar confirmação de senha por SMS.

025

409

Segundo fator de autenticação está bloqueado.

026

409

Tempo limite do 2FA expirou.

027

409

Token para redefinição de senha inválido.

028

404

OptionId não encontrado, para obter o optionId faça a sequência adequada (UserID: {0}).

101

404

O Token não confere com o tipo da recuperação de senha.

102

409

Não é possível trocar a senha pela senha atual pois a funcionalidade não está implementada.

103

409

Senha atual não pode ser igual a senha anterior.

104

Suggest Edits

Addresses

 
Suggest Edits

/Addresses

Exemplo de requisição para obtenção de endereços:

Request:
GET /addresses?_pageSize=100&amp;_page=1&amp;CountryCode=55&amp;City=%25PAULO%25&amp;State=SP&amp;StreetName=PRA%C3%87A%20DA%25

Response:
{
    "_pageSize": 100,
    "_page": 1,
    "items": [{
            "countryCode": 55,
            "countryName": "Brazil",
            "streetType": "Praça",
            "streetName": "Praça da Sé",
            "district": "Sé",
            "city": "São Paulo",
            "state": "SP",
            "postalCode": "01001000"
        },
        {
            "countryCode": 55,
            "countryName": "Brazil",
            "streetType": "Praça",
            "streetName": "Praça da Sé",
            "district": "Sé",
            "city": "São Paulo",
            "state": "SP",
            "postalCode": "01001001"
        }
    ]
}
 
getapi.dotzlabs.com/address-data/v1/addresses
curl --request GET \
  --url http://api.dotzlabs.com/address-data/v1/addresses \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.dotzlabs.com/address-data/v1/addresses',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/address-data/v1/addresses")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api.dotzlabs.com/address-data/v1/addresses");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/address-data/v1/addresses"

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

_pageSize
int32

Limite de endereços por página.

_page
int32

Posição de paginação atual.

CountryCode
int32

Código do país desejado. Se não informado deve ser ignorado na pesquisa.

PostalCode
string

Postal Code desejado, pode-se utilizar '%' no começo ou no fim do código para filtrar resultados próximos.
Se vazio, deve ser ignorado na pesquisa.
Exemplos: o valor '04402%' retorna todos os valores que começarem com o Postal Code de valor '04402'.

City
string

Cidade desejada, pode-se utilizar '%' no começo ou no fim do código para filtrar resultados próximos.
Se vazio, deve ser ignorado na pesquisa.
Exemplos: o valor 'São%' retorna todos os valores que começarem com o City de valor 'São'.

State
string

Valor fixo de um estado. Podendo ser: SP, MG, BH, entre outros.
Se vazio, deve ser ignorado na pesquisa.

StreetName
string

Nome da rua desejada, pode-se utilizar '%' no começo ou no fim do campo para filtrar resultados próximos.
Se vazio deve ser ignorado na pesquisa.
Exemplo: o valor 'São%' retorna todos os valores que começarem com o valor 'São'.

Headers

Authorization
string
required

access token

Response

Lista de endereços.

_pageSizeinteger
_pageinteger
_totalinteger
itemsarray

Formato inválido do(s) paramêtro(s) de entrada.

codestring
messagestring
Suggest Edits

/Areas

Exemplo de requisição para obter a lista de áreas existentes:

Request:
GET /areas?_pageSize=100&amp;_page=1

Response:
{
    "_pageSize": 100,
    "_page": 1,
    "items": [{
            "id": "mZo6ynX51XYlpR4",
            "name": "Acre"
        },
        {
            "id": "9Pp28W3GbO0kwBz",
            "name": "Alagoas"
        },
        {
            "id": "AQd9JDOqAOWBg4y",
            "name": "Amapá"
        }
    ]
}
 
getapi.dotzlabs.com/address-data/v1/areas
curl --request GET \
  --url http://api.dotzlabs.com/address-data/v1/areas \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.dotzlabs.com/address-data/v1/areas',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/address-data/v1/areas")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api.dotzlabs.com/address-data/v1/areas");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/address-data/v1/areas"

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

_pageSize
int32

Limite de areas por página.

_page
int32

Posição de paginação atual.

Headers

Authorization
string
required

access token

Response

Lista de áreas.

_pageSizeinteger
_pageinteger
_totalinteger
itemsarray

Formato inválido do(s) paramêtro(s) de entrada.

Suggest Edits

/Areas/{AreaId}/cities

Exemplo de requisição para obter a lista de cidades de uma área:

Request:
GET /areas/Ww9KLQO4LO4VdZq/cities?_pageSize=100&amp;_page=1

Response:
{
    "_pageSize": 100,
    "_page": 1,
    "items": [{
            "id": "W8RbJE6YW4XPKyQ",
            "areadId": "Ww9KLQO4LO4VdZq",
            "name": "Abapã (Castro)",
            "state": "PR",
            "presence": true

        },
        {
            "id": "0bNQv3Wo2K3DWVr",
            "areadId": "Ww9KLQO4LO4VdZq",
            "name": "Abatiá",
            "state": "PR",
            "presence": true
        }
    ]
}
 
getapi.dotzlabs.com/address-data/v1/areas/AreaId/cities
curl --request GET \
  --url http://api.dotzlabs.com/address-data/v1/areas/AreaId/cities \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.dotzlabs.com/address-data/v1/areas/AreaId/cities',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/address-data/v1/areas/AreaId/cities")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api.dotzlabs.com/address-data/v1/areas/AreaId/cities");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/address-data/v1/areas/AreaId/cities"

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

AreaId
string
required

Identificador da area

Query Params

_pageSize
int32

Limite de áreas por página.

_page
int32

Posição de paginação atual.

Headers

Authorization
string
required

access token

Response

Lista de cidades de uma área.

_pageSizeinteger
_pageinteger
_totalinteger
itemsarray

Formato inválido do(s) paramêtro(s) de entrada.

codestring
messagestring
Suggest Edits

/Cities

Exemplo de requisição para obter a listagem de cidades:

Request:
GET /cities?_pageSize=100&amp;_page=1&amp;StateId=Nd01GLOJDXmenky&amp;Presence=true

Response:
{
    "_pageSize": 100,
    "_page": 1,
    "items": [{
            "id": "2J54BX19WwXxpZr",
            "areadId": "wd0Q5p3PgObzG9a",
            "name": "Águas de Lindóia",
            "state": "SP",
            "presence": true

        },
        {
            "id": "NGKdvX74PWEPxpr",
            "areadId": "wd0Q5p3PgObzG9a",
            "name": "Águas de São Pedro",
            "state": "SP",
            "presence": true
        }
    ]
}
 
getapi.dotzlabs.com/address-data/v1/cities
curl --request GET \
  --url http://api.dotzlabs.com/address-data/v1/cities \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.dotzlabs.com/address-data/v1/cities',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/address-data/v1/cities")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api.dotzlabs.com/address-data/v1/cities");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/address-data/v1/cities"

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

_pageSize
int32

Limite de estados por página.

_page
int32

Posição de paginação atual.

StateId
string

Identificador do estado

Presence
boolean

Indicador de praça Dotz

Headers

Authorization
string
required

access token

Response

Lista de cidades.

_pageSizeinteger
_pageinteger
_totalinteger
itemsarray

Bad Request

codestring
messagestring
 
Suggest Edits

/Regions

Exemplo de requisição para obtenção da lista de regiões existentes:

Request:
GET /regions

Response:
[
  {
    "id": "mZo6ynX51XYlpR4",
    "name": "Norte"
  },
  {
    "id": "9Pp28W3GbO0kwBz",
    "name": "Nordeste"
  }
]
 
getapi.dotzlabs.com/address-data/v1/regions
curl --request GET \
  --url http://api.dotzlabs.com/address-data/v1/regions \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.dotzlabs.com/address-data/v1/regions',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/address-data/v1/regions")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api.dotzlabs.com/address-data/v1/regions");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/address-data/v1/regions"

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Headers

Authorization
string
required

access token

Response

Lista de regiões.

Suggest Edits

/States

Exemplo de requisição para obter a lista de estados existente:

Request:
GET /states

Response:
{
  "_pageSize": 10,
  "_page": 1,
  "items": [
    {
      "id": "mZo6ynX51XYlpR4",
      "abreviation": "AC",
      "name": "Acre"
    },
    {
      "id": "9Pp28W3GbO0kwBz",
      "abreviation": "AL",
      "name": "Alagoas"
    }
  ]
}
 
getapi.dotzlabs.com/address-data/v1/states
curl --request GET \
  --url http://api.dotzlabs.com/address-data/v1/states \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.dotzlabs.com/address-data/v1/states',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/address-data/v1/states")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api.dotzlabs.com/address-data/v1/states");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/address-data/v1/states"

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

_pageSize
int32

Limite de estados por página.

_page
int32

Posição de paginação atual.

Headers

Authorization
string
required

access token

Response

Lista de estados.

_pageSizeinteger
_pageinteger
_totalinteger
itemsarray
Suggest Edits

/States/{StateId}/cities

Exemplo de requisição para obter a lista de cidades de um estado:

Request:
GET /states/Nd01GLOJDXmenky/cities?_pageSize=100&amp;_page=1

Response:
{
    "_pageSize": 100,
    "_page": 1,
    "items": [{
            "id": "2J54BX19WwXxpZr",
            "areadId": "wd0Q5p3PgObzG9a",
            "name": "Águas de Lindóia",
            "state": "SP",
            "presence": true

        },
        {
            "id": "NGKdvX74PWEPxpr",
            "areadId": "wd0Q5p3PgObzG9a",
            "name": "Águas de São Pedro",
            "state": "SP",
            "presence": true
        }
    ]
}
 
getapi.dotzlabs.com/address-data/v1/states/StateId/cities
curl --request GET \
  --url http://api.dotzlabs.com/address-data/v1/states/StateId/cities \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.dotzlabs.com/address-data/v1/states/StateId/cities',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/address-data/v1/states/StateId/cities")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api.dotzlabs.com/address-data/v1/states/StateId/cities");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/address-data/v1/states/StateId/cities"

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

StateId
string
required

Identificador do estado.

Query Params

_pageSize
int32

Limite de estados por página.

_page
int32

Posição de paginação atual.

Headers

Authorization
string
required

access token

Response

Lista de cidades de um estado.

_pageSizeinteger
_pageinteger
_totalinteger
itemsarray

Formato inválido do(s) paramêtro(s) de entrada.

codestring
messagestring

Not Found

codestring
messagestring
Suggest Edits

Address Data - Return Codes

 

[GET] /areas/{AreaId}/cities

HTTP Code
Error Message
Error Code

404

Área não encontrada.

015

[GET] /states/{StateId}/cities

HTTP Code
Error Message
Error Code

404

Estado não encontrado.

006

Suggest Edits

Contracts

 
Suggest Edits

/Contracts

Exemplo de requisição para listagem de contratos:

 Request:
 GET /contracts?latest=true

 Response:
 [
      {
         "contractId": "246dGvXevEjl1Z0",
         "termId": "AHI-01",
         "startDate": "2017-01-01T00:00:00Z",
         "endDate": "2017-03-01T00:00:00Z",
         "document": "Descrição do documento sem formatação.",
         "htmlDocument": "Descrição do documento formatado com html."
     },
        {
         "contractId": "4YjVA2EKlOKQpBR",
         "termId": "PACCONV",
         "startDate": "2016-06-17T00:00:00Z",
         "endDate": "2017-06-17T00:00:00Z",
         "endDate": null,
         "document": "Descrição do documento sem formatação.",
         "htmlDocument":"Descrição do documento formatado com html."
        }
 ]
 
getapi.dotzlabs.com/agreements/v1/contracts
curl --request GET \
  --url http://api.dotzlabs.com/agreements/v1/contracts \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.dotzlabs.com/agreements/v1/contracts',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/agreements/v1/contracts")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api.dotzlabs.com/agreements/v1/contracts");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/agreements/v1/contracts"

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

Latest
boolean

Se deve ser o vigente ou não.

ContractId
string

Identificador do contrato.

Headers

Authorization
string
required

access token

Response

Success

Suggest Edits

Signature

 
Suggest Edits

/Signature

Exemplo de requisição para criação/atualização.

Request:
POST /signature
{
    "termId":"4407561ffdcb4c7",
    "deviceType":0, 
    "platform":2,
    "userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36",
    "model":"Samsung Galaxy S4",
    "ip":"168.18.1.1"
}
 
postapi.dotzlabs.com/agreements/v1/signature
curl --request POST \
  --url http://api.dotzlabs.com/agreements/v1/signature \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'POST',
  url: 'http://api.dotzlabs.com/agreements/v1/signature',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/agreements/v1/signature")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "http://api.dotzlabs.com/agreements/v1/signature");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/agreements/v1/signature"

headers = {'authorization': 'Authorization'}

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

userId
string

Identificador do usuário, somente é aceito por sistemas internos (por mensageria).
Sistemas externos devem estar logados.

termId
string
required

Identificador do termo utilizado.

deviceType
int32
required

Tipo do dispositivo, pode ser (0) Computer, (1) Smartphone, (2) Tablet ou (3) Others.

platform
int32

Plataforma utilizada, pode ser (0) Android, (1) iOS, (2) Linux, (3) macOS, (4) Windows ou (5) Other.

userAgent
string
required

Agente que realizou a requisição HTTP.

model
string

Modelo do dispositivo (se for possível obter).

ip
string
required

IP do requisitante.

Headers

Authorization
string
required

access token

Response

Operação realizada com sucesso.

userIdstring

Identificador do usuário, somente é aceito por sistemas internos (por mensageria).
Sistemas externos devem estar logados.

termIdstring

Identificador do termo utilizado.

deviceTypeinteger

Tipo do dispositivo, pode ser (0) Computer, (1) Smartphone, (2) Tablet ou (3) Others.

platforminteger

Plataforma utilizada, pode ser (0) Android, (1) iOS, (2) Linux, (3) macOS, (4) Windows ou (5) Other.

userAgentstring

Agente que realizou a requisição HTTP.

modelstring

Modelo do dispositivo (se for possível obter).

ipstring

IP do requisitante.

Formato inválido do(s) paramêtro(s) de entrada.

codestring
messagestring

Ocorreu um erro de negócio.

codestring
messagestring
Suggest Edits

Agreements - Return Code

 

[POST] /signature

HTTP Code
Error Message
Error Code

400

Identificador do termo deve ser informado.

001

404

Identificador do termo ({0}) informado não existe.

002

400

Identificador do usuário deve ser informado.

003

400

Identificador do usuário não encontrado.

004

404

Identificador do usuário não encontrado.

004

400

Identificador do usuário só pode ser informado se for um sistema interno.

005

400

Identificador do dispositivo deve ser informado.

006

400

Identificador do dispositivo não encontrado.

007

400

Identificador da plataforma deve ser informado.

008

400

Identificador da plataforma não encontrado.

009

409

Usuário já assinou esse termo.

010

400

Termo informado não está ativo.

011

400

userAgent deve informado.

012

400

userAgent deve ter entre 5 a 1000 caracteres.

013

400

IP deve ser informado.

014

400

IP informado é inválido.

015

400

model, se informado, deve ter no máximo 20 caracteres.

016

400

Requisição em formato inválido.

017

 
Suggest Edits

/Deposits/{locator}

Exemplo de requisição para consulta de um depósito pelo localizador:

Request:
GET /deposits/v1/deposits/000000000000001

Response:
{
    "deviceCode" = "MACHINENAME",
    "employeeIdentification" = "[CPF_FUNCIONÁRIO]",
    "eventDate" = "2018-03-12T13:12:43.232Z",
    "locator" = "000000000000001",
    "memberIdentification" = "[CPF_CLIENTE]",
    "offerCode" = "8QCCTTDQS6C9F8X",
    "points" = 68,
    "purchaseValue" = 50,
    "storeCode" = "MATRIZ"
}
 
getapi.dotzlabs.com/deposits/v1/deposits/locator
curl --request GET \
  --url http://api.dotzlabs.com/deposits/v1/deposits/locator \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.dotzlabs.com/deposits/v1/deposits/locator',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/deposits/v1/deposits/locator")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api.dotzlabs.com/deposits/v1/deposits/locator");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/deposits/v1/deposits/locator"

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

locator
string
required

Identificador do depósito.

Headers

Authorization
string
required

access token

Response

Success

locatorstring

Localizador (cupom fiscal, número do pedido, ticket da transação, outro...).

storeCodestring

Identificador do estabelecimento.

deviceCodestring

Identificador do dispositivo.

eventDatestring

Data e hora da transação de crédito.
Ex: 2017-07-21T16:37:01.811Z

memberIdentificationstring

Identificador do cliente que será creditado (CPF, e-mail ou cartão Dotz).

employeeIdentificationstring

Identificador do funcionário que estava na frente do caixa (caso haja). (CPF - sem formatação).

offerCodestring

Identificador da mecânica.

pointsinteger

Quantidade de pontos que serão creditados.

purchaseValuenumber

Valor total da compra referente aos valores somados dos Itens

Bad Request

codestring
messagestring

Not Found

codestring
messagestring
Suggest Edits

/Deposits/{locator}

Exemplo de requisição para estorno de um depósito:

Request:
DELETE /deposits/v1/deposits/000000000000001
 
deleteapi.dotzlabs.com/deposits/v1/deposits/locator
curl --request DELETE \
  --url http://api.dotzlabs.com/deposits/v1/deposits/locator \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'DELETE',
  url: 'http://api.dotzlabs.com/deposits/v1/deposits/locator',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/deposits/v1/deposits/locator")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "http://api.dotzlabs.com/deposits/v1/deposits/locator");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/deposits/v1/deposits/locator"

headers = {'authorization': 'Authorization'}

response = requests.request("DELETE", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

locator
string
required

Identificador do depósito.

Headers

Authorization
string
required

access token

Response

Success

Bad Request

codestring
messagestring

Not Found

codestring
messagestring

Conflict

codestring
messagestring
Suggest Edits

/Deposits

Exemplo de requisição para criação de um ou mais depósitos:

Request:
POST /deposits/v1/deposits
[
    {
        "deviceCode" = "MACHINENAME",
        "employeeIdentification" = "[CPF_FUNCIONÁRIO]",
        "eventDate" = "2018-03-12T13:12:43.232Z",
        "locator" = "000000000000001",
        "memberIdentification" = "[CPF_CLIENTE]",
        "offerCode" = "8QCCTTDQS6C9F8X",
        "points" = 68,
        "purchaseValue" = 50,
        "storeCode" = "MATRIZ",
        "additionalInformation" = [
            { "key":"cellphoneNumber", "value": "999999999" }
        ]
    },
    {
        "deviceCode" = "MACHINENAME",
        "employeeIdentification" = "[CPF_FUNCIONÁRIO]",
        "eventDate" = "2018-03-12T13:12:43.232Z",
        "locator" = "000000000000002",
        "memberIdentification" = "[CPF_CLIENTE]",
        "offerCode" = "8QCCTTDQS6C9F8X",
        "points" = 120,
        "purchaseValue" = 90,
        "storeCode" = "MATRIZ",
        "additionalInformation" = [
            { "key":"cellphoneNumber", "value": "999999999" }
        ]
    }
]
 
postapi.dotzlabs.com/deposits/v1/deposits
curl --request POST \
  --url http://api.dotzlabs.com/deposits/v1/deposits \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'POST',
  url: 'http://api.dotzlabs.com/deposits/v1/deposits',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/deposits/v1/deposits")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "http://api.dotzlabs.com/deposits/v1/deposits");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/deposits/v1/deposits"

headers = {'authorization': 'Authorization'}

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Headers

Authorization
string
required

access token

Response

Operação realizada com sucesso.

Formato inválido do(s) paramêtro(s) de entrada.

codestring
messagestring

Ocorreu um erro de negócio.

codestring
messagestring
Suggest Edits

/Deposits/{locator}/status

Exemplo de requisição para consulta de status de uma transação através do localizador:

Request:
GET /deposits/v1/deposits/000000000000001/status

Response:
{
    "locator": "000000000000001",
    "statusCode": 40000
}
 
getapi.dotzlabs.com/deposits/v1/deposits/locator/status
curl --request GET \
  --url http://api.dotzlabs.com/deposits/v1/deposits/locator/status \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.dotzlabs.com/deposits/v1/deposits/locator/status',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/deposits/v1/deposits/locator/status")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api.dotzlabs.com/deposits/v1/deposits/locator/status");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/deposits/v1/deposits/locator/status"

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

locator
string
required

Identificador do depósito.

Headers

Authorization
string
required

access token

Response

Success

locatorstring

Localizador.

statusCodeinteger

Status da transação.

Bad Request

codestring
messagestring

Not Found

codestring
messagestring
Suggest Edits

/Offers

Exemplo de requisição para consulta de mecânicas:

Request:
GET offers?_pageSize=100&amp;_page=1

Response:
{
    "_pageSize": 100,
    "_page": 1,
    "items": [{
            "offerId": "mZo6ynX51XYlpR4",
            "description": "Master"

        },
        {
            "offerId": "AQd9JDOqAOWBg4y",
            "description": "Bônus de perfil"
        }
    ]
}
 
getapi.dotzlabs.com/deposits/v1/offers
curl --request GET \
  --url http://api.dotzlabs.com/deposits/v1/offers \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.dotzlabs.com/deposits/v1/offers',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/deposits/v1/offers")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api.dotzlabs.com/deposits/v1/offers");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/deposits/v1/offers"

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

_pageSize
int32

Limite de mecânicas por página.

_page
int32

Posição de paginação atual.

Headers

Authorization
string
required

access token

Response

Lista de mecânicas.

_pageSizeinteger
_pageinteger
_totalinteger
itemsarray

Formato inválido do(s) paramêtro(s) de entrada.

codestring
messagestring
Suggest Edits

Purchases

 
Suggest Edits

/Purchases

Exemplo de requisição para criação de uma operação de compra:

Request:
POST /ecommerce/v1/purchases
{
    "locator": "10",
    "storeCode": "MATRIZ",
    "deviceCode": "41",
    "purchaseOrder": "pedido123",
    "purchaseDate": "2017-08-16T19:39:43.564Z",
    "shopperIdentification": "43574989881",
    "items": [{
        "sku": "132312312",
        "ean": "0768421222301",
        "categories": "Categoria Nivel1 &gt; Categoria Nivel 2 &gt; Categoria Nivel 3 &gt; Categoria Nivel X",
        "quantity": 2,
        "unitPrice": 8.0,
        "itemPrice": 16.0,
        "supplierIdentification": "43824418000126",
        "name": "ARROZ INTEGRAL",
        "discount": 0.0,

    }],
    "purchaseValue": 16.0,
    "payments": [
        {
            "paymentType": 1,
            "bin": "",
            "amount": 16.00
        }
    ]
}

Lista de tipos de pagamentos:

    1 - Dinheiro
    2 - Cartão de crédito
    3 - Cartão de débito
    4 - Cheque
    5 - Voucher
    6 - Outros

Response:
{
    "description": "Parabéns! Você ganhou Dotz em sua compra.",
    "points": 4,
    "bonusPoints": 10,
    "totalPoints": 14,
}
 
postuat-api.dotzlabs.com/ecommerce/v1/purchases
curl --request POST \
  --url http://uat-api.dotzlabs.com/ecommerce/v1/purchases \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'POST',
  url: 'http://uat-api.dotzlabs.com/ecommerce/v1/purchases',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://uat-api.dotzlabs.com/ecommerce/v1/purchases")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "http://uat-api.dotzlabs.com/ecommerce/v1/purchases");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://uat-api.dotzlabs.com/ecommerce/v1/purchases"

headers = {'authorization': 'Authorization'}

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

locator
string
required

Localizador (cupom fiscal, número do pedido, ticket da transação, outro...).

storeCode
string
required

Identificador do estabelecimento.

purchaseOrder
string

Número do cupom.

purchaseDate
date-time

Data e hora da transação de compra.
Ex: 2017-07-21T16:37:01.811Z

shopperIdentification
string

Identificador de um cliente (CPF - sem formatação).
O campo deve ser preenchido se o consumidor pediu pontos.

items
array of objects

Itens da compra.

sku
ean
categories
quantity
unitPrice
itemPrice
supplierIdentification
name
discount
updateTransactionDate
lastDateSync
purchaseValue
double

Valor total da compra referente aos valores somados dos Itens

payments
array of objects

Dados de pagamento da compra.

paymentType
bin
amount
updateTransactionDate
date-time

Data de atualização do status da compra.

lastDateSync
date-time

Data do último processamento.

Headers

Authorization
string
required

access token

Response

Pontos creditados para o cliente pela operação de compra.

descriptionstring

Descritivo para ser impresso no cupom fiscal.

pointsinteger

Pontos ganhos.

bonusPointsinteger

Pontos de bônus.

totalPointsinteger

Total de pontos ganhos na operação (Points + BonusPoints).

Formato inválido do(s) paramêtro(s) de entrada.

Ocorreu um erro de negócio.

Suggest Edits

/Purchases/{locator}/tracking/status/{status}

Exemplo de requisição para atualização:

Request
PUT /ecommerce/v1/purchases/123456/tracking/status/canceled

Lista de status:

    1 - (accepted)Pedido aceito
    2 - (invoiced)Pedido faturado
    3 - (delivered)Pedido entregue
    5 - (canceled)Pedido cancelado

Response
200 - OK
 
putuat-api.dotzlabs.com/ecommerce/v1/purchases/locator/tracking/status/status
curl --request PUT \
  --url http://uat-api.dotzlabs.com/ecommerce/v1/purchases/locator/tracking/status/status \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'PUT',
  url: 'http://uat-api.dotzlabs.com/ecommerce/v1/purchases/locator/tracking/status/status',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://uat-api.dotzlabs.com/ecommerce/v1/purchases/locator/tracking/status/status")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "http://uat-api.dotzlabs.com/ecommerce/v1/purchases/locator/tracking/status/status");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://uat-api.dotzlabs.com/ecommerce/v1/purchases/locator/tracking/status/status"

headers = {'authorization': 'Authorization'}

response = requests.request("PUT", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

locator
string
required
status
string
required

Headers

Authorization
string
required

access token

Response

Success

Suggest Edits

/Member

Exemplo de requisição para obtenção dos dados com endereços de uma conta:

Request:
GET /member

Response:
{
    "personalInformation":
    {
        "id": "4e0WEYy1kgEmDln",
        "identifier": "00000000000",
        "identifierType": "CPF",
        "fullName": "Usuário Teste",
        "gender": 0,
        "email": "teste@dotz.com.br",
        "birthdate": "1990-01-21T16:21:14.817Z",
        "phoneNumberArea": 11,
        "phoneNumber": "111111111",
        "cellphoneNumberArea": 11,
        "cellphoneNumber": "999999999",
        "addresses":
        [
            {
                "id": "MKgLXArG51Ezjx6",
                "deliveryAddress": true,
                "streetName": "R HELOISA PAMPLONA",
                "alias": "Minha casa",
                "addressNumber": "107",
                "additionalInformation": "CASA",
                "referencePoint": "Carrefour",
                "city": "SAO CAETANO DO SUL",
                "countryCode": 55,
                "district": "FUNDACAO",
                "postalCode": "09520320",
                "state": "SP",
                "default": false
            },
            {   "id": "lrzwOdmlP923Go5",
                "deliveryAddress": false,
                "streetName": "Rua Heloisa Pamplona",
                "alias": "JULIANE AGRA DE BRITO",
                "addressNumber": "107",
                "additionalInformation": "Casa",
                "referencePoint": "Nao Informado",
                "city": "Sao Caetano do Sul",
                "countryCode": 55,
                "district": "Fundacao",
                "postalCode": "09520320",
                "state": "SP",
                "default": false
            }
        ]
    },
    "notifications":
    {
        "email": true,
        "mobilePush": true,
        "phoneCall": false,
        "sms": true
    }
}
 
getapi.dotzlabs.com/members/v1/member
curl --request GET \
  --url http://api.dotzlabs.com/members/v1/member \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.dotzlabs.com/members/v1/member',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/members/v1/member")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api.dotzlabs.com/members/v1/member");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/members/v1/member"

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Headers

Authorization
string
required

access token

Response

Dados de um membro do programa.

personalInformationobject

Informações de membros.

personalInformation.idstring

Identificador do membro.

personalInformation.identifierstring

Identificador do usuário, pode ser e-mail, CPF ou CNPJ.

personalInformation.identifierTypestring

Tipo de documento (CPF, CNPJ ou E-mail)

personalInformation.fullNamestring

Nome completo

personalInformation.genderinteger

Gênero. Pode ser 0 (masculino) ou 1 (feminino).

personalInformation.emailstring

E-mail

personalInformation.birthdatestring

Data de nascimento, no formato YYYY-MM-dd. Exemplo: 1990-09-18.

personalInformation.phoneNumberAreainteger

Código de área do telefone

personalInformation.phoneNumberstring

Número telefone

personalInformation.cellphoneNumberAreainteger

Código área do celular

personalInformation.cellphoneNumberstring

Número celular

personalInformation.addressesarray

Endereços

notificationsobject

Configuração de notificações.

notifications.emailboolean

Notificação por E-mail

notifications.mobilePushboolean

Notificação no App

notifications.phoneCallboolean

Notificação por ligação

notifications.smsboolean

Notificação por SMS

Suggest Edits

/Member/personalInformation

Exemplo de requisição para obtenção dos dados de uma conta:

Request:
GET /member/personalInformation

Response:
{
    "id": "Ad2mE96A2RlOPRj",
    "identifier": "00000000000",
    "identifierType": "CPF",
    "fullName": "Usuário Teste",
    "gender": 0,
    "email": "teste@dotz.com.br",
    "birthdate": "1990-01-21T16:21:14.817Z",
    "phoneNumberArea": 11,
    "phoneNumber": "111111111",
    "cellphoneNumberArea": 11,
    "cellphoneNumber": "999999999",
}
 
getapi.dotzlabs.com/members/v1/member/personalInformation
curl --request GET \
  --url http://api.dotzlabs.com/members/v1/member/personalInformation \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.dotzlabs.com/members/v1/member/personalInformation',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/members/v1/member/personalInformation")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api.dotzlabs.com/members/v1/member/personalInformation");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/members/v1/member/personalInformation"

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Headers

Authorization
string
required

access token

Response

Dados de um membro do programa.

idstring

Identificador de pessoa.

identifierstring

Identificador do usuário, pode ser e-mail, CPF ou CNPJ.

identifierTypestring

Tipo de registro (Pode ser pode ser e-mail, CPF ou CNPJ.)

fullNamestring

Nome Completo.

genderinteger

Gênero. Pode ser 0 (masculino) ou 1 (feminino).

emailstring

E-mail.

birthdatestring

Data de nascimento.

phoneNumberAreainteger

Código de áres do telefone.

phoneNumberstring

Número do telefone.

cellPhoneNumberAreainteger

Código de áres do celular.

cellPhoneNumberstring

Número do celular.

Suggest Edits

/Member/personalInformation

Exemplo de requisição para atualizar dos dados de uma conta:

Request:
PUT /member/personalInformation
{
    "fullName": "Usuário Teste",
    "gender": 0,
    "birthdate": "1990-01-21T16:21:14.817Z",
    "phoneNumberArea": 11,
    "phoneNumber": "111111111",
    "cellphoneNumberArea": 11,
    "cellphoneNumber": "999999999",
}
 
putapi.dotzlabs.com/members/v1/member/personalInformation
curl --request PUT \
  --url http://api.dotzlabs.com/members/v1/member/personalInformation \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'PUT',
  url: 'http://api.dotzlabs.com/members/v1/member/personalInformation',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/members/v1/member/personalInformation")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "http://api.dotzlabs.com/members/v1/member/personalInformation");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/members/v1/member/personalInformation"

headers = {'authorization': 'Authorization'}

response = requests.request("PUT", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

fullName
string
required

Nome completo.

gender
int32

Gênero. Pode ser 0 (masculino) ou 1 (feminino).

birthdate
date-time
required

Data de nascimento.

phoneNumberArea
int32
required

Código de áres do telefone.

phoneNumber
string
required

Número do telefone.

cellPhoneNumberArea
int32
required

Código de áres do celular.

cellPhoneNumber
string
required

Número do celular.

Headers

Authorization
string
required

access token

Response

Se a operação foi realizada com sucesso.

fullNamestring

Nome completo.

genderinteger

Gênero. Pode ser 0 (masculino) ou 1 (feminino).

birthdatestring

Data de nascimento.

phoneNumberAreainteger

Código de áres do telefone.

phoneNumberstring

Número do telefone.

cellPhoneNumberAreainteger

Código de áres do celular.

cellPhoneNumberstring

Número do celular.

Formato inválido do(s) paramêtro(s) de entrada.

codestring
messagestring
Suggest Edits

/Member/notifications

Exemplo de requisição para obtenção dos dados de uma conta:

Request:
GET /member/notifications

Response:
{
    "email": true,
    "mobilePush": true,
    "phoneCall": false
    "sms": true
}
 
getapi.dotzlabs.com/members/v1/member/notifications
curl --request GET \
  --url http://api.dotzlabs.com/members/v1/member/notifications \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.dotzlabs.com/members/v1/member/notifications',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/members/v1/member/notifications")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api.dotzlabs.com/members/v1/member/notifications");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/members/v1/member/notifications"

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Headers

Authorization
string
required

access token

Response

Configuração de notificações de um membro do programa.

emailboolean

Notificação por E-mail.

mobilePushboolean

Notificação no App.

phoneCallboolean

Notificação por ligação.

smsboolean

Notificação por SMS.

Suggest Edits

/Member/notifications

Exemplo de requisição para obtenção dos dados de uma conta:

Request:
PUT /member/notifications
{
    "email": true,
    "mobilePush": true,
    "phoneCall": true
    "sms": true
}
 
putapi.dotzlabs.com/members/v1/member/notifications
curl --request PUT \
  --url http://api.dotzlabs.com/members/v1/member/notifications \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'PUT',
  url: 'http://api.dotzlabs.com/members/v1/member/notifications',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/members/v1/member/notifications")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "http://api.dotzlabs.com/members/v1/member/notifications");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/members/v1/member/notifications"

headers = {'authorization': 'Authorization'}

response = requests.request("PUT", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

email
boolean
required

Notificação por E-mail

mobilePush
boolean
required

Notificação no App.

phoneCall
boolean
required

Notificação por ligação.

sms
boolean
required

Notificação por SMS.

Headers

Authorization
string
required

access token

Response

Se a operação foi realizada com sucesso.

emailboolean

Notificação por E-mail

mobilePushboolean

Notificação no App.

phoneCallboolean

Notificação por ligação.

smsboolean

Notificação por SMS.

Formato inválido do(s) paramêtro(s) de entrada.

codestring
messagestring
Suggest Edits

/Member/addresses

Exemplo de requisição para obtenção dos endereços de uma conta:

Request:
GET /member/addresses
[
    {
        "deliveryAddress": true,
        "streetName": "R HELOISA PAMPLONA",
        "alias": "Minha casa",
        "addressNumber": "107",
        "additionalInformation": "CASA",
        "referencePoint": "Carrefour",
        "city": "SAO CAETANO DO SUL",
        "countryCode": 55,
        "district": "FUNDACAO",
        "postalCode": "09520320",
        "state": "SP",
        "default": false
    },
        "deliveryAddress": false,
        "streetName": "Rua Heloisa Pamplona",
        "alias": "JULIANE AGRA DE BRITO",
        "addressNumber": "107",
        "additionalInformation": "Casa",
        "referencePoint": "Nao Informado",
        "city": "Sao Caetano do Sul",
        "countryCode": 55,
        "district": "Fundacao",
        "postalCode": "09520320",
        "state": "SP",
        "default": false
    }
]
 
getapi.dotzlabs.com/members/v1/member/addresses
curl --request GET \
  --url http://api.dotzlabs.com/members/v1/member/addresses \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.dotzlabs.com/members/v1/member/addresses',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/members/v1/member/addresses")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api.dotzlabs.com/members/v1/member/addresses");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/members/v1/member/addresses"

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Headers

Authorization
string
required

access token

Response

Endereços de um membro do programa.

Formato inválido do(s) paramêtro(s) de entrada.

Suggest Edits

/Member/addresses

Exemplo de requisição para criação de um endereço de entrega:

Request:
POST /member/addresses
 {
     "streetName": "R HELOISA PAMPLONA",
     "alias": "Minha casa",
     "addressNumber": "107",
     "additionalInformation": "CASA",
     "referencePoint": "Carrefour",
     "city": "SAO CAETANO DO SUL",
     "countryCode": 55,
     "district": "FUNDACAO",
     "postalCode": "09520320",
     "state": "SP",
     "default": false
 }
 
postapi.dotzlabs.com/members/v1/member/addresses
curl --request POST \
  --url http://api.dotzlabs.com/members/v1/member/addresses \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'POST',
  url: 'http://api.dotzlabs.com/members/v1/member/addresses',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/members/v1/member/addresses")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "http://api.dotzlabs.com/members/v1/member/addresses");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/members/v1/member/addresses"

headers = {'authorization': 'Authorization'}

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

streetName
string
required

Nome do logradouro.

alias
string
required

Nome do endereço.

addressNumber
string

Número.

additionalInformation
string

Complemento do endereço.

referencePoint
string

Ponto de Referência.

city
string
required

Cidade.

countryCode
int32

Código do país, atualmente é aceito apenas o valor 55.

district
string
required

Bairro.

postalCode
string
required

CEP. Deve ser enviado sem hífen, apenas números. Exemplo: 04534002, 04532012, entre outros.

state
string
required

Estado.

default
boolean

Se será ou não o endereço de entrega principal.

Headers

Authorization
string
required

access token

Response

Se a operação foi realizada com sucesso.

streetNamestring

Nome do logradouro.

aliasstring

Nome do endereço.

addressNumberstring

Número.

additionalInformationstring

Complemento do endereço.

referencePointstring

Ponto de Referência.

citystring

Cidade.

countryCodeinteger

Código do país, atualmente é aceito apenas o valor 55.

districtstring

Bairro.

postalCodestring

CEP. Deve ser enviado sem hífen, apenas números. Exemplo: 04534002, 04532012, entre outros.

statestring

Estado.

defaultboolean

Se será ou não o endereço de entrega principal.

Formato inválido do(s) paramêtro(s) de entrada.

codestring
messagestring

Se houve a violação de alguma regra de negócio.

codestring
messagestring
Suggest Edits

/Member/addresses/{addressId}

Exemplo de requisição para atualizãção de um endereço de entrega:

Request:
PUT /member/addresses/yg7A32JvbQe3Jkd
 {
     "id": "MKgLXArG51Ezjx6",
     "deliveryAddress": true,
     "streetName": "R HELOISA PAMPLONA",
     "alias": "Minha casa",
     "addressNumber": "107",
     "additionalInformation": "CASA",
     "referencePoint": "Carrefour",
     "city": "SAO CAETANO DO SUL",
     "countryCode": 55,
     "district": "FUNDACAO",
     "postalCode": "09520320",
     "state": "SP",
     "default": false
 },
 
putapi.dotzlabs.com/members/v1/member/addresses/addressId
curl --request PUT \
  --url http://api.dotzlabs.com/members/v1/member/addresses/addressId \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'PUT',
  url: 'http://api.dotzlabs.com/members/v1/member/addresses/addressId',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/members/v1/member/addresses/addressId")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "http://api.dotzlabs.com/members/v1/member/addresses/addressId");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/members/v1/member/addresses/addressId"

headers = {'authorization': 'Authorization'}

response = requests.request("PUT", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

addressId
string
required

Identificador do endereço.

Body Params

streetName
string
required

Nome da Rua.

addressName
string
required

Nome do endereço.

addressNumber
string

Número do endereço.

additionalInformation
string

Complemento do endereço.

referencePoint
string

Ponto de Referência.

city
string
required

Cidade

countryCode
int32

Código do país, atualmente é aceito apenas o valor 55.

district
string
required

Bairro

postalCode
string
required

CEP. Deve ser enviado sem hífen, apenas números. Exemplo: 04534002, 04532012, entre outros.

state
string
required

Estado

default
boolean

Se será ou não o endereço de entrega principal.

Headers

Authorization
string
required

access token

Response

Se a operação foi realizada com sucesso.

Formato inválido do(s) paramêtro(s) de entrada.

codestring
messagestring

Registro não encontrado.

codestring
messagestring

Se alguma regra de negócio foi violada.

codestring
messagestring
Suggest Edits

/Member/addresses/{addressId}

Exemplo de requisição para atualização de apenas um campo do endereço:

Request:
PATCH /member/addresses/yg7A32JvbQe3Jkd
{
    "district": "Vila Olímpia"
}
 
patchapi.dotzlabs.com/members/v1/member/addresses/addressId
curl --request PATCH \
  --url http://api.dotzlabs.com/members/v1/member/addresses/addressId \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'PATCH',
  url: 'http://api.dotzlabs.com/members/v1/member/addresses/addressId',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/members/v1/member/addresses/addressId")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Patch.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PATCH", "http://api.dotzlabs.com/members/v1/member/addresses/addressId");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/members/v1/member/addresses/addressId"

headers = {'authorization': 'Authorization'}

response = requests.request("PATCH", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

addressId
string
required

Identificador do endereço.

Body Params

streetName
string

Descrição do logradouro.

addressName
string

Nome do endereço.

addressNumber
string

Número.

additionalInformation
string

Complemento do endereço.

referencePoint
string

Ponto de Referência.

city
string

Cidade.

countryCode
int32

Código do país, atualmente é aceito apenas o valor 55.

district
string

Bairro

postalCode
string

CEP. Deve ser enviado sem hífen, apenas números. Exemplo: 04534002, 04532012, entre outros.

state
string

Estado. Exemplo: SP, MG, SC, entre outros.

default
boolean

Flag se é o endereço principal

Headers

Authorization
string
required

access token

Response

Se a operação foi realizada com sucesso.

Formato inválido do(s) paramêtro(s) de entrada.

codestring
messagestring

Se alguma regra de negócio foi violada.

codestring
messagestring
Suggest Edits

/Member/addresses/{AddressId}

Exemplo de requisição para apagar de um endereço de entrega:

Request:
DELETE /member/addresses/yg7A32JvbQe3Jkd
 
deleteapi.dotzlabs.com/members/v1/member/addresses/AddressId
curl --request DELETE \
  --url http://api.dotzlabs.com/members/v1/member/addresses/AddressId \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'DELETE',
  url: 'http://api.dotzlabs.com/members/v1/member/addresses/AddressId',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/members/v1/member/addresses/AddressId")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "http://api.dotzlabs.com/members/v1/member/addresses/AddressId");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/members/v1/member/addresses/AddressId"

headers = {'authorization': 'Authorization'}

response = requests.request("DELETE", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

AddressId
string
required

Identificador do endereço.

Headers

Authorization
string
required

access token

Response

Se a operação foi realizada com sucesso.

Formato inválido do(s) paramêtro(s) de entrada.

codestring
messagestring

Se o endereço não existir para o usuário.

codestring
messagestring
Suggest Edits

/Member/cellphonenumbers

Exemplo de requisição para obter lista de números de celulares do usuário:

Request:
GET /members/v1/member/cellphonenumbers
[
    {
        "id": "WNQDFQGB9MWEDYU",
        "alias": "Renato Monteiro",
        "carrierCode": 3,
        "countryCode": 55,
        "areaCode": 11,
        "cellphoneNumber": "964245742",
        "default": false
    },
    {
        "id": "NSST9ZWKBMC9UC9",
        "alias": "Ricardo Corrêa",
        "carrierCode": 3,
        "countryCode": 55,
        "areaCode": 15,
        "cellphoneNumber": "926114572",
        "default": true
    },
    {
        "id": "P82H6CB3MGMHYUK",
        "alias": "Vó",
        "carrierCode": 0,
        "countryCode": 55,
        "areaCode": 11,
        "cellphoneNumber": "994863246",
        "default": false
    }
]
 
getapi.dotzlabs.com/members/v1/member/cellphonenumbers
curl --request GET \
  --url http://api.dotzlabs.com/members/v1/member/cellphonenumbers \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.dotzlabs.com/members/v1/member/cellphonenumbers',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/members/v1/member/cellphonenumbers")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api.dotzlabs.com/members/v1/member/cellphonenumbers");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/members/v1/member/cellphonenumbers"

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Headers

Authorization
string
required

access token

Response

Success

Suggest Edits

/Member/cellphonenumbers

Exemplo de requisição para registrar um número de celular para o usuário:

Request:
POST /members/v1/member/cellphonenumbers
{
    "alias": "Ricardo Corrêa",
    "carrierCode": 3,
    "countryCode": 55,
    "areaCode": 15,
    "cellphoneNumber": "926114572",
    "default": true
}

Response:
{
    "id": "0E2OL9VCH27GSRCM"
}
 
postapi.dotzlabs.com/members/v1/member/cellphonenumbers
curl --request POST \
  --url http://api.dotzlabs.com/members/v1/member/cellphonenumbers \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'POST',
  url: 'http://api.dotzlabs.com/members/v1/member/cellphonenumbers',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/members/v1/member/cellphonenumbers")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "http://api.dotzlabs.com/members/v1/member/cellphonenumbers");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/members/v1/member/cellphonenumbers"

headers = {'authorization': 'Authorization'}

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

alias
string
required

Nome amigável, para fácil identificação do número de celular pelo usuário.

carrierCode
int32
required

Operadora do número de celular.

countryCode
int32

Código do país do número de celular,
se não informado será assumido por padrão o valor 55 (Brazil).

areaCode
int32
required

Código da área.

cellphoneNumber
string
required

Número de celular.

default
boolean

Se é o número padrão para ser usado para alguma funcionalidade,
se não informado será assumido por padrão o valor 'false'.

Headers

Authorization
string
required

access token

Response

Success

idstring

Identificador do registro criado.

Bad Request

codestring
messagestring

Conflict

codestring
messagestring
Suggest Edits

/Member/cellphonenumbers/{id}

Exemplo de requisição para alterar os dados de um número de celular já registrado:

Request:
PUT /members/v1/member/cellphonenumbers/0E2OL9VCH27GSRCM
{
    "alias": "Ricardo",
    "carrierCode": 3,
    "countryCode": 55,
    "areaCode": 15,
    "cellphoneNumber": "926114572",
    "default": true
}
 
putapi.dotzlabs.com/members/v1/member/cellphonenumbers/id
curl --request PUT \
  --url http://api.dotzlabs.com/members/v1/member/cellphonenumbers/id \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'PUT',
  url: 'http://api.dotzlabs.com/members/v1/member/cellphonenumbers/id',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/members/v1/member/cellphonenumbers/id")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PUT", "http://api.dotzlabs.com/members/v1/member/cellphonenumbers/id");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/members/v1/member/cellphonenumbers/id"

headers = {'authorization': 'Authorization'}

response = requests.request("PUT", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Identificador do número de celular registrado.

Body Params

alias
string
required

Nome amigável, para fácil identificação do número de celular pelo usuário.

carrierCode
int32
required

Operadora do número de celular.

countryCode
int32

Código do país do número de celular,
se não informado será assumido por padrão o valor 55 (Brazil).

areaCode
int32
required

Código da área.

cellphoneNumber
string
required

Número de celular.

default
boolean

Se é o número padrão para ser usado para alguma funcionalidade,
se não informado será assumido por padrão o valor 'false'.

Headers

Authorization
string
required

access token

Response

Success

Bad Request

codestring
messagestring

Not Found

codestring
messagestring

Conflict

codestring
messagestring
Suggest Edits

/Member/cellphonenumbers/{id}

Exemplo de requisição para remover um número de celular do usuário:

Request:
DELETE /members/v1/member/cellphonenumbers/0E2OL9VCH27GSRCM
 
deleteapi.dotzlabs.com/members/v1/member/cellphonenumbers/id
curl --request DELETE \
  --url http://api.dotzlabs.com/members/v1/member/cellphonenumbers/id \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'DELETE',
  url: 'http://api.dotzlabs.com/members/v1/member/cellphonenumbers/id',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/members/v1/member/cellphonenumbers/id")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "http://api.dotzlabs.com/members/v1/member/cellphonenumbers/id");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/members/v1/member/cellphonenumbers/id"

headers = {'authorization': 'Authorization'}

response = requests.request("DELETE", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Identificador do número de celular do usuário.

Headers

Authorization
string
required

access token

Response

Success

Bad Request

codestring
messagestring

Not Found

codestring
messagestring

Conflict

codestring
messagestring
Suggest Edits

Members - Return Codes

 

[GET] /members

HTTP Code
Error Message
Error Code

404

Membro não encontrado.

072

[PUT] /member/personalInformation

HTTP Code
Error Message
Error Code

400

Nome deve ter no máximo 100 caracteres, nenhum número ou simbolo e and ao menos dois nomes (Primeiro e Último).

001

400

Idade deve estar entre 16 e 100 anos.

002

400

Código de área do telefone deve ser um valor entre 11 e 99.

003

400

Número de telefone deve conter apenas números e máximo de 8 caracteres.

004

400

Número de celular deve conter apenas números e máximo de 9 caracteres.

005

400

Código de área do celular deve ser um valor entre 11 e 99.

006

409

Número de celular {0} ({1}) informado já está atrelado a outro usuário.

079

[PUT] /member/notifications

HTTP Code
Error Message
Error Code

404

Notificação não encontrada.

010

[POST] /member/addresses

HTTP Code
Error Message
Error Code

400

CEP inválido.

012

400

Cidade não pode ser nulo e deve conter no máximo 100 caracteres.

013

400

Bairro não pode ser nulo e deve conter no máximo 100 caracteres.

014

400

UF deve ser preenchido e conter 2 caracteres.

015

400

Descrição do logradouro deve ser preenchido e conter no máximo 300 caracteres.

016

400

Número deve ser preenchido e não pode ultrapassar 40 caracteres.

017

404

CEP não encontrado.

018

409

CEP não permitido.

019

400

Código do País é inválido. Somente é aceito 55.

020

409

Não é possivel inserir nenhum endereço mais. Número máximo de cadastros atingido.

073

[PATCH] /member/addresses/{addressId}

HTTP Code
Error Message
Error Code

400

Descrição do logradouro, quando colocado na mensagem, deve ser preenchido e conter no máximo 300 caracteres.

021

400

Número, quando colocado na mensagem, deve ser preenchido e não pode ultrapassar 40 caracteres.

022

400

Cidade, quando colocado na mensagem, não pode ser nulo e deve conter no máximo 100 caracteres.

023

400

Código do País é inválido. Somente é aceito 55.

024

400

Bairro, quando colocado na mensagem, não pode ser nulo e deve conter no máximo 100 caracteres.

025

400

CEP, quando colocado na mensagem, deve ser informado.

026

400

CEP em formato inválido.

027

404

CEP não encontrado.

028

400

Estado, quando colocado na mensagem, não pode estar em branco.

029

400

Estado não é um valor válido.

030

404

Endereço não encontrado.

031

[PUT] /member/addresses/{addressId}

HTTP Code
Error Message
Error Code

400

Bairro não pode ser nulo e deve conter no máximo 100 caracteres.

032

400

CEP inválido.

033

400

UF deve ser preenchido e conter 2 caracteres.

034

400

Descrição do logradouro deve ser preenchido e conter no máximo 300 caracteres.

035

400

Número deve ser preenchido e não pode ultrapassar 40 caracteres.

036

404

CEP não encontrado.

037

409

CEP não permitido.

038

400

Cidade não pode ser nulo e deve conter no máximo 100 caracteres.

039

400

Código do País é inválido. Somente é aceito 55.

040

404

Endereço não encontrado.

041

[DELETE] /member/addresses/{AddressId}

HTTP Code
Error Message
Error Code

404

Endereço não encontrado.

042

400

Requisição em formato inválido.

043

400

AddressId inválido.

044

409

O identificador do endereço {0} caso seja do tipo {1} não pode ser excluído

080

[POST] /member/cellphonenumbers

HTTP Code
Error Message
Error Code

400

Alias deve ser informado.

045

400

Alias informado ({0}) é inválido.

046

400

Código da operadora deve ser informado.

047

400

Código do país informado ({0}) é inválido.

048

400

Código da área deve ser informado.

049

400

Código da área informado ({0}) é inválido.

050

400

Número de celular deve ser informado.

051

400

Número de celular informado ({0}) é inválido.

052

409

Número de celular ({0}) já registrado.

053

409

Só é permitido um usuário ter no máximo 10 números de celulares registrados.

054

400

Alias deve ter no mínimo 2 caracteres e no máximo 20 caracteres.

074

400

Código de operadora ({0}) inválido.

075

[PUT] /member/cellphonenumbers/{id}

HTTP Code
Error Message
Error Code

400

Identificador do número de celular deve ser informado.

055

400

Identificador do número de celular deve ser um hash de 15 caracteres.

056

404

Identificador do número de celular informado ({0}) não foi encontrado.

057

400

Alias deve ser informado.

058

400

Alias informado ({0}) é inválido.

059

400

Código da operadora deve ser informado.

060

400

Código do país informado ({0}) é inválido.

061

400

Código da área deve ser informado.

062

400

Código da área informado ({0}) é inválido.

063

400

Número de celular deve ser informado.

064

400

Número de celular informado ({0}) é inválido.

065

409

Número de celular ({0}) já registrado.

066

409

Número de celular padrão não pode ser inativado, apenas pode ser ativado.

067

400

Código de operadora ({0}) inválido.

076

400

Alias deve ter no mínimo 2 caracteres e no máximo 20 caracteres.

077

[DELETE] /member/cellphonenumbers/{id}

HTTP Code
Error Message
Error Code

400

Identificador do número de celular deve ser informado.

068

400

Identificador do número de celular deve ser um hash de 15 caracteres.

069

404

Identificador do número de celular informado ({0}) não foi encontrado.

070

409

Número de celular padrão não pode ser removido, é necessário tornar outro número de celular padrão para remover este registro.

071

409

Número de celular {0} ({1}) já excluído.

078

 

O endpoint /members da API Point of Sale deve ser utilizado para busca de Saldo e/ou Nome + Saldo de um usuário específico, identificado pelo seu número do documento de CPF.

Suggest Edits

/Members/{Identifier}

Exemplo de requisição para consultar pontos de um cliente.:

Request:
GET /members/31398880400

Response:
{
    "balance": 10,
    "fullName": "31398880400 teste"
}
 
getapi.dotzlabs.com/pos/v1/members/Identifier
curl --request GET \
  --url http://api.dotzlabs.com/pos/v1/members/Identifier \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.dotzlabs.com/pos/v1/members/Identifier',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/pos/v1/members/Identifier")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api.dotzlabs.com/pos/v1/members/Identifier");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/pos/v1/members/Identifier"

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

Identifier
string
required

Identificador do usuário (CPF)

Headers

Authorization
string
required

access token

Response

Success

balanceinteger
fullNamestring

Bad Request

codestring
messagestring

Not Found

codestring
messagestring
Suggest Edits

/Members/{Identifier}/balance

Exemplo de requisição para consultar pontos de um cliente.:

Request:
GET /members/31398880400/balance

Response:
{
    "balance": 10
}
 
getapi.dotzlabs.com/pos/v1/members/Identifier/balance
curl --request GET \
  --url http://api.dotzlabs.com/pos/v1/members/Identifier/balance \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.dotzlabs.com/pos/v1/members/Identifier/balance',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/pos/v1/members/Identifier/balance")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api.dotzlabs.com/pos/v1/members/Identifier/balance");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/pos/v1/members/Identifier/balance"

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

Identifier
string
required

Identificador do usuário (CPF)

Headers

Authorization
string
required

access token

Response

Success

balanceinteger
Suggest Edits

Purchases

 

O endpoint /purchases da API Point of Sale deve ser utilizado para buscar (GET), registrar (POST) ou estornar (DELETE) uma compra que pode (ou não) creditar (acumular) pontos Dotz para um usuário específico, identificado pelo número do documento de CPF.

Suggest Edits

/Purchases/{StoreCode}

Exemplo de requisição para consultar operações de compra:

Request:
GET /pos/v1/purchases/Matriz?Locator=3165408069&amp;_page=1&amp;_pageSize=1

Response:
{
    "_pageSize": 1,
    "_page": 1,
    "_total": 1,
    "items": [
    {
        "locator": "3165408069",
        "storeCode": "Matriz",
        "deviceCode": "987654321",
        "purchaseDate": "2017-06-16T00:00:00Z",
        "memberIdentification": "75266902710",
        "employeeIdentification": "84772314946",
        "items": [
        {
            "sku": "654321",
            "ean": "123456",
            "quantity": 2,
            "unitPrice": 10.6,
            "itemPrice": 21.2,
            "supplierIdentification": "61506481000104",
            "name": "Produto Teste Paulistão",
            "discount": 5.63,
            "offerCode": "wqDm2l3mLO0NxYK",
            "points": 250
        }
        ],
        "transactionId": "59bc0156ecc4b50017035781",
        "description": null,
        "points": 500,
        "bonusPoints": 250,
        "totalPoints": 750,
        "purchaseValue": 50.55,
        "status": 1,
        "payments": [
        {
            "paymentType": 1,
            "bin": "",
            "amount": 8
        },
        {
            "paymentType": 2,
            "bin": "",
            "amount": 8
        }
        ]
      }
    ]
}
 
getapi.dotzlabs.com/pos/v1/purchases/StoreCode
curl --request GET \
  --url 'http://api.dotzlabs.com/pos/v1/purchases/StoreCode?_page=_page&_pageSize=_pageSize' \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.dotzlabs.com/pos/v1/purchases/StoreCode',
  qs: 
   { _page: '_page',
     _pageSize: '_pageSize' },
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/pos/v1/purchases/StoreCode?_page=_page&_pageSize=_pageSize")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api.dotzlabs.com/pos/v1/purchases/StoreCode?_page=_page&_pageSize=_pageSize");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/pos/v1/purchases/StoreCode"

querystring = {"_page":"_page","_pageSize":"_pageSize"}

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

StoreCode
string
required

Código do estabelecimento

Query Params

PurchasedDateFrom
date-time

Data e hora de início do filtro (YYYY-MM-DDTHH:mm).

PurchasedDateTo
date-time

Data e hora de fim do filtro (YYYY-MM-DDTHH:mm).

Locator
string

Localizador (cupom fiscal, número do pedido, ticket da transação, outro...).

DeviceCode
string

Identificador do dispositivo.

_page
int32
required

Número da página.

_pageSize
int32
required

Número de registros de uma página.

Headers

Authorization
string
required

access token

Response

Lista de operações de compra e dos créditos gerados.

_pageSizeinteger
_pageinteger
_totalinteger
itemsarray

Formato inválido do(s) paramêtro(s) de entrada.

codestring
messagestring

Registro não encontrado.

codestring
messagestring

Informe a sigla da loja (StoreCode) para buscar todas as compras realizadas naquela loja especificamente.

Suggest Edits

/Purchases

 
getapi.dotzlabs.com/pos/v1/purchases
curl --request GET \
  --url 'http://api.dotzlabs.com/pos/v1/purchases?_page=_page&_pageSize=_pageSize' \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.dotzlabs.com/pos/v1/purchases',
  qs: 
   { _page: '_page',
     _pageSize: '_pageSize' },
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/pos/v1/purchases?_page=_page&_pageSize=_pageSize")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api.dotzlabs.com/pos/v1/purchases?_page=_page&_pageSize=_pageSize");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/pos/v1/purchases"

querystring = {"_page":"_page","_pageSize":"_pageSize"}

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

PurchasedDateFrom
date-time

Data e hora de início do filtro (YYYY-MM-DDTHH:mm).

PurchasedDateTo
date-time

Data e hora de fim do filtro (YYYY-MM-DDTHH:mm).

Locator
string

Localizador (cupom fiscal, número do pedido, ticket da transação, outro...).

DeviceCode
string

Identificador do dispositivo.

_page
int32
required

Número da página.

_pageSize
int32
required

Número de registros de uma página.

Headers

Authorization
string
required

access token

Response

Success

_pageSizeinteger
_pageinteger
_totalinteger
itemsarray

Bad Request

codestring
messagestring

Not Found

codestring
messagestring

Todas as compras do client autenticado serão retornadas (independente da loja).

Suggest Edits

/Purchases

Exemplo de requisição para criação de uma operação de compra:

Request:
POST /pos/v1/purchases
{
    "locator": "10",
    "storeCode": "MATRIZ",
    "deviceCode": "41",
    "purchaseDate": "2017-08-16T19:39:43.564Z",
    "shopperIdentification": "43574989881",
    "employeeIdentification": "43574989881",
    "calculatePoints": false,
    "offerCode": "GDkqlEVZREMw0pj",
    "points": 10,
    "items": [{
        "sku": "132312312",
        "ean": "0768421222301",
        "quantity": 2,
        "unitPrice": 8.0,
        "itemPrice": 16.0,
        "supplierIdentification": "43824418000126",
        "name": "ARROZ INTEGRAL",
        "discount": 0.0,
        "offerCode": "GDkqlEVZREMw0pj",
        "points": 1

    }],
    "purchaseValue": 16.0,
    "payments": [
        {
            "paymentType": 1,
            "bin": "",
            "amount": 16.00
        }
    ]
}

Response:
{
    "locator": "10",
    "transactionId": "43J4VEVK5MZXSXR6XGQLBMAHA4JB7JWC",
    "memberIdentification": "43574989881",
    "description": "Parabéns! Você ganhou Dotz em sua compra.",
    "points": 4,
    "bonusPoints": 10,
    "totalPoints": 14,
    "purchaseValue": 199.99
}
 
postapi.dotzlabs.com/pos/v1/purchases
curl --request POST \
  --url http://api.dotzlabs.com/pos/v1/purchases \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'POST',
  url: 'http://api.dotzlabs.com/pos/v1/purchases',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/pos/v1/purchases")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "http://api.dotzlabs.com/pos/v1/purchases");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/pos/v1/purchases"

headers = {'authorization': 'Authorization'}

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

locator
string
required

Localizador (cupom fiscal, número do pedido, ticket da transação, outro...).

storeCode
string
required

Identificador do estabelecimento.

deviceCode
string
required

Identificador do dispositivo.

purchaseDate
date-time

Data e hora da transação de compra.
Ex: 2017-07-21T16:37:01.811Z

shopperIdentification
string

Identificador de um cliente (CPF - sem formatação).
O campo deve ser preenchido se o consumidor pediu pontos.

employeeIdentification
string

Identificador do funcionário que estava na frente do caixa (caso haja). (CPF - sem formatação).

calculatePoints
boolean

Se o chamador irá mandar os pontos calculados ou não.
Se for true, o API deverá calcular os pontos, se false, deve ser enviado pelo chamador.

offerCode
string
required

Identificador da mecânica.

points
int32

Quantidade de pontos que serão creditados.

items
array of objects

Itens da compra.

sku
ean
quantity
unitPrice
itemPrice
supplierIdentification
name
discount
offerCode
points
purchaseValue
double

Valor total da compra referente aos valores somados dos Itens

payments
array of objects

Dados de pagamento da compra.

paymentType
bin
amount

Headers

Authorization
string
required

access token

Response

Pontos creditados para o cliente pela operação de compra.

locatorstring

Localizador (cupom fiscal, número do pedido, ticket da transação, outro...).

transactionIdstring

Identificador do registro interno gerada.

memberIdentificationstring

Identificador pessoal de uma pessoa, pode ser CPF ou e-mail.

descriptionstring

Descritivo para ser impresso no cupom fiscal.

pointsinteger

Pontos ganhos.

bonusPointsinteger

Pontos de bônus.

totalPointsinteger

Total de pontos ganhos na operação (Points + BonusPoints).

purchaseValuenumber

Valor total da compra em R$ (Reais) referente aos valores somados dos Itens

Formato inválido do(s) paramêtro(s) de entrada.

codestring
messagestring

Ocorreu um erro de negócio.

codestring
messagestring
Suggest Edits

/Purchases/{locator}

Exemplo de requisição para estonar uma transação de compra:

Request:
DELETE /pos/v1/purchases/155200
 
deleteapi.dotzlabs.com/pos/v1/purchases/locator
curl --request DELETE \
  --url http://api.dotzlabs.com/pos/v1/purchases/locator \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'DELETE',
  url: 'http://api.dotzlabs.com/pos/v1/purchases/locator',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/pos/v1/purchases/locator")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "http://api.dotzlabs.com/pos/v1/purchases/locator");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/pos/v1/purchases/locator"

headers = {'authorization': 'Authorization'}

response = requests.request("DELETE", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

locator
string
required

Localizador (cupom fiscal, número do pedido, ticket da transação, outro...).

Headers

Authorization
string
required

access token

Response

Success

Bad Request

codestring
messagestring

Not Found

codestring
messagestring

Conflict

codestring
messagestring
Suggest Edits

Purchase - Return Codes

 

[GET] /purchases/{StoreCode}

HTTP Code
Error Message
Error Code

409

Data inicial (PurchasedDateFrom) está fora do período válido (D-181)

008

400

O identificador da loja (StoreCode) deve ser informado.

072

[GET] /purchases

HTTP Code
Error Message
Error Code

409

Data inicial (PurchasedDateFrom) está fora do período válido (D-181)

008

400

O identificador da loja (StoreCode) deve ser informado.

072

[POST] /purchases/Purchases

HTTP Code
Error Message
Error Code

400

A data da compra (PurchaseDate) não foi informado.

009

409

Data da compra (PurchaseDate) está fora do período válido (D -91).

010

409

Data da compra (PurchaseDate) inválida, não é possível passar data futura.

011

409

Transação de compra já processada.

012

404

Identificador da loja (StoreCode) não associada a este parceiro.

013

404

Mecânica (OfferCode) não encontrada para o parceiro.

014

409

Mecânica (OfferCode) não está ativa.

015

409

Mecânica (OfferCode) está expirada.

016

409

Mecânica (OfferCode) com saldo insuficiente para efetuar a troca.

017

400

O identificador da loja (StoreCode) deve ser informado.

020

400

A mecânica (offerCode Base) não foi informado.

030

400

A mecânica (offerCode Base) está em formato incorreto.

031

400

Pontos (Points Base) deve ser maior que 0.

033

400

A mecânica (OfferCode Extra) está em formato incorreto.

047

400

Pontos (Points Extra) deve ser maior que 0.

050

400

Não é possível informar itens caso o OfferCode esteja configurado na(s) Claim(s) da aplicação cliente

073

[DELETE] /purchases/{locator}

HTTP Code
Error Message
Error Code

404

Transação de compra não encontrada.

063

409

Mais de uma transação foi encontrada para os parâmetros informados.

064

409

Transação de compra já estornada.

065

Suggest Edits

Redemptions

 
Suggest Edits

/Redemptions

Exemplo de requisição para obter uma lista de trocas realizadas pelo usuário:

Request:
GET /redemptions?SentDateFrom=2001-06-01&amp;SentDateTo=2010-06-08&amp;StatusCode=11&amp;_pageSize=100&amp;_page=1

Response:
{
  "_pageSize": 100,
  "_page": 1
  "items": [
    {
      "order": {
        "id": "BkqmaOpaV13NlWd",
        "orderDate": "2001-06-08T08:06:35Z",
        "statusCode": 11,
        "statusDescription": "OK - Produto Entregue",
        "lastStatusDate": "2011-03-24T11:00:48.773Z"
      },
      "product": {
        "sku": "3597",
        "name": "CD - Gilberto Gil - São João Ao Vivo, Cor (Nenhuma), Tipo (Nenhum)",
        "points": 813
      }
    }
  ]
}
 
getapi.dotzlabs.com/redemptions/v1/redemptions
curl --request GET \
  --url 'http://api.dotzlabs.com/redemptions/v1/redemptions?_pageSize=_pageSize&_page=_page' \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.dotzlabs.com/redemptions/v1/redemptions',
  qs: 
   { _pageSize: '_pageSize',
     _page: '_page' },
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/redemptions/v1/redemptions?_pageSize=_pageSize&_page=_page")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api.dotzlabs.com/redemptions/v1/redemptions?_pageSize=_pageSize&_page=_page");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/redemptions/v1/redemptions"

querystring = {"_pageSize":"_pageSize","_page":"_page"}

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

SentDateFrom
date-time

OrderDateFrom

SentDateTo
date-time

OrderDateTo

StatusCode
int32

StatusCode

_pageSize
int32
required
_page
int32
required

Headers

Authorization
string
required

access token

Response

Lista de trocas.

_pageSizeinteger
_pageinteger
_totalinteger
itemsarray

Formato inválido do(s) paramêtro(s) de entrada.

codestring
messagestring
Suggest Edits

/Redemptions

Exemplo de requisição para criação de um novo pedido:

Request:
POST /redemptions
{
    "order": {
        "sku": "8803301",
        "externalOrderId": "1234",
        "deliveryAddressId": "MKgLXArV4VEzjx6",
        "cellphoneNumber": "1197263232",
        "loyaltyCardNumber": "1827363623",
        "emailAddress": "teste@test.org"
    },
    "store": {
        "locationId": "P7QmoELxLDE6x8j",
        "deviceId": "58",
        "value": 100,
        "pointsValue": 5
    },
    "additionalInformation": [{
        "key": "EmployeeIdentifier",
        "value": "88371553790"

    }]
}

Response:
{
    "orderId": "PZ70LW2RGY"
}
 
postapi.dotzlabs.com/redemptions/v1/redemptions
curl --request POST \
  --url http://api.dotzlabs.com/redemptions/v1/redemptions \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'POST',
  url: 'http://api.dotzlabs.com/redemptions/v1/redemptions',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/redemptions/v1/redemptions")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "http://api.dotzlabs.com/redemptions/v1/redemptions");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/redemptions/v1/redemptions"

headers = {'authorization': 'Authorization'}

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

order
object

Dados do pedido.

 
order.sku
string
required

Sku.

order.externalOrderId
string

Identificador externo.

order.deliveryAddressId
string

Identificador do endereço de entrega.

order.cellphoneNumber
string

Telefone celular.

order.loyaltyCardNumber
string

Cartão Dotz.

order.emailAddress
string

Endereço de E-mail.

store
object

Dados da loja.

 
store.locationId
string

Identificador da loja.

store.deviceId
string

Identificador do dispositivo.

store.value
double

Valor em reais

store.pointsValue
int32

Pontos

additionalInformation
array of objects

Informações adicionais.

key
value

Headers

Authorization
string
required

access token

Response

Pedido criado.

orderIdstring

Identificador do pedido.

Formato inválido do(s) paramêtro(s) de entrada.

codestring
messagestring

Ocorreu um erro de negócio.

codestring
messagestring
Suggest Edits

/Redemptions/{OrderId}

Exemplo de requisição para obter um pedido através do identificador:

Request:
GET /redemptions/PZ70LW2RGY

Response:
{
  "order": {
    "id": "PZ70LW2RGY",
    "orderDate": "2001-06-08T08:06:35Z",
    "statusCode": 11,
    "statusDescription": "OK - Produto Entregue",
    "lastStatusDate": "2011-03-24T11:00:48.773Z"
  },
  "product": {
    "sku": "3597",
    "name": "CD - Gilberto Gil - São João Ao Vivo, Cor (Nenhuma), Tipo (Nenhum)",
    "points": 813
  }
}
 
getapi.dotzlabs.com/redemptions/v1/redemptions/OrderId
curl --request GET \
  --url http://api.dotzlabs.com/redemptions/v1/redemptions/OrderId \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.dotzlabs.com/redemptions/v1/redemptions/OrderId',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/redemptions/v1/redemptions/OrderId")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api.dotzlabs.com/redemptions/v1/redemptions/OrderId");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/redemptions/v1/redemptions/OrderId"

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

OrderId
string
required

Identificador do pedido.

Headers

Authorization
string
required

access token

Response

Dados de um pedido.

orderIdstring

Identificador do pedido.

Formato inválido do(s) paramêtro(s) de entrada.

codestring
messagestring

Registro não encontrado.

codestring
messagestring
Suggest Edits

/Redemptions/{OrderId}

Exemplo de requisição para estorno de um pedido:

Request:
DELETE /redemptions/PZ70LW2RGY

Response: (vazio)
 
deleteapi.dotzlabs.com/redemptions/v1/redemptions/OrderId
curl --request DELETE \
  --url http://api.dotzlabs.com/redemptions/v1/redemptions/OrderId \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'DELETE',
  url: 'http://api.dotzlabs.com/redemptions/v1/redemptions/OrderId',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/redemptions/v1/redemptions/OrderId")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "http://api.dotzlabs.com/redemptions/v1/redemptions/OrderId");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/redemptions/v1/redemptions/OrderId"

headers = {'authorization': 'Authorization'}

response = requests.request("DELETE", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

OrderId
string
required

Order identifier

Headers

Authorization
string
required

access token

Response

Estorno realizado.

Formato inválido do(s) paramêtro(s) de entrada.

codestring
messagestring

Pedido não encontrado.

codestring
messagestring

Ocorreu um erro de negócio.

Suggest Edits

/Redemptions/{OrderId}/tracking

Exemplo de requisição para obter a lista de status de um pedido:

Request:
GET /redemptions/PZ70LW2RGY/tracking

Response:
[
  {
    "statusCode": 11,
    "statusDescription": "OK - Produto Entregue",
    "statusDate": null,
    "actualDate": "2010-10-06T14:52:54.95Z",
    "details": null
  }
]
 
getapi.dotzlabs.com/redemptions/v1/redemptions/OrderId/tracking
curl --request GET \
  --url http://api.dotzlabs.com/redemptions/v1/redemptions/OrderId/tracking \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.dotzlabs.com/redemptions/v1/redemptions/OrderId/tracking',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/redemptions/v1/redemptions/OrderId/tracking")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api.dotzlabs.com/redemptions/v1/redemptions/OrderId/tracking");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/redemptions/v1/redemptions/OrderId/tracking"

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

OrderId
string
required

Order id.

Headers

Authorization
string
required

access token

Response

Resultados da consulta.

Formato inválido do(s) paramêtro(s) de entrada.

codestring
messagestring

Pedido não encontrado.

Suggest Edits

RewardsCatalog

 
Suggest Edits

/categories

Exemplo de requisição para obtenção de categorias:

Request:
GET categories?_pageSize=10&amp;_page=1

Response:
{
    "_pageSize": 10,
    "_page": 1,
    "items":
    [
        {
            "id": "yRn8e3zqDYONJ7G",
            "name": "*Oportunidades de verão",
            "subCategories": []
        },
        {
            "id": "jL4KoObAnAE8vdp",
            "name": "*Ação Infancia e Vida - Coniacc",
            "icon": null,
            "subCategories":
            [
                {
                    "id": "NGKdvX72KV3Pxpr",
                    "name": "Doe aqui",
                    "subCategories": null
                }
            ]
        }
    ]
}
 
getlocalhost:60013/rewards/v1/categories
curl --request GET \
  --url 'http://localhost:60013/rewards/v1/categories?_pageSize=_pageSize&_page=_page' \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://localhost:60013/rewards/v1/categories',
  qs: 
   { _pageSize: '_pageSize',
     _page: '_page' },
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://localhost:60013/rewards/v1/categories?_pageSize=_pageSize&_page=_page")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://localhost:60013/rewards/v1/categories?_pageSize=_pageSize&_page=_page");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://localhost:60013/rewards/v1/categories"

querystring = {"_pageSize":"_pageSize","_page":"_page"}

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

_pageSize
int32
required
_page
int32
required

Headers

Authorization
string
required

access token

Response

Success

_pageSizeinteger
_pageinteger
_totalinteger
itemsarray

Bad Request

Suggest Edits

/products/{Sku}

Exemplo de requisição para obtenção de produto por Sku:

Request:
GET products/7802904?State=SP

Response:
{
    "sku": "7802904",
    "name": "Torradeira para 2 fatias Oster Cinza",
    "shortName": "Torradeira para 2 fatias",
    "description": "Torradeira para 2 Fatias Oster leva praticidade para a sua cozinha, uma vez que possibilita torrar pães de diversos tipos, como pão de forma e pão integral, sendo uma ótima opção para o preparo do café da manhã, lanches e sanduíches para toda a sua família. Na cor cinza, conta com acabamento em aço inoxidável.Principais funçõesCom capacidade de preparo de até 2 fatias simultaneamente, ela torra, esquenta e descongela, de acordo com o o seu ajuste, já que oferece 7 opções. Com bandeja removível que facilita a limpeza das migalhas.Outros recursosEste modelo oferece ainda função para torrar rápido em apenas 30 segundos e alavanca que facilita a retirada dos alimentos.",
    "deliveryInstructions": "Seu pedido será entregue no endereço cadastrado e selecionado como o endereço de entrega. É importante que o Campo “Destinatário” conste o nome completo do premiado. No ato da entrega se faz necessário a presença de um maior de 18 anos para assinar o comprovante de recebimento. O prazo de entrega é de até 30 dias após o recebimento da liberação do pedido enviado pela Dotz. Serão realizadas três tentativas de entrega em dias e horários distintos. Após a terceira tentativa sem êxito, seu pedido será cancelado e seus pontos serão estornados. Em caso de desistência (Cancelamento), o cliente deverá entrar em contato com a Central de Atendimento Dotz em até 07 dias corridos após a data da troca dos pontos. Após este prazo, não será garantido o cancelamento.",
    "deliveryProcessCode": "Padrao",
    "attributes":
    [
        {
            "name": "VOLTAGEM",
            "value": "110V"
        },
        {
            "name": "IMAGEM 57x57",
            "value": "57/7802904_p.jpg"
        },
        {
            "name": "IMAGEM 100x100",
            "value": "100/7802904_m.jpg"
        }
    ],
    "linkedItems":
    [
        {
            "sku": "7802905",
            "name": "Torradeira para 2 fatias Oster Cinza",
            "shortName": "Torradeira para 2 fatias",
            "description": "Torradeira para 2 Fatias Oster leva praticidade para a sua cozinha, uma vez que possibilita torrar pães de diversos tipos, como pão de forma e pão integral, sendo uma ótima opção para o preparo do café da manhã, lanches e sanduíches para toda a sua família. Na cor cinza, conta com acabamento em aço inoxidável.Principais funçõesCom capacidade de preparo de até 2 fatias simultaneamente, ela torra, esquenta e descongela, de acordo com o o seu ajuste, já que oferece 7 opções. Com bandeja removível que facilita a limpeza das migalhas.Outros recursosEste modelo oferece ainda função para torrar rápido em apenas 30 segundos e alavanca que facilita a retirada dos alimentos.",
            "deliveryInstructions": "Seu pedido será entregue no endereço cadastrado e selecionado como o endereço de entrega. É importante que o Campo “Destinatário” conste o nome completo do premiado. No ato da entrega se faz necessário a presença de um maior de 18 anos para assinar o comprovante de recebimento. O prazo de entrega é de até 30 dias após o recebimento da liberação do pedido enviado pela Dotz. Serão realizadas três tentativas de entrega em dias e horários distintos. Após a terceira tentativa sem êxito, seu pedido será cancelado e seus pontos serão estornados. Em caso de desistência (Cancelamento), o cliente deverá entrar em contato com a Central de Atendimento Dotz em até 07 dias corridos após a data da troca dos pontos. Após este prazo, não será garantido o cancelamento.",
            "deliveryProcessCode": "Padrao",
            "attributes":
            [
                {
                    "name": "VOLTAGEM",
                    "value": "220V"
                }
            ],
            "categories":
            [
                {
                    "id": "3286",
                    "name": "Torradeiras",
                    "subCategories": null
                },
                {
                    "id": "3583",
                    "name": "liquida junho",
                    "subCategories": null
                }
            ],
            "originalPoints": 16786,
            "points": 14065,
            "DiscountRate":15,
            "images":
            [
                "https://dotz.r.worldssl.net/assets/produtos/200/7802905-3.jpg",
                "https://dotz.r.worldssl.net/assets/produtos/200/7802905-1.jpg",
                "https://dotz.r.worldssl.net/assets/produtos/150/7802905-3.jpg"
            ],
            "cashEnabled": false,
            "available": true,
            "ean": "",
            "itemType": "Torradeira"
        }
    ],
    "categories":
    [
        {
            "id": "3286",
            "name": "Torradeiras",
            "subCategories": null
        },
        {
            "id": "3583",
            "name": "liquida junho",
            "subCategories": null
        }
    ],
    "originalPoints": 16786,
    "points": 14065,
    "images": [
        "https://dotz.r.worldssl.net/assets/produtos/200/7802904-3.jpg",
        "https://dotz.r.worldssl.net/assets/produtos/200/7802904-1.jpg",
        "https://dotz.r.worldssl.net/assets/produtos/150/7802904-3.jpg"
    ],
    "cashEnabled": false,
    "available": true,
    "ean": "",
    "itemType": "Torradeira"
}
 
getlocalhost:60013/rewards/v1/products/Sku
curl --request GET \
  --url 'http://localhost:60013/rewards/v1/products/Sku?CityCode=CityCode' \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://localhost:60013/rewards/v1/products/Sku',
  qs: { CityCode: 'CityCode' },
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://localhost:60013/rewards/v1/products/Sku?CityCode=CityCode")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://localhost:60013/rewards/v1/products/Sku?CityCode=CityCode");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://localhost:60013/rewards/v1/products/Sku"

querystring = {"CityCode":"CityCode"}

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

Sku
string
required

Query Params

CityCode
string
required

Headers

Authorization
string
required

access token

Response

Success

skustring
namestring
shortNamestring
descriptionstring
deliveryInstructionsstring
deliveryProcessCodeinteger
attributesarray
linkedItemsarray
categoriesarray
originalPointsinteger
pointsinteger
discountRateinteger
imagesarray
cashEnabledboolean
availableboolean
eanstring
itemTypestring

Bad Request

Not Found

Conflict

Suggest Edits

/products

Exemplo de requisição pra obtenção de produtos:

Request:
GET products?State=SP&amp;Tags=home_catalogo_carrossel_1_fevereiro&amp;MinPoints=100&amp;MaxPoints=50500&amp;Sort=price-&amp;_pageSize=10&amp;_page=1&amp;ExcludeRedeemType=2&amp;ExcludeRedeemType=4&amp;ExcludeRedeemType=7

Response:
{
    "navigation":
    {
        "filters":
        [
            {
                "name": "Tamanho",
                "items":
                [
                    {
                        "value": "N/A",
                        "count": 1
                    }
                ]
            },
            {
                "name": "Voltagem",
                "items":
                [
                    {
                        "value": "110V",
                        "count": 1
                    },
                    {
                        "value": "12V",
                        "count": 1
                    }
                ]
            },
            {
                "name": "Cor",
                "items":
                [
                    {
                        "value": "Prata",
                        "count": 1
                    }
                ]
            },
            {
                "name": "Marca",
                "items":
                [
                    {
                        "value": "Kopenhagen",
                        "count": 1
                    },
                    {
                        "value": "Multilaser",
                        "count": 1
                    }
                ]
            }
        ],
        "tags":
        [
            {
                "value": "home_catalogo_carrossel_1_fevereiro",
                "count": 16
            },
            {
                "value": "home_catalogo_carrossel_1_junho",
                "count": 1
            }
        ],
        "categories": null,
        "minPoints": null,
        "maxPoints": null
    },
    "products":
    {
        "_pageSize": 10,
        "_page": 1,
        "items":
        [
            {
                "sku": "8585898",
                "shortName": "Relógio Fit2Go + Celular",
                "originalPoints": 34662,
                "points": 34662,
                "DiscountRate":15,
                "image": "https://dotz.r.worldssl.net/assets/produtos/82/8585898-1.jpg",
                "cashEnabled": false
            },
            {
                "sku": "8576640",
                "shortName": "Caixa De Som Pulse Alça M",
                "originalPoints": 31712,
                "points": 31712,
                "DiscountRate":15,
                "image": "https://dotz.r.worldssl.net/assets/produtos/600/8576640-1.jpg",
                "cashEnabled": false
            }
        ]
    }
}
 
getlocalhost:60013/rewards/v1/products
curl --request GET \
  --url 'http://localhost:60013/rewards/v1/products?_pageSize=_pageSize&_page=_page' \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://localhost:60013/rewards/v1/products',
  qs: 
   { _pageSize: '_pageSize',
     _page: '_page' },
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://localhost:60013/rewards/v1/products?_pageSize=_pageSize&_page=_page")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://localhost:60013/rewards/v1/products?_pageSize=_pageSize&_page=_page");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://localhost:60013/rewards/v1/products"

querystring = {"_pageSize":"_pageSize","_page":"_page"}

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

CityCode
string
CategoryId
string
Filters
array of s
Tags
array of strings
MinPoints
double
MaxPoints
double
Text
string
Sort
string
_pageSize
int32
required
_page
int32
required
ExcludeRedeemType
array of strings

Headers

Authorization
string
required

access token

Response

Success

navigationobject
navigation.filtersarray
navigation.tagsarray
navigation.categoriesarray
navigation.minPointsnumber
navigation.maxPointsnumber
productsobject
products._pageSizeinteger
products._pageinteger
products._totalinteger
products.itemsarray

Bad Request

Suggest Edits

/products/cellphoneMinutes/carriers

Exemplo de requisição para listagem de operadoras.

Request:
GET /rewardscatalog/v1/products/cellphoneMinutes/carriers

Response:
[
    {
        "id": "AQd9JDOqAOWBg4y",
        "image": "https://www.dotz.com.br/assets/dotz/img/recargaCelular/logo-vivo.png",
        "smallImage": "https://www.dotz.com.br/assets/dotz/img/recargaCelular/logo-vivo.png",
        "name": "Vivo"
    },
    {
        "id": "9Pp28W3GbO0kwBz",
        "image": "https://www.dotz.com.br/assets/dotz/img/recargaCelular/logo-tim.png",
        "smallImage": "https://www.dotz.com.br/assets/dotz/img/recargaCelular/logo-tim.png",
        "name": "TIM"
    },
    {
        "id": "mZo6ynX51XYlpR4",
        "image": "https://www.dotz.com.br/assets/dotz/img/recargaCelular/logo-oi.png",
        "smallImage": "https://www.dotz.com.br/assets/dotz/img/recargaCelular/logo-oi.png",
        "name": "Oi"
    }
]
 
getlocalhost:60013/rewards/v1/products/cellphoneMinutes/carriers
curl --request GET \
  --url http://localhost:60013/rewards/v1/products/cellphoneMinutes/carriers \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://localhost:60013/rewards/v1/products/cellphoneMinutes/carriers',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://localhost:60013/rewards/v1/products/cellphoneMinutes/carriers")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://localhost:60013/rewards/v1/products/cellphoneMinutes/carriers");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://localhost:60013/rewards/v1/products/cellphoneMinutes/carriers"

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Headers

Authorization
string
required

access token

Response

Success

Suggest Edits

/products/cellphoneMinutes/carriers/{CarrierId}

Exemplo de requisição para obtenção dos dados de uma operadora.

Request:
GET /rewardscatalog/v1/products/cellphoneMinutes/carriers/AQd9JDOqAOWBg4y

Response:
{
    "id": "AQd9JDOqAOWBg4y",
    "image": "https://www.dotz.com.br/assets/dotz/img/recargaCelular/logo-vivo.png",
    "smallImage": "https://www.dotz.com.br/assets/dotz/img/recargaCelular/logo-vivo.png",
    "name": "Vivo",
    "types":
    [
        {
            "id": "1989151",
            "name": "Recarga Vivo",
            "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
        },
        {
            "id": "308357",
            "name": "Recarga Programada Vivo",
            "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
        }
    ]
}
 
getlocalhost:60013/rewards/v1/products/cellphoneMinutes/carriers/CarrierId
curl --request GET \
  --url http://localhost:60013/rewards/v1/products/cellphoneMinutes/carriers/CarrierId \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://localhost:60013/rewards/v1/products/cellphoneMinutes/carriers/CarrierId',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://localhost:60013/rewards/v1/products/cellphoneMinutes/carriers/CarrierId")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://localhost:60013/rewards/v1/products/cellphoneMinutes/carriers/CarrierId");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://localhost:60013/rewards/v1/products/cellphoneMinutes/carriers/CarrierId"

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

CarrierId
string
required

Identificador da operadora.

Headers

Authorization
string
required

access token

Response

Success

idstring
imagestring
smallImagestring
namestring
typesarray

Not Found

codestring
messagestring
Suggest Edits

/products/cellphoneMinutes/carriers/{CarrierId}/{TypeId}

Exemplo de requisição para obtenção dos produtos para recarga de uma operadora.

Request:
GET /rewardscatalog/v1/products/cellphoneMinutes/carriers/AQd9JDOqAOWBg4y/1989151?AreaCode=11

Response:
[
    {
        "sku": "308483",
        "name": "Recarga Vivo R$ 25,00",
        "shortName": "R$25",
        "description": "",
        "originalPoints": 0,
        "points": 2000,
        "cashEnabled": false
    },
    {
        "sku": "5641311",
        "name": "Recarga Vivo R$ 100,00",
        "shortName": "R$100",
        "description": "",
        "originalPoints": 10000,
        "points": 8000,
        "cashEnabled": false
    }
]
 
getlocalhost:60013/rewards/v1/products/cellphoneMinutes/carriers/CarrierId/TypeId
curl --request GET \
  --url 'http://localhost:60013/rewards/v1/products/cellphoneMinutes/carriers/CarrierId/TypeId?AreaCode=AreaCode' \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://localhost:60013/rewards/v1/products/cellphoneMinutes/carriers/CarrierId/TypeId',
  qs: { AreaCode: 'AreaCode' },
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://localhost:60013/rewards/v1/products/cellphoneMinutes/carriers/CarrierId/TypeId?AreaCode=AreaCode")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://localhost:60013/rewards/v1/products/cellphoneMinutes/carriers/CarrierId/TypeId?AreaCode=AreaCode");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://localhost:60013/rewards/v1/products/cellphoneMinutes/carriers/CarrierId/TypeId"

querystring = {"AreaCode":"AreaCode"}

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

CarrierId
string
required
TypeId
string
required

Query Params

AreaCode
string
required

Headers

Authorization
string
required

access token

Response

Success

Bad Request

codestring
messagestring

Not Found

codestring
messagestring
Suggest Edits

Rewards - Return Codes

 

[GET] /products/{Sku}

HTTP Code
Error Message
Error Code

400

Sku não pode ser vazio.

003

404

Produto não encontrado.

006

400

Identificador do produto (Sku) inválido.

018

[GET] /products

HTTP Code
Error Message
Error Code

400

Opção de ordenação inválida. ({0})

007

400

O valor de _pageSize deve estar entre 1 e 100.

008

400

_page deve ser maior que 0.

009

[GET] /products/cellphoneMinutes/carriers/{CarrierId}

HTTP Code
Error Message
Error Code

400

Operadora {0} não encontrada.

001

[GET] /products/cellphoneMinutes/carriers/{CarrierId}/{TypeId}

HTTP Code
Error Message
Error Code

400

Identificador da operadora (CarrierId) não pode ser vazio.

012

400

Identificador do tipo de recarga (TypeId) não pode ser vazio.

013

400

DDD ou código de área (AreaCode) não pode ser vazio

014

400

DDD ou código de área (AreaCode) deve possuir 2 caracteres.

015

400

DDD ou código de área (AreaCode) inválido.

016

Suggest Edits

/signup/members

Exemplo de requisição para obtenção de membros:

 Request:
 GET signup/members?SentDateFrom=2011-01-01T12%3A00%3A00%2B0100&amp;SentDateTo=2017-12-01T12%3A00%3A00%2B0100&amp;Tags=1&amp;_pageSize=100&amp;_page=1

 Response:
    {
      "_pageSize": 100,
      "_page": 1,
      "items": [
        {
          "personal": {
            "personalIdentifier": "56184595822",
            "emailAddress": "doe.john@dotzlabs.com",
            "fullName": "John Doe",
            "gender": 1,
            "Birthdate": "1980-12-01T00:00:00Z",
            "phoneNumberArea": "11",
            "phoneNumber": "98888777",
            "cellphoneNumberArea": "21",
            "cellphoneNumber": "97777666",
            "address": {
              "streetName": "Donatarios",
              "addressNumber": "200",
              "additionalInformation" : "décimo sexto andar",
              "city": "São Paulo",
              "countryCode": 55,
              "district": "Mooca",
              "postalCode": "03167010",
              "state": "SP"
            }
          },
          "tags": [
            "aZBb3vLj2KEAvje"
          ],
          "company": {
            "storeId": "Ad2mE9je4ZOPRjg",
            "locationId": "Rn8e3zRYen3NJ7G",
            "positionId": "kqmaOpQ5qn3NlWd",
            "action": 1,
            "actionDate": "2017-01-01T00:00:00Z"
          },
          "others": {
            "operatorPersonalIdentifier": "72800072520",
            "loyaltyCardNumber": "348237487334",
            "otherLoyaltyProgramId": null
          }
        }
      ]
    }
 
getapi.dotzlabs.com/signup/v1/signup/members
curl --request GET \
  --url http://api.dotzlabs.com/signup/v1/signup/members \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.dotzlabs.com/signup/v1/signup/members',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/signup/v1/signup/members")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api.dotzlabs.com/signup/v1/signup/members");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/signup/v1/signup/members"

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

SentDateFrom
date-time

Data inicial. Restringe retorno a membros cadastrados a partir desta data.

SentDateTo
date-time

Data final. Restringe retorno a membros cadastrados após esta data.

Tags
array of strings

Código da campanha.

_page
int32

Número da página.

_pageSize
int32

Número de registros por página.

Headers

Authorization
string
required

access token

Response

Lista de membros obtidos conforme filtro informado.

_pageSizeinteger
_pageinteger
_totalinteger
itemsarray

Formato inválido do(s) paramêtro(s) de entrada.

codestring
messagestring

Registro não encontrado.

Suggest Edits

/signup/members

Exemplo de requisição para criação de membros:

 Request:
 POST /signup/members
    [{
        "personal": {
            "personalIdentifier": "56184595822",
            "emailAddress": "doe.john@dotzlabs.com",
            "fullName": "John Doe",
         "password": "000000",
            "gender": 1,
            "birthdate": "1980-12-01T00:00:00Z",
            "phoneNumberArea": "11",
            "phoneNumber": "98888777",
            "cellphoneNumberArea": "21",
            "cellphoneNumber": "97777666",
            "address": {
                "streetName": "Donatarios",
                "addressNumber": "200",
                "city": "São Paulo",
                "additionalInformation" : "décimo sexto andar",
                "countryCode": 55,
                "district": "Mooca",
                "postalCode": "03167010",
                "state": "SP"
            }
        }
        "company": {
            "storeId": "Ad2mE9je4ZOPRjg",
            "locationId": "Rn8e3zRYen3NJ7G",
            "positionId": "kqmaOpQ5qn3NlWd",
            "action": 1,
            "actionDate": "2017-01-01T00:00:00Z"
        },
        "others": {
            "operatorPersonalIdentifier": "72800072520",
            "loyaltyCardNumber": "348237487334",
            "otherLoyaltyProgramId": null
        },
        "notifications": {
            "email": true,
            "mobilePush": true,
            "phoneCall": true,
            "sms": true
        }
    }]

 Response:
 HTTP 200 - OK (vazio)
 
postapi.dotzlabs.com/signup/v1/signup/members
curl --request POST \
  --url http://api.dotzlabs.com/signup/v1/signup/members \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'POST',
  url: 'http://api.dotzlabs.com/signup/v1/signup/members',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/signup/v1/signup/members")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "http://api.dotzlabs.com/signup/v1/signup/members");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/signup/v1/signup/members"

headers = {'authorization': 'Authorization'}

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Headers

Authorization
string
required

access token

Response

Operação realizada com sucesso.

Formato inválido do(s) paramêtro(s) de entrada.

codestring
messagestring

Registro não encontrado.

codestring
messagestring

Ocorreu um erro de negócio.

codestring
messagestring
Suggest Edits

/signup/members/check

Exemplo de requisição para validação dos campos CPF, CNPJ, Nome, Email ou Celular (5511999999999), Senha ou Data de Nascimento (1990-01-01).

Request:
GET /signup/members/check?key=document&amp;value=99999999999

Response:
HTTP 200 - OK
 
getapi.dotzlabs.com/signup/v1/signup/members/check
curl --request GET \
  --url http://api.dotzlabs.com/signup/v1/signup/members/check \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.dotzlabs.com/signup/v1/signup/members/check',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/signup/v1/signup/members/check")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api.dotzlabs.com/signup/v1/signup/members/check");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/signup/v1/signup/members/check"

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

Key
string

Aceita os valores 'document', 'name', 'email', 'password', 'birthday' ou 'cellphoneNumber' (com código do Brasil '55').

Value
string

Valor a ser validado.

Headers

Authorization
string
required

access token

Response

codestring
messagestring
codestring
messagestring
Suggest Edits

/signup/members/{PersonalIdentifier}

Exemplo de requisição para consulta de um membro:

 Request:
 GET signup/members/56184595822

 Response:
    {
        "personal": {
            "personalIdentifier": "56184595822",
            "emailAddress": "doe.john@dotzlabs.com",
            "fullName": "John Doe",
            "gender": 1,
            "dateOfBirth": "1980-12-01T00:00:00Z",
            "phoneNumberArea": "11",
            "phoneNumber": "98888777",
            "cellphoneNumberArea": "21",
            "cellphoneNumber": "97777666",
            "address": {
                "streetName": "Donatarios",
                "addressNumber": "200",
                "city": "São Paulo",
                "additionalInformation" : "décimo sexto andar",
                "countryCode": 55,
                "district": "Mooca",
                "postalCode": "03167010",
                "state": "SP"
            }
        },
        "tags": [
            "aZBb3vLj2KEAvje"
        ],
        "company": {
            "storeId": "Ad2mE9je4ZOPRjg",
            "locationId": "Rn8e3zRYen3NJ7G",
            "positionId": "kqmaOpQ5qn3NlWd",
            "action": 1,
            "actionDate": "2017-01-01T00:00:00Z"
        },
        "others": {
            "operatorPersonalIdentifier": "72800072520",
            "loyaltyCardNumber": "348237487334",
            "otherLoyaltyProgramId": null
        },
        "notifications": {
            "email": true,
            "mobilePush": true,
            "phoneCall": true,
            "sms": true
        }
    }
 
getapi.dotzlabs.com/signup/v1/signup/members/PersonalIdentifier
curl --request GET \
  --url http://api.dotzlabs.com/signup/v1/signup/members/PersonalIdentifier \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.dotzlabs.com/signup/v1/signup/members/PersonalIdentifier',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/signup/v1/signup/members/PersonalIdentifier")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api.dotzlabs.com/signup/v1/signup/members/PersonalIdentifier");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/signup/v1/signup/members/PersonalIdentifier"

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

PersonalIdentifier
string
required

Documento de identificação

Headers

Authorization
string
required

access token

Response

Dados de um membro.

personalobject

Informações pessoais.

personal.personalIdentifierstring

Identificador pessoal

personal.emailAddressstring

E-mail

personal.fullNamestring

Nome completo

personal.passwordstring

Senha

personal.genderinteger

Gênero. Pode ser 0 (masculino) ou 1 (feminino).

personal.birthdatestring

Data de nascimento, no formato YYYY-MM-dd. Exemplo: 1990-09-18.

personal.phoneNumberAreastring

Código de área do telefone

personal.phoneNumberstring

Número do telefone

personal.cellphoneNumberAreastring

Código de área do celular

personal.cellphoneNumberstring

Número do celular

personal.addressobject

Informações de endereço

personal.address.streetNamestring

Descrição logradouro.

personal.address.addressNumberstring

Número.

personal.address.citystring

Cidade.

personal.address.additionalInformationstring

Complemento do endereço.

personal.address.countryCodeinteger

Código do país, atualmente é aceito apenas o valor 55.

personal.address.districtstring

Bairro.

personal.address.postalCodestring

CEP. Deve ser enviado sem hífen, apenas números. Exemplo: 04534002, 04532012, entre outros.

personal.address.statestring

Estado. Exemplo: SP, MG, SC, entre outros.

tagsarray

Código(s) de campanha.

companyobject

Informações do empregador.

company.storeIdstring

Respeitar 'Store Locator API'.

company.locationIdstring

Respeitar 'Store Locator API'.

company.positionIdstring

Deve ser o ID do registro da tabela DBS_TIPO_CARGO_PARCEIRO_FUNCIONARIO.

company.actioninteger

Ação

company.actionDatestring

Data da última ação

othersobject

Outras informações.

others.operatorPersonalIdentifierstring

Documento de identificação pessoal (CPF) do responsável.

others.loyaltyCardNumberstring

Identificador do Cartão Dotz.

others.otherLoyaltyProgramIdstring

Identificador do programa de fidelidade do parceiro.

Formato inválido do(s) paramêtro(s) de entrada.

codestring
messagestring

Registro não encontrado.

codestring
messagestring
Suggest Edits

Singup - Return Codes

 

[POST] /signup/members

HTTP Code
Error Message
Error Code

409

Data de nascimento (Birthdate) inválida. Idade deve estar entre {0} e {1}.

043

404

Nenhuma campanha (Tag) foi encontrada ou campanha inválida.

044

[GET] /signup/members/check

HTTP Code
Error Message
Error Code

409

Documento {0} já cadastrado.

050

409

Documento {0} não possui senha.

051

409

E-mail {0} pertence a uma conta existente.

054

409

Data de Nascimento em formato inválido.

055

409

Usuário deve ser menor que {0} anos para utilizar o programa.

056

409

Usuário deve ser maior que {0} anos para utilizar o programa.

057

409

Senha inválida. Senha deve conter 6 caracteres numéricos. Não pode ser: sequencial, múltiplo de dez, igual a data de nascimento ou ao inverso da mesma.

058

409

Telefone Celular {0} pertence a uma conta existente.

060

[GET] /signup/members/{PersonalIdentifier}

HTTP Code
Error Message
Error Code

404

Membro não encontrado.

006

Suggest Edits

Locations

 
Suggest Edits

/Locations

Exemplo de requisição para obtenção de lojas físicas a partir do filtro de entrada:

Request:
GET /locations?_pageSize=10&amp;_page=1&amp;Latitude=-23%2C584789276123047&amp;Longitude=-46%2C67512893676758&amp;Radius=1500&amp;Name=banco

Response:
{
    "_pageSize": 10,
    "_page": 1,
    "items": [{
            "id": "d0Q5p3PKKyObzG9",
            "storeId": "yg7A32deWeEJkd8",
            "storeName": "Banco do Brasil",
            "storeLogoUrl": "https://dotz4.r.worldssl.net/~/media/Dotz/Images/Parceiros/Sync/bancobrasil2.gif?bc=Transparent\\u0026db=web\\u0026h=130\\u0026thn=1\\u0026w=130",
            "name": "Agência 2807 - ITAIM BIBI ",
            "countryCode": 55,
            "streetName": "R.JOAQUIM FLORIANO",
            "addressNumber": "608",
            "district": "ITAIM BIBI",
            "city": "SAO PAULO",
            "state": "SP",
            "postalCode": "04534000",
            "latitude": -23.584745407104492,
            "longitude": -46.67573547363281,
            "distance": 62.07
        },
        {
            "id": "Zo6ynX5q45XYlpR",
            "storeId": "yg7A32deWeEJkd8",
            "storeName": "Banco do Brasil",
            "storeLogoUrl": "https://dotz4.r.worldssl.net/~/media/Dotz/Images/Parceiros/Sync/bancobrasil2.gif?bc=Transparent\\u0026db=web\\u0026h=130\\u0026thn=1\\u0026w=130",
            "name": "Agência 6811 - NOVA ITAIM/BNC ",
            "countryCode": 55,
            "streetName": "R.JOAO CACHOEIRA",
            "addressNumber": "754",
            "district": "V.NOVA CONCEICAO",
            "city": "SAO PAULO",
            "state": "SP",
            "postalCode": "04535000",
            "latitude": -23.58683967590332,
            "longitude": -46.67721176147461,
            "distance": 311.842
        }
    ]
}
 
getapi.dotzlabs.com/store-locator/v1/locations
curl --request GET \
  --url http://api.dotzlabs.com/store-locator/v1/locations \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.dotzlabs.com/store-locator/v1/locations',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/store-locator/v1/locations")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api.dotzlabs.com/store-locator/v1/locations");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/store-locator/v1/locations"

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

_pageSize
int32

Limite de estabelecimentos por página.

_page
int32

Posição de paginação atual.

Latitude
double

Latitude origem, sendo máximo 90 (extremo norte) e mínimo -90 (extremo sul), onde 0 representa o ponto central (Equador). Exemplo: -23.5849990 (latitude referente ao endereço 'R. Joaquim Floriano, 533 - Itaim Bibi, São Paulo - SP, 04534-011, Brasil').

Longitude
double

Longitude origem, sendo máximo 180 (extremo leste) e mínimo -180 (extremo oeste), onde 0 representa o ponto central (Greenwich). Exemplo: -46.6749150 (longitude referente ao endereço 'R. Joaquim Floriano, 533 - Itaim Bibi, São Paulo - SP, 04534-011, Brasil').

Radius
double

Distância (em metros) entre a loja e a origem definida nos parâmetros 'Latitude' e 'Longitude', sendo 100000 (100Km) o valor máximo aceito. Exemplo: 850 (850 metros).

Name
string

Nome da loja ou estabelecimento.

Headers

Authorization
string
required

access token

Response

Lista de endereços dos estabelecimentos.

_pageSizeinteger
_pageinteger
_totalinteger
itemsarray

Formato inválido do(s) parâmetro(s) de entrada.

codestring
messagestring
Suggest Edits

/Locations/{LocationId}

Exemplo de requisição para consulta de um estabelecimento:

Request:
GET /locations/d0Q5p3PKKyObzG9

Response:
{
  "id": "d0Q5p3PKKyObzG9",
  "storeId": "yg7A32deWeEJkd8",
  "storeName": "Banco do Brasil",
  "storeLogoUrl": "https://dotz4.r.worldssl.net/~/media/Dotz/Images/Parceiros/Sync/bancobrasil2.gif?bc=Transparent\\u0026db=web\\u0026h=130\\u0026thn=1\\u0026w=130",
  "name": "Agência 2807 - ITAIM BIBI ",
  "countryCode": 55,
  "streetName": "R.JOAQUIM FLORIANO",
  "addressNumber": "608",
  "district": "ITAIM BIBI",
  "city": "SAO PAULO",
  "state": "SP",
  "postalCode": "04534000",
  "latitude": -23.584745407104492,
  "longitude": -46.67573547363281
}
 
getapi.dotzlabs.com/store-locator/v1/locations/LocationId
curl --request GET \
  --url http://api.dotzlabs.com/store-locator/v1/locations/LocationId \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'http://api.dotzlabs.com/store-locator/v1/locations/LocationId',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.dotzlabs.com/store-locator/v1/locations/LocationId")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api.dotzlabs.com/store-locator/v1/locations/LocationId");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "http://api.dotzlabs.com/store-locator/v1/locations/LocationId"

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

LocationId
string
required

Identificador do estabelecimento.

Headers

Authorization
string
required

access token

Response

Dados de um estabelecimento.

idstring

Identificador do estabelecimento.

storeIdstring

Identificador da loja.

storeNamestring

Nome da loja.

storeLogoUrlstring

Url do logotipo.

namestring

Nome do estabelecimento.

countryCodeinteger

Código do país.

streetNamestring

Logradouro.

addressNumberstring

Número.

districtstring

Bairro.

citystring

Cidade.

statestring

Estado.

postalCodestring

CEP.

latitudenumber

Latitude.

longitudenumber

Longitude.

Formato inválido do(s) parâmetro(s) de entrada.

codestring
messagestring

Estabelecimento não encontrado.

codestring
messagestring
Suggest Edits

/Stores

Exemplo de requisição para obtenção de lojas:

Request:
GET /stores?_pageSize=100&amp;_page=1&amp;StoreType=0

Response:
{
    "_pageSize": 100,
    "_page": 1,
    "items": [{
            "id": "yg7A32YJJzNOJkd",
            "name": " Rede de Postos H7",
            "alias": "Rede de Postos H7",
            "logoURL": "https://dotz4.r.worldssl.net/~/media/Dotz/Images/Parceiros/Sync/h7-c