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

# Conversas disponíveis

> Quantas conversas de WhatsApp cada número ainda pode iniciar nas próximas 24h

A Meta limita quantas **conversas** um número de WhatsApp pode iniciar por janela de 24h. Este endpoint responde, por número conectado, quanto desse limite ainda está livre.

Consulte antes de montar a lista de uma campanha: uma lista maior que o `available` do número é recusada com `422` na criação, depois de você já ter montado tudo.

## Como o número é calculado

```
available = tier - used_24h
```

| Campo       | O que é                                                                                                                    |
| ----------- | -------------------------------------------------------------------------------------------------------------------------- |
| `tier`      | Limite de conversas por 24h que a Meta concede ao número. Sobe conforme a qualidade do número: 250, 1.000, 10.000, 100.000 |
| `used_24h`  | Destinatários únicos que receberam template nas últimas 24h, somando campanhas e envios avulsos                            |
| `available` | O que sobra, nunca negativo                                                                                                |

<Note>
  A organização vem da sua API Key. Não há parâmetro de query: você sempre recebe os números da sua própria organização.
</Note>

## Exemplo

<CodeGroup>
  ```bash Requisição theme={null}
  curl https://api.useintegra.com.br/api/v1/campaigns/quota \
    -H "Authorization: Bearer ik_live_xxx"
  ```

  ```json Resposta 200 theme={null}
  {
    "numbers": [
      {
        "external_id": "1046702081862213",
        "name": "+55 11 91528-9611",
        "tier": 1000,
        "used_24h": 137,
        "available": 863
      }
    ]
  }
  ```
</CodeGroup>

Uma organização sem número de WhatsApp conectado recebe `{ "numbers": [] }`.

## Erros

| Status | Quando acontece                                |
| ------ | ---------------------------------------------- |
| `502`  | Falha na comunicação com o serviço de WhatsApp |
| `503`  | Integração de WhatsApp não configurada         |

<Tip>
  O `tier` sobe sozinho conforme o número mantém boa qualidade e volume. Se o seu `available` está sempre no limite, divida a lista em dias em vez de tentar contornar o limite — bloqueio de qualidade na Meta é bem mais caro que um dia a mais de campanha.
</Tip>


## OpenAPI

````yaml GET /api/v1/campaigns/quota
openapi: 3.1.0
info:
  title: Integra BFI API
  version: 1.0.0
  description: >
    <img src="/public/logo_dark.webp" alt="Integra" height="36"
    style="margin-bottom:16px" />


    API pública da plataforma Integra para integrações externas.


    > [!tip]

    > **Copie a documentação completa para sua IA favorita:**

    > [Abrir página de cópia](/docs/markdown) ou baixe o [llm.txt](/llm.txt)


    ---


    ## Como começar


    ### 1. Gerar sua API Key


    Acesse o painel da Integra em **Settings > API Keys** e clique em **Nova API
    Key**.


    > [!important]

    > Copie a key gerada (`ik_live_...`) imediatamente — ela **só será exibida
    uma vez**.


    ### 2. Autenticar requests


    Envie o header `Authorization` em todas as chamadas:


    ```

    Authorization: Bearer ik_live_sua_key_aqui

    ```


    ### 3. Fazer sua primeira chamada


    ```bash

    curl -H "Authorization: Bearer ik_live_xxx" \
      https://api.useintegra.com.br/api/v1/campaigns
    ```


    > [!success]

    > Se a resposta for `200 OK` com JSON, sua integração está funcionando!


    ---


    ## Rate Limiting


    | Header | Descrição |

    |--------|-----------|

    | `X-RateLimit-Limit` | Limite total (60/min) |

    | `X-RateLimit-Remaining` | Requests restantes |

    | `X-RateLimit-Reset` | Timestamp de reset (epoch) |


    > [!warning]

    > Ao exceder **60 requests/minuto** por API Key, a API retorna status `429
    Too Many Requests`.


    ---


    ## Erros comuns


    | Status | Erro | Causa |

    |--------|------|-------|

    | `401` | Invalid API key | Key inválida ou revogada |

    | `403` | Forbidden | Key sem permissão para o recurso |

    | `429` | Rate limit exceeded | Excedeu 60 req/min |

    | `500` | Internal server error | Erro interno — contate suporte |
servers:
  - url: https://api.useintegra.com.br
    description: Production
security:
  - ApiKey: []
tags:
  - name: Campaigns
    description: Gerenciamento de campanhas de ligações
  - name: Calls
    description: Histórico de chamadas
  - name: Webhooks
    description: Gerenciamento de webhooks para notificações em tempo real
paths:
  /api/v1/campaigns/quota:
    get:
      tags:
        - Campaigns
      summary: Conversas de WhatsApp disponíveis hoje
      description: >-
        Quantas conversas cada número de WhatsApp da organização ainda pode
        iniciar nas próximas 24h. O valor é o tier de mensagens que a Meta
        concede ao número menos as conversas já iniciadas na janela. Use antes
        de criar uma campanha: uma lista maior que `available` é recusada com
        422 na criação.
      responses:
        '200':
          description: Quota por número conectado
          content:
            application/json:
              schema:
                type: object
                properties:
                  numbers:
                    type: array
                    items:
                      type: object
                      properties:
                        external_id:
                          type: string
                          description: ID do número na Meta
                        name:
                          type:
                            - string
                            - 'null'
                          description: Nome cadastrado do número
                        tier:
                          type: number
                          description: >-
                            Limite de conversas por 24h concedido pela Meta ao
                            número
                        used_24h:
                          type: number
                          description: Conversas já iniciadas nas últimas 24h
                        available:
                          type: number
                          description: Conversas que ainda cabem (tier - used_24h)
                      required:
                        - external_id
                        - name
                        - tier
                        - used_24h
                        - available
                required:
                  - numbers
        '401':
          description: API Key ausente ou inválida
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
        '502':
          description: Falha na comunicação com o serviço de WhatsApp
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
        '503':
          description: Canal whatsapp indisponível (integração não configurada)
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
      security:
        - ApiKey: []
components:
  securitySchemes:
    ApiKey:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: 'API Key da organização (Authorization: Bearer ik_live_xxx)'

````