Introduction
Bem vindo à documentação da API AppClubMais. Serão apresentados todos os serviços disponíveis em nossa API para você criar uma integração de maneira rápida e objetiva.Lembre-se que para você ter acesso a API é preciso solicitar suas credênciais de acesso. Entre em contato com nosso time para mais informações
Base URL
integracao.appclubmais.com.br
Authenticating requests
This API is not authenticated.
Autenticação
Token de acesso
Todas as requisições para a API devem ser feitas passando o Token de acesso no header da requisição. Para obter o mesmo é necessário realizar um request com os parâmetros solicitados abaixo.
Tipos de autorizações(grant_type)
Example request:
curl -X POST \
"integracao.appclubmais.com.br/oauth/token" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"client_id":29.377,"client_secret":"voluptatem","grant_type":"temporibus"}'
const url = new URL(
"integracao.appclubmais.com.br/oauth/token"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"client_id": 29.377,
"client_secret": "voluptatem",
"grant_type": "temporibus"
}
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"token_type": "Bearer",
"expires_in": 31536000,
"access_token": "Token de acesso"
}
Received response:
Request failed with error:
Clientes
Buscar dados do cliente por filtro
Método utilizado para realizar busca dos dados do cliente por id ou cpf, apenas para autorizações do tipo CLIENT_CREDENTIALS.
Example request:
curl -X GET \
-G "integracao.appclubmais.com.br/api/v1/cliente/exercitationem" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"integracao.appclubmais.com.br/api/v1/cliente/exercitationem"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"success": true,
"data": {
"usuario": "manoeldasilva@email.com",
"ativo": 1,
"id_cliente": 11,
"entidade": {
"nome": "Manoel da Silva",
"apelido": "Manu",
"inscricao_federal": "99999999999",
"tipo_pessoa": null,
"genero": "MASCULINO",
"dt_nascimento": "1995-01-01",
"logradouro": "Rua x",
"numero": "45X",
"cep": "14500000",
"complemento": "Teste",
"bairro": "Bairro teste",
"cidade": "Cidade do Manoel",
"estado": "SP",
"telefone": "17996612958",
"celular": null,
"email": null,
"dt_cadastro": "2020-03-31 12:53:16",
"dt_alteracao": "2020-03-31 12:53:16",
"ativo": 1,
"foto": null
}
}
}
Received response:
Request failed with error:
Compras
Registrar uma compra
Utilize este método para registrar uma compra, deve se informar o valor total da venda e uma lista das vantagens utilizadas.
Também é possivel realizar as requisições via parâmetros de consulta ex:
Example request:
curl -X POST \
"integracao.appclubmais.com.br/api/v1/compras/dolore" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"valor_total":"et"}'
const url = new URL(
"integracao.appclubmais.com.br/api/v1/compras/dolore"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"valor_total": "et"
}
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (201):
{
"success": true,
"data": {
"valor_total": 150,
"dt_emissao": {
"date": "2020-04-01 22:49:40.770027",
"timezone_type": 3,
"timezone": "America\/Sao_Paulo"
},
"movimentacoes": [
{
"id_vantagem": 1,
"dt_compra": "2020-04-01 22:49:40",
"quantidade": "2.000",
"valor_total": "30.000",
"valor_desconto": "5.000"
},
{
"id_vantagem": 1,
"dt_compra": "2020-04-01 22:49:40",
"quantidade": "2.000",
"valor_total": "30.000",
"valor_desconto": "5.000"
}
]
}
}
Example response (406):
{
"success": false,
"error": {
"valor_total": [
"Campo valor total não informado"
],
"vantagens": [
"Campo vantagens não informado"
]
},
"code": 406
}
Example response (406):
{
"success": false,
"error": "Quantidade excede o permitido vantagem: 6",
"code": 406
}
Received response:
Request failed with error:
Pedidos
Buscar pedidos
Lista os pedidos pendente de integração ao PDV
requires authentication
Example request:
curl -X GET \
-G "integracao.appclubmais.com.br/api/v1/pedidos" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"integracao.appclubmais.com.br/api/v1/pedidos"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"success": true,
"code": 200,
"data": [
{
"id_pedido": 51,
"id_empresa": 1,
"numero": "47",
"status": "PENDENTE",
"dt_agendamento": "1969-12-31",
"horario_inicio": "16:00:00",
"horario_fim": "17:00:00",
"id_cliente": 809,
"id_endereco_cliente": 40,
"tipo_entrega": "ENTREGA",
"id_metodo_pagamento": 11,
"troco": "0.00",
"taxa_entrega": "1.23",
"observacao": null,
"dt_pedido": "2021-02-02T17:47:20.000000Z",
"dt_atualizacao": "2021-02-02T17:47:20.000000Z",
"logradouro_entrega": "Av. Maurílio Biagi",
"numero_entrega": "100",
"cep_entrega": "14020275",
"complemento_entrega": "",
"referencia_entrega": "",
"bairro_entrega": "Centro",
"cidade_entrega": "Ribeirão Preto",
"estado_entrega": "SP",
"id_transacao": 1,
"metodo_pagamento": null,
"bandeira_cartao": null,
"cpf_nota": null,
"total_desconto": "0.00",
"itens": [
{
"id_pedido": 51,
"item": 1,
"id_produto": 1,
"quantidade": "3.00",
"valor": "3.50",
"desconto": "0.00",
"acrescimo": "0.00",
"id_promocao": null,
"agrupar": 0,
"observacao": null,
"produto": {
"id_produto": 1,
"id_empresa": 1,
"codigo": 1,
"codigo_integracao": "1",
"id_categoria": 11,
"descricao": "Coca-cola Lt 350ml",
"descricao_app": "Coca-cola Lt 350ml",
"unidade_integracao": "UN",
"unidade_agrupada": 0,
"porcao": null,
"preco_venda": "3.50",
"dt_cadastro": "2020-11-13T13:38:51.000000Z",
"dt_alteracao": "2021-01-15T17:02:41.000000Z",
"ativo": 1,
"disponivel_compra": 1,
"observacao_obrigatoria": 0,
"imagem": null
}
},
{
"id_pedido": 51,
"item": 2,
"id_produto": 4,
"quantidade": "4.00",
"valor": "2.89",
"desconto": "0.00",
"acrescimo": "0.00",
"id_promocao": null,
"agrupar": 0,
"observacao": null,
"produto": {
"id_produto": 4,
"id_empresa": 1,
"codigo": 3,
"codigo_integracao": "11121",
"id_categoria": 11,
"descricao": "Fanta Uva Lt 350ml",
"descricao_app": "Fanta Uva Lt 350ml",
"unidade_integracao": "UN",
"unidade_agrupada": 0,
"porcao": "0.00",
"preco_venda": "2.89",
"dt_cadastro": "2020-12-30T17:22:03.000000Z",
"dt_alteracao": "2021-01-15T13:17:29.000000Z",
"ativo": 1,
"disponivel_compra": 1,
"observacao_obrigatoria": 0,
"imagem": null
}
}
],
"cliente": {
"id_cliente": 809,
"id_grupo": 5,
"id_empresa": null,
"id_empresa_logada": 1,
"dt_ultimo_acesso": "2021-02-02 17:02:39",
"ativo": 1,
"tipo_login": null,
"usuario": "fadel.ethelyn@franecki.biz",
"entidade": {
"nome": "Osvaldo",
"apelido": "Leuschke",
"inscricao_federal": "44829298081",
"tipo_pessoa": null,
"genero": "MASCULINO",
"dt_nascimento": null,
"logradouro": null,
"numero": null,
"cep": null,
"complemento": null,
"bairro": null,
"cidade": null,
"estado": null,
"telefone": "19955214763",
"celular": "19955214763",
"email": null,
"dt_cadastro": "2021-02-02T14:41:40.000000Z",
"dt_alteracao": "2021-02-02T14:41:40.000000Z",
"ativo": 1,
"foto": null
}
}
}
]
}
Received response:
Request failed with error:
Reconhecer pedido
Para que o pedido não venha mais na request de pedido é necessário enviar uma request para a API, assim o mesmo fica como integrado.
requires authentication
Example request:
curl -X PUT \
"integracao.appclubmais.com.br/api/v1/pedidos/sit/integrado" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"integracao.appclubmais.com.br/api/v1/pedidos/sit/integrado"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "PUT",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Alterar status dos pedidos
Atualiza somente o status para o pedido selecionado.
requires authentication
Status disponíveis:
- CONFIRMADO
- PENDENTE
- CANCELADO
- ENTREGUE
- ENVIADO
Example request:
curl -X PUT \
"integracao.appclubmais.com.br/api/v1/pedidos/nostrum/status/porro" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"integracao.appclubmais.com.br/api/v1/pedidos/nostrum/status/porro"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "PUT",
headers,
}).then(response => response.json());
Example response (200):
{
"success": true,
"data": "CONFIRMADO"
}
Received response:
Request failed with error:
Produtos
Cadastrar produto
Insere um produto para uma empresa.
requires authentication
Example request:
curl -X POST \
"integracao.appclubmais.com.br/api/v1/produtos" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"codigo":123456,"codigo_integracao":"216516ASD5165","id_categoria":1,"descricao":"Bolacha Maizena","descricao_app":"Bol Maizena","unidade_integracao":"UN","unidade_agrupada":false,"porcao":250,"preco_venda":12,"ativo":true,"disponivel_compra":true,"observacao_obrigatoria":false}'
const url = new URL(
"integracao.appclubmais.com.br/api/v1/produtos"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"codigo": 123456,
"codigo_integracao": "216516ASD5165",
"id_categoria": 1,
"descricao": "Bolacha Maizena",
"descricao_app": "Bol Maizena",
"unidade_integracao": "UN",
"unidade_agrupada": false,
"porcao": 250,
"preco_venda": 12,
"ativo": true,
"disponivel_compra": true,
"observacao_obrigatoria": false
}
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Alterar cadastro de um produto
Atualiza o cadastro de um produto baseado nos dados enviados.
requires authentication
Example request:
curl -X PUT \
"integracao.appclubmais.com.br/api/v1/produtos" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"codigo":123456,"codigo_integracao":"216516ASD5165","id_categoria":1,"descricao":"Bolacha Maizena","descricao_app":"Bol Maizena","unidade_integracao":"UN","unidade_agrupada":false,"porcao":250,"preco_venda":12,"ativo":true,"disponivel_compra":true,"observacao_obrigatoria":false}'
const url = new URL(
"integracao.appclubmais.com.br/api/v1/produtos"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"codigo": 123456,
"codigo_integracao": "216516ASD5165",
"id_categoria": 1,
"descricao": "Bolacha Maizena",
"descricao_app": "Bol Maizena",
"unidade_integracao": "UN",
"unidade_agrupada": false,
"porcao": 250,
"preco_venda": 12,
"ativo": true,
"disponivel_compra": true,
"observacao_obrigatoria": false
}
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Buscar categorias de produtos
Lista todas as categorias para a empresa
requires authentication
Example request:
curl -X GET \
-G "integracao.appclubmais.com.br/api/v1/produtos/categorias" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"integracao.appclubmais.com.br/api/v1/produtos/categorias"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (401):
{
"success": false,
"error": "Unauthenticated.",
"code": 401
}
Received response:
Request failed with error:
Inserir categorias de produtos
Adiciona categorias para uma empresa
requires authentication
Example request:
curl -X POST \
"integracao.appclubmais.com.br/api/v1/produtos/categorias" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"id_empresa":18,"descricao":"sint","ativo":true}'
const url = new URL(
"integracao.appclubmais.com.br/api/v1/produtos/categorias"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id_empresa": 18,
"descricao": "sint",
"ativo": true
}
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Received response:
Request failed with error:
Alterar categorias de produtos
Adiciona categorias para uma empresa
requires authentication
Example request:
curl -X PUT \
"integracao.appclubmais.com.br/api/v1/produtos/categorias" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"integracao.appclubmais.com.br/api/v1/produtos/categorias"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "PUT",
headers,
}).then(response => response.json());
Received response:
Request failed with error:
Promoções
Buscar promoções cadastradas
Lista todas as categorias para a empresa
requires authentication
Example request:
curl -X GET \
-G "integracao.appclubmais.com.br/api/v1/promocoes" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"integracao.appclubmais.com.br/api/v1/promocoes"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"success": true,
"data": [
{
"id_promocao": 8,
"id_empresa": 1,
"codigo_integracao": 235,
"descricao": "Tabloide 24-07-2021",
"tipo": "PRECO_FIXO",
"dt_inicio": "2021-07-24 00:00:00",
"dt_fim": "2021-08-31 00:00:00",
"ativo": 1,
"dt_cadastro": "2021-07-24T19:28:45.000000Z",
"dt_alteracao": "2021-07-24T19:37:38.000000Z"
},
{
"id_promocao": 9,
"id_empresa": 1,
"codigo_integracao": 236,
"descricao": "Promo Compre Pague Agosto",
"tipo": "COMPRE_PAGUE",
"dt_inicio": "2021-08-01 00:00:00",
"dt_fim": "2021-08-31 00:00:00",
"ativo": 1,
"dt_cadastro": "2021-07-25T17:01:48.000000Z",
"dt_alteracao": "2021-07-25T17:01:48.000000Z"
}
]
}
Received response:
Request failed with error:
Cadastrar promoções
Adiciona promoções para a empresa autenticada
requires authentication
Example request:
curl -X POST \
"integracao.appclubmais.com.br/api/v1/promocoes" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"codigo_integracao":"consectetur","descricao":"porro","tipo":"velit","dt_inicio":"aut","dt_fim":"dolor","ativo":true}'
const url = new URL(
"integracao.appclubmais.com.br/api/v1/promocoes"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"codigo_integracao": "consectetur",
"descricao": "porro",
"tipo": "velit",
"dt_inicio": "aut",
"dt_fim": "dolor",
"ativo": true
}
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"success": true,
"data": {
"descricao": "Tabloide 10\/08\/2021",
"tipo": "PRECO_FIXO",
"dt_inicio": "2021-08-01",
"dt_fim": "2021-08-31",
"ativo": "1",
"codigo_integracao": "321",
"id_empresa": 1,
"dt_alteracao": "2021-07-25T23:57:27.000000Z",
"dt_cadastro": "2021-07-25T23:57:27.000000Z",
"id_promocao": 10
}
}
Received response:
Request failed with error:
Alterar promoções de produtos
Altera uma promoção específica para uma empresa
requires authentication
Example request:
curl -X PUT \
"integracao.appclubmais.com.br/api/v1/promocoes" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"codigo_integracao":2,"descricao":"dolores","tipo":"cumque","dt_inicio":"eligendi","dt_fim":"reiciendis","ativo":true}'
const url = new URL(
"integracao.appclubmais.com.br/api/v1/promocoes"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"codigo_integracao": 2,
"descricao": "dolores",
"tipo": "cumque",
"dt_inicio": "eligendi",
"dt_fim": "reiciendis",
"ativo": true
}
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"success": true,
"data": {
"id_promocao": 10,
"id_empresa": 1,
"codigo_integracao": 321,
"descricao": "Tabloide 11\/08\/2021 Dia dos pais",
"tipo": "PRECO_FIXO",
"dt_inicio": "2021-08-01 00:00:00",
"dt_fim": "2021-08-31 00:00:00",
"ativo": 1,
"dt_cadastro": "2021-07-25T23:57:27.000000Z",
"dt_alteracao": "2021-07-26T00:01:41.000000Z"
}
}
Received response:
Request failed with error:
Inserir produtos na promoção
Insere os produtos vigentes na promoção através do seu código EAN do ERP.
requires authentication
Enviar lista de produtos com seu valor ou quantidade promocional. Ex: { "lista_produtos": [ { "codigo_produto": "174", "qtd_compre": 3, "qtd_pague": 2 }, { "codigo_produto": "78966588755", "qtd_compre": 4, "qtd_pague": 3 }, { "codigo_produto": "789547555123", "qtd_compre": 5, "qtd_pague": 3 } ] }
Example request:
curl -X POST \
"integracao.appclubmais.com.br/api/v1/promocoes/20" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"lista_produtos":"officia","codigo_produto":"tenetur","vr_promocional":"aut","qtd_compre":19,"qtd_pague":19}'
const url = new URL(
"integracao.appclubmais.com.br/api/v1/promocoes/20"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"lista_produtos": "officia",
"codigo_produto": "tenetur",
"vr_promocional": "aut",
"qtd_compre": 19,
"qtd_pague": 19
}
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
Example response (200):
{
"success": true,
"data": "Produtos inseridos com sucesso"
}
Received response:
Request failed with error:
Vantagens
Buscar vantagens por CPF
Método utilizado para buscar as vantagens que o cliente ativou no aplicativo filtrado por cpf.
OBS: Salve o id do cliente para realizar o cadastro da compra posteriormente
Example request:
curl -X GET \
-G "integracao.appclubmais.com.br/api/v1/vantagens/atque" \
-H "Content-Type: application/json" \
-H "Accept: application/json"
const url = new URL(
"integracao.appclubmais.com.br/api/v1/vantagens/atque"
);
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
{
"success": true,
"data": {
"id_cliente": 9,
"ativo": 1,
"inscricao_federal": "43279782805",
"vantagens": [
{
"dt_ativacao": "2020-02-02 00:00:00",
"status": "",
"id_vantagem": 6,
"qtd_utilizada": "2.000",
"qtd_disponivel": "1.000",
"cupom": {
"id_cupom": 6,
"id_empresa": 1,
"codigo": "1",
"codigo_integracao": "1",
"descricao": "TESTE 1",
"tipo_promocional": "TESTE",
"qtd_limite": 3,
"inicio_vigencia": "2020-03-20 00:00:00",
"fim_vigencia": "2021-03-15 00:00:00",
"limite_ativacoes": 10,
"imagem": "1",
"ativo": 1,
"dt_cadastro": "2020-03-15 00:00:00",
"perc_desconto": "10.000",
"categoria": {
"descricao": "salgados"
}
}
}
]
}
}
Example response (404):
{
"success": false,
"error": "Cliente não encontrado.",
"code": 404
}
Received response:
Request failed with error: