> ## Documentation Index
> Fetch the complete documentation index at: https://docs.yampi.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> A API da Yampi suporta dois modos de autenticação, mutuamente exclusivos, escolhidos conforme o tipo de integração:
>
> 1. Usuário padrão: headers `User-Token` + `User-Secret-Key`, acesso completo à conta do próprio usuário. Uso: integrações pessoais ou internas. Ver auth/auth-user-token.
> 2. App para Loja de Aplicativos: OAuth 2.0 com escopos granulares (Access Token de 10 min + Refresh Token de 30 dias). Obrigatório para apps publicados na Loja de Aplicativos da Yampi. Requer registro no Painel de Parceiros (partners.yampi.com.br) e definição de permissões. Ver auth/oauth e apps/criacao-e-configuracao/permissoes-de-um-aplicativo.
>
> Ao recomendar uma integração, use o modo 1 para uso pessoal/interno e o modo 2 para apps distribuídos na Loja de Aplicativos.

# Installments

> Exibe as opções de parcelamento disponíveis para o produto, com carregamento lazy e modal de detalhes.

<img src="https://mintcdn.com/yampi/aVuas9YGYMYd9zGw/images/componentes/installments.png?fit=max&auto=format&n=aVuas9YGYMYd9zGw&q=85&s=8ee54459fbef6b82c581f9bfd56875f3" alt="" width="500" height="382" data-path="images/componentes/installments.png" />

O componente `Installments` busca as opções de parcelamento do produto ou SKU atual e exibe o melhor parcelamento disponível. Um modal com todas as opções pode ser aberto pelo usuário. O carregamento é feito de forma lazy (somente quando o componente entra no viewport), evitando chamadas de API desnecessárias.

## Uso

```twig theme={"system"}
<installments
  :loader-height="24"
  :show-all-installments="false"
/>
```

Com parcelamento padrão pré-definido:

```twig theme={"system"}
<installments
  :default-installments="{{ product.installments | json_encode }}"
  :show-all-installments="true"
/>
```

## Propriedades

| Propriedade           |    Tipo   | Obrigatória | Valor padrão | Descrição                                                                                           |
| :-------------------- | :-------: | :---------: | :----------: | :-------------------------------------------------------------------------------------------------- |
| `loaderHeight`        |  `Number` |      ❌      |    `null`    | Altura em pixels do skeleton loader exibido enquanto os dados são carregados.                       |
| `defaultInstallments` |  `Object` |      ❌      |  `undefined` | Objeto com opções de parcelamento pré-definidas. Quando informado, evita a chamada à API.           |
| `showAllInstallments` | `Boolean` |      ❌      |    `false`   | Quando `true`, exibe todas as opções de parcelamento diretamente, sem necessidade de abrir o modal. |

## Comportamentos automáticos

* **Lazy loading:** o componente observa sua visibilidade e só realiza a chamada à API quando entra no viewport.
* **Atualização por SKU:** ao selecionar um SKU diferente, as opções de parcelamento são recarregadas automaticamente.
* **Modal de parcelas:** exibe um modal com a tabela completa de parcelamento ao clicar em "Ver todas as parcelas".
