# Registrar visita al paywall

> Adapty puede ayudarte a medir la conversión de tus paywalls. Sin embargo, para ello
> es necesario que registres cuándo se muestra un paywall — sin eso solo conoceríamos
> a los usuarios que realizaron una compra y perderíamos a aquellos que no lo hicieron.
> Utiliza esta solicitud para registrar una visita al paywall.

## OpenAPI

```yaml
/api-specs/web-api.yaml post /api/v2/web-api/paywall/visit/
openapi: 3.1.0
info:
  title: Adapty Web API
  version: 1.0.0
  description: |
    La Adapty Web API te permite integrar la plataforma de gestión de suscripciones de Adapty
    en tus aplicaciones web. Esta API proporciona endpoints para obtener paywalls,
    registrar visitas a paywalls y añadir datos de atribución.
servers:
  - url: https://api.adapty.io
    description: Servidor de producción
security:
  - apikeyAuth: []
paths:
  /api/v2/web-api/paywall/visit/:
    post:
      summary: Registrar visita al paywall
      description: |
        Adapty puede ayudarte a medir la conversión de tus paywalls. Sin embargo, para ello
        es necesario que registres cuándo se muestra un paywall — sin eso solo conoceríamos
        a los usuarios que realizaron una compra y perderíamos a aquellos que no lo hicieron.
        Utiliza esta solicitud para registrar una visita al paywall.
      operationId: recordPaywallView
      security:
        - apikeyAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/RecordPaywallViewRequest"
            examples:
              basic:
                summary: Registro básico de visita al paywall
                value:
                  visited_at: "2024-08-24T14:15:22Z"
                  store: app_store
                  variation_id: 00000000-0000-0000-0000-000000000000
                  customer_user_id: user123
      responses:
        "201":
          description: La visita al paywall se ha registrado correctamente.
          content:
            application/json:
              schema:
                type: object
                description: Cuerpo de respuesta vacío
        "400":
          description: Solicitud incorrecta
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InvalidDateFormatError"
        "401":
          description: No autorizado
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedError"
        "404":
          description: No encontrado
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProfileNotFoundError"
components:
  schemas:
    RecordPaywallViewRequest:
      type: object
      required:
        - store
        - variation_id
      properties:
        customer_user_id:
          type: string
          description: Identificador de un usuario en tu sistema. Se requiere `customer_user_id` o `profile_id`.
          example: user123
        profile_id:
          type: string
          description: Identificador de un usuario en Adapty. Se requiere `customer_user_id` o `profile_id`.
          example: 3286abd3-48b0-4e9c-a5f6-ac0a006804a6
        visited_at:
          type: string
          format: date-time
          description: La fecha y hora en que el usuario abrió el paywall.
          example: "2024-08-24T14:15:22Z"
        store:
          type: string
          description: |
            Store donde se realizó la compra del producto. Valores posibles: `app_store`, `play_store`, `stripe` o el `Store ID` de tu store personalizado.
          example: app_store
        variation_id:
          type: string
          format: uuid
          description: El ID de variante utilizado para rastrear las compras vinculadas al paywall específico desde el que se realizaron.
          example: 00000000-0000-0000-0000-000000000000
    InvalidDateFormatError:
      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
    ProfileNotFoundError:
      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
  securitySchemes:
    apikeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: |
        Las solicitudes a la API deben autenticarse con tu clave API pública en la cabecera **Authorization**
        con el valor `Api-Key {tu_clave_api_publica}`, por ejemplo,
        `Api-Key public_live_...`. Encuentra esta clave en el Adapty Dashboard ->
        **App Settings** -> pestaña **General** -> sección **API keys**.
```
