API

Seja bem-vindo(a) a documentação da Donuz API.

Este documento descreve os recursos que compõem a API da Donuz. Se você tiver quaisquer problemas, dúvidas ou pedidos, por favor, contate o suporte clicando aqui.

É possível fazer integração através da nossa Api, com qualquer linguagem de programação capaz de executar uma requisição HTTP e suporte ao formato JSON.

Fique à vontade para copiar os exemplos oferecidos e utilizar em seu código.

Antes de começar solicite ao suporte donuz o Token e o ID do seu estabelecimento.


Bibliotecas de API

Disponibilizamos uma biblioteca escrita em php para facilitar a utilização da nossa API. Abaixo de alguns métodos em nossa documentação, damos exemplos utilizando a biblioteca php.

Acesse o link abaixo para fazer o download da biblioteca.

PHP

https://github.com/donuz/donuz-php

Em breve, mais bibliotecas em outras linguagens

Estabelecimento

Em qualquer requisição de estabelecimento, se for necessário saber se determinado cliente efetuou login no estabelecimento em questão, basta informar o Token-Cliente no header e verificar o atributo "cliente_logado".

Buscar estabelecimento

Busca estabelecimentos pelo nome, recebe como parâmetro o nome desejado ou parte dele. É obrigatório enviar na requisição o parâmetro "estabelecimento" ou "slug".

Requisição https://donuz.co/api/v1/estabelecimento
Método POST
Headers Token (string) Chave de acesso.
Parâmetros
(json)
acao (string) buscar
estabelecimento (string) Nome ou parte do nome do estabelecimento ou segmento a que está associado.
slug (string) Slug do estabelecimento.
cidade (string) Nome ou parte do nome da cidade do estabelecimento.
latitude (string) Latitude do estabelecimento. Deve ser usado juntamente com longitude. Irá alterar a ordem de exibição por distância, do mais perto para mais longe.
longitude (string) Longitude do estabelecimento. Deve ser usado juntamente com latitude. Irá alterar a ordem de exibição por distância, do mais perto para mais longe.
Retorno (json) Contém status da requisição, quantidade de estabelecimentos encontrados e dados dos estabelecimentos.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
    total: 15
    estabelecimentos: [15]
    0:  {
        uri: "http://localhost/api/v1/estabelecimento/735434"
        id: 735434
        nome: "Teste"
        logo: "http://www.donuz.co/c6aed11dg431d4rb10cga9119xf0bc070a2a9.png"
        descricao: "..."
        regulamento: "..."
        slug: "teste"
        url_site: "http://www.teste.com"
        cpf: "11111111111"
        email: "teste@gmail.com"
        telefone: "(31)3333-3333"
        endereco: "R. Teste"
        numero: "555"
        complemento: "sala 301"
        bairro: "Centro"
        cidade: "Belo Horizonte"
        estado: "MG"
        cep: "30333-333"
        latitude: "-19.00434499390309"
        longitude: "-44.993344335968015"
        distancia: "30.198580282970816"
        premios: 9
        cor: #4970B1
        moeda: "pontos"
        img_compatilhar: "http://www.donuz.co/btn_compartilhar.png"
        pode_compartilhar: true
        cliente_logado: false
        total_banners: 1
        banners: [1]
        0:  {
            titulo: "teste"
            descricao: "..."
            imagem: "http://www.donuz.co/c6sdfsdfs431sdfsdfga9119xf0bc070a2a9.png"
            link: null
        }
    }
    1:  {
        ...
    }
    ...
}

Dados do estabelecimento

Retorna dados de um estabelecimento específico, recebe na URL como parâmetro o ID do estabelecimento.

Requisição https://donuz.co/api/v1/estabelecimento/{ID}
Método GET
Headers Token (string) Chave de acesso.
Parâmetros
de URL
ID (int) ID do estabelecimento.
Retorno (json) Contém status da requisição, quantidade de estabelecimentos retornados e dados do estabelecimento.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
    total: 1
    estabelecimentos: [1]
    0:  {
        uri: "http://localhost/api/v1/estabelecimento/735434"
        id: 735434
        nome: "Teste"
        logo: "http://www.donuz.co/c6aed11dg431d4rb10cga9119xf0bc070a2a9.png"
        descricao: "..."
        regulamento: "..."
        slug: "teste"
        url_site: "http://www.teste.com"
        cpf: "11111111111"
        email: "teste@gmail.com"
        telefone: "(31)3333-3333"
        endereco: "R. Teste"
        numero: "555"
        complemento: "sala 301"
        bairro: "Centro"
        cidade: "Belo Horizonte"
        estado: "MG"
        cep: "30333-333"
        latitude: "-19.00434499390309"
        longitude: "-44.993344335968015"
        distancia: "30.198580282970816"
        premios: 9
        cor: #4970B1
        moeda: "pontos"
        img_compatilhar: "http://www.donuz.co/btn_compartilhar.png"
        pode_compartilhar: true
        cliente_logado: false
        total_banners: 1
        banners: [1]
        0:  {
            titulo: "teste"
            descricao: "..."
            imagem: "http://www.donuz.co/c6aed11dg431d4rb10cga9119xf0bc070a2a9.png"
            link: "teste"
        }
    }
}

Exemplo de requisição


Donuz::store()->getInfoStore();


Meus Locais

Retorna dados dos estabelecimentos que tem vínculo com o cliente logado, ou seja, estabelecimentos em que o cliente se cadastrou e efetuou login.

