Clube de fidelidade

Listar clientes do Clube de Fidelidade

Retorna, de forma paginada, os clientes do Clube de Fidelidade do restaurante autenticado, com dados relevantes para CRM: cadastro, saldo de cashback, pontos, visitas, produto favorito, histórico de resgates e histórico de mensagens enviadas. **Observações** - Disponível apenas para restaurantes com Clube de Fidelidade configurado. Caso contrário, retorna `400 clube_not_configured`. - Cada cliente pertence somente à loja autenticada — clientes de outras lojas nunca são retornados. - `messages` contém apenas mensagens **enviadas** ao cliente (não há registro de mensagens recebidas). - `cashback`, `total_spent` e `points` podem ser retornados como string numérica. - `cashback_expires_at` é a data em que o cashback do cliente expira; ela é renovada a cada nova compra e pode ser `null` se o cliente ainda não acumulou cashback. - `favorite_product` pode ser `null` quando o cliente ainda não tem compras suficientes.

GET
/api/v1/clube/clients

Retorna, de forma paginada, os clientes do Clube de Fidelidade do restaurante autenticado, com dados relevantes para CRM: cadastro, saldo de cashback, pontos, visitas, produto favorito, histórico de resgates e histórico de mensagens enviadas.

Observações

  • Disponível apenas para restaurantes com Clube de Fidelidade configurado. Caso contrário, retorna 400 clube_not_configured.
  • Cada cliente pertence somente à loja autenticada — clientes de outras lojas nunca são retornados.
  • messages contém apenas mensagens enviadas ao cliente (não há registro de mensagens recebidas).
  • cashback, total_spent e points podem ser retornados como string numérica.
  • cashback_expires_at é a data em que o cashback do cliente expira; ela é renovada a cada nova compra e pode ser null se o cliente ainda não acumulou cashback.
  • favorite_product pode ser null quando o cliente ainda não tem compras suficientes.

Authorization

bearerAuth
AuthorizationBearer <token>

Token JWT obtido em POST /public/api/sessions. Envie como Authorization: Bearer {token}.

In: header

Query Parameters

page?integer

Página (1-based).

per_page?integer

Itens por página (1 a 200).

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/clube/clients"
{  "page": 1,  "per_page": 100,  "total": 1234,  "total_pages": 13,  "clients": [    {      "name": "Matheus",      "phone": "(99) 99999-9999",      "cashback": "25.50",      "cashback_expires_at": "2025-09-16T18:22:39.380Z",      "points": "120",      "visits": 8,      "gender": "male",      "birthday": "1995-06-18",      "total_spent": "430.00",      "favorite_product": "X-Tudo",      "rescues": [        {          "value": "10.00",          "date": "2019-08-24T14:15:22Z"        }      ],      "messages": [        {          "type": "cashback",          "phone": "(99) 99999-9999",          "date": "2019-08-24T14:15:22Z"        }      ]    }  ]}
{  "error": "clube_not_configured",  "message": "Restaurante não possui Clube de Fidelidade configurado."}
{  "error": "token_invalid",  "message": "Token inválido ou expirado."}
{  "error": "clube_request_failed",  "message": "Erro ao consultar clientes do clube."}

Listar produtos por categoria GET

Retorna as categorias de produtos do restaurante e, dentro de cada categoria, seus respectivos produtos. **Observações** - Produtos/categorias com `deleted_at` diferente de `null` já foram deletados. - `is_exclusive` indica categorias/produtos de uso exclusivo do restaurante, que não aparecem para o cliente final. - `price` é o preço presencial; `price_promotion` o preço promocional presencial (se houver). `delivery_price` é o preço para delivery/retirada; `delivery_price_promotion` o promocional para delivery (se houver). Sem `delivery_price`, usa-se `price`/`price_promotion`. - `available` indica disponibilidade presencial; `available_in_delivery` a disponibilidade no delivery/retirada. - `use_weight` indica se o produto é vendido por peso em vez de unidade.

Listar sessões de comanda GET

Retorna as comandas das mesas do restaurante autenticado dentro do intervalo de datas informado. Inclui informações da comanda, mesa, pagamentos e método de pagamento, nota fiscal emitida (se houver), as contas individuais, cestas de cada conta e cada pedido com seu respectivo produto e complementos. **Observações importantes** - O intervalo entre as datas é de **no máximo 3 dias**. - As datas de consulta e de retorno estão em **UTC-0**. Para o horário de Brasília, adicione 3 horas. - Em `orders`, se `canceled_at` for diferente de `null`, o pedido foi cancelado e `cancel_reason` traz o motivo informado. - `total_price` é a soma dos produtos; `total_service_price` é o `total_price` + taxa de serviço. - Na `table_session`, `total_price`/`total_service_price` já consideram o desconto (se houver); `old_total_price` é o valor sem desconto. Em `bills`, `order_baskets` e `orders` os valores **não** têm o desconto aplicado. - Pagamentos consideram o troco no valor pago em dinheiro: `payment_value` é o valor que entrou no faturamento (já descontado o troco), `original_value` é o valor original pago pelo cliente e `change` é o troco. - `predicted_received_value` é o valor a receber já descontadas as taxas do método; `predicted_received_date` é a data prevista de recebimento, calculada a partir das configurações do método na Área do Gestor. - `channel` (em `order_baskets`) indica por onde o pedido foi feito.