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



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

Trae información sobre un beneficio usando el código que el cliente tiene para
canjearlo.

Sirve para saber **qué acciones tomar** antes de canjear: qué clase de premio es,
cuánto descuento aplicar, si es un producto de regalo. Con eso tu sistema puede
aplicar el beneficio en la venta y sólo después
[marcarlo como usado](https://docs.loybox.com.ar/api-reference/beneficios/canjear).

Consultar no canjea: podés llamarlo las veces que necesites.

<Callout type="info" title="Hay una versión 2">
  [La v2](https://docs.loybox.com.ar/api-reference/beneficios/consultar-codigo-v2) devuelve lo mismo más el
  `title`, el `value` del descuento y el `product` al nivel de arriba, sin tener
  que entrar a `prize`. Para una integración nueva conviene esa.
</Callout>

## 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](https://docs.loybox.com.ar/api-reference/objetos#beneficio).

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

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

Qué mirar según el `type`:

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

## 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.                  |

Un `400` acá ya te dice que no sigas: el código está quemado y no hay que aplicar
ningún descuento.