Requisição https://donuz.co/api/v1/meusLocais
Método GET
Headers Token (string) Chave de acesso.
Token-Cliente (string) Chave de acesso gerada no login de cliente.
Retorno (json) Contém status da requisição, quantidade de estabelecimentos encontrados e dados dos estabelecimentos.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
    total: 15
    estabelecimentos: [15]
    0:  {
        uri: "http://localhost/api/v1/estabelecimento/735434"
        id: 735434
        nome: "Teste"
        logo: "http://www.donuz.co/c6aed11dg431d4rb10cga9119xf0bc070a2a9.png"
        descricao: "..."
        regulamento: "..."
        slug: "teste"
        url_site: "http://www.teste.com"
        cpf: "11111111111"
        email: "teste@gmail.com"
        telefone: "(31)3333-3333"
        endereco: "R. Teste"
        numero: "555"
        complemento: "sala 301"
        bairro: "Centro"
        cidade: "Belo Horizonte"
        estado: "MG"
        cep: "30333-333"
        latitude: "-19.00434499390309"
        longitude: "-44.993344335968015"
        distancia: "30.198580282970816"
        premios: 9
        cor: #4970B1
        moeda: "pontos"
        img_compatilhar: "http://www.donuz.co/btn_compartilhar.png"
        pode_compartilhar: true
        cliente_logado: false
        total_banners: 1
        banners: [1]
        0:  {
            titulo: "teste"
            descricao: "..."
            imagem: "http://www.donuz.co/c6sdfsdfs431sdfsdfga9119xf0bc070a2a9.png"
            link: null
        }
    }
    1:  {
        ...
    }
    ...
}

Listar Favoritos

Retorna dados dos estabelecimentos que foram favoritados pelo cliente logado.

Requisição https://donuz.co/api/v1/favoritos
Método GET
Headers Token (string) Chave de acesso.
Token-Cliente (string) Chave de acesso gerada no login de cliente.
Retorno (json) Contém status da requisição, quantidade de estabelecimentos encontrados e dados dos estabelecimentos.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
    total: 15
    estabelecimentos: [15]
    0:  {
        uri: "http://localhost/api/v1/estabelecimento/735434"
        id: 735434
        nome: "Teste"
        logo: "http://www.donuz.co/c6aed11dg431d4rb10cga9119xf0bc070a2a9.png"
        descricao: "..."
        regulamento: "..."
        slug: "teste"
        url_site: "http://www.teste.com"
        cpf: "11111111111"
        email: "teste@gmail.com"
        telefone: "(31)3333-3333"
        endereco: "R. Teste"
        numero: "555"
        complemento: "sala 301"
        bairro: "Centro"
        cidade: "Belo Horizonte"
        estado: "MG"
        cep: "30333-333"
        latitude: "-19.00434499390309"
        longitude: "-44.993344335968015"
        distancia: "30.198580282970816"
        premios: 9
        cor: #4970B1
        moeda: "pontos"
        img_compatilhar: "http://www.donuz.co/btn_compartilhar.png"
        pode_compartilhar: true
        cliente_logado: false
        total_banners: 1
        banners: [1]
        0:  {
            titulo: "teste"
            descricao: "..."
            imagem: "http://www.donuz.co/c6sdfsdfs431sdfsdfga9119xf0bc070a2a9.png"
            link: null
        }
    }
    1:  {
        ...
    }
    ...
}

Verificar se estabelecimento foi favoritado

Retorna dados do estabelecimento específico favoritado pelo cliente logado ou 410 quando não for um favorito.

Requisição https://donuz.co/api/v1/favoritos/{ID}
Método GET
Headers Token (string) Chave de acesso.
Token-Cliente (string) Chave de acesso gerada no login de cliente.
Parâmetros
de URL
ID (int) ID do estabelecimento.
Retorno (json) Contém status da requisição, quantidade de estabelecimentos encontrados e dados do estabelecimento.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
    total: 1
    estabelecimentos: [1]
    0:  {
        uri: "http://localhost/api/v1/estabelecimento/735434"
        id: 735434
        nome: "Teste"
        logo: "http://www.donuz.co/c6aed11dg431d4rb10cga9119xf0bc070a2a9.png"
        descricao: "..."
        regulamento: "..."
        slug: "teste"
        url_site: "http://www.teste.com"
        cpf: "11111111111"
        email: "teste@gmail.com"
        telefone: "(31)3333-3333"
        endereco: "R. Teste"
        numero: "555"
        complemento: "sala 301"
        bairro: "Centro"
        cidade: "Belo Horizonte"
        estado: "MG"
        cep: "30333-333"
        latitude: "-19.00434499390309"
        longitude: "-44.993344335968015"
        distancia: "30.198580282970816"
        premios: 9
        cor: #4970B1
        moeda: "pontos"
        img_compatilhar: "http://www.donuz.co/btn_compartilhar.png"
        pode_compartilhar: true
        cliente_logado: false
        total_banners: 1
        banners: [1]
        0:  {
            titulo: "teste"
            descricao: "..."
            imagem: "http://www.donuz.co/c6sdfsdfs431sdfsdfga9119xf0bc070a2a9.png"
            link: null
        }
    }
}

Favoritar estabelecimento

Insere um estabelecimento na lista de favoritos do cliente logado.

Requisição https://donuz.co/api/v1/favoritos
Método POST
Headers Token (string) Chave de acesso.
Token-Cliente (string) Chave de acesso gerada no login de cliente.
Parâmetros
(json)
acao (string) inserir
estabelecimento (int) ID do estabelecimento a qual o cliente irá favoritar.
Retorno (json) Contém status da requisição.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
}

