> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aiderx.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Record Activity Log

> 전환 이벤트 - 사용자가 광고를 본 후 가치있는 행동을 수행할 때. 전환은 비즈니스 목표에 따라 정의될 수 있습니다.

지원하는 활동 유형:

* `activity.item_view`: 제품 상세 페이지 보기 이벤트
* `activity.add_cart`: 장바구니 추가 이벤트
* `activity.page_view`: 페이지 방문 이벤트
* `activity.search`: 검색 쿼리 이벤트
* `activity.purchase`: 완료된 구매 이벤트

모든 요청에 대해 200 OK를 반환합니다. 유효하지 않은 스키마는 무시됩니다.



## OpenAPI

````yaml /openapi/adm.openapi.ko-0.2.2.json post /dmp/v0/log/activity
openapi: 3.1.0
info:
  description: >-
    ## 소개

    Data Management API는 광고 및 추천 시스템이 활용하는 **다양한 데이터를** 종합적으로 관리해, Decision API가
    정확하고 효율적으로 작동할 수 있도록 돕습니다.


    캠페인이나 지면을 신규 등록하고 수정·삭제하는 것은 물론, **로그 및 통계 분석을** 통해 시스템 운영에 필요한 인사이트를 확보합니다.
    이렇게 확보된 데이터와 통계는 Decision API에서 최적화된 광고·콘텐츠를 결정하는 데 활용되며, 전체 광고·추천 시스템의 성능
    향상에 이바지합니다.
  title: Data Management APIs
  version: 0.1.3
