# API - Limitações e Regras de Consumo

**Visão Geral**\
Para garantir o bom funcionamento e a estabilidade da nossa plataforma, implementamos regras específicas de uso para a nossa API. Estas regras visam evitar sobrecarga e garantir que todos os usuários possam acessar os serviços de forma eficiente.

#### Proibição de Pulling

A prática de **pulling** — fazer requisições constantes à API para verificar se novos dados ou eventos estão disponíveis — não é permitida. A nossa API foi projetada para ser utilizada de forma eficiente, respondendo apenas às requisições necessárias, e não para ser consultada repetidamente em curtos intervalos de tempo.

Em vez de utilizar pulling, recomendamos fortemente a utilização dos nossos **webhooks** para receber notificações em tempo real sempre que eventos relevantes ocorrerem.

**Uso do Header `X-Webhook-Origin` para Prevenção de Disparos de Webhook**

Para evitar o disparo acidental de eventos de webhook pela própria API e garantir uma comunicação eficiente, recomendamos o uso do header `X-Webhook-Origin` com o valor `true` em chamadas onde o disparo de eventos de webhook deve ser ignorado. Este header é essencial para evitar notificações redundantes e prevenir loops de notificação.

Utilizar esse header como recomendado é essencial para garantir um fluxo otimizado de eventos e uma comunicação eficiente com nossa API.

#### Rate Limit (Limite de Requisições)

Para evitar abusos e manter a estabilidade do sistema, há um **rate limit** configurado para o uso da nossa API. Esse limite controla a quantidade de requisições que podem ser feitas dentro de um período de tempo. O limite atual é de `10 requisições por minuto.`

Se o limite for excedido, requisições adicionais serão bloqueadas temporariamente até que o período de tempo se renove.

Para evitar atingir o rate limit:

* Otimize suas requisições para que sejam feitas de forma eficiente.
* Evite fazer requisições desnecessárias.

Recomendamos fortemente a utilização de **webhooks** para garantir que seu sistema receba as informações necessárias sem a necessidade de consultas frequentes à API.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bikeconecta.gitbook.io/api-bikeconecta/api-limitacoes-e-regras-de-consumo.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