Desfavoritar estabelecimento

Remove um estabelecimento da lista de favoritos do cliente logado.

Requisição https://donuz.co/api/v1/favoritos
Método POST
Headers Token (string) Chave de acesso.
Token-Cliente (string) Chave de acesso gerada no login de cliente.
Parâmetros
(json)
acao (string) deletar
estabelecimento (int) ID do estabelecimento que o cliente irá desfavoritar.
Retorno (json) Contém status da requisição.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
}

Listar Histórico

Retorna dados dos estabelecimentos que foram visitados pelo cliente logado, em ordem decrescente, do último visitado ao primeiro visitado. A quantidade a ser retornada pode ser limitada com o parâmetro opcional quantidade. A data do acesso pode ser recuperada no atributo "acesso".

Requisição https://donuz.co/api/v1/historico
Método POST
Headers Token (string) Chave de acesso.
Token-Cliente (string) Chave de acesso gerada no login de cliente.
Parâmetros
(json)
acao (string) buscar
quantidade
(opcional)
(int) Quantidade máxima de estabelecimentos que serão retornados.
Retorno (json) Contém status da requisição, quantidade de estabelecimentos encontrados e dados dos estabelecimentos.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
    total: 15
    estabelecimentos: [15]
    0:  {
        uri: "http://localhost/api/v1/estabelecimento/735434"
        id: 735434
        nome: "Teste"
        logo: "http://www.donuz.co/c6aed11dg431d4rb10cga9119xf0bc070a2a9.png"
        descricao: "..."
        regulamento: "..."
        slug: "teste"
        url_site: "http://www.teste.com"
        cpf: "11111111111"
        email: "teste@gmail.com"
        telefone: "(31)3333-3333"
        endereco: "R. Teste"
        numero: "555"
        complemento: "sala 301"
        bairro: "Centro"
        cidade: "Belo Horizonte"
        estado: "MG"
        cep: "30333-333"
        latitude: "-19.00434499390309"
        longitude: "-44.993344335968015"
        distancia: "30.198580282970816"
        premios: 9
        cor: #4970B1
        moeda: "pontos"
        acesso: "2014-10-22 18:23:52"
        img_compatilhar: "http://www.donuz.co/btn_compartilhar.png"
        pode_compartilhar: true
        cliente_logado: false
        total_banners: 1
        banners: [1]
        0:  {
            titulo: "teste"
            descricao: "..."
            imagem: "http://www.donuz.co/c6sdfsdfs431sdfsdfga9119xf0bc070a2a9.png"
            link: null
        }
    }
    1:  {
        ...
    }
    ...
}

Salvar Histórico

Insere um estabelecimento no histórico do cliente logado.

Requisição https://donuz.co/api/v1/historico
Método POST
Headers Token (string) Chave de acesso.
Token-Cliente (string) Chave de acesso gerada no login de cliente.
Parâmetros
(json)
acao (string) inserir
estabelecimento (int) ID do estabelecimento que irá para o histórico.
cpf (int) CPF do cliente logado, somente números.
Retorno (json) Contém status da requisição.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
}

Prêmio

Listar prêmios

Lista prêmios de determinado estabelecimento. Recebe na URL como parâmetro o ID do estabelecimento a que os prêmios pertencem.

Requisição https://donuz.co/api/v1/premio/{ID}
Método GET
Headers Token (string) Chave de acesso.
Parâmetros
de URL
ID (int) ID do estabelecimento.
Retorno (json) Contém status da requisição, total de prêmios encontrados e dados do prêmio.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
    total: 3
    premios: [3]
    0:  {
        uri: "https://donuz.co/api/v1/premio/123/12345"
        id: 12345
        titulo: "Barra de chocolate"
        descricao: "..."
        regras: "..."
        status: "1"
        valor: "250.00"
        foto1: "http://donuz.co/201406241604491899069608.jpg"
        foto2: null
        foto3: null
        foto4: null
        foto5: null
        foto6: null
        publicacao: "2012-01-01"
        estoque: "100"
        ilimitado: false
    }
    1:  {
        ...
    }
    ...
}

Exemplo de requisição


Donuz::reward()->getRewards();


Dados do prêmio

Retorna dados de um prêmio específico, recebe na URL como parâmetro o ID do estabelecimento a que o prêmio pertence e ID do prêmio.

Requisição https://donuz.co/api/v1/premio/{ID}/{Prêmio}
Método GET
Headers Token (string) Chave de acesso.
Parâmetros
de URL
ID (int) ID do estabelecimento.
Prêmio (int) ID do prêmio.
Retorno (json) Contém status da requisição, total de prêmios encontrados e dados do prêmio.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
    total: 1
    premios: [1]
    0:  {
        uri: "https://donuz.co/api/v1/premio/123/12345"
        id: 12345
        titulo: "Barra de chocolate"
        descricao: "..."
        regras: "..."
        status: "1"
        valor: "250.00"
        foto1: "http://donuz.co/201406241604491899069608.jpg"
        foto2: null
        foto3: null
        foto4: null
        foto5: null
        foto6: null
        publicacao: "2012-01-01"
        estoque: "100"
        ilimitado: false
    }
}

Exemplo de requisição


Donuz::reward()->getInfoReward($idReward);


Login

