# Consultar un código (v2) (https://docs.loybox.com.ar/api-reference/beneficios/consultar-codigo-v2)



<Endpoint method="GET" path="/v2/benefits/preview/{client_benefit_code}" auth="api-key" />

Hace lo mismo que
[la versión 1](https://docs.loybox.com.ar/api-reference/beneficios/consultar-codigo), que trae información
sobre el beneficio a partir del código que el cliente tiene para canjearlo, pero
devuelve tres campos más en la raíz del objeto.

Para una integración nueva, usá esta.

## Qué cambia [#qué-cambia]

| Campo     | En la v1               | En la v2                       |
| --------- | ---------------------- | ------------------------------ |
| `title`   | Sólo dentro de `prize` | En la raíz, y siempre presente |
| `value`   | Sólo dentro de `prize` | En la raíz                     |
| `product` | Sólo dentro de `prize` | En la raíz                     |

En la práctica: para aplicar el descuento ya no hace falta entrar a `prize` ni
chequear que exista. El resto de los campos son los mismos.

## Parámetros [#parámetros]

<Fields>
  <Field name="client_benefit_code" type="string" location="path" required="true">
    El código de canje que tiene el cliente.
  </Field>
</Fields>

## Respuesta [#respuesta]

Un objeto [Beneficio (v2)](https://docs.loybox.com.ar/api-reference/objetos#beneficio-v2).

```bash
curl https://loybox-public-api-752998171300.southamerica-west1.run.app/v2/benefits/preview/887766 \
  -H "Authorization: Bearer $LOYBOX_API_KEY"
```

```json
// 200 OK
{
  "id": "b_9f2a",
  "type": "percentage_discount",
  "value": 20,
  "title": "20% off",
  "description": "Válido en toda la tienda",
  "product": null,
  "cost": 250,
  "expiration": "2026-12-31T23:59:59Z",
  "benefit_type": "normal",
  "color": "#f1a10d",
  "buy_limit": 0,
  "prize": null,
  "tiendanube_coupon": null
}
```

Qué mirar según el `type`:

| `type`                | Qué hacer                         |
| --------------------- | --------------------------------- |
| `percentage_discount` | Aplicar el porcentaje de `value`. |
| `absolute_discount`   | Descontar el monto de `value`.    |
| `free_product`        | Agregar el producto de `product`. |

## Cómo se canjea [#cómo-se-canjea]

Igual que en la v1: con
[`POST /v1/benefits/redeem`](https://docs.loybox.com.ar/api-reference/beneficios/canjear). El canje no
tiene versión 2: el mismo código sirve para las dos.

## Errores [#errores]

| Código | Cuándo                                                 |
| ------ | ------------------------------------------------------ |
| `400`  | El beneficio ya fue usado.                             |
| `401`  | La API key es inválida: no tiene un comercio asociado. |
| `404`  | El beneficio no existe.                                |
| `422`  | El código no tiene un formato válido.                  |
