> ## 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.

# 크리에이티브 등록

> ## 크리에이티브 등록

크리에이티브 정보를 캐시에 저장합니다.  
광고 제공 중 광고 응답을 구성하는 데 사용됩니다.



## OpenAPI

````yaml /openapi/decision.api.ko-dev.json post /app/api/cache/creatives
openapi: 3.1.0
info:
  contact:
    email: a2support@aiderx.io
    name: A2 Support
    url: https://aiderx.io
  description: |-
    ### 소개
    Decision API는 사용자 요청 또는 컨텍스트 정보를 바탕으로 광고나 콘텐츠를 실시간으로 선택하고 배포합니다.
    빠른 응답과 동적 기능을 통해 최적의 광고 또는 추천을 제공하여 사용자가 가능한 가장 높은 가치를 얻도록 합니다.

    다양한 알고리즘, 머신러닝 모델 및 규칙 기반 로직을 적용할 수 있어 시스템이 끊임없이 변하는 조건에 유연하게 적응할 수 있습니다.
  title: Decision API
  version: dev
  x-logo:
    altText: A2 Logo
    url: >-
      https://cdn.prod.website-files.com/668de9e1f25ab5675d87758d/6690cf1bdce95af5e3522c25_a2_logo_800_250.png
servers: []
security: []
tags:
  - description: 광고 요청, 캐시 설정 및 광고 제공 모듈의 기타 매개변수를 구성하기 위한 API입니다.
    name: Ad Serving
  - description: 추천 요청을 위한 API
    name: Recommendation Serving
  - description: >-
      광고 제공 서버의 캐시를 조작하기 위한 API입니다.


      ### **중요**

      Serving 서버의 광고 또는 추천 관련 캐시 데이터를 직접 조작하는 경우 Ad Manager에서 광고 또는 추천 데이터를 함께
      수정하지 않는 것을 **강력히 권장합니다.**


      대신 모든 광고 또는 추천 데이터 변경은 Ad Manager API를 통해 처리하는 것을 **권장합니다.**

      Serving 서버에서 변경한 내용은 Ad Manager에 반영되지 않으므로 **데이터 무결성**이 손상될 수 있습니다.
    name: Cache Management
  - description: 광고 서빙 서버 설정 API
    name: Configuration
  - description: 광고 또는 추천과 관련된 전환, 노출 및 클릭 로그를 수신하는 API입니다.
    name: Ad Log
paths:
  /app/api/cache/creatives:
    post:
      tags:
        - Cache Management
      summary: 크리에이티브 등록
      description: |-
        ## 크리에이티브 등록

        크리에이티브 정보를 캐시에 저장합니다.  
        광고 제공 중 광고 응답을 구성하는 데 사용됩니다.
      requestBody:
        content:
          application/json:
            schema:
              items:
                $ref: '#/components/schemas/Creative'
              type: array
        required: true
      responses:
        '204':
          description: 성공
        '400':
          content:
            text/plain:
              schema:
                type: string
          description: 요청 본문을 JSON으로 파싱하지 못했습니다.
        '415':
          content:
            text/plain:
              schema:
                type: string
          description: '`Content-Type: application/json`인 요청이 필요합니다.'
        '422':
          content:
            text/plain:
              schema:
                type: string
          description: JSON 본문을 대상 형식으로 역직렬화하지 못했습니다.
        '500':
          description: 내부 서버 오류.
      security:
        - '': []
components:
  schemas:
    Creative:
      properties:
        advertiser_domain:
          description: 광고주 도메인입니다.
          type:
            - string
            - 'null'
        advertiser_id:
          description: 광고주 ID입니다.
          format: uuid
          type:
            - string
            - 'null'
        banner:
          anyOf:
            - $ref: '#/components/schemas/Banner'
            - type: 'null'
          description: 배너 소재 콘텐츠
          examples:
            - ext: {}
              img: ''
              link:
                ext: {}
                url: ''
        description:
          description: 크리에이티브의 선택적 설명입니다.
          type:
            - string
            - 'null'
        end_date:
          format: date-time
          type:
            - string
            - 'null'
        ext:
          default: {}
          description: 크리에이티브의 확장 정보입니다.
        height:
          description: 소재의 픽셀 단위 높이
          format: uint32
          minimum: 0
          type: integer
        id:
          description: 크리에이티브의 고유 식별자(UUID v7)입니다.
          format: uuid
          type: string
        name:
          description: 사람이 읽을 수 있는 크리에이티브 이름입니다.
          type: string
        native:
          anyOf:
            - $ref: '#/components/schemas/Native'
            - type: 'null'
          description: 네이티브 크리에이티브 콘텐츠입니다.
          examples:
            - asset:
                - id: 3
                  title:
                    text: Sample Headline
              link:
                url: https://example.com/click
        owner_id:
          description: 크리에이티브를 생성한 관리자 또는 운영자의 사용자 ID입니다.
          format: uuid
          type: string
        start_date:
          format: date-time
          type:
            - string
            - 'null'
        status:
          allOf:
            - $ref: '#/components/schemas/CreativeStatus'
          default: inactive
          description: 크리에이티브의 상태입니다.
        type:
          allOf:
            - $ref: '#/components/schemas/CreativeType'
          description: '크리에이티브 유형입니다(예: "banner", "video", "native").'
        video:
          anyOf:
            - $ref: '#/components/schemas/Video'
            - type: 'null'
          description: 비디오 크리에이티브 콘텐츠입니다.
          examples:
            - adm: ''
              ctype: 2
              dur: 0
              ext:
                cdn: ''
                linear: 1
                url: ''
              mime: []
        width:
          description: 소재의 픽셀 단위 너비
          format: uint32
          minimum: 0
          type: integer
      required:
        - id
        - type
        - name
        - width
        - height
        - owner_id
      type: object
    Banner:
      properties:
        ext: true
        img:
          type: string
        link:
          anyOf:
            - $ref: '#/components/schemas/LinkAsset'
            - type: 'null'
      required:
        - img
      type: object
    Native:
      properties:
        asset:
          items:
            $ref: '#/components/schemas/Asset'
          type:
            - array
            - 'null'
        ext: true
        link:
          anyOf:
            - $ref: '#/components/schemas/LinkAsset'
            - type: 'null'
      type: object
    CreativeStatus:
      enum:
        - inactive
        - active
      type: string
    CreativeType:
      enum:
        - banner
        - video
        - native
      type: string
    Video:
      properties:
        adm:
          type:
            - string
            - 'null'
        api:
          items:
            format: uint16
            maximum: 65535
            minimum: 0
            type: integer
          type:
            - array
            - 'null'
        ctype:
          format: uint16
          maximum: 65535
          minimum: 0
          type:
            - integer
            - 'null'
        curl:
          type:
            - string
            - 'null'
        dur:
          format: uint32
          minimum: 0
          type:
            - integer
            - 'null'
        ext: true
        mime:
          items:
            type: string
          type:
            - array
            - 'null'
      type: object
    LinkAsset:
      description: >-
        이 객체는 네이티브 에셋을 링크 에셋으로 식별하며, 클릭 유도 문구 또는 기타 활성화 동작의 탐색 경로를 정의하는 데 사용됩니다.
        링크 에셋은 독립적으로 사용하거나 전체 네이티브 광고에 연결하여 모든 에셋의 기본값으로 사용할 수 있습니다.
      properties:
        ext: true
        trkr:
          items:
            type: string
          type:
            - array
            - 'null'
        url:
          type: string
        urlfb:
          type:
            - string
            - 'null'
      required:
        - url
      type: object
    Asset:
      properties:
        data:
          anyOf:
            - $ref: '#/components/schemas/DataAsset'
            - type: 'null'
        ext: true
        id:
          format: int32
          type:
            - integer
            - 'null'
        image:
          anyOf:
            - $ref: '#/components/schemas/ImageAsset'
            - type: 'null'
        link:
          anyOf:
            - $ref: '#/components/schemas/LinkAsset'
            - type: 'null'
        req:
          anyOf:
            - $ref: '#/components/schemas/IsRequired'
            - type: 'null'
        title:
          anyOf:
            - $ref: '#/components/schemas/TitleAsset'
            - type: 'null'
        video:
          anyOf:
            - $ref: '#/components/schemas/VideoAsset'
            - type: 'null'
      type: object
    DataAsset:
      description: >-
        이 객체는 네이티브 에셋을 데이터 에셋으로 식별합니다. 데이터 에셋은 브랜드명, 평점, 별점, 리뷰 수, 다운로드 수, 가격,
        기타 수량과 같은 다양한 요소에 사용됩니다. 현재 명세에서 고려하지 않은 네이티브 요소도 지원하도록 범용적으로 정의되었습니다.
      properties:
        ext: true
        len:
          format: int32
          type:
            - integer
            - 'null'
        type:
          anyOf:
            - $ref: '#/components/schemas/NativeDataAssetType'
            - type: 'null'
        value:
          type: string
      required:
        - value
      type: object
    ImageAsset:
      description: 이 객체는 네이티브 에셋을 이미지 에셋으로 식별합니다. 이미지 에셋은 실제 크리에이티브 이미지와 아이콘 같은 요소에 사용됩니다.
      properties:
        ext: true
        h:
          format: uint32
          minimum: 0
          type:
            - integer
            - 'null'
        type:
          anyOf:
            - $ref: '#/components/schemas/NativeImageAssetType'
            - type: 'null'
        url:
          type: string
        w:
          format: uint32
          minimum: 0
          type:
            - integer
            - 'null'
      required:
        - url
      type: object
    IsRequired:
      enum:
        - 0
        - 1
      type: integer
      x-enum-varnames:
        - 'No'
        - 'Yes'
    TitleAsset:
      description: 이 객체는 네이티브 에셋을 제목 에셋으로 식별합니다. 제목 에셋은 지정된 길이의 일반 텍스트 문자열입니다.
      properties:
        ext: true
        len:
          format: uint32
          minimum: 0
          type:
            - integer
            - 'null'
        text:
          type: string
      required:
        - text
      type: object
    VideoAsset:
      description: '이 객체는 네이티브 에셋을 비디오 에셋으로 식별합니다. 비디오 마크업(예: VAST)은 직접 포함하거나 참조해야 합니다.'
      properties:
        adm:
          type:
            - string
            - 'null'
        curl:
          type:
            - string
            - 'null'
        ext: true
      type: object
    NativeDataAssetType:
      enum:
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
        - 7
        - 8
        - 9
        - 10
        - 11
        - 12
        - 500
      type: integer
      x-enum-varnames:
        - Sponsored
        - Desc
        - Rating
        - Likes
        - Downloads
        - Price
        - SalePrice
        - Phone
        - Address
        - Desc2
        - DisplayUrl
        - CtaText
        - Other
    NativeImageAssetType:
      enum:
        - 1
        - 2
        - 3
        - 4
        - 500
      type: integer
      x-enum-varnames:
        - Icon
        - Main
        - Logo
        - Thumbnail
        - Other

````