Executa login de um cliente, recebe como parâmetro no formato json o ID do estabelecimento a qual este cliente pertence, o login e senha do cliente. Este método irá retornar o token de cliente, que deverá ser passado nas próximas requisições juntamente com o token que já está sendo utilizado.

Requisição https://donuz.co/api/v1/login
Método POST
Headers Token (string) Chave de acesso.
Parâmetros
(json)
acao (string) logar
estabelecimento (int) ID do estabelecimento que o cliente pertence.
login (string) CPF ou código do cliente.
senha (string) Senha do cliente.
Retorno (json) Contém status da requisição, token e alguns dados do cliente.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
    token: "afb75221d8bb7526843d2bc6dfadbbd02b4aebc59ab7801789d480a25834c0a4"
    clientes: [1]
    0:  {
        uri: "https://donuz.co/api/v1/cliente/3941169"
        id: 3941169
        nome: "João"
        sobrenome: "Silva"
        cpf: "11111111111"
        codigo: "124836440500002242"
        email: "teste@gmail.com"
        foto: "http://www.donuz.co/y87yx83h871y38h7y83.jpg"
    }
}

Exemplo de requisição


Donuz::customer()->signIn($user, $password);


Logout

Executa logout do cliente logado.

Requisição https://donuz.co/api/v1/logout/{ID}
Método GET
Headers Token (string) Chave de acesso.
Token-Cliente (string) Token gerado no login.
Parâmetros
de URL
ID (int) ID do estabelecimento.
Retorno (json) Contém status da requisição.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
}

Configuração

Utilizado para saber quais dados exigir do cliente na hora do cadastro ou ao editar seus dados. Recebe como parâmetro na URL o ID do estabelecimento.
Caso o campo cadastro_permitido esteja com valor false, significa que este estabelecimento não permite cadastro, então apenas informe que não é possível realizar o cadastro.
Caso o campo cadastro_sexo esteja com valor true, aceitamos os seguintes valores para o mesmo:
Feminino: F, Fem ou Feminino
Masculino: M, Masc ou Masculino

Requisição https://donuz.co/api/v1/configuracao/{ID}
Método GET
Headers Token (string) Chave de acesso.
Parâmetros
de URL
ID (int) ID do estabelecimento.
Retorno (json) Contém status da requisição e os dados de configuração do estabelecimento.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
    configuracoes: [1]
    0:  {
        uri: "https://donuz.co/api/v1/configuracao/123457"
        cadastro_nome: true
        cadastro_cpf: true
        cadastro_email: true
        cadastro_senha: true
        cadastro_permitido: true
        cadastro_data_nascimento: false
        cadastro_telefone: false
        cadastro_endereco: false
        cadastro_numero: false
        cadastro_complemento: false
        cadastro_estado: false
        cadastro_cidade: false
        cadastro_cep: false
        cadastro_sobrenome: false
        cadastro_profissao: false
        cadastro_filial: false
        cadastro_tipo_cliente: false
        cadastro_time_torce: false
        cadastro_sexo: true
    }
}

Exemplo de requisição


Donuz::setting()->getSettings();


Cliente


Cadastrar cliente

Cadastra um novo cliente em um estabelecimento específico. Para saber quais dados deve enviar na requisição de cadastro faça antes uma requisição de configuração. Este método irá retornar novo token que deverá ser passado nas próximas requisições juntamente com o token que já está sendo utilizado.

Requisição https://donuz.co/api/v1/cliente
Método POST
Headers Token (string) Chave de acesso.
Parâmetros
(json)
acao (string) inserir
estabelecimento (int) ID do estabelecimento a qual o cliente irá pertencer.
Dados do cliente (json) Campos informados na requisição de configuração.
Retorno (json) Contém status da requisição, token e alguns dados do cliente cadastrado.
Exemplo de requisição:
{
    "acao":"inserir",
    "estabelecimento": 1234,
    "cadastro_nome": "João da silva",
    "cadastro_cpf": "12345678909",
    "cadastro_email": "teste@teste.com",
    "cadastro_senha": "a senha super forte"
    ...
}
    
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
    token: "afb75221d8bb7526843d2bc6dfadbbd02b4aebc59ab7801789d480a25834c0a4"
    clientes: [1]
    0:  {
        uri: "https://donuz.co/api/v1/cliente/1234"
        id: 1234
        nome: "João"
        sobrenome: "Silva"
        cpf: "11111111111"
        codigo: "124836440500002242"
        email: "teste@gmail.com"
        foto: "http://www.donuz.co/y87yx83h871y38h7y83.jpg"
    }
}

Exemplo de requisição


Donuz::customer()->signUp($data);


Cadastrar cliente passando Token

Caso um cliente esteja logado e queira se cadastrar em outro estabelecimento, envie uma requisição de cadastro passando o Token-Cliente e o novo estabelecimento em que ele será cadastrado. Lembre-se de verificar em configurações se o novo estabelecimento permite cadastro.

Requisição https://donuz.co/api/v1/cliente
Método POST
Headers Token (string) Chave de acesso.
Token-Cliente (string) Chave de acesso gerada no login de cliente.
Parâmetros
(json)
acao (string) inserir
estabelecimento (int) ID do estabelecimento a qual o cliente irá pertencer.
Retorno (json) Contém status da requisição, token e alguns dados do cliente cadastrado.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
    token: "afb75221d8bb7526843d2bc6dfadbbd02b4aebc59ab7801789d480a25834c0a4"
    clientes: [1]
    0:  {
        uri: "https://donuz.co/api/v1/cliente/1234"
        id: 1234
        nome: "João"
        sobrenome: "Silva"
        cpf: "11111111111"
        codigo: "124836440500002242"
        email: "teste@gmail.com"
        foto: "http://www.donuz.co/y87yx83h871y38h7y83.jpg"
    }
}

