# Récupérer les données de conversion

> Récupère les données de conversion pour analyser les actions des utilisateurs et mesurer l'efficacité des efforts marketing 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/conversion/
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/conversion/:
    post:
      summary: Récupérer les données de conversion
      description: |-
        Récupère les données de conversion pour analyser les actions des utilisateurs et mesurer l'efficacité des efforts marketing dans le temps.

        Limite de débit : 2 requêtes par seconde.
      operationId: retrieveConversionData
      security:
        - apikeyAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ConversionDataRequest"
            examples:
              basic:
                summary: Requête de données de conversion de base
                value:
                  filters:
                    date:
                      - "2024-01-01"
                      - "2024-12-31"
                  from_period: 1
                  to_period: 6+
                  period_unit: month
                  date_type: purchase_date
                  segmentation: country
                  format: json
      responses:
        "200":
          description: Données de conversion récupérées avec succès
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConversionDataResponse"
              example:
                data: []
                value: 0
                value_from: 0
                value_to: 0
                compare_value_from: null
                compare_value_to: null
                title: Conversion rate from Paid to more than 6 months
                type: multi
                default_aggregation: sum
                description: If Х - the number of the 1st payments taken during the selected date, and Y - the amount of the renewals that happened after the 6 months since the selected date from those 1st payments, then Conversion = (Y / X) * 100%. For example, we had 100 1st subscriptions of various products on the 1st of January and among them 20 renewed on the 1st week of July (the 25th payment). On the 8th of July, we open the chart and see the conversion of the 1st of January = (20 / 100) * 100% = 20%. Then 30 more subscribers of the 1st of January renewed by the start of August (the 8th payment). We open the chart on the 1st of August and see that the conversion of the 1st of January = ((20+30) / 100) * 100% = 50%. This number shows which part of those who had their 1st payment on the 1st of January converted to the period > 6 months with any number of payments by the current moment.
                metric_name: from_paid_to_6_months_conversion
                is_json: true
                unit: percent
                recommended_period:
                  date_from: "2018-04-29"
                  date_to: "2024-12-31"
                  period_unit: month
            text/csv:
              schema:
                type: string
                description: Données de conversion 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:
    ConversionDataRequest:
      type: object
      required:
        - filters
        - from_period
        - to_period
      properties:
        filters:
          $ref: "#/components/schemas/MetricsFilters"
        from_period:
          oneOf:
            - type: string
            - type: "null"
          description: L'état d'abonnement de départ de l'utilisateur dans la conversion
        to_period:
          type: string
          description: Le nouvel état d'abonnement de l'utilisateur après la conversion
        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
          default: month
        date_type:
          type: string
          enum:
            - purchase_date
            - profile_install_date
          description: Indiquez quelle date doit être considérée comme date d'entrée de l'utilisateur
          default: purchase_date
        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
    ConversionDataResponse:
      type: object
      description: Réponse contenant les données de conversion montrant la progression des utilisateurs entre les états d'abonnement
      properties:
        data:
          type: array
          description: Tableau de points de données de conversion (peut être vide pour les métriques agrégées)
          items:
            type: object
        value:
          type: number
          description: La valeur du taux de conversion
        value_from:
          type: integer
          description: État d'abonnement de départ pour la conversion
        value_to:
          type: integer
          description: État d'abonnement cible pour la conversion
        compare_value_from:
          type: number
          nullable: true
          description: Valeur de début pour la période de comparaison
        compare_value_to:
          type: number
          nullable: true
          description: Valeur de fin pour la période de comparaison
        title:
          type: string
          description: Titre d'affichage décrivant le type de conversion
        type:
          type: string
          description: Type de métrique de conversion
        default_aggregation:
          type: string
          description: Méthode d'agrégation par défaut pour cette métrique
        description:
          type: string
          description: Explication détaillée du mode de calcul du taux de conversion
        metric_name:
          type: string
          description: Nom interne de la métrique de conversion
        is_json:
          type: boolean
          description: Indique si les données sont au format JSON
        unit:
          type: string
          description: Unité de mesure (généralement 'percent' pour les taux de conversion)
        recommended_period:
          type: object
          description: Plage de dates recommandée pour cette métrique de conversion
          properties:
            date_from:
              type: string
              description: Date de début de la période recommandée
            date_to:
              type: string
              description: Date de fin de la période recommandée
            period_unit:
              type: string
              description: Unité de période recommandée
    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_...`.
```
