Manual API
Manual API
Clube de Benefícios
APIs Restful para integração
Versão 1.1
Clube Ben Versão 1.0
Histórico de Revisões
2 de 17
Clube Ben Versão 1.0
Índice Analítico
Clube de Benefícios 1
Histórico de Revisões 2
Índice Analítico 3
Introdução 4
Finalidade 4
Escopo 4
Webservice 4
Endpoints 4
Autenticação 4
Descrição 4
Formato 5
Exemplo de Chamada 5
Requests 5
Descrição 5
Formato do Envio 5
Responses 6
Descrição 6
Códigos de Sucesso 6
Códigos de Erro 7
Erros 7
Validação dos Erros 7
Paginação 8
API de Resgates 9
Descrição 9
Filtros Aceitos 9
Exemplo de Chamada 10
API de Usuários 11
Descrição 11
Filtros Aceitos 12
Exemplo de Chamada 12
3 de 17
Clube Ben Versão 1.0
API de Integração
1. Introdução
1.1. Finalidade
Este documento descreve os serviços expostos via API na plataforma Clube
Ben.
1.2. Escopo
Todos os serviços são disponibilizados via API RESTful.
O número máximo de registros disponibilizados por chamada é de 500 por
página.
2. Webservice
2.1. Endpoints
2.2. Autenticação
2.2.1. Descrição
A API é autenticada via HTTP Basic Auth sobre HTTPS. Qualquer solicitação
via HTTP será rejeitada.
Após efetuar a autenticação, a API retorna um token no formato JWT.
O Token tem duração de 1 (uma) hora. Após o tempo, será necessário
solicitar nova autenticação.
4 de 17
Clube Ben Versão 1.0
2.2.2. Formato
Método: POST
Endereço: https://{clube}.clubeben.com.br/api/authenticate
Parâmetros:
● email: string com o usuário com permissão de acesso.
● senha: string com a senha do usuário.
Exemplo de Chamada
$ curl https://clube.proxymedia.com.br/api/authenticate -d
"[email protected]&senha=pass" -X POST
Retorno
Sucesso:
{"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwv
XC9ob21vbG9nLmNsdser3d3S57J9FDOfiivvIJ71Moy3lVvfus9-HoMy8"}
2.3. Requests
2.3.1. Descrição
A requisição deve ser realizada via GET codificado como JSON e deve
possuir o cabeçalho “Content-Type” como “application/json”. Caso o formato
5 de 17
Clube Ben Versão 1.0
enviado não esteja correto a API retornará o erro “415 Unsupported Media
Type”.
$ curl https://proxymedia.homolog.clubeben.proxy.media/api/users \
-X GET \
-H "x-authorization:
eyJ0eXAiOiJKcxzcV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvX
C9ob21vbG9nLmNsdWJlYmVuLnByb3h5Lm1lZGlhIiwiaWF0IjoxNTA1NDk
wNTY3LCJuYmYiOjE1MDU0OTA1NxcxcjcsImV4cCI6MTUwNTQ5NDE2Ny
wiaWQiOiI4Nzxcc0OSIsImVtYWlsIjoiYW5kcmVAcHJveHltZWRpYS5jb20u
YnIiLCJjbHViZV9pZCI6IjMwIn0.zADIxcxccPYJ64a2mRYdbJs5ow2zJtWzV
WR-dZbrlW4vA0s" \
-H "Content-Type: application/json"
2.4. Responses
2.4.1. Descrição
{
“rows”: “value”,
“pages”: “value”,
“ṕage: “value”,
“service”:
[
{
“field1”: “value”,
“field2”: “value”,
“field3”: []
},
{...}
]}
6 de 17
Clube Ben Versão 1.0
2.4.2.3. Erros
{
“message”: “Not Found”
}
{
“message”: “Validation Failed”,
“errors”: [
{
“message”:”Field is not valid”
},
{...}
]
}
7 de 17
Clube Ben Versão 1.0
2.4.3. Paginação
{
“rows”:”1000”,
“pages”: “2”,
“page”:”1”,[...]
}
8 de 17
Clube Ben Versão 1.0
2.5.1. Descrição
id integer Id do Resgate
GET /api/redeem/1001
GET /api/redeem?start=2017-01-01&end=2017-10-10
9 de 17
Clube Ben Versão 1.0
GET /api/redeem?fields=datahora,usuario_nome,parceiro_nome
Exemplo de Chamada
GET /api/redeem?start=2017-08-20
200 OK
Content-Type: application/json
[
{
“rows”:”2000”,
“pages”:”4”,
“page”: “1”,
“rescues”: [
{“id”:”2121”,
“beneficio_id”:”11”,
“beneficio_titulo”: “10% de desconto na assinatura”,
“categoria_id”: “1”,
“categoria_titulo”:”Jornais e Revistas”,
“usuario_id”:”1001”,
“usuario_nome”: “Jose da Silva”,
“usuario_email”: “[email protected]”,
“datahora”: “2017-09-01 10:23:00”,
“parceiro_id”: “1929”,
“parceiro_titulo” “Revistas Proxy Media” },
{...}
]
}
]
10 de 17
Clube Ben Versão 1.0
2.6.1. Descrição
id integer Id do usuário
uf string Estado
11 de 17
Clube Ben Versão 1.0
GET /api/users/212
GET /api/users?start=2017-01-01&end=2017-10-10
GET /api/users?fields=datahora,usuario_nome,parceiro_nome
GET /api/users?locks
12 de 17
Clube Ben Versão 1.0
Exemplo de Chamada
GET /api/users?locks&fields=id,nome,email,celular,sexo
200 OK
Content-Type: application/json
[
{
“rows”:”2”,
“pages”: “1”,
“page”:”1”,
“users”: [
{
“travas”:[“key”:”1”,”value”:”98euiewdhdh”],
“id”:”10001”,
“nome”:”Jose da Silva”,
“email”: “[email protected]”,
“celular”: “11987654321”,
“sexo”:”M”},
{...}
]
}
]
2.7.1 Descrição
id integer Id do benefício
13 de 17
Clube Ben Versão 1.0
14 de 17
Clube Ben Versão 1.0
benefício
GET /api/beneficios?id=1234
GET /api/beneficios?busca=10off
GET /api/beneficios?categoria_id=123
GET /api/beneficios?parceiro_id=123
GET /api/beneficios?regiao_id=123
GET /api/beneficios?pagination=true
15 de 17
Clube Ben Versão 1.0
Exemplo de Chamada
GET /api/beneficios?pagination=true
200 OK
Content-Type: application/json
{"total":"72",
"rpp":10,
"offset":0,
"pages":8,
"beneficios":[{"id":"9841","parceiro_id":"2567","marca_id":"0","tamanho_id":"
0","mod_tamanho_id":"0","titulo":"Dia
dos namorados","iframe":"0","descricao":"<p><strong>Dia dos namorados
L'Occitane<\/strong><\/p>\n<p>Ganhe 1 mimo \u00e0 sua escolha nas
compras acima de R$180 usando o cupom
<strong>NAMORADOS180<\/strong> .<\/p>\n<p>10% de desconto usando
o cupom <strong>PARCEIRO10<\/strong>.<\/p>\n<p>N\u00e3o cumulativo
com outras promo\u00e7\u00f5es. V\u00e1lido somente para
produtos.<\/p>","inicio":"2020-06-04 17:41:00","fim":"2020-06-12
23:59:00","infinito":"0","cupom":"","link":"https:\/\/fanyv88.com:443\/https\/loccitaneenprovence.parce
riasonline.com.br\/clube-ben","valor":"10% OFF +
Brinde","preco_de":"","preco_por":"","preco_parcela":"","ordem":"150","resp
onsavel":"[email protected]","endereco":null,"latitude":null,"longitud
e":null,"ativo":"1","label":"","parceiro":{"id":"2567","titulo":"L'Occitane En
Provence","url":"https:\/\/fanyv88.com:443\/https\/br.loccitane.com\/","slug":"loccitaneenprovence","sl
ug_amigavel":null,"ativo":"1","imagem":"https:\/\/fanyv88.com:443\/https\/ddrxgn8ucibei.cloudfront.n
et\/parceiros\/7ef8b45a24e07ee80aef86562a6a2e5b.png","enderecos":[]},"i
magens":[{"id":"14698","beneficio_id":"9841","imagem":"https:\/\/fanyv88.com:443\/https\/ddrxgn8uci
bei.cloudfront.net\/beneficios\/ffcd87f094d8b64364b525f9fbecca20.png","la
rgura":"280","altura":"280","ratio":"1.0000"}],"opcionais":[],"categoria":[{"titul
o":"Shopping","id":"4","label":"Shopping","slug":"shopping","system":"clubeb
en","icon":"beneficios_categorias\/map-shopping.png"},{"titulo":"Bem-estar",
"id":"9","label":"Bem-estar","slug":"saude","system":"clubeben","icon":"benef
icios_categorias\/map-bemestar.png"},{"titulo":"Beleza e
Est\u00e9tica","id":"19","label":"Beleza e
Est\u00e9tica","slug":"beleza_eduk","system":"clubeben","icon":"beneficios
_categorias\/mapa-beleza_eduk.png"},{"titulo":"Compras e
Presentes","id":"56","label":"Compras e
Presentes","slug":"compras_presentes","system":"clubeben","icon":"benefic
ios_categorias\/compras.svg"},{"titulo":"Bem-estar e
Sa\u00fade","id":"65","label":"Bem-estar e
Sa\u00fade","slug":"bemestar_saude","system":"clubeben","icon":"beneficio
s_categorias\/saude.svg"}],"marca":[],"tamanho":[],"url":"\/loccitaneenproven
ce\/c8J-dia-dos-namorados","enderecos":[]}, … ]}
16 de 17
Clube Ben Versão 1.0
17 de 17