Dados do cliente

Retorna dados do cliente que está logado. Recebe como parâmetro na URL o ID do estabelecimento.
Para acessar este dado como administrador, ou seja, sem que o cliente esteje logado, informe um segundo parâmetro contendo o CPF ou Código do cliente em questão e em Token-Cliente informe accessAdmin.

Requisição https://donuz.co/api/v1/cliente/{ID}/{CPF_OU_CODIGO}
Método GET
Headers Token (string) Chave de acesso.
Token-Cliente (string) Chave de acesso gerada no login de cliente ou accessAdmin para acesso de administrador.
Parâmetros
de URL
ID (int) ID do estabelecimento.
CPF_OU_CODIGO
(opcional)
(string) CPF ou Código do cliente.
Retorno (json) Contém status da requisição, quantidade de clientes retornados e dados do cliente.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
    total: 1
    clientes: [1]
    0:  {
        uri: "https://donuz.co/api/v1/cliente"
        id: 1234
        nome: "João"
        sobrenome: "Silva"
        cpf: "11111111111"
        codigo: "1942720414067890518"
        estabelecimento: 1947
        foto: null
        email: "teste@gmail.com"
        telefone: null
        celular: null
        endereco: "Rua Teste"
        numero: "555"
        complemento: null
        bairro: "Centro"
        cidade: "Belo Horizonte"
        estado: "Minas Gerais"
        uf: "MG"
        cep: "30333333"
        dt_nascimento: "1990-01-01"
        dt_cadastro: "2014-06-27"
        sexo: "Masculino"
        ultimo_login : "2014-06-27"
    }
}

Exemplo de requisição


Donuz::customer()->getInfoCustomer($tokenCliente);


Clientes cadastrados por data

Retorna dados do cliente que está logado. Recebe como parâmetro na URL o ID do estabelecimento.
Para acessar este dado como administrador, ou seja, sem que o cliente esteja logado, informe um segundo parâmetro contendo o CPF ou Código do cliente em questão e em Token-Cliente informe accessAdmin.

Requisição https://donuz.co/api/v1/cliente/{ID}
Método GET
Headers Token (string) Chave de acesso.
Token-Cliente (string) accessAdmin para acesso de administrador.
Cadastros-Apartir (string) Data de cadastro FORMATO: DD/MM/YYYY
Pagina (int) Pagina Inicia na pagina 0
Parâmetros
de URL
ID (int) ID do estabelecimento.
Retorno (json) Contém status da requisição, quantidade de clientes retornados e dados do cliente.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
    total: 1
    clientes: [1]
    0:  {
        uri: "https://donuz.co/api/v1/cliente"
        id: 1234
        nome: "João"
        sobrenome: "Silva"
        cpf: "11111111111"
        codigo: "1942720414067890518"
        estabelecimento: 1947
        foto: null
        email: "teste@gmail.com"
        telefone: null
        celular: null
        endereco: "Rua Teste"
        numero: "555"
        complemento: null
        bairro: "Centro"
        cidade: "Belo Horizonte"
        estado: "Minas Gerais"
        uf: "MG"
        cep: "30333333"
        dt_nascimento: "1990-01-01"
        dt_cadastro: "2014-06-27"
        sexo: "Masculino"
        ultimo_login : "2014-06-27"
    }
}

Editar dados do cliente

Edita os dados do cliente que está logado. Para saber quais dados deve enviar na requisição de edição faça antes uma requisição de configuração.

Requisição https://donuz.co/api/v1/cliente
Método POST
Headers Token (string) Chave de acesso.
Token-Cliente (string) Chave de acesso gerada no login de cliente.
Parâmetros
(json)
acao (string) editar
estabelecimento (int) ID do estabelecimento.
Dados do cliente (json) Campos informados na requisição de configuração.
Retorno (json) Contém status da requisição.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
}

Exemplo de requisição


Donuz::customer()->updateCustomer($data, $tokenCustomer);


Esqueci minha senha

Esta requisição irá enviar um e-mail de lembrete de senha para o e-mail informado, desde que este esteja cadastrado no estabelecimento passado na requisição.

Requisição https://donuz.co/api/v1/cliente
Método POST
Headers Token (string) Chave de acesso.
Token-Cliente (string) Chave de acesso gerada no login de cliente.
Parâmetros
(json)
acao (string) lembrar
estabelecimento (int) ID do estabelecimento que o cliente pertence.
email (string) E-mail cadastrado no estabelecimento.
Retorno (json) Contém status da requisição e mensagem de status.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
}

Exemplo de requisição


Donuz::customer()->forgotPassword($email);


Deletar Cliente

Esta requisição exclui um cliente da plataforma Donuz, atenção ao utilizá-la pois esta é uma ação irreversível.

Requisição https://donuz.co/api/v1/cliente
Método POST
Headers Token (string) Chave de acesso.
Parâmetros
(json)
acao (string) deletar
estabelecimento (int) ID do estabelecimento que o cliente pertence.
cliente CPF ou Código do cliente.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
}

Código Pontuável


Inserir Código Pontuável

Inserir código pontuável através da API.