servers: []
security: []
tags:
  - name: Audience Targeting
  - description: >
      오디언스 관리 API를 사용하여 오디언스 관련 데이터를 통합할 수 있습니다.


      참고:

      - [First-Party
      Data](https://docs.aiderx.io/guides/about-a2/en/first-party-data)
    name: Audience
  - description: >
      광고 타겟팅 및 성과 최적화를 위한 사용자 활동 로그 수집 API.


      활동 로그는 광고 상호작용 여부와 관계없이 모든 사용자의 상품 조회, 검색, 장바구니 추가, 구매 등 실제 사용자 행동을 기록합니다.


      참고:

      - [First-Party
      Data](https://docs.aiderx.io/guides/about-a2/en/first-party-data)
    name: Activity Log
  - description: >
      오디언스 속성 API로 오디언스 속성 데이터에 액세스할 수 있습니다.


      참고:

      - [Audience
      Targeting](https://docs.aiderx.io/guides/about-a2/en/audience-targeting)
    name: Audience Attribute
  - description: >
      오디언스 세그먼트 API로 오디언스 세그먼트 데이터에 액세스할 수 있습니다.


      참고:

      - [Audience
      Targeting](https://docs.aiderx.io/guides/about-a2/en/audience-targeting)
    name: Audience Segment
  - description: >
      광고 타겟팅 및 성과 최적화를 위한 사용자 활동 로그 수집 API.


      활동 로그는 광고 상호작용 여부와 관계없이 모든 사용자의 상품 조회, 검색, 장바구니 추가, 구매 등 실제 사용자 행동을 기록합니다.


      참고:

      - [First-Party
      Data](https://docs.aiderx.io/guides/about-a2/en/first-party-data)
    name: Activity Log
  - description: >
      오디언스 속성 API로 오디언스 속성 데이터에 액세스할 수 있습니다.


      참고:

      - [Audience
      Targeting](https://docs.aiderx.io/guides/about-a2/en/audience-targeting)
    name: Audience Attribute
  - description: >
      오디언스 세그먼트 API로 오디언스 세그먼트 데이터에 액세스할 수 있습니다.


      참고:

      - [Audience
      Targeting](https://docs.aiderx.io/guides/about-a2/en/audience-targeting)
    name: Audience Segment
  - description: 분석 API는 대시보드 및 A2 메트릭 데이터에 액세스할 수 있습니다.
    name: Analytic
  - description: >-
      결제 정보를 관리하는 결제 API입니다.

      A2는 리테일 플랫폼에서 사용하는 결제 시스템과 통합되도록 구성되어 있습니다.


      결제를 통합하려면 먼저 외부 채널을 등록해야 합니다.

      결제 시스템과 통합하는 방법에 대한 자세한 내용은 [외부 채널
      페이지](https://docs.aiderx.io/guides/about-a2/en/external-channel)를 참고하세요.
    name: Billing
  - description: |
      캠페인 데이터를 관리하는 캠페인 API입니다.

      관련 문서:
      - [Campaign](https://docs.aiderx.io/guides/about-a2/en/campaign)
    name: Campaign
  - description: |
      소재 및 관련 리소스를 관리하는 크리에이티브 API입니다.

      관련 문서:
      - [Creative](https://docs.aiderx.io/guides/about-a2/en/creative)
    name: Creative
  - description: |
      배정 및 관련 리소스를 관리하는 할당 API입니다.

      관련 문서:
      - [Allocation](https://docs.aiderx.io/guides/about-a2/en/allocation)
    name: Allocation
  - description: |
      미디어 라이브러리 및 관련 리소스를 관리하는 미디어 라이브러리 API입니다.

      관련 문서:
      - [Media Library](https://docs.aiderx.io/guides/about-a2/en/media-library)
    name: Media Library
  - description: |
      소재 및 관련 리소스를 관리하는 크리에이티브 API입니다.

      관련 문서:
      - [Creative](https://docs.aiderx.io/guides/about-a2/en/creative)
    name: Creative
  - description: |
      배정 및 관련 리소스를 관리하는 할당 API입니다.

      관련 문서:
      - [Allocation](https://docs.aiderx.io/guides/about-a2/en/allocation)
    name: Allocation
  - description: |
      미디어 라이브러리 및 관련 리소스를 관리하는 미디어 라이브러리 API입니다.

      관련 문서:
      - [Media Library](https://docs.aiderx.io/guides/about-a2/en/media-library)
    name: Media Library
  - description: >
      카탈로그 관리 API는 카탈로그 및 관련 리소스를 관리하는 기능을 제공합니다.


      관련 문서:

      - [First-Party
      Data](https://docs.aiderx.io/guides/about-a2/en/first-party-data)
    name: Catalog
  - description: |
      지면 관리 API는 지면 및 관련 리소스를 관리하는 기능을 제공합니다.

      관련 문서:
      - [Placement](https://docs.aiderx.io/guides/about-a2/en/placement)
    name: Placement
  - description: |
      지면 카탈로그는 지면 정보를 구조화된 “광고 제품”으로 변환하여 광고주에게 쉽게 제시할 수 있습니다.

      관련 문서:
      - 업데이트 예정
    name: Placement Catalog
  - description: |
      지면 카탈로그는 지면 정보를 구조화된 “광고 제품”으로 변환하여 광고주에게 쉽게 제시할 수 있습니다.

      관련 문서:
      - 업데이트 예정
    name: Placement Catalog
  - description: >
      시스템 레벨 설정 및 자산(로고 및 구성 값)에 액세스하고 관리할 수 있는 시스템 API입니다.


      관련 문서:

      - [Yield Optimization
      Settings](https://docs.aiderx.io/guides/about-a2/en/yield-optimization)
    name: System
  - description: >
      인증 및 사용자 관리 기능을 제공합니다.


      관련 문서:

      - [Account and
      Budget](https://docs.aiderx.io/guides/about-a2/en/account-and-budget)
    name: Auth and User
  - description: 라이선스 관리 기능을 제공합니다.
    name: License
  - description: 라이선스 관리 기능을 제공합니다.
    name: License
paths:
  /dmp/v0/log/activity:
    post:
      tags:
        - Activity Log
      summary: Record Activity Log
      description: |-
        전환 이벤트 - 사용자가 광고를 본 후 가치있는 행동을 수행할 때. 전환은 비즈니스 목표에 따라 정의될 수 있습니다.

        지원하는 활동 유형:

        * `activity.item_view`: 제품 상세 페이지 보기 이벤트
        * `activity.add_cart`: 장바구니 추가 이벤트
        * `activity.page_view`: 페이지 방문 이벤트
        * `activity.search`: 검색 쿼리 이벤트
        * `activity.purchase`: 완료된 구매 이벤트

        모든 요청에 대해 200 OK를 반환합니다. 유효하지 않은 스키마는 무시됩니다.
      operationId: handle_activity_log_app_v0_log_activity_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActivityLogSchema'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: 성공적인 응답
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: 유효하지 않은 스키마가 있는 경우 무시됩니다.
components:
  schemas:
    ActivityLogSchema:
      properties:
        catalogs:
          description: 활동에 연관된 카탈로그 목록. (item_view, add_cart, page_view, purchase)
          items:
            $ref: '#/components/schemas/CatalogBaseSchema'
          title: Catalogs
          type: array
        channel:
          description: 활동이 발생한 채널
          title: Channel
          type: string
        device:
          anyOf:
            - $ref: '#/components/schemas/Device'
            - type: 'null'
          description: Optional AdCom v1.0 Device information
        device_id:
          description: Unique identifier for the device used
          title: Device Id
          type: string
        id:
          anyOf:
            - type: string
            - type: 'null'
          description: Unique identifier for the activity event
          title: Id
        page_id:
          anyOf:
            - type: string
            - type: 'null'
          description: 활동이 발생한 페이지의 식별 id
          title: Page Id
        query:
          anyOf:
            - type: string
            - type: 'null'
          description: 검색 쿼리
          title: Query
        revenue:
          anyOf:
            - $ref: '#/components/schemas/Revenue'
            - type: 'null'
          description: 구매 활동에서 발생한 수익
        schema:
          description: 기록할 활동 유형
          enum:
            - activity.item_view
            - activity.add_cart
            - activity.page_view
            - activity.search
            - activity.purchase
          title: Schema
          type: string
        timestamp:
          description: 활동이 발생한 시간 (Unix timestamp)
          title: Timestamp
          type: integer
        user_id:
          description: 활동을 수행한 사용자의 식별 id
          title: User Id
          type: string
      required:
        - schema
        - timestamp
        - channel
        - user_id
        - device_id
        - catalogs
        - query
        - revenue
      title: ActivityLogSchema
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    CatalogBaseSchema:
      description: 카탈로그 엔티티의 기본 구조를 나타내는 스키마
      properties:
        id:
          default: ''
          description: 카탈로그 아이템의 ID
          title: Id
          type: string
        metadata:
          $ref: '#/components/schemas/CatalogMetadataSchema'
          description: |-
            카탈로그 아이템의 메타데이터.

            `schema` 필드에 정의된 스키마는 최소 필수 필드를 지정합니다.
            스키마 정의 외에 추가 필드를 허용하고 보존됩니다.
        schema:
          const: creative.catalog
          default: creative.catalog
          description: |-
            카탈로그 아이템의 스키마.

            지원되는 스키마:
              - `creative.catalog`: `CatalogMetadataSchema`
                    
          title: Schema
          type: string
        source:
          anyOf:
            - type: string
            - type: 'null'
          description: 카탈로그 아이템의 소스
          title: Source
      required:
        - metadata
      title: CatalogBaseSchema
      type: object
    Device:
      properties:
        carrier:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Carrier or ISP (e.g., “VERIZON”) using exchange curated string names
            which should be published to bidders a priori.
          title: Carrier
        contype:
          anyOf:
            - $ref: '#/components/schemas/ConnectionType'
            - type: 'null'
          description: >-
            Network connection type. Refer to List: Connection Types in AdCOM
            1.0.
        didmd5:
          anyOf:
            - type: string
            - type: 'null'
          description: Hardware device ID (e.g., IMEI); hashed via MD5.
          title: Didmd5
        didsha1:
          anyOf:
            - type: string
            - type: 'null'
          description: Hardware device ID (e.g., IMEI); hashed via SHA1.
          title: Didsha1
        dpidmd5:
          anyOf:
            - type: string
            - type: 'null'
          description: Platform device ID (e.g., Android ID); hashed via MD5.
          title: Dpidmd5
        dpidsha1:
          anyOf:
            - type: string
            - type: 'null'
          description: Platform device ID (e.g., Android ID); hashed via SHA1.
          title: Dpidsha1
        ext:
          anyOf:
            - type: object
            - type: 'null'
          description: >-
            Placeholder for advertising-system specific extensions to this
            object
          title: Ext
        flashver:
          anyOf:
            - type: string
            - type: 'null'
          description: Version of Flash supported by the browser.
          title: Flashver
        geo:
          anyOf:
            - $ref: '#/components/schemas/Geo'
            - type: 'null'
          description: >-
            Location of the device assumed to be the user’s current location
            defined by a Geo object (Section 3.2.19).
        geofetch:
          anyOf:
            - $ref: '#/components/schemas/IsGeoSupported'
            - type: 'null'
          description: >-
            Indicates if the geolocation API will be available to JavaScript
            code running in the banner, where 0 = no, 1 = yes.
        h:
          anyOf:
            - type: integer
            - type: 'null'
          description: Physical height of the screen in pixels.
          title: H
        hwv:
          anyOf:
            - type: string
            - type: 'null'
          description: Hardware version of the device (e.g., “5S” for iPhone 5S).
          title: Hwv
        ifa:
          anyOf:
            - type: string
            - type: 'null'
          description: ID sanctioned for advertiser use in the clear (i.e., not hashed).
          title: Ifa
        ip:
          anyOf:
            - type: string
            - type: 'null'
          description: IPv4 address closest to device.
          title: Ip
        ipv6:
          anyOf:
            - type: string
            - type: 'null'
          description: IPv6 address closest to device.
          title: Ipv6
        js:
          anyOf:
            - $ref: '#/components/schemas/IsJSSupported'
            - type: 'null'
          description: Support for JavaScript, where 0 = no, 1 = yes.
        lang:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Browser language using ISO-639-1-alpha-2. Only one of language or
            langb should be present.
          title: Lang
        langb:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Browser language using IETF BCP 47. Only one of language or langb
            should be present.
          title: Langb
        lmt:
          anyOf:
            - $ref: '#/components/schemas/LimitAdTracking'
            - type: 'null'
          description: >-
            1 if the agent prefers a “mobile” version of the content, if
            available, i.e. optimized for small screens or touch input. 0 if the
            agent prefers the “desktop” or “full” content.
        macsha1:
          anyOf:
            - type: string
            - type: 'null'
          description: MAC address of the device; hashed via SHA1.
          title: Macsha1
        make:
          anyOf:
            - type: string
            - type: 'null'
          description: Device make (e.g., “Apple”).
          title: Make
        mccmnc:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Mobile carrier as the concatenated MCC-MNC code (e.g., “310-005”
            identifies Verizon Wireless CDMA in the USA).
          title: Mccmnc
        mccmncsim:
          anyOf:
            - type: string
            - type: 'null'
          description: MCC and MNC of the SIM card using the same format as mccmnc.
          title: Mccmncsim
        model:
          anyOf:
            - type: string
            - type: 'null'
          description: Device model (e.g., “iPhone”).
          title: Model
        os:
          anyOf:
            - type: string
            - type: 'null'
          description: Device operating system (e.g., “iOS”).
          title: Os
        osv:
          anyOf:
            - type: string
            - type: 'null'
          description: Device operating system version (e.g., “3.1.2”).
          title: Osv
        ppi:
          anyOf:
            - type: integer
            - type: 'null'
          description: Screen size as pixels per linear inch.
          title: Ppi
        pxratio:
          anyOf:
            - type: number
            - type: 'null'
          description: The ratio of physical pixels to device independent pixels.
          title: Pxratio
        sua:
          anyOf:
            - $ref: '#/components/schemas/UserAgent'
            - type: 'null'
          description: >-
            Structured user agent information defined by a UserAgent object (see
            Section 3.2.29).
        type:
          anyOf:
            - $ref: '#/components/schemas/DeviceType'
            - type: 'null'
          description: >-
            The general type of device. Refer to List: Device Types in AdCOM
            1.0.
        ua:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Browser user agent string. This field represents a raw user agent
            string from the browser.
          title: Ua
        w:
          anyOf:
            - type: integer
            - type: 'null'
          description: Physical width of the screen in pixels.
          title: W
      title: Device
      type: object
    Revenue:
      properties:
        currency:
          description: Currency code
          title: Currency
          type: string
        revenue:
          description: Revenue amount
          title: Revenue
          type: number
      required:
        - revenue
        - currency
      title: Revenue
      type: object
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          title: Location
          type: array
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
      required:
        - loc
        - msg
        - type
      title: ValidationError
      type: object
    CatalogMetadataSchema:
      additionalProperties: true
      description: |-
        필수 및 선택적 메타데이터 필드를 정의하는 스키마.

        기본 메타데이터 구조 외에 추가 필드를 허용합니다.
      properties:
        brand:
          anyOf:
            - type: string
            - type: 'null'
          description: 카탈로그 아이템의 브랜드
          title: Brand
        category:
          description: 카테고리
          title: Category
          type: string
        created_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: 생성 일시
          title: Created At
        id:
          description: 카탈로그 아이템의 ID
          title: Id
          type: string
        image_link:
          description: 이미지 링크
          title: Image Link
          type: string
        link:
          anyOf:
            - type: string
            - type: 'null'
          description: 링크
          title: Link
        seller_name:
          anyOf:
            - type: string
            - type: 'null'
          description: 판매자명
          title: Seller Name
        title:
          description: 제목
          title: Title
          type: string
        updated_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: 변경 일시
          title: Updated At
      required:
        - id
        - title
        - image_link
        - category
      title: CatalogMetadataSchema
      type: object
    ConnectionType:
      enum:
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
        - 7
      title: ConnectionType
      type: integer
    Geo:
      properties:
        accuracy:
          anyOf:
            - type: integer
            - type: 'null'
          description: >-
            Estimated location accuracy in meters; recommended when lat/lon are
            specified and derived from a device’s location services (i.e., type
            = 1). Note that this is the accuracy as reported from the device.
          title: Accuracy
        city:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            City using United Nations Code for Trade & Transport Locations. See
            Appendix A for a link to the codes.
          title: City
        country:
          anyOf:
            - type: string
            - type: 'null'
          description: Country code using ISO-3166-1-alpha-3.
          title: Country
        ext:
          anyOf:
            - type: object
            - type: 'null'
          description: >-
            Placeholder for advertising-system specific extensions to this
            object
          title: Ext
        ipservice:
          anyOf:
            - $ref: '#/components/schemas/IpLocationService'
            - type: 'null'
          description: >-
            Service or provider used to determine geolocation from IP address if
            applicable (i.e., type = 2). Refer to List: IP Location Services in
            AdCOM 1.0.
        lastfix:
          anyOf:
            - type: integer
            - type: 'null'
          description: >-
            Number of seconds since this geolocation fix was established. Note
            that devices may cache location data across multiple fetches.
            Ideally, this value should be from the time the actual fix was
            taken.
          title: Lastfix
        lat:
          anyOf:
            - type: number
            - type: 'null'
          description: Latitude from -90.0 to +90.0, where negative is south.
          title: Lat
        lon:
          anyOf:
            - type: number
            - type: 'null'
          description: Longitude from -180.0 to +180.0, where negative is west.
          title: Lon
        metro:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Google metro code; similar to but not exactly Nielsen DMAs. See
            Appendix A for a link to the codes.
          title: Metro
        region:
          anyOf:
            - type: string
            - type: 'null'
          description: Region code using ISO-3166-2; 2-letter state code if USA.
          title: Region
        regionfips104:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Region of a country using FIPS 10-4 notation. While OpenRTB supports
            this attribute, it was withdrawn by NIST in 2008.
          title: Regionfips104
        type:
          anyOf:
            - $ref: '#/components/schemas/LocationType'
            - type: 'null'
          description: Source of location data; recommended when passing lat/lon.
        utcoffset:
          anyOf:
            - type: integer
            - type: 'null'
          description: Local time as the number +/- of minutes from UTC.
          title: Utcoffset
        zip:
          anyOf:
            - type: string
            - type: 'null'
          description: ZIP or postal code.
          title: Zip
      title: Geo
      type: object
    IsGeoSupported:
      enum:
        - 0
        - 1
      title: IsGeoSupported
      type: integer
    IsJSSupported:
      enum:
        - 0
        - 1
      title: IsJSSupported
      type: integer
    LimitAdTracking:
      enum:
        - 0
        - 1
      title: LimitAdTracking
      type: integer
    UserAgent:
      properties:
        architecture:
          anyOf:
            - type: string
            - type: 'null'
          description: Device’s major binary architecture, e.g. “x86” or “arm”.
          title: Architecture
        bitness:
          anyOf:
            - type: string
            - type: 'null'
          description: Device’s bitness, e.g. “64” for 64-bit architecture.
          title: Bitness
        browsers:
          anyOf:
            - items:
                $ref: '#/components/schemas/BrandVersion'
              type: array
            - type: 'null'
          description: >-
            Each BrandVersion object (see Section 3.2.30) identifies a browser
            or similar software component.
          title: Browsers
        ext:
          anyOf:
            - type: object
            - type: 'null'
          description: >-
            Placeholder for advertising-system specific extensions to this
            object
          title: Ext
        mobile:
          anyOf:
            - $ref: '#/components/schemas/IsMobile'
            - type: 'null'
          description: >-
            1 if the agent prefers a “mobile” version of the content, if
            available, i.e. optimized for small screens or touch input. 0 if the
            agent prefers the “desktop” or “full” content.
        model:
          anyOf:
            - type: string
            - type: 'null'
          description: Device model.
          title: Model
        platform:
          anyOf:
            - $ref: '#/components/schemas/BrandVersion'
            - type: 'null'
          description: >-
            A BrandVersion object (see Section 3.2.30) that identifies the user
            agent’s execution platform / OS.
        source:
          anyOf:
            - $ref: '#/components/schemas/UserAgentSource'
            - type: 'null'
          description: >-
            The source of data used to create this object, List: User-Agent
            Source in AdCOM 1.0
      title: UserAgent
      type: object
    DeviceType:
      enum:
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
        - 7
        - 8
      title: DeviceType
      type: integer
    IpLocationService:
      enum:
        - 1
        - 2
        - 3
        - 4
      title: IpLocationService
      type: integer
    LocationType:
      enum:
        - 1
        - 2
        - 3
      title: LocationType
      type: integer
    BrandVersion:
      properties:
        brand:
          description: A brand identifier, for example, “Chrome” or “Windows”.
          title: Brand
          type: string
        ext:
          anyOf:
            - type: object
            - type: 'null'
          description: >-
            Placeholder for advertising-system specific extensions to this
            object
          title: Ext
        version:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          description: >-
            A sequence of version components, in descending hierarchical order
            (major, minor, micro, …)
          title: Version
      required:
        - brand
      title: BrandVersion
      type: object
    IsMobile:
      enum:
        - 0
        - 1
      title: IsMobile
      type: integer
    UserAgentSource:
      enum:
        - 0
        - 1
        - 2
        - 3
      title: UserAgentSource
      type: integer

````