Documentação - Ranking de Vendas
Tipos de Acesso
Controle de Requisições
Requisições

Tipos de Acesso

Obtenção e edição de Informações

Todo o serviço de API do Ranking de Vendas funciona com base em WebHooks, no qual o desenvolvedor manda uma requisição com
parâmetros específicos, e por meio dessa requisição e desses parâmetros ele pode obter a informações que deseja.

A obtenção de informações da api do Ranking de Vendas são limitadas a campos pré-definidos pela nossa equipe, ou seja, todas as
informações que o Desenvolvedor vir a obter através da API, será controlada e limitada a campos específicos, tais como:

  • ID
  • Nome
  • Companhia pertencente
  • Times pertencente
  • Pontuação nos times
  • Foto de Perfil
  • Pontuação dos usuários

Também vale ressaltar que todas as informações alteradas via os WebHooks serão registradas e exibidas em tempo real, ou seja, a partir do
momento que qualquer requisição for enviada, automaticamente todos os que estão incluídos no time receberão as edições.


Método de autenticação

Para ter acesso á todas as rotas da Api do Ranking de Vendas é preciso obter um Token(Código) de acesso que pode ser gerado nas configurações do sistema:
Esse Token será usado como método de autenticação do sistema, sendo ele fundamental para obter as informações.

Caminho para obter o Token: https://app.rankingdevendedores.com.br/:dashbooard:id – (Página: Apps e Integrações).


Token na Requisição


Geração de Token: Após gerar o token no sistema ele precisará ser inserido no
header da requisição com o campo com a seguinte denominação:

Chave: authorization;
Valor: Token gerado no sistema

Passo final para a autenticação: Após colocar o token no header da requisição,
o sistema irá procurar no banco de dados se o Token inserido é válido, e caso
for, ele irá executar as informações solicitadas de acordo com a url da
requisição e o body.


Estrutura do Token


O Token por padrão fica armazenado em uma base de dados, e por padrão ele
está em objeto, no qual é apenas um campo.
Os outros campos que estão junto ao token são:
{
_id: “asfasfas1898asf9a84fa”,
token: “$8agsa7gas8#87asasg7asg”,
company_id: “asfasf9a8fs9a81fsa8#$%”,
team_id: “asfasf1as9f81sa#$%#asf”
}

 


Controle de Requisições

Rotas de POST e GET

Todas as requisições presentes das rotas de Webhook são do tipo POST e GET para melhor controle de segurança, assim sendo garantindo
que o desenvolvedor que está utilizando a API não obtenha nenhuma informação diretamente solicitada ao servidor, mas sim informações
que são cuidadosamente tratadas e selecionadas para envio.

TODOS OS TIPOS DE REQUISIÇÕES DA API SERÃO DO TIPO POST


Requisições

OBTENÇÃO DE USUÁRIOS (GET)

Rota usada para obter todos os usuários da companhia em questão, valendo ressaltar que os usuários obtidos será o total de usuários que estão cadastrados na companhia independente se estão vinculados a um ou não.

 

URL: https://api.rankingdevendas.com.br/v1/webhooks/users/all

 

Exemplo Base:


OBTENÇÃO DE USUÁRIO ÚNICO (POST)

Rota Usada para obter apenas uma usuário, vale ressaltar que nessa rota é necessário passar um parâmetro no final da rota, com o ID do usuário que você deseja obter.

 

URL: https://api.rankingdevendas.com.br/v1/webhooks/users/:id

 

Exemplo Base:


OBTENÇÃO DE TIMES (GET)

Rota usada para obter todos os times que estão presentes em uma determinada companhia, com o porem de que é preciso inserir no parâmetro o ID da companhia da qual você quer obter os times.

URL: https://api.rankingdevendas.com.br/v1/webhooks/teams

 

Exemplo Base:


OBTENÇÃO COMPANHIAS (GET)

Rota para Obter a Companhia por Id, todos os dados retornar são referentes a companhia, inclusive retornando todos os usuários e também todos os times que estão vinculados a aquela companhia.

 

URL: https://api.rankingdevendas.com.br/v1/webhooks/company/all

 

Exemplo Base:

 


EDITAR PONTUAÇÃO (POST)

A Rota de API é utilizada para editar as pontuações de um usuário específico dentro do time ao qual ele pertence. Nesse processo, o sistema compara o email do usuário com o email cadastrado no sistema externo. Além disso, com base no Token, é possível obter o ID da companhia. Ao fornecer corretamente essas informações no corpo da requisição, é possível editar a pontuação do ranking do time ao qual o ID foi associado.

 

URL: https://api.rankingdevendas.com.br/v1/webhooks/edit/total

 

Exemplo Base:

 