Requisição https://donuz.co/api/v1/codigoPontuavelAdmin
Método POST
Headers Token (string) Chave de acesso.
Parâmetros
(json)
acao (string) inserir
estabelecimento (int) ID do estabelecimento a qual o cliente irá pertencer.
codigo (int) Código a ser inserido
valor (int) Valor
regra (opcional) (int) ID da regra de pontos
data (opcional) (string) Data
filial (opcional) (int) ID da filial
Retorno (json) Contém status da requisição, campos a serem validados.
Exemplo de retorno:
{
  "status": 200,
  "mensagem": "Requisição finalizada com sucesso.",
  "codigo": "15"
}

Inserir ponto por Código Pontuável

Esta requisição insere pontos a um cliente logado informando um código e geralmente um valor. Verifique quais campos devem ser enviados para validação com a requisição "Validação de Código Pontuável".

Requisição https://donuz.co/api/v1/codigoPontuavel
Método POST
Headers Token (string) Chave de acesso.
Token-Cliente (string) Chave de acesso gerada no login de cliente.
Parâmetros
(json)
acao (string) inserir
estabelecimento (int) ID do estabelecimento a qual o cliente irá pertencer.
campos para validação Verifique quais campos em "Validação de Código Pontuável".
Retorno (json) Contém status da requisição, quantidade de pontos inseridos e imagem de retorno.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
    pontos: "22.19"
    img_pontos: "http://www.donuz.co/imagens/img_pontos.png"
}

Validação de Código Pontuável

Verifique nesta requisição quais campos devem ser enviados para validação na requisição de inserção de pontos via código pontuável.

Requisição https://donuz.co/api/v1/codigoPontuavel
Método POST
Headers Token (string) Chave de acesso.
Parâmetros
(json)
acao (string) buscar
estabelecimento (int) ID do estabelecimento a qual o cliente irá pertencer.
termo (string) config
Retorno (json) Contém status da requisição, campos a serem validados.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
    campos: [2]
    0:  {
        nome: "codigo"
        tipo: "string"
    }
    1:  {
        nome: "valor"
        tipo: "float"
    }
    ...
}

Saldo

Consulta saldo do cliente que está logado. Recebe como parâmetro na URL o ID do estabelecimento.
Para acessar este dado como administrador, ou seja, sem que o cliente esteja logado, informe um segundo parâmetro contendo o CPF ou Código do cliente em questão e em Token-Cliente informe accessAdmin.

Requisição https://donuz.co/api/v1/saldo/{ID}/{CPF_OU_CODIGO}
Método GET
Headers Token (string) Chave de acesso.
Token-Cliente (string) Chave de acesso gerada no login de cliente ou accessAdmin para acesso de administrador.
Parâmetros
de URL
ID (int) ID do estabelecimento.
CPF_OU_CODIGO
(opcional)
(string) CPF ou Código do cliente.
Retorno (json) Contém status da requisição e saldo do cliente.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
    saldo: 15912
}

Exemplo de requisição


Donuz::balance()->getCustomerBalance($tokenCustomer);


Resgate


Resgatar prêmio

Resgata prêmio para cliente logado.

Requisição https://donuz.co/api/v1/resgate
Método POST
Headers Token (string) Chave de acesso.
Token-Cliente (string) Chave de acesso gerada no login de cliente.
Parâmetros
(json)
acao (string) inserir
estabelecimento (int) ID do estabelecimento.
id_premio (int) ID do prêmio a ser resgatado.
quantidade (int) Quantos prêmios serão resgatados.
protocolo
(opcional)
(int) Número de controle de resgate.
Retorno (json) Contém status da requisição, URI do resgate e ID do resgate.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
    uri: "https://donuz.co/api/v1/resgate/123456"
    resgate: 123456
    voucher: 872364-8724876-827364
    img_resgate: http://www.donuz.co/imagens/img_resgate.png
}

Exemplo de requisição


Donuz::redeemption()->redeemRewards($tokenCustomer, $data);


Listar resgates

Retorna resgates efetuados pelo cliente logado. Recebe como parâmetro na URL o ID do estabelecimento.
Para acessar este dado como administrador, ou seja, sem que o cliente esteja logado, em Token-Cliente informe accessAdmin e informe um terceiro header Cliente informando o cpf ou código do usuário.

Requisição https://donuz.co/api/v1/resgate/{ID}
Método GET
Headers Token (string) Chave de acesso.
Token-Cliente (string) Chave de acesso gerada no login de cliente.
Cliente (opcional) (string) Cpf ou Código do cliente.
Status (opcional) (string) Status do voucher : disponivel, processando, utilizado ou cancelado
Parâmetros
de URL
ID (int) ID do estabelecimento.
Retorno (json) Contém status da requisição, quantidade de resgates encontrados e dados dos resgates.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
    total: 3
    resgates: [3]
    0:  {
        uri: "https://donuz.co/api/v1/resgate/12345"
        voucher: "123-12345-1234"
        id: 12345
        premio: "Prêmio teste"
        descricao: "Descrição do prêmio de teste."
        quantidade: 1
        valor_unidade: 1000.00
        valor_total: 1000.00
        data: 01/01/2015
    }
    1:  {
        ...
    }
    ...
}

Exemplo de requisição


Donuz::redeemption()->getRedeemptionsByCustomer($tokenCustomer);


Listar todos os resgates de um estabelecimento por determinada data

Retorna todos os resgates efetuados em um estabelecimento em determinada data. Recebe como parâmetro na URL o ID do estabelecimento.
Para acessar estes dados informe o parâmetro Token-Cliente como accessAdmin.

