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

# 전환값 가져오기 (SKAN 3, SKAN 4)

SKAdNetwork(SKAN)는 iOS 환경에서 개인정보를 보호하며 유저 또는 디바이스 정보없이 iOS 앱 설치 캠페인 성과를 측정할 수 있는 애플의 프레임워크입니다. 에어브릿지는 SKAdNetwork Configuration API를 통해 인증된 광고 채널에 전환값과 광고주가 전환값에 매핑한 이벤트를 제공합니다. 이를 활용하면 광고 채널은 광고주의 SKAN 포스트백을 디코딩할 수 있습니다. API는 중첩된 JSON 형태로 반환됩니다.

광고주는 언제든 전환값과 매핑된 이벤트를 변경할 수 있습니다. 광고 채널은 SKAdNetwork Configuration API를 매일 호출해 최신 구성으로 업데이트하는 것을 권장합니다.

<div id="알립니다" />

<Info>
  **알립니다**

  SKAdNetwork Configuration API는 인증된 광고 채널에만 사용할 수 있는 API입니다.
</Info>

에어브릿지는 전환값(Conversion Value) 설정 대시보드를 2가지 지원합니다. 아래 API를 사용하면 고객사가 설정한 전환값 정보를 대시보드 종류와 관계없이 가져갈 수 있습니다.

모든 SKAN 버전과 모든 대시보드를 제공하기 때문에 해당 API로 전환값 정보를 가져가는 것을 권장합니다.

**연관 가이드)** [모든 SKAN 전환값 설정하기](/ko/guides/skadnetwork-4-settings)

```text GET theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
https://api.airbridge.io/skadnetwork/v1/conversion-value-schema?api_key={API_KEY}&response_format={RESPONSE_FORMAT}&itunes_app_id={ITUNES_APP_ID}
```

<h2 id="전환값-가져오기-skan-3-skan-4-request">
  Request
</h2>

***

<h3 id="전환값-가져오기-skan-3-skan-4-headers">
  Headers
</h3>

<ParamField header="Accept-Language" type="string">
  API 요청 및 결과 반환에 사용할 언어를 지정할 수 있습니다. ISO-639-1 포맷을 따릅니다.
</ParamField>

<ParamField header="Content-Type" type="string">
  리소스의 미디어 타입을 나타냅니다. 기본값으로 `application/json`을 사용합니다.
</ParamField>

<h3 id="전환값-가져오기-skan-3-skan-4-query-params">
  Query Params
</h3>

<ParamField query="itunes_app_id" type="string" required>
  [iOS App Store ID](https://developer.apple.com/documentation/appstoreconnectapi/read_app_information)를 입력해 주세요.

  예시) 1370724782
</ParamField>

<ParamField query="response_format" type="string" required>
  광고 채널의 에어브릿지 표시 이름. 광고 채널 이름과 다릅니다.

  예시) tiktok, facebook.business

  **연관 가이드)** [에어브릿지와 연동된 광고 채널 목록](/ko/guides/integrated-ad-channels-list)
</ParamField>

<ParamField query="api_key" type="string" required>
  에어브릿지가 인증된 광고 채널에 제공하는 API 키입니다. 에어브릿지에 요청해 주세요.
</ParamField>

<RequestExample>
  ```shellscript Request theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
  curl -X GET 'https://api.airbridge.io/skadnetwork/v1/conversion-value-schema?api_key={API_KEY}&response_format={RESPONSE_FORMAT}&itunes_app_id={ITUNES_APP_ID}' \
    -H 'Accept-Language: ko' \
    -H 'Content-Type: application/json'
  ```
</RequestExample>

<h2 id="전환값-가져오기-skan-3-skan-4-response">
  Response
</h2>

***

### 200

<ResponseField name="config_type" type="string">
  전환값을 설정한 SKAN 버전
</ResponseField>

<ResponseField name="default_currency" type="string">
  에어브릿지에 설정한 3자리 [앱 기준 통화](/ko/guides/set-app-standard-currency)
</ResponseField>

<ResponseField name="last_update_time" type="number">
  SKAN 설정이 에어브릿지에서 마지막으로 업데이트된 시각. 8자리 유닉스 시간
</ResponseField>

