# Boas Práticas

> Recomendações para garantir uma integração eficiente, escalável e robusta.

Seguir essas orientações ajudará a reduzir a latência, otimizar o uso dos recursos e evitar problemas com limites de consulta.

## Motivação

1. Diminuir o número de requisições evita o esgotamento dos limites de consulta e minimiza a carga tanto na sua aplicação quanto no servidor.
2. Dados em cache proporcionam respostas mais rápidas, reduzindo o tempo de espera.
3. Menos tráfego de rede e processamento tornam sua aplicação mais leve e responsiva.

## Estratégias

<accordion>
<accordion-item label="Cache no Lado do Cliente">

Utilize soluções como LocalStorage, SessionStorage ou IndexedDB para armazenar dados que não se atualizam com frequência.

</accordion-item>

<accordion-item label="Cache no Lado do Servidor">

Implemente sistemas de cache (ex.: Redis ou Memcached) para armazenar respostas e servir requisições subsequentes com menor latência.

</accordion-item>

<accordion-item label="Definição de TTL (Time-To-Live)">

Configure um tempo de expiração para os dados em cache, garantindo que informações sensíveis sejam atualizadas regularmente.

</accordion-item>

<accordion-item label="Validação de Dados">

Para verificar se os dados foram atualizados, consulte os campos `updated_at` presentes no corpo da resposta JSON. Quando disponível, este campo indica a última atualização dos dados e pode ser usado para implementar estratégias de cache mais eficientes.

</accordion-item>
</accordion>

## Implantando

<accordion>
<accordion-item label="Seleção de Campos">

Utilize o parâmetro `fields` para solicitar apenas as informações necessárias. Isso reduz o tamanho da resposta e acelera o processamento.

</accordion-item>

<accordion-item label="Cache no Lado do Servidor">

O parâmetro `array_limit` permite restringir o número de itens em arrays, evitando o processamento de grandes volumes de dados desnecessários.

</accordion-item>

<accordion-item label="Definição de TTL (Time-To-Live)">

Configure um tempo de expiração para os dados em cache, garantindo que informações sensíveis sejam atualizadas regularmente.

</accordion-item>

<accordion-item label="Aplicação de Filtros">

Use filtros (por exemplo, para datas, localidades ou categorias) para refinar a consulta e reduzir a quantidade de dados trafegados.

</accordion-item>
</accordion>

---

Uma implementação cuidadosa e otimizada não só melhora a performance e a experiência do usuário, mas também assegura um uso sustentável dos limites de consulta, contribuindo para a escalabilidade da sua aplicação.

Caso necessite de mais informações ou suporte, nossa equipe está disponível para ajudar. Consulte também outras seções da documentação para explorar todos os recursos oferecidos.