Envio de Dados


O corpo de dados enviado para a requisição precisa ser específico, com base em quatro elementos: email, type, reason e value. O preenchimento adequado de cada um desses campos é crucial, pois eles desencadearão a ação de adicionar ou retirar pontos de um ranking específico.

Email (String): Este campo é responsável por identificar o usuário alvo da ação. É de extrema importância que o email cadastrado no ranking seja o mesmo utilizado no sistema externo.

Type (String): O ‘type’, por sua vez, representa o tipo de ação desejada na requisição. Existem apenas dois valores permitidos: ADD ou REMOVE. A função de ADD é adicionar pontos, enquanto a de REMOVE é remover o valor.

Value (String): Este campo indica o valor a ser adicionado ou subtraído da pontuação do usuário solicitado. É crucial observar que, independentemente do valor adicionado, ele sempre será somado ao total em dinheiro e acrescentará 1 ponto na unidade.

Certifique-se de preencher esses campos de forma precisa para garantir a execução correta da requisição, contribuindo para a integridade do sistema de pontuação.


INSERIR USUÁRIO (POST)

Está rota de api é usada para inserir um usuário em determinada companhia e em determinados times. Lembrando que o usuário só será inserido nos times em que você passar o token no campo “team_token” da requisição.
Vale lembrar que essa rota não possuí valores no Header, já que as autorizações ficam no corpo da requisição, contidas nos tokens passados.

URL: https://api.rankingdevendas.com.br/v1/webhooks/user/create

 

 


Envio de Dados


O corpo de dados enviado para a requisição precisa ser específico, com base em quatro elementos: name, email, password e cpf. O preenchimento adequado de cada um desses campos é crucial, pois eles desencadearão a ação de inserir um usuário em uma companhia e em um time especifíco.

Access (Number): Campo responsável por definir o nível de acesso do usuário, esse campo tem como numero mínimo 0 e numero
máximo 3, sendo cada numero responsável por um tipo de acesso, Confira abaixo os níveis representados por cada numero:

  • 0: Funcionário;
  • 1: Administrador (Sem visualização);
  • 2: Administrador (Com visualização);
  • 3: Visualizador

name (String): Esta campo tem como objetivo nomear cada usuário inserido, sendo ele não único, e podendo ser repetido quantas vezes forem necessárias.

email (String): Este campo é responsável por fornecer o usuário uma forma de entrar no sistema, diferente dos outros campos ele não pode ser repetido ou associado com outro e-mail já existente no sistema, tornando-se assim único para cada usuário.

password (String): O campo de password é responsável por fornecer a segurança do sistema, cada conta deverá ter uma senha de pelo menos 6 dígitos, para que o usuário criado possa a acessar.
Depois de criada a senha será criptografada para a segurança dos usuários.

cpf (Number): Este campo serve para gerar uma identificação a mais ao usuário, sendo ele obrigatório o preenchimento, mas por se tratar de uma informação extra não passa por nenhuma verificação.

team_token (Array [ ] => String): Campo do tipo Array, responsável pela definição dos times aonde o usuário será inserido, nele vamos inserir o token obtido em cada time, para que assim o sistema possa fazer a autenticação.
Caso o sistema não encontrar algum dos tokens inseridos, ele executara apenas os que forem encontrados e retornara os que não foram encontrados.
Vale ressaltar que caso o token que for inserido não pertencer a companhia em que o usuário estiver sendo inserido, o sistema retornara um erro.


EDITAR META (POST)

A Rota de API é utilizada para editar as metas de um usuário específico dentro do time ao qual ele pertence. Nesse processo, o sistema compara o email do usuário com o email cadastrado no sistema externo. Além disso, com base no Token, é possível obter o ID da companhia. Ao fornecer corretamente essas informações no corpo da requisição, é possível editar a meta do ranking do time ao qual o ID foi associado.

 

URL: https://api.rankingdevendas.com.br/v1/webhooks/edit/goal

 

 


Envio de Dados


 

O corpo de dados enviado para a requisição precisa ser específico, com base em quatro elementos: email, type, reason e value. O preenchimento adequado de cada um desses campos é crucial, pois eles desencadearão a ação de adicionar ou retirar pontos de um ranking específico.

Email (String): Este campo é responsável por identificar o usuário alvo da ação. É de extrema importância que o email cadastrado no ranking seja o mesmo utilizado no sistema externo.

Type (String): O ‘type’, por sua vez, representa o tipo de valor que você quer editar a meta. Esse campo só pode ter duas propriedades:

  • “unit”: Usado para editar a meta de pontuação por unidade
  • “money”: Usado para editar a meta de pontuação por dinheiro

value (Intenger): Campo responsável por atribuir o valor da meta