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

# Obter Receita por Período

> Retorna a receita total, total de transações e transações por dia em um período específico. Os dados são cacheados por 1 hora (3600 segundos) para melhor performance. A data de fim deve ser posterior à data de início. Use o token `mrr_` gerado no app Trust MRR.

Retorna a receita e o número de transações entre `startDate` e `endDate`, no total e por dia, no horário de Brasília.

> [card]
>
> Use o token `mrr_` do plugin Public MRR, não a chave de API.

> [card] [Entenda o Public MRR](https://docs.abacatepay.com/pages/integracoes/public-mrr.md)
>
> Como gerar o token e como a receita é somada.

**Erros comuns:**

| `error` | Motivo |
| - | - |
| `End date must be after start date` | O `endDate` não é depois do `startDate`. O período precisa ter pelo menos dois dias |


## OpenAPI

````yaml openapi.yaml GET /public-mrr/revenue
openapi: 3.1.0
info:
  title: API AbacatePay
  description: API para gerenciamento de cobranças e pagamentos usando o AbacatePay.
  version: 1.0.0
servers:
  - url: https://api.abacatepay.com/v2
    description: Único servidor para os ambientes de produção e sandbox.
security: []
paths:
  /public-mrr/revenue:
    get:
      summary: Obter receita por período
      description: >-
        Retorna a receita total, total de transações e transações por dia em um
        período específico. Os dados são cacheados por 1 hora (3600 segundos)
        para melhor performance. A data de fim deve ser posterior à data de
        início. Use o token `mrr_` gerado no app Trust MRR.
      parameters:
        - name: startDate
          in: query
          required: true
          description: Data de início do período (formato YYYY-MM-DD)
          schema:
            type: string
            format: date
            example: '2024-01-01'
        - name: endDate
          in: query
          required: true
          description: Data de fim do período (formato YYYY-MM-DD)
          schema:
            type: string
            format: date
            example: '2024-01-31'
      responses:
        '200':
          description: Dados de receita retornados com sucesso.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      totalRevenue:
                        type: number
                        description: Receita total do período em centavos
                        example: 150000
                      totalTransactions:
                        type: integer
                        description: Total de transações no período
                        example: 45
                      transactionsPerDay:
                        type: object
                        description: >-
                          Objeto com transações agrupadas por dia (chave é a
                          data no formato YYYY-MM-DD)
                        additionalProperties:
                          type: object
                          properties:
                            amount:
                              type: number
                              description: Valor total das transações do dia em centavos
                              example: 5000
                            count:
                              type: integer
                              description: Quantidade de transações do dia
                              example: 3
                          required:
                            - amount
                            - count
                          additionalProperties: false
                        example:
                          '2024-01-15':
                            amount: 5000
                            count: 3
                          '2024-01-16':
                            amount: 3000
                            count: 2
                    required:
                      - totalRevenue
                      - totalTransactions
                      - transactionsPerDay
                    additionalProperties: false
                  error:
                    type: string
                    nullable: true
                    example: null
                  success:
                    $ref: '#/components/schemas/Success'
        '400':
          description: Erro de validação. Parâmetros inválidos ou ausentes.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Mensagem de erro descrevendo o problema de validação.
                    example: End date must be after start date
        '401':
          description: Não autorizado. Falha na autenticação.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: >-
                      Mensagem de erro descrevendo o motivo da falha na
                      autenticação.
                    example: Unauthorized
      security:
        - bearerAuth: []
components:
  schemas:
    Success:
      type: boolean
      description: Se a requisição obteve sucesso ou não.
      example: true
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >
        Todas as requisições devem incluir sua chave de API no header
        Authorization usando o formato `Bearer <abacatepay-api-key>`. Sem esse
        header a requisição será rejeitada.


        Saiba mais sobre como criar e usar chaves de API na [documentação de
        autenticação](/pages/authentication).

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.