Requisição https://donuz.co/api/v1/resgate/{ID}
Método GET
Headers Token (string) Chave de acesso.
Token-Cliente (string) accessAdmin.
Data (date) Data que foi feito os resgates, formato: "2014-12-06".
Parâmetros
de URL
ID (int) ID do estabelecimento.
Retorno (json) Contém status da requisição, quantidade de resgates encontrados e dados dos resgates.
Exemplo de retorno:
{
    "status": 200
    "mensagem": "Requisição finalizada com sucesso."
    "total": 3
    "resgates": [3]
    0:  {
        "uri": "http://localhost/api/v1/resgate/1827/39320/11006079"
        "voucher": "1827-11006079-39320"
        "id": 11006079
        "premio": null
        "codigo": null
        "descricao": null
        "regras": null
        "imagem": null
        "quantidade": 0
        "valor_unidade": 0
        "data": "2014-12-06"
        "valor_total": 0
        "total_filiais": 0
    }
    1:  {
        ...
    }
    ...
}

Dados do resgate

Retorna dados de um resgate específico. Recebe como parâmetro na URL o ID do estabelecimento e o ID do resgate.

Requisição https://donuz.co/api/v1/resgate/{ID}/{Resgate}
Método GET
Headers Token (string) Chave de acesso.
Token-Cliente (string) Chave de acesso gerada no login de cliente. Para acessar este dado como administrador, ou seja, sem que o cliente esteja logado, em Token-Cliente informe accessAdmin.
Parâmetros
de URL
ID (int) ID do estabelecimento.
Resgate (int) ID do resgate.
Retorno (json) Contém status da requisição, quantidade de resgates encontrados e dados do resgate.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
    total: 1
    resgates: [1]
    0:  {
        uri: "https://donuz.co/api/v1/resgate/12345"
        voucher: "123-12345-1234"
        id: 12345
        premio: "Prêmio teste"
        descricao: "Descrição do prêmio de teste."
        quantidade: 1
        valor_unidade: 1000.00
        valor_total: 1000.00
        data: 01/01/2015
    }
}

Exemplo de requisição


Donuz::redeemption()->getRedeemption($idRedeemption, $tokenCustomer);


Ponto


Extrato do cliente

Retorna todas as transações de pontos do cliente logado. Recebe como parâmetro na URL o ID do estabelecimento.
Para acessar este dado como administrador, ou seja, sem que o cliente esteja logado, em Token-Cliente informe accessAdmin e informe um terceiro header Cliente informando o cpf ou código do usuário.

Requisição https://donuz.co/api/v1/ponto/{ID}
Método GET
Headers Token (string) Chave de acesso.
Token-Cliente (string) Chave de acesso gerada no login de cliente.
Cliente (opcional) (string) Cpf ou Código do cliente.
Parâmetros
de URL
ID (int) ID do estabelecimento.
Retorno (json) Contém status da requisição, quantidade de transações encontradas e dados das transações.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
    total: 14
    pontos: [14]
    0:  {
        uri: "https://donuz.co/api/v1/ponto/12345"
        id: 12345
        data: "2014-04-29"
        validade: "2016-01-01"
        valor: -1000
        descricao: "Resgate de prêmio. Voucher: 123-12345-1234"
    }
    1:  {
        ...
    }
    ...
}

Exemplo de requisição


Donuz::point()->getPointsExtract($tokenCustomer);


Dados do ponto

Retorna dados de uma transação de ponto específica. Recebe como parâmetro na URL o ID do estabelecimento e o ID do ponto.

Requisição https://donuz.co/api/v1/ponto/{ID}/{Ponto}
Método GET
Headers Token (string) Chave de acesso.
Token-Cliente (string) Chave de acesso gerada no login de cliente.
Parâmetros
de URL
ID (int) ID do estabelecimento.
Ponto (int) ID do ponto.
Retorno (json) Contém status da requisição, quantidade de transações encontradas e dados das transações.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
    total: 1
    pontos: [1]
    0:  {
        uri: "https://donuz.co/api/v1/ponto/12345"
        id: 12345
        data: "2014-04-29"
        validade: "2016-01-01"
        valor: -1000
        descricao: "Resgate de prêmio. Voucher: 123-12345-1234"
    }
}

Inserir ponto

Esta requisição insere pontos a um cliente.

Requisição https://donuz.co/api/v1/ponto
Método POST
Headers Token (string) Chave de acesso.
Parâmetros
(json)
acao (string) inserir
estabelecimento (int) ID do estabelecimento que o cliente pertence.
cliente (int) CPF ou Código do cliente.
valor (double) Valor em reais a ser considerado na inserção. Ex: ( 105.2 )
descricao
(opcional)
(string) Descrição dos pontos.
data_de_insercao
(opcional)
Data da venda. Ex: 25/04/2017
regra
(opcional)
(int) ID da regra de pontos, caso não seja informado será considerado regra padrão 1 para 1.
usuario
(opcional)
(int) ID do usuário da filial.
codigo_do_produto
(opcional)
Código do produto vendido.
codigo_de_controle
(opcional)
Código da venda (transação).
Retorno (json) Contém status da requisição e quantidade de pontos inseridos.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
    uri: "https://donuz.co/api/v1/ponto/12345/12345"
    estabelecimento: "12345"
    cliente: "12345"
    pontos: 105.2
    descricao: "Teste insercao via api"
}

Exemplo de requisição


Donuz::voucher()->insertPoints($data);


Inserir ponto em massa (por venda)

