# Recuperar datos de conversión

> Recupera datos de conversión para analizar las acciones de los usuarios y medir la efectividad de los esfuerzos de marketing a lo largo del tiempo.
>
> Límite de tasa: 2 solicitudes por segundo.

## OpenAPI

```yaml
/api-specs/export-analytics-api.yaml post /api/v1/client-api/metrics/conversion/
openapi: 3.1.0
info:
  title: API de Exportación de Analíticas de Adapty
  version: 1.0.0
  description: |
    La API de Exportación de Analíticas de Adapty te permite exportar tus datos de analíticas en formato CSV o JSON,
    ofreciéndote la flexibilidad de profundizar en las métricas de rendimiento de tu app, personalizar informes
    y analizar tendencias a lo largo del tiempo. Con esta API puedes extraer fácilmente datos analíticos detallados,
    lo que facilita el seguimiento, la compartición y el refinamiento de tus insights de datos según sea necesario.
servers:
  - url: https://api-admin.adapty.io
    description: Servidor de producción
security:
  - apikeyAuth: []
paths:
  /api/v1/client-api/metrics/conversion/:
    post:
      summary: Recuperar datos de conversión
      description: |-
        Recupera datos de conversión para analizar las acciones de los usuarios y medir la efectividad de los esfuerzos de marketing a lo largo del tiempo.

        Límite de tasa: 2 solicitudes por segundo.
      operationId: retrieveConversionData
      security:
        - apikeyAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ConversionDataRequest"
            examples:
              basic:
                summary: Solicitud básica de datos de conversión
                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: Datos de conversión recuperados correctamente
          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: Datos de conversión en formato CSV
        "400":
          description: Solicitud incorrecta
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "401":
          description: No autorizado
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedError"
        "429":
          description: Límite de tasa superado. Máximo 2 solicitudes por segundo por clave de 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: El estado de suscripción inicial del usuario en la conversión
        to_period:
          type: string
          description: El nuevo estado de suscripción del usuario tras la conversión
        period_unit:
          type: string
          enum:
            - day
            - week
            - month
            - quarter
            - year
          description: Especifica el intervalo de tiempo para agregar los datos de analíticas
          default: month
        date_type:
          type: string
          enum:
            - purchase_date
            - profile_install_date
          description: Especifica qué fecha debe tratarse como fecha de incorporación del usuario
          default: purchase_date
        segmentation:
          type: string
          description: Define la base para la segmentación
        format:
          type: string
          enum:
            - json
            - csv
          description: Especifica el formato del archivo de exportación
          default: json
    ConversionDataResponse:
      type: object
      description: Respuesta que contiene datos de conversión que muestran la progresión de los usuarios entre estados de suscripción
      properties:
        data:
          type: array
          description: Array de puntos de datos de conversión (puede estar vacío para métricas agregadas)
          items:
            type: object
        value:
          type: number
          description: El valor de la tasa de conversión
        value_from:
          type: integer
          description: Estado de suscripción inicial de la conversión
        value_to:
          type: integer
          description: Estado de suscripción objetivo de la conversión
        compare_value_from:
          type: number
          nullable: true
          description: Valor inicial del período de comparación
        compare_value_to:
          type: number
          nullable: true
          description: Valor final del período de comparación
        title:
          type: string
          description: Título de visualización que describe el tipo de conversión
        type:
          type: string
          description: Tipo de métrica de conversión
        default_aggregation:
          type: string
          description: Método de agregación predeterminado para esta métrica
        description:
          type: string
          description: Explicación detallada de cómo se calcula la tasa de conversión
        metric_name:
          type: string
          description: Nombre interno de la métrica de conversión
        is_json:
          type: boolean
          description: Indica si los datos están en formato JSON
        unit:
          type: string
          description: Unidad de medida (normalmente 'percent' para tasas de conversión)
        recommended_period:
          type: object
          description: Rango de fechas recomendado para esta métrica de conversión
          properties:
            date_from:
              type: string
              description: Fecha de inicio del período recomendado
            date_to:
              type: string
              description: Fecha de fin del período recomendado
            period_unit:
              type: string
              description: Unidad de período recomendada
    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: Introduce la fecha o el período de tiempo para el que deseas recuperar los datos del gráfico
        compare_date:
          type: array
          items:
            type: string
          description: Introduce la fecha o el período de tiempo de comparación
        store:
          type: array
          items:
            type: string
          description: Filtra por el store donde se realizó la compra
        country:
          type: array
          items:
            type: string
          description: Filtra por el código de país de 2 letras donde se realizó la compra
        store_product_id:
          type: array
          items:
            type: string
          description: Identificador único de un producto del store
        duration:
          type: array
          items:
            type: string
          description: Especifica la duración de la suscripción
        attribution_source:
          type: array
          items:
            type: string
          description: La integración de origen para la atribución
        attribution_status:
          type: array
          items:
            type: string
          description: Indica si la atribución es orgánica o no orgánica
        attribution_channel:
          type: array
          items:
            type: string
          description: Canal de marketing que originó la transacción
        attribution_campaign:
          type: array
          items:
            type: string
          description: Campaña de marketing que originó la transacción
        attribution_adgroup:
          type: array
          items:
            type: string
          description: Grupo de anuncios de atribución que originó la transacción
        attribution_adset:
          type: array
          items:
            type: string
          description: Conjunto de anuncios de atribución que originó la transacción
        attribution_creative:
          type: array
          items:
            type: string
          description: Elementos visuales o de texto específicos de un anuncio o campaña rastreados para medir la efectividad
        offer_category:
          type: array
          items:
            type: string
          description: Especifica las categorías de oferta para las que deseas recuperar datos
        offer_type:
          type: array
          items:
            type: string
          description: Especifica los tipos de oferta para los que deseas recuperar datos
        offer_id:
          type: array
          items:
            type: string
          description: Especifica las ofertas concretas para las que deseas recuperar datos
  securitySchemes:
    apikeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: |
        Debes autenticar tus solicitudes a la API con tu clave de API secreta como cabecera de autorización.
        Puedes encontrarla en la Configuración de la App. El formato es `Api-Key {YOUR_SECRET_API_KEY}`,
        por ejemplo: `Api-Key secret_live_...`.
```
