Bluve - API de Integração
Antes de você começar ¶
Importante
-
Este material tem por objetivo mostrar como deve ser feita a integração do seu sistema com a plataforma Bluve da 4C.
-
A url dessa documentação aponta para o nosso Sandbox e tem o propósito de servir ao processo de homologação. Quando aprovada, sua empresa precisará apontar para o endereço oficial;
-
Esta documentação pode ser alterada no futuro sem aviso prévio, mantendo-se no entanto, o compromisso de retrocompatibilidade.
Atenção!
- As versões anteriores (v1 e v2) estão disponíveis, porém se tornaram obsoletas e não devem ser utilizadas no desenvolvimento de novos recursos ou homologações;
Token ¶
Função
Gera o Token que garante a segurança e autenticidade das transações no Bluve.
Geração do Token ¶
Criação do TokenGET/getToken
Example URI
Gerar o TokenHeaders
Accept: application/json
Content-Type: application/json
key: chave-unica-de-integracao200Headers
Content-Type: application/jsonBody
{
"code": 200,
"message": "Mensagem de Retorno",
"token": "Token de Autorização"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Mensagem de Retorno"
},
"token": {
"type": "string",
"description": "Token de autorização"
}
}
}400Headers
Content-Type: application/jsonBody
{
"code": 403,
"message": "Token inválido ou expirado"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Token inválido ou expirado"
}
}
}404Headers
Content-Type: application/jsonBody
{
"code": 404,
"message": "Not Found / Quando não encontrar o registro informado por parâmtro, como empresa, vendedor, etc"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Not Found"
}
}
}Integração ¶
Função
API para cadastro/alteração/consulta de produtos, motivos, vendedores e vendas no sistema Bluve
Vendedores em Atendimento ¶
Vendedores - Em AtendimentoGET/atendimentos
Example URI
Payload de AtendimentosHeaders
Accept: application/json
Content-Type: application/json
Authorization: bearer jwt-token200Headers
Content-Type: application/jsonBody
{
"code": 200,
"message": "Mensagem de Retorno",
"vendedores": [
{
"id": "id do vendedor no Bluve",
"apelido": "Batman",
"nome": "Bruce Wayne",
"cpf": "00000000000",
"pdvId": "1",
"atendimento": [
{
"emAtendimento": true,
"inicio": "Data e Hora do início do Atendimento",
"emFurouFila": false
}
]
}
]
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Mensagem de Retorno"
},
"vendedores": {
"type": "array",
"description": "Vendedores em Atendimento"
}
}
}400Headers
Content-Type: application/jsonBody
{
"code": 400,
"message": "Motivo da Rejeição",
"errors": []
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Motivo da Rejeição"
},
"errors": {
"description": "Informado apenas quando for o caso"
}
}
}403Headers
Content-Type: application/jsonBody
{
"code": 403,
"message": "Token inválido ou expirado"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Token inválido ou expirado"
}
}
}404Headers
Content-Type: application/jsonBody
{
"code": 404,
"message": "Not Found / Quando não encontrar o registro informado por parâmtro, como empresa, vendedor, etc"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Not Found"
}
}
}500Headers
Content-Type: application/jsonBody
{
"code": 500,
"error": "Motivo do Erro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"error": {
"type": "string",
"description": "Motivo do Erro"
}
}
}Cadastrar Produtos ¶
Produtos - CadastroPOST/produtos
Example URI
Payload de ProdutosHeaders
Accept: application/json
Content-Type: application/json
Authorization: bearer jwt-tokenBody
[
{
"codigo": "XPTO0001",
"ativo": true,
"pdvId": "1",
"nome": "Cinto de Utilidades",
"grupoId": "1",
"familiaId": "1"
}
]Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}200Headers
Content-Type: application/jsonBody
{
"code": 200,
"message": "Mensagem de Retorno",
"logs": [
"Descrição item a item do que ocorreu"
]
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Mensagem de Retorno"
},
"logs": {
"type": "array",
"description": "logs de Retorno"
}
}
}400Headers
Content-Type: application/jsonBody
{
"code": 400,
"message": "Motivo da Rejeição",
"errors": []
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Motivo da Rejeição"
},
"errors": {
"description": "Informado apenas quando for o caso"
}
}
}403Headers
Content-Type: application/jsonBody
{
"code": 403,
"message": "Token inválido ou expirado"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Token inválido ou expirado"
}
}
}429Headers
Content-Type: application/jsonBody
{
"code": 429,
"message": "Muitas requisições no endpoint. Alguns só permitem o envio de integração a cada 24 horas"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string"
}
}
}500Headers
Content-Type: application/jsonBody
{
"code": 500,
"error": "Motivo do Erro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"error": {
"type": "string",
"description": "Motivo do Erro"
}
}
}Atualizar Produtos ¶
Produtos - AtualizarPUT/produtos/update
Example URI
Payload de ProdutosHeaders
Accept: application/json
Content-Type: application/json
Authorization: bearer jwt-tokenBody
[
{
"codigo": "XPTO0001",
"ativo": true,
"pdvId": "1",
"nome": "Cinto de Utilidades",
"grupoId": "1",
"familiaId": "1"
}
]Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}200Headers
Content-Type: application/jsonBody
{
"code": 200,
"message": "Mensagem de Retorno",
"logs": [
"Descrição item a item do que ocorreu"
]
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Mensagem de Retorno"
},
"logs": {
"type": "array",
"description": "logs de Retorno"
}
}
}400Headers
Content-Type: application/jsonBody
{
"code": 400,
"message": "Motivo da Rejeição",
"errors": []
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Motivo da Rejeição"
},
"errors": {
"description": "Informado apenas quando for o caso"
}
}
}403Headers
Content-Type: application/jsonBody
{
"code": 403,
"message": "Token inválido ou expirado"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Token inválido ou expirado"
}
}
}429Headers
Content-Type: application/jsonBody
{
"code": 429,
"message": "Muitas requisições no endpoint. Alguns só permitem o envio de integração a cada 24 horas"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string"
}
}
}500Headers
Content-Type: application/jsonBody
{
"code": 500,
"error": "Motivo do Erro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"error": {
"type": "string",
"description": "Motivo do Erro"
}
}
}Auxiliares - Cadastro ¶
Nota
-
São auxiliares as tabelas Grupos e Famílias que compõem o cadastro de produtos
-
Você pode enviar um ou outro item (por exemplo somente grupos ou somente familias) mas não pode omitir ambos.
-
Se o produto existir, o mesmo não será gravado. Veja sempre o log retornado
Auxliares - CadastroPOST/produtos/auxiliar
Example URI
Payload de AuxiliaresHeaders
Accept: application/json
Content-Type: application/json
Authorization: bearer jwt-tokenBody
{
"grupos": [
{
"codigo": "ABC",
"ativo": true,
"pdvId": "1",
"nome": "Nome"
}
],
"familias": [
{
"codigo": "ABC",
"ativo": true,
"pdvId": "1",
"nome": "Nome"
}
]
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"grupos": {
"type": "array",
"description": "Grupos de produtos"
},
"familias": {
"type": "array",
"description": "Grupos de famílias"
}
}
}201Headers
Content-Type: application/jsonBody
{
"code": 201,
"message": "Mensagem de Retorno",
"logs": [
"Descrição item a item do que ocorreu"
]
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Mensagem de Retorno"
},
"logs": {
"type": "array",
"description": "logs de Retorno"
}
}
}400Headers
Content-Type: application/jsonBody
{
"code": 400,
"message": "Motivo da Rejeição",
"errors": []
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Motivo da Rejeição"
},
"errors": {
"description": "Informado apenas quando for o caso"
}
}
}403Headers
Content-Type: application/jsonBody
{
"code": 403,
"message": "Token inválido ou expirado"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Token inválido ou expirado"
}
}
}429Headers
Content-Type: application/jsonBody
{
"code": 429,
"message": "Muitas requisições no endpoint. Alguns só permitem o envio de integração a cada 24 horas"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string"
}
}
}500Headers
Content-Type: application/jsonBody
{
"code": 500,
"error": "Motivo do Erro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"error": {
"type": "string",
"description": "Motivo do Erro"
}
}
}Auxiliares - Atualizar ¶
Notas
-
São auxiliares as tabelas Grupos e Famílias que compõem o cadastro de produtos
-
Você pode enviar um ou outro item (por exemplo somente grupos ou somente familias) mas não pode omitir ambos;
-
Se o produto não existir, não será possível atualizar. Veja sempre o log retornado.
Auxliares - AtualizarPUT/produtos/auxiliar/update
Example URI
Payload de AuxiliaresHeaders
Accept: application/json
Content-Type: application/json
Authorization: bearer jwt-tokenBody
{
"grupos": [
{
"codigo": "ABC",
"ativo": true,
"pdvId": "1",
"nome": "Nome"
}
],
"familias": [
{
"codigo": "ABC",
"ativo": true,
"pdvId": "1",
"nome": "Nome"
}
]
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"grupos": {
"type": "array",
"description": "Grupos de produtos"
},
"familias": {
"type": "array",
"description": "Grupos de famílias"
}
}
}200Headers
Content-Type: application/jsonBody
{
"code": 200,
"message": "Mensagem de Retorno",
"logs": [
"Descrição item a item do que ocorreu"
]
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Mensagem de Retorno"
},
"logs": {
"type": "array",
"description": "logs de Retorno"
}
}
}400Headers
Content-Type: application/jsonBody
{
"code": 400,
"message": "Motivo da Rejeição",
"errors": []
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Motivo da Rejeição"
},
"errors": {
"description": "Informado apenas quando for o caso"
}
}
}403Headers
Content-Type: application/jsonBody
{
"code": 403,
"message": "Token inválido ou expirado"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Token inválido ou expirado"
}
}
}429Headers
Content-Type: application/jsonBody
{
"code": 429,
"message": "Muitas requisições no endpoint. Alguns só permitem o envio de integração a cada 24 horas"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string"
}
}
}500Headers
Content-Type: application/jsonBody
{
"code": 500,
"error": "Motivo do Erro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"error": {
"type": "string",
"description": "Motivo do Erro"
}
}
}Vendas ¶
Venda - CadastrarPOST/vendas
Notas
-
Você deve informar as vendas em um array conforme especificado no “Payload de Vendas”, pois assim, é possível enviar mais de uma venda de uma vez;
-
Ao informar o Nome e CPF do vendedor, o mesmo será cadastrado ou atualizado (caso já exista) independentemente da venda ser ou não efetivada;
-
Ao informar o Nome e Código do Produto, o mesmo será cadastrado ou atualizado (caso já exista) independentemente da venda ser ou não efetivada.
Example URI
Payload de VendasHeaders
Accept: application/json
Content-Type: application/json
Authorization: bearer jwt-tokenBody
{
"vendas": [
{
"vendedorPdvId": "id do vendedor no pdv",
"vendaId": "id da venda no pdv",
"cpfVendedor": "cpf do vendedor",
"nomeVendedor": "Nome do vendedor",
"photoUrlVendedor": "Caminho para foto do Vendedor [opicional]",
"produtos": [
{
"pdvId": "1",
"nome": "Nome do produto",
"codigo": "Código do produto",
"qtd": 10,
"valorVenda": 100,
"vendedorPdvId": "id do vendedor no pdv [para vendas rateadas]",
"rateado": false
}
],
"valorTotal": 100,
"totalPecas": 10,
"cpfCliente": "CPF",
"codigoIndicacao": "Código de indicação de 4 dígitos que o cliente apresentar"
}
]
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"vendas": {
"type": "array",
"description": "Vendas"
}
}
}200Headers
Content-Type: application/jsonBody
{
"code": 200,
"message": "Mensagem de Retorno",
"logs": [
{
"vendaId": "id da venda no pdv",
"gravou": true,
"indicacao": {
"cpfCliente": "CPF do cliente indicado",
"codigo": "ABC1",
"mensagem": "Mensagem da api"
},
"mensagem": "Mensagem geral de retorno"
}
]
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Mensagem de Retorno"
},
"logs": {
"type": "array",
"description": "Logs"
}
}
}400Headers
Content-Type: application/jsonBody
{
"code": 400,
"message": "Motivo da Rejeição",
"errors": []
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Motivo da Rejeição"
},
"errors": {
"description": "Informado apenas quando for o caso"
}
}
}403Headers
Content-Type: application/jsonBody
{
"code": 403,
"message": "Token inválido ou expirado"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Token inválido ou expirado"
}
}
}500Headers
Content-Type: application/jsonBody
{
"code": 500,
"error": "Motivo do Erro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"error": {
"type": "string",
"description": "Motivo do Erro"
}
}
}Vendas ¶
Venda - AtualizarPUT/venda/atualizar
Example URI
Payload de AtualizaçãoHeaders
Accept: application/json
Content-Type: application/json
Authorization: bearer jwt-token
vendaid: Identificador da vendaBody
{
"venda": {
"vendedorPdvId": "id do vendedor no pdv",
"produtos": [
{
"pdvId": "1",
"qtd": 10,
"valorVenda": 100,
"vendedorPdvId": "id do vendedor no pdv [para vendas rateadas]",
"rateado": false
}
],
"valorTotal": 100,
"totalPecas": 10
}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"venda": {
"type": "object",
"properties": {
"vendedorPdvId": {
"type": "string",
"description": "id do vendedor no pdv"
},
"produtos": {
"type": "array",
"description": "Produtos"
},
"valorTotal": {
"type": "number",
"description": "Total da venda de todos os itens"
},
"totalPecas": {
"type": "number",
"description": "Total de peças vendidas"
}
},
"required": [
"valorTotal",
"totalPecas"
],
"description": "Venda"
}
}
}200Headers
Content-Type: application/jsonBody
{
"code": 200,
"atualizad": true,
"message": "Mensagem de Retorno",
"logs": [
"Descrição item a item do que ocorreu"
]
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"atualizad": {
"type": "boolean",
"description": "true/false"
},
"message": {
"type": "string",
"description": "Mensagem de Retorno"
},
"logs": {
"type": "array",
"description": "logs de Retorno"
}
}
}400Headers
Content-Type: application/jsonBody
{
"code": 400,
"message": "Motivo da Rejeição",
"errors": []
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Motivo da Rejeição"
},
"errors": {
"description": "Informado apenas quando for o caso"
}
}
}403Headers
Content-Type: application/jsonBody
{
"code": 403,
"message": "Token inválido ou expirado"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Token inválido ou expirado"
}
}
}500Headers
Content-Type: application/jsonBody
{
"code": 500,
"error": "Motivo do Erro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"error": {
"type": "string",
"description": "Motivo do Erro"
}
}
}Vendas ¶
Venda - CancelarDELETE/venda/cancelar
Example URI
Payload de CancelamentoHeaders
Accept: application/json
Content-Type: application/json
Authorization: bearer jwt-token
vendaid: Identificador da venda200Headers
Content-Type: application/jsonBody
{
"code": 200,
"cancelada": true,
"message": "Mensagem de Retorno"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"cancelada": {
"type": "boolean",
"description": "true/false"
},
"message": {
"type": "string",
"description": "Mensagem de Retorno"
}
}
}400Headers
Content-Type: application/jsonBody
{
"code": 400,
"message": "Motivo da Rejeição",
"errors": []
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Motivo da Rejeição"
},
"errors": {
"description": "Informado apenas quando for o caso"
}
}
}403Headers
Content-Type: application/jsonBody
{
"code": 403,
"message": "Token inválido ou expirado"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Token inválido ou expirado"
}
}
}500Headers
Content-Type: application/jsonBody
{
"code": 500,
"error": "Motivo do Erro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"error": {
"type": "string",
"description": "Motivo do Erro"
}
}
}Indicação ¶
Função
Possibilita efetuar consulta de indicações (por código ou cpf) feitas por vendedores parceiros
Consultar por Código ¶
Por CódigoGET/indicacao/verificar/codigo
Example URI
Payload de Consulta de Indicação por CódigoHeaders
Accept: application/json
Content-Type: application/json
Authorization: bearer jwt-token
codigo: Código da indicação do cliente200Headers
Content-Type: application/jsonBody
{
"code": 200,
"message": "Mensagem de Retorno",
"indicacao": {
"usado": true
}
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Mensagem de Retorno"
},
"indicacao": {
"type": "object",
"properties": {
"usado": {
"type": "boolean",
"description": "Usado/Não usado"
}
},
"description": "Indicacao"
}
}
}400Headers
Content-Type: application/jsonBody
{
"code": 400,
"message": "Motivo da Rejeição",
"errors": []
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Motivo da Rejeição"
},
"errors": {
"description": "Informado apenas quando for o caso"
}
}
}403Headers
Content-Type: application/jsonBody
{
"code": 403,
"message": "Token inválido ou expirado"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Token inválido ou expirado"
}
}
}404Headers
Content-Type: application/jsonBody
{
"code": 404,
"message": "Not Found / Quando não encontrar o registro informado por parâmtro, como empresa, vendedor, etc"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Not Found"
}
}
}500Headers
Content-Type: application/jsonBody
{
"code": 500,
"error": "Motivo do Erro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"error": {
"type": "string",
"description": "Motivo do Erro"
}
}
}Consultar por CPF ¶
Por CPFGET/indicacao/verificar/cpf
Example URI
Payload de Consulta de Indicação por CPFHeaders
Accept: application/json
Content-Type: application/json
Authorization: bearer jwt-token
cpf: CPF do cliente que foi indicado200Headers
Content-Type: application/jsonBody
{
"code": 200,
"message": "Mensagem de Retorno",
"indicacoes": [
{
"codigo": "ABC1",
"usado": false
}
]
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Mensagem de Retorno"
},
"indicacoes": {
"type": "array",
"description": "Indicacões"
}
}
}400Headers
Content-Type: application/jsonBody
{
"code": 400,
"message": "Motivo da Rejeição",
"errors": []
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Motivo da Rejeição"
},
"errors": {
"description": "Informado apenas quando for o caso"
}
}
}403Headers
Content-Type: application/jsonBody
{
"code": 403,
"message": "Token inválido ou expirado"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Token inválido ou expirado"
}
}
}404Headers
Content-Type: application/jsonBody
{
"code": 404,
"message": "Not Found / Quando não encontrar o registro informado por parâmtro, como empresa, vendedor, etc"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Not Found"
}
}
}500Headers
Content-Type: application/jsonBody
{
"code": 500,
"error": "Motivo do Erro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"error": {
"type": "string",
"description": "Motivo do Erro"
}
}
}Ponto ¶
Função
Possibilita que sistemas de ponto sejam integrados ao Fila do Bluve para que os nossos vendedores entram e saiam da fila automaticamente. Observe que a rotina de Token deve usar a versão 2.0 da api e não o token v1 descrito no início deste documento.
Geração do Token ¶
Criação do TokenGET/ponto/getToken
Example URI
Gerar o TokenHeaders
Accept: application/json
Content-Type: application/json
key: chave-unica-de-integracao200Headers
Content-Type: application/jsonBody
{
"code": 200,
"message": "Mensagem de Retorno",
"token": "Token de Autorização"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Mensagem de Retorno"
},
"token": {
"type": "string",
"description": "Token de autorização"
}
}
}400Headers
Content-Type: application/jsonBody
{
"code": 403,
"message": "Token inválido ou expirado"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Token inválido ou expirado"
}
}
}404Headers
Content-Type: application/jsonBody
{
"code": 404,
"message": "Not Found / Quando não encontrar o registro informado por parâmtro, como empresa, vendedor, etc"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Not Found"
}
}
}Envio da marcação de ponto ¶
Enviar marcaçãoPOST/ponto/send
Example URI
Payload de PontoHeaders
Accept: application/json
Content-Type: application/json
Authorization: bearer jwt-token
cpf: Cpf do vendedor
timestamp: Data e Hora do evento em formato timestamp200Headers
Content-Type: application/jsonBody
{
"code": 200,
"message": "Mensagem de Retorno"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Mensagem de Retorno"
}
}
}400Headers
Content-Type: application/jsonBody
{
"code": 400,
"message": "Motivo da Rejeição",
"errors": []
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Motivo da Rejeição"
},
"errors": {
"description": "Informado apenas quando for o caso"
}
}
}403Headers
Content-Type: application/jsonBody
{
"code": 403,
"message": "Token inválido ou expirado"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Token inválido ou expirado"
}
}
}404Headers
Content-Type: application/jsonBody
{
"code": 404,
"message": "Not Found / Quando não encontrar o registro informado por parâmtro, como empresa, vendedor, etc"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string",
"description": "Not Found"
}
}
}429Headers
Content-Type: application/jsonBody
{
"code": 429,
"message": "Muitas requisições no endpoint. Alguns só permitem o envio de integração a cada 24 horas"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"message": {
"type": "string"
}
}
}500Headers
Content-Type: application/jsonBody
{
"code": 500,
"error": "Motivo do Erro"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "Código de Retorno (o mesmo do http response)"
},
"error": {
"type": "string",
"description": "Motivo do Erro"
}
}
}