Esta requisição insere pontos a um cliente por venda de vários produtos.

Requisição https://donuz.co/api/v1/ponto
Método POST
Headers Token (string) Chave de acesso.
Parâmetros
(json)
acao (string) inserir
estabelecimento (int) ID do estabelecimento que o cliente pertence.
cliente CPF ou Código do cliente.
usuario
(opcional)
ID do usuário da filial.
data_insercao
(opcional)
Data da venda. Ex: 25/04/2017
codigo_de_controle
(opcional)
Código da venda (transação).
items (array(json)) produto (string) nome do produto.
valor_produto Valor em reais a ser considerado na inserção.
quantidade Quantidade do produto comprada
marca
(opcional)
Marca produto
regra
(opcional)
ID da regra de pontos, caso não seja informado será considerado regra padrão 1 para 1.
categoria
(opcional)
Categoria do produto em seu estabelecimento
codigo_do_produto
(opcional)
Código do produto vendido.
Retorno (json) Contém status da requisição e quantidade de pontos inseridos.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
}

Exemplo de requisição


Donuz::voucher()->insertPoints($data);


Inserir ponto por QR Code

Esta requisição insere pontos a um cliente logado fazendo a leitura de um QR Code. Neste QR Code encontra-se o ID do estabelecimento e uma hash para validação, estes dados estão em formato json e devem ser enviados na requisição.

Requisição https://donuz.co/api/v1/qrcode
Método POST
Headers Token (string) Chave de acesso.
Token-Cliente (string) Chave de acesso gerada no login de cliente.
Parâmetros
(json)
acao (string) inserir
estabelecimento (int) ID do estabelecimento a qual o cliente irá pertencer.
codigo (string) Hash de validação encontrada no QR Code.
Retorno (json) Contém status da requisição, quantidade de pontos inseridos e imagem de retorno.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
    pontos: "22.19"
    img_pontos: "http://www.donuz.co/imagens/img_pontos.png"
}

Cidade

Buscar cidade

Busca cidade pelo nome, recebe como parâmetro o nome desejado ou parte dele.

Requisição https://donuz.co/api/v1/cidade
Método POST
Headers Token (string) Chave de acesso.
Parâmetros
(json)
acao (string) buscar
cidade (string) Nome ou parte do nome da cidade.
Exemplo de retorno:
    {
        status: 200
        mensagem: "Requisição finalizada com sucesso."
        total: 3
        cidades: [3]
        0:  {
            cidade: "Belo Horizonte"
            estado: "MG"
        }
        1:  {
            ...
        }
        ...
    }
    

Redes Sociais


Compartilhar

Esta requisição disponibiliza os dados para compartilhamento em redes sociais. É gerado em nosso sistema uma hash única para que seja posteriormente identificada para pontuação do usuário. Para compartilhar um estabelecimento é necessário que o usuário esteja logado no mesmo.

Requisição https://donuz.co/api/v1/redessociais
Método POST
Headers Token (string) Chave de acesso.
Token-Cliente (string) Chave de acesso gerada no login de cliente.
Parâmetros
(json)
acao (string) inserir
estabelecimento (int) ID do estabelecimento que o cliente está compartilhando.
Retorno (json) Contém status da requisição e dados para compartilhamento.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
    url: "http://pts.vc/ztydjalzzaes"
    titulo: "Título do compartilhamento"
    descricao: "Descrição do compartilhamento."
    imagem: "http://www.donuz.co/images/22sdtfg7s6dfthac289a345fbeb9c378logofb.jpg"
}

Exemplo de requisição


Donuz::share()->getHash($tokenCustomer);


Device


Cadastrar Device

Esta requisição cadastrar um device (Smartphone, Tablet e entre outros) para receber notificações de push notification.

Requisição https://donuz.co/api/v1/device
Método POST
Headers Token (string) Chave de acesso.
Token-Cliente (string) Token gerado no login.
Parâmetros
(json)
acao (string) inserir
device (string) Código do device a ser cadastrado.
plataforma (int) 0 = iOS, 1 = Android
Retorno (json) Contém status da requisição.
Exemplo de retorno:
    {
        status: 200
        mensagem: "Requisição finalizada com sucesso."
    }

Descadastrar Device

Esta requisição descadastra um device já cadastrado para que o mesmo deixe de receber notificações de push notification.

Requisição https://donuz.co/api/v1/device
Método POST
Headers Token (string) Chave de acesso.
Token-Cliente (string) Token gerado no login.
Parâmetros
(json)
acao (string) deletar
device (string) Código do device a ser descadastrado.
Retorno (json) Contém status da requisição.
Exemplo de retorno:
{
    status: 200
    mensagem: "Requisição finalizada com sucesso."
}

Vouchers


Alterar o status do voucher

Através desta requisição é possivel alterar o status do voucher, deixando-o com o status Disponivel, Utilizado ou Cancelado.

Lembrando que os vouchers cujo o status é Cancelado, não poderão ter seu status modificado.

Requisição https://donuz.co/api/v1/voucher
Método POST
Headers Token (string) Chave de acesso.
Parâmetros
(json)
acao (string) editar
voucher (string) número do voucher a ser alterado.
status (string) disponivel, processando, utilizado ou cancelado
Retorno (json) Contém status da requisição.
Exemplo de retorno:
    {
        status: 200
        mensagem: "Requisição finalizada com sucesso."
    }

Exemplo de requisição


Donuz::voucher()->updateStatusVoucher($codigoVoucher, $statusVoucher);