# Mi cuenta (https://docs.loybox.com.ar/api-reference/mi-cuenta)



Endpoints del **usuario final**, autenticados con el token de acceso que
devuelve [verificar el código](https://docs.loybox.com.ar/api-reference/autenticacion/verificar-codigo):

```
Authorization: Bearer {access}
X-Commerce-Id: {tu-commerce-id}
```

Todo lo que devuelven está limitado al comercio del header `X-Commerce-Id`:
puntos, beneficios, historial y nivel son los de ese programa y nada más. Un
mismo usuario puede estar en varios programas de Loybox y cada uno ve sólo el
suyo.

## El circuito típico [#el-circuito-típico]

Así se arma una web de fidelidad con estos endpoints:

<Steps>
  <Step>
    ### El primer render [#el-primer-render]

    [`GET /v1/me`](https://docs.loybox.com.ar/api-reference/mi-cuenta/obtener) trae de una los puntos, la marca
    del comercio y los puntos por vencer. Con una sola llamada pintás el header y el
    saldo.
  </Step>

  <Step>
    ### El catálogo [#el-catálogo]

    [`GET /v1/me/benefits/available`](https://docs.loybox.com.ar/api-reference/mi-cuenta/beneficios-disponibles)
    para mostrar qué puede canjear.
  </Step>

  <Step>
    ### El canje [#el-canje]

    [`POST /v1/me/benefits/exchange`](https://docs.loybox.com.ar/api-reference/mi-cuenta/comprar-beneficio)
    cambia puntos por un beneficio.
  </Step>

  <Step>
    ### Los códigos [#los-códigos]

    [`GET /v1/me/benefits`](https://docs.loybox.com.ar/api-reference/mi-cuenta/mis-beneficios) para mostrarle
    los códigos que tiene para presentar en el comercio.
  </Step>
</Steps>

## Al armar la UI [#al-armar-la-ui]

Tres cosas que ahorran vueltas:

* El `client_benefit_code` de cada beneficio del usuario es **a la vez el código
  de cupón**: en una tienda online es lo que el usuario pega en el checkout.
* Los beneficios traen `benefit_type`, que distingue los del catálogo (`normal`)
  de las recompensas especiales (`welcome`, `birthday`, `monthly_top`, `level`),
  y `color`, el color de marca del comercio.
* **Cuánto le falta** al usuario para un beneficio se calcula con el `cost` del
  beneficio menos los `points` de [`GET /v1/me`](https://docs.loybox.com.ar/api-reference/mi-cuenta/obtener).

## Comprar y canjear no son lo mismo [#comprar-y-canjear-no-son-lo-mismo]

|                    | Comprar                                                                       | Canjear                                                         |
| ------------------ | ----------------------------------------------------------------------------- | --------------------------------------------------------------- |
| **Qué hace**       | Cambia puntos por un beneficio                                                | Usa el beneficio en el comercio                                 |
| **Quién lo llama** | El usuario, desde tu web                                                      | Tu servidor, en la venta                                        |
| **Endpoint**       | [`POST /v1/me/benefits/exchange`](https://docs.loybox.com.ar/api-reference/mi-cuenta/comprar-beneficio) | [`POST /v1/benefits/redeem`](https://docs.loybox.com.ar/api-reference/beneficios/canjear) |
| **Credencial**     | Token del usuario                                                             | API key del comercio                                            |

## Los endpoints [#los-endpoints]

<Cards>
  <Card title="Mi cuenta" icon="User" description="Puntos, marca del comercio y puntos por vencer, en una llamada." href="/api-reference/mi-cuenta/obtener" />

  <Card title="Beneficios que puedo comprar" icon="Gift" description="El catálogo vigente del comercio." href="/api-reference/mi-cuenta/beneficios-disponibles" />

  <Card title="Comprar un beneficio" icon="Coins" description="Cambia puntos por un beneficio. Acepta Idempotency-Key." href="/api-reference/mi-cuenta/comprar-beneficio" />

  <Card title="Mis beneficios" icon="Tag" description="Los que ya compró, con su código de canje." href="/api-reference/mi-cuenta/mis-beneficios" />

  <Card title="Mi historial" icon="Clock" description="Consumos, compras, canjes y recompensas. Paginado por cursor." href="/api-reference/mi-cuenta/historial" />

  <Card title="Mi nivel" icon="Crown" description="Nivel actual, multiplicador y progreso al siguiente." href="/api-reference/mi-cuenta/nivel" />

  <Card title="Recompensas del programa" icon="Sparkles" description="Bienvenida, cumpleaños y cliente del mes." href="/api-reference/mi-cuenta/recompensas" />

  <Card title="Adherirme al programa" icon="UserPlus" description="Sumarse al club. Devuelve la recompensa de bienvenida." href="/api-reference/mi-cuenta/adherirme" />

  <Card title="Darme de baja" icon="Repeat" description="Salirse del club sin perder los puntos." href="/api-reference/mi-cuenta/darme-de-baja" />
</Cards>

## El 401 en toda la sección [#el-401-en-toda-la-sección]

Todos estos endpoints devuelven `401` cuando el token de acceso falta, venció o
no corresponde a un usuario final. Es el caso normal cuando pasó el tiempo:
[renovalo](https://docs.loybox.com.ar/api-reference/autenticacion/renovar-token) y reintentá la llamada.
