# Récupérer les données de rétention

> Récupère les données de rétention pour analyser la capacité d'un produit à maintenir l'engagement des utilisateurs dans le temps.
>
> Limite de débit : 2 requêtes par seconde.

## OpenAPI

```yaml
/api-specs/export-analytics-api.yaml post /api/v1/client-api/metrics/retention/
openapi: 3.1.0
info:
  title: API Adapty Export Analytics
  version: 1.0.0
  description: |
    L'API Adapty Export Analytics vous permet d'exporter vos données d'analyse au format CSV ou JSON,
    vous offrant la flexibilité d'approfondir les métriques de performance de votre application, de personnaliser les rapports
    et d'analyser les tendances au fil du temps. Grâce à cette API, vous pouvez facilement extraire des données d'analyse détaillées,
    ce qui facilite le suivi, le partage et l'affinement de vos informations de données selon vos besoins.
servers:
  - url: https://api-admin.adapty.io
    description: Serveur de production
security:
  - apikeyAuth: []
paths:
  /api/v1/client-api/metrics/retention/:
    post:
      summary: Récupérer les données de rétention
      description: |-
        Récupère les données de rétention pour analyser la capacité d'un produit à maintenir l'engagement des utilisateurs dans le temps.

        Limite de débit : 2 requêtes par seconde.
      operationId: retrieveRetentionData
      security:
        - apikeyAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/RetentionDataRequest"
            examples:
              basic:
                summary: Requête de données de rétention de base
                value:
                  filters:
                    date:
                      - "2024-01-01"
                      - "2024-12-31"
                    compare_date:
                      - "2023-01-01"
                      - "2023-12-31"
                  period_unit: quarter
                  period_type: renewals
                  segmentation: store_product_id
                  format: csv
      responses:
        "200":
          description: Données de rétention récupérées avec succès
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RetentionDataResponse"
              example:
                data: []
                title: Subscription retention
                metric_name: Subscription retention
                description: Absolute value is the amount of users who entered the current step - subscribed for a trial or paid for a subscription. Relative is calculated as a percentage of these users among those who got a trial. So it starts with 100% for the trial step.
                value_type: null
            text/csv:
              schema:
                type: string
                description: Données de rétention au format CSV
        "400":
          description: Requête incorrecte
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "401":
          description: Non autorisé
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedError"
        "429":
          description: Limite de débit dépassée. Maximum 2 requêtes par seconde par clé API.
components:
  schemas:
    RetentionDataRequest:
      type: object
      required:
        - filters
      properties:
        filters:
          $ref: "#/components/schemas/MetricsFilters"
        period_unit:
          type: string
          enum:
            - day
            - week
            - month
            - quarter
            - year
          description: Indiquez l'intervalle de temps pour l'agrégation des données d'analyse
        segmentation:
          type: string
          description: Définit la base de la segmentation
        use_trial:
          type: boolean
          description: Valeur booléenne indiquant si un essai a été utilisé
          default: false
        format:
          type: string
          enum:
            - json
            - csv
          description: Indiquez le format de fichier d'export
          default: json
    RetentionDataResponse:
      type: object
      description: Réponse contenant les données de rétention montrant l'engagement des utilisateurs dans le temps
      properties:
        data:
          type: array
          description: Tableau de points de données de rétention (peut être vide pour certains types de rétention)
          items:
            type: object
        title:
          type: string
          description: Titre d'affichage pour la métrique de rétention
        metric_name:
          type: string
          description: Nom interne de la métrique de rétention
        description:
          type: string
          description: Explication du mode de calcul de la rétention (valeurs absolues ou relatives)
        value_type:
          type: string
          nullable: true
          description: Type de valeur de rétention (absolue ou relative)
    ErrorResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              source:
                type: string
              errors:
                type: array
                items:
                  type: string
        error_code:
          type: string
        status_code:
          type: integer
    UnauthorizedError:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              source:
                type: string
              errors:
                type: array
                items:
                  type: string
        error_code:
          type: string
        status_code:
          type: integer
    MetricsFilters:
      type: object
      required:
        - date
      properties:
        date:
          type: array
          items:
            type: string
          description: Entrez la date ou la période pour laquelle vous souhaitez récupérer les données du graphique
        compare_date:
          type: array
          items:
            type: string
          description: Entrez la date ou la période de comparaison
        store:
          type: array
          items:
            type: string
          description: Filtrez par le store où l'achat a été effectué
        country:
          type: array
          items:
            type: string
          description: Filtrez par le code pays à 2 lettres où l'achat a eu lieu
        store_product_id:
          type: array
          items:
            type: string
          description: Identifiant unique d'un produit dans le store
        duration:
          type: array
          items:
            type: string
          description: Indiquez la durée de l'abonnement
        attribution_source:
          type: array
          items:
            type: string
          description: L'intégration source pour l'attribution
        attribution_status:
          type: array
          items:
            type: string
          description: Indique si l'attribution est organique ou non organique
        attribution_channel:
          type: array
          items:
            type: string
          description: Canal marketing ayant conduit à la transaction
        attribution_campaign:
          type: array
          items:
            type: string
          description: Campagne marketing ayant apporté la transaction
        attribution_adgroup:
          type: array
          items:
            type: string
          description: Groupe d'annonces d'attribution ayant apporté la transaction
        attribution_adset:
          type: array
          items:
            type: string
          description: Ensemble d'annonces d'attribution ayant conduit à la transaction
        attribution_creative:
          type: array
          items:
            type: string
          description: Éléments visuels ou textuels spécifiques d'une annonce ou d'une campagne, suivis pour mesurer leur efficacité
        offer_category:
          type: array
          items:
            type: string
          description: Indiquez les catégories d'offres pour lesquelles vous souhaitez récupérer des données
        offer_type:
          type: array
          items:
            type: string
          description: Indiquez les types d'offres pour lesquels vous souhaitez récupérer des données
        offer_id:
          type: array
          items:
            type: string
          description: Indiquez les offres spécifiques pour lesquelles vous souhaitez récupérer des données
  securitySchemes:
    apikeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: |
        Vous devez authentifier vos requêtes API avec votre clé API secrète en tant qu'en-tête Authorization.
        Vous pouvez la trouver dans les paramètres de l'application. Le format est `Api-Key {VOTRE_CLÉ_API_SECRÈTE}`,
        par exemple : `Api-Key secret_live_...`.
```