<ResponseField name="postbacks" type="object[]">
  SKAN 포스트백 설정

  <Expandable title="하위 변수">
    <ResponseField name="postbacks[0].postback_sequence_index" type="number">
      [포스트백 티어](/ko/guides/skadnetwork-4#포스트백-티어). 0, 1, 2 또는 3입니다.
    </ResponseField>

    <ResponseField name="postbacks[0].conversion_schema" type="object">
      전환값 종류. 상세 전환값 또는 단순 전환값입니다.

      <Expandable title="하위 변수">
        <ResponseField name="postbacks[0].conversion_schema.fine" type="object">
          전체 [상세 전환값](/ko/guides/skadnetwork-4-settings#전환값-1) 설정. 여러 개의 상세 전환값 설정으로 구성됩니다.

          <Expandable title="하위 변수">
            <ResponseField name="postbacks[0].conversion_schema.fine.schema" type="object[]">
              단일 상세 전환값의 구성

              <Expandable title="하위 변수">
                <ResponseField name="postbacks[0].conversion_schema.fine.schema[0].conversion_value" type="string">
                  상세 전환값. `0`부터 `63`까지 정수 중에서 하나입니다
                </ResponseField>

                <ResponseField name="postbacks[0].conversion_schema.fine.schema[0].events" type="object[]">
                  상세 전환값에 매핑된 이벤트에 대한 정보

                  <Expandable title="하위 변수">
                    <ResponseField name="postbacks[0].conversion_schema.fine.schema[0].events[0].event_name" type="string">
                      상세 전환값에 매핑된 [에어브릿지 이벤트 카테고리](/ko/guides/airbridge-event-types#스탠다드-이벤트-목록). 광고 채널 이벤트 이름과 다릅니다.
                    </ResponseField>

                    <ResponseField name="postbacks[0].conversion_schema.fine.schema[0].events[0].partner_event_name" type="string">
                      에어브릿지 이벤트와 매핑된 광고 채널 이벤트 이름
                    </ResponseField>

                    <ResponseField name="postbacks[0].conversion_schema.fine.schema[0].events[0].measurement_type" type="string">
                      상세 전환값의 [측정타입](/ko/guides/skadnetwork-4#측정-타입-이해하기). 인앱이벤트(`engagement`) 또는 이벤트 금액(`revenue`)이 제공됩니다.
                    </ResponseField>

                    <ResponseField name="postbacks[0].conversion_schema.fine.schema[0].events[0].values" type="object">
                      설정한 측정타입에 적용되는 측정 범위에 대한 정보

                      <Expandable title="하위 변수">
                        <ResponseField name="postbacks[0].conversion_schema.fine.schema[0].events[0].values.min_amount" type="number">
                          측정 범위의 시작값. 시작값을 초과한 범위를 측정합니다.
                        </ResponseField>

                        <ResponseField name="postbacks[0].conversion_schema.fine.schema[0].events[0].values.max_amount" type="number">
                          측정 범위의 종료값. 종료값까지 측정합니다.
                        </ResponseField>
                      </Expandable>
                    </ResponseField>
                  </Expandable>
                </ResponseField>

                <ResponseField name="postbacks[0].conversion_schema.fine.schema[0].is_overlapped" type="string">
                  [중복 기여 판별](/ko/guides/skadnetwork-4#중복-기여-판별)에 대한 정보입니다.

                  * `true`: 중복으로 기여됐습니다
                  * `false`: 중복으로 기여되지 않았습니다
                  * 빈칸: 중복 기여 판별을 사용하지 않습니다
                </ResponseField>
              </Expandable>
            </ResponseField>

            <ResponseField name="postbacks[0].conversion_schema.fine.lock_window" type="string">
              [락  윈도우](/ko/guides/skadnetwork-4#락-윈도우) 설정.
              상세 전환값의 락 윈도우는 항상 `null`입니다.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="postbacks[0].conversion_schema.coarse" type="string">
          전체 [단순 전환값](/ko/guides/skadnetwork-4#단순-전환값) 설정. 여러 개의 전환값으로 구성됩니다

          <Expandable title="하위 변수">
            <ResponseField name="postbacks[0].conversion_schema.coarse.schema" type="object[]">
              단일 단순 전환값 설정

              <Expandable title="하위 변수">
                <ResponseField name="postbacks[0].conversion_schema.coarse.schema[0].conversion_value" type="string">
                  단순 전환값. `low`, `medium`, `high` 중 하나입니다
                </ResponseField>

                <ResponseField name="postbacks[0].conversion_schema.coarse.schema[0].events" type="object[]">
                  단순 전환값에 매핑된 이벤트에 대한 정보

                  <Expandable title="하위 변수">
                    <ResponseField name="postbacks[0].conversion_schema.coarse.schema[0].events[0].event_name" type="string">
                      단순 전환값에 매핑된 [에어브릿지 이벤트 카테고리](/ko/guides/airbridge-event-types#스탠다드-이벤트-목록). 광고 채널 이벤트 이름과 다릅니다.
                    </ResponseField>

                    <ResponseField name="postbacks[0].conversion_schema.coarse.schema[0].events[0].partner_event_name" type="string">
                      에어브릿지 이벤트와 매핑된 광고 채널 이벤트 이름
                    </ResponseField>

                    <ResponseField name="postbacks[0].conversion_schema.coarse.schema[0].events[0].measurement_type" type="string">
                      단순 전환값의 [측정타입](/ko/guides/skadnetwork-4#측정-타입-이해하기).
                      인앱이벤트(`engagement`) 이벤트 금액(`revenue`), 또는 리텐션(`retention`) 중에서 1개만 제공됩니다. 중복 기여 판별을 사용하면 제공되지 않습니다
                    </ResponseField>

                    <ResponseField name="postbacks[0].conversion_schema.coarse.schema[0].events[0].values" type="object[]">
                      설정한 측정타입에 적용되는 측정 범위에 대한 정보

                      <Expandable title="하위 변수">
                        <ResponseField name="postbacks[0].conversion_schema.coarse.schema[0].events[0].values.min_count" type="string">
                          측정 범위의 시작값. 시작값을 초과한 범위를 측정합니다.

                          측정타입이 리텐션이면 시작값부터 측정합니다.
                        </ResponseField>

                        <ResponseField name="postbacks[0].conversion_schema.coarse.schema[0].events[0].values.max_count" type="string">
                          측정 범위의 종료값. 종료값까지 측정합니다
                        </ResponseField>
                      </Expandable>
                    </ResponseField>
                  </Expandable>
                </ResponseField>

                <ResponseField name="postbacks[0].conversion_schema.coarse.schema[0].is_overlapped" type="string">
                  [중복 기여 판별](/ko/guides/skadnetwork-4#중복-기여-판별)에 대한 정보입니다.

                  * `true`: 중복으로 기여됐습니다
                  * `false`: 중복으로 기여되지 않았습니다
                  * 빈칸: 중복 기여 판별을 사용하지 않습니다
                </ResponseField>
              </Expandable>
            </ResponseField>

            <ResponseField name="postbacks[0].conversion_schema.coarse.lock_window" type="string">
              [락  윈도우](/ko/guides/skadnetwork-4#락-윈도우) 설정.
              2번째, 3번째 포스트백에서만 제공됩니다.
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

### 401

인증된 광고 채널이 아닙니다

### 404

해당하는 앱 또는 URL을 찾을 수 없습니다

### 404

해당 주소(URL)를 찾을 수 없습니다.

<ResponseExample>
  ```json 200 theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
  {
    "postbacks": [
      {
        "conversion_schema": {
          "fine": {
            "schema": [
              {
                "events": [],
                "is_overlapped": false,
                "conversion_value": "0"
              },
              {
                "events": [
                  {
                    "values": {
                      "max_amount": 1,
                      "min_amount": 0
                    },
                    "event_name": "airbridge.ecommerce.order.completed",
                    "measurement_type": "engagement",
                    "partner_event_name": "adnetwork_mobile_purchase"
                  },
                  {
                    "values": {
                      "max_amount": 10000,
                      "min_amount": 0
                    },
                    "event_name": "airbridge.ecommerce.order.completed",
                    "measurement_type": "revenue",
                    "partner_event_name": "adnetwork_mobile_purchase"
                  }
                ],
                "is_overlapped": false,
                "conversion_value": "1"
              }
            ],
            "lock_window": null
          },
          "coarse": {
            "schema": [
              {
                "events": [
                  {
                    "values": {
                      "max_amount": 4,
                      "min_amount": 3
                    },
                    "event_name": "app_open",
                    "measurement_type": "retention",
                    "partner_event_name": null
                  }
                ],
                "is_overlapped": null,
                "conversion_value": "low"
              }
            ]
          }
        },
        "postback_sequence_index": 0
      }
    ],
    "config_type": "SKAN 4.0",
    "default_currency": "KRW",
    "last_update_time": 1700000000
  }
  ```

  ```json 401 theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
  {
    "type": "about:blank",
    "title": "UNAUTHORIZED",
    "detail": "Unauthorized.",
    "status": 401,
    "traceId": "1-000000-000000000000000",
    "instance": null
  }
  ```

  ```json 404 theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
  {
    "type": "about:blank",
    "title": "NOT_FOUND",
    "detail": "There is no such app. Please check.",
    "status": 404,
    "traceId": "1-000000-000000000000000",
    "instance": null
  }
  ```

  ```json 404 theme={"theme":{"light":"github-dark-dimmed","dark":"github-dark-dimmed"}}
  {
    "type": "about:blank",
    "title": "url_disabled_by_toggle",
    "detail": "URL has been disabled. Turn on the toggle button to reactivate.",
    "status": 404,
    "traceId": "1-000000-000000000000000",
    "instance": null
  }
  ```
</ResponseExample>
