# Récupérer les données d'entonnoir

> Récupère les données d'entonnoir pour suivre la progression des utilisateurs à travers les étapes spécifiques d'un processus de conversion.
>
> Limite de débit : 2 requêtes par seconde.

## OpenAPI

```yaml
/api-specs/export-analytics-api.yaml post /api/v1/client-api/metrics/funnel/
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/funnel/:
    post:
      summary: Récupérer les données d'entonnoir
      description: |-
        Récupère les données d'entonnoir pour suivre la progression des utilisateurs à travers les étapes spécifiques d'un processus de conversion.

        Limite de débit : 2 requêtes par seconde.
      operationId: retrieveFunnelData
      security:
        - apikeyAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/FunnelDataRequest"
            examples:
              basic:
                summary: Requête de données d'entonnoir de base
                value:
                  filters:
                    date:
                      - "2024-01-01"
                      - "2024-12-31"
                    compare_date:
                      - "2023-01-01"
                      - "2023-12-31"
                    offer_category:
                      - promotional
                  period_unit: quarter
                  show_value_as: absolute
                  format: csv
      responses:
        "200":
          description: Données d'entonnoir récupérées avec succès
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/FunnelDataResponse"
              example:
                data:
                  - title: Total
                    type: total
                    values:
                      - period: -2
                        title: Install
                        value: 2
                        value_relative: 100
                        relative_changes: 0
                        following_changes:
                          title: Drop off
                          value: 2
                          value_relative: 100
                        churn_reason_title: ""
                        churn_reasons: []
                        values: []
                      - period: -1
                        title: Paywall displayed
                        value: 0
                        value_relative: 0
                        relative_changes: 0
                        following_changes:
                          title: Drop off
                          value: 0
                          value_relative: 0
                        churn_reason_title: ""
                        churn_reasons: []
                        values: []
            text/csv:
              schema:
                type: string
                description: Données d'entonnoir 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:
    FunnelDataRequest:
      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
        show_value_as:
          type: string
          enum:
            - absolute
            - relative
            - both
          description: Indiquez comment les valeurs sont affichées
        segmentation:
          type: string
          description: Définit la base de la segmentation
        format:
          type: string
          enum:
            - json
            - csv
          description: Indiquez le format de fichier d'export
          default: json
    FunnelDataResponse:
      type: object
      description: Réponse contenant les données d'analyse d'entonnoir montrant la progression des utilisateurs à travers les étapes de conversion
      properties:
        data:
          type: array
          description: Tableau de segments d'entonnoir montrant les différentes étapes du processus de conversion
          items:
            $ref: "#/components/schemas/FunnelSegment"
    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
    FunnelSegment:
      type: object
      description: Un segment d'entonnoir représentant une étape du processus de conversion
      properties:
        title:
          type: string
          description: Titre d'affichage pour ce segment d'entonnoir
        type:
          type: string
          description: Type de segment d'entonnoir ('total' pour les données agrégées)
        values:
          type: array
          description: Tableau de valeurs d'entonnoir montrant la progression à travers les étapes
          items:
            $ref: "#/components/schemas/FunnelValue"
    FunnelValue:
      type: object
      description: Valeur d'étape d'entonnoir individuelle montrant la progression des utilisateurs et le taux d'abandon
      properties:
        period:
          type: integer
          description: Numéro de période dans l'entonnoir (-2 = Installation, -1 = Paywall affiché, etc.)
        title:
          type: string
          description: Titre d'affichage pour cette étape de l'entonnoir
        value:
          type: integer
          description: Nombre d'utilisateurs ayant atteint cette étape
        value_relative:
          type: number
          description: Pourcentage d'utilisateurs ayant atteint cette étape par rapport à la première étape
        relative_changes:
          type: number
          description: Variation du taux de conversion par rapport à la période précédente
        following_changes:
          type: object
          description: Informations sur les utilisateurs ayant abandonné après cette étape
          properties:
            title:
              type: string
              description: Titre pour l'étape d'abandon
            value:
              type: integer
              description: Nombre d'utilisateurs ayant abandonné
            value_relative:
              type: number
              description: Pourcentage d'utilisateurs ayant abandonné
        churn_reason_title:
          type: string
          description: Titre décrivant la raison du désabonnement à cette étape
        churn_reasons:
          type: array
          description: Tableau des raisons spécifiques de désabonnement
          items:
            type: object
        values:
          type: array
          description: Valeurs imbriquées supplémentaires pour cette étape de l'entonnoir
          items:
            type: object
  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_...`.
```
