# 광고 유닛 API v1

> Ad Units API v1을 사용하여 광고 플레이스먼트 관리를 간소화하여 모바일 광고 유닛 설정을 프로그래밍 방식으로 설정 가져올 수 있습니다.

이 API 사용하여 레벨플레이 대시보드에서 광고 유닛을 관리합니다. 이 API 다음을 지원합니다.

* 광고 유닛 생성 및 업데이트
* 광고 유닛 설정 관리

요청은 호출 1개 애플리케이션 제한됩니다.

## 속도 제한##rate-limits

API 요청이 30분 동안 4000개를 초과하면 429 HTTP 상태 코드를 반환합니다.

## 인증 유형##authentication-type

[Bearer API 인증](/grow/levelplay/platform/api/authentication.md)

## GET##get

### 설명##description

애플리케이션 광고 유닛 목록을 가져옵니다. 

### 메서드##method

[https://platform.ironsrc.com/levelPlay/adUnits/v1/\{appKey}](https://platform.ironsrc.com/levelPlay/adUnits/v1/\{appKey}) 가져오기

### 요청 파라미터##request-parameters

| Name   | Type | 설명                    | 예시        |
| ------ | ---- | --------------------- | --------- |
| appKey | 문자열  | 애플리케이션 키(플랫폼에서 확인 가능) | 142401ac1 |

### 요청 예시 URL##request-example-url

[https://platform.ironsrc.com/levelPlay/adUnits/v1/142401ac1/](https://platform.ironsrc.com/levelPlay/adUnits/v1/142401ac1/)

### 응답 파라미터##response-parameters

| Name                                 | 설명                                                                                        | 예시               |
| ------------------------------------ | ----------------------------------------------------------------------------------------- | ---------------- |
| mediationAdUnitId                    | 광고 유닛 생성 시 레벨플레이 플랫폼에서 생성한 고유 광고 유닛 ID                                                    | fgx25t56dq201bd2 |
| mediationAdUnitName                  | 광고 유닛 이름                                                                                  | interstitial-1   |
| adFormat                             | 보상형 광고, 인터스티셜 광고, 배너 광고 또는 네이티브 광고                                                        | 인터스티셜 광고         |
| hasAbTest                            | A/B 테스트가 사용 중인지 여부를 나타냅니다(활성화된 경우 true, 그렇지 않으면 false).                                   | False            |
| isPaused                             | 광고 유닛이 현재 일시 중지되었는지 여부를 나타냅니다(일시 중지된 경우 true, 활성화된 경우 false).                             | False            |
| 보상                                   | 보상, 보상 이름, 금액을 나타냅니다. 보상형 광고 형식에만 해당                                                      |                  |
| **다음은 ‘보상’ 파라미터의 보상 필드입니다.**         |                                                                                           |                  |
| rewardItemName                       | 보상 아이템의 이름을 지정합니다.                                                                        | 가상 아이템           |
| rewardAmount                         | 보상 금액 또는 값을 나타냅니다.                                                                        | 1                |
| settings                             | 광고 유닛에 속한 설정 목록                                                                           |                  |
| **이것들은 ‘settings’ 배열의 다음 설정 필드입니다.** |                                                                                           |                  |
| testGroup                            | 테스트와 관련된 설정                                                                               | A                |
| cappingEnabled                       | 한도 또는 한도가 적용되는지 여부를 나타냅니다(활성화된, 사용 가능한 경우 true, 활성화된 경우 false). 보상형 광고 및 인터스티셜 광고 형식에만 해당 | true             |
| cappingLimit                         | 광고 유닛의 최대 한도 값을 지정합니다.                                                                    | 2                |
| cappingInterval                      | 시간 간격을 정의합니다. 'd'(일) 또는 'h'(시간)                                                           | d                |
| pacingEnabled                        | 속도가 활성화되었는지 나타냅니다(활성화된, 사용 가능한 경우 true, 활성화된 경우 false). 보상형 광고 및 인터스티셜 광고 형식에만 해당         | False            |
| pacingMinutes                        | 페이싱 간격을 분 단위로 지정합니다.                                                                      | 5.2              |
| bannerRefreshRate                    | 배너 새로고침 속도 초 단위로 설정합니다. 배너 광고 형식에만 해당                                                     | 10               |

### 응답 예시##response-example

```text
[
    {
        "mediationAdUnitId": "fgx25t56dq201bd2",
        "mediationAdUnitName": "배너",
        "adFormat": "banner",
        "hasAbTest": true,
        "isPaused": false,
        "settings": [
            {
                "testGroup": "A",
                "bannerRefreshRate": 15
            },
            {
                "testGroup": "B",
                "bannerRefreshRate": 20개
            }
        ]
    },
    {
        "mediationAdUnitId": "8oe7wr90gbsbaj74",
        "mediationAdUnitName": 인터스티셜 광고
        "adFormat": "interstitial",
        "hasAbTest": false,
        "isPaused": false,
        "settings": [
            {
                "testGroup": null,
                "cappingEnabled": false,
                "pacingEnabled": false
            }
        ]
    },
    {
        "mediationAdUnitId": "v5ipmsg9d4hiqp60",
        "mediationAdUnitName": "네이티브",
        "adFormat": "native",
        "hasAbTest": false,
        "isPaused": false,
        "settings": [
            {
                "testGroup": null
            }
        ]
    },
    {
        "mediationAdUnitId": "33o8iowbyf3vvof2",
        "mediationAdUnitName": "보상형 광고",
        "adFormat": "rewarded",
        "hasAbTest": false,
        "isPaused": false,
        "reward": {
            "rewardItemName": "가상 아이템",
            "rewardAmount": 1
        },
        "settings": [
            {
                "testGroup": null,
                "cappingEnabled": true,
                "cappingLimit": 2,
                "cappingInterval": "d", 
                "pacingEnabled": true,
                "pacingMinutes": 5.2
            }
        ]
    }
]
```

## 생성##create

이 API 사용하여 Mediation 광고 유닛을 생성합니다. 이 API 사용하면 단일 API 호출 여러 광고 유닛을 생성할 수 있습니다. "settings" 파라미터 사용하면 각 광고 유닛에 대한 구성을 정의할 수 있습니다.

* 이 API 사용하면 단일 API 호출 여러 광고 유닛을 생성할 수 있습니다.
* 이 API 대한 GET 호출 통해 광고 유닛 ID 값에 도달할 수 있습니다.

### 메서드##method

POST [https://platform.ironsrc.com/levelPlay/adUnits/v1/\{appKey}](https://platform.ironsrc.com/levelPlay/adUnits/v1/\{appKey})

### 요청 파라미터##request-parameters

| Name   | Type | 설명                    | 예시        |
| ------ | ---- | --------------------- | --------- |
| appKey | 문자열  | 애플리케이션 키(플랫폼에서 확인 가능) | 142401ac1 |

### 요청 예시 URL##request-example-url

[https://platform.ironsrc.com/levelPlay/adUnits/v1/142401ac1/](https://platform.ironsrc.com/levelPlay/adUnits/v1/142401ac1/)

### 지원 파라미터##supported-parameters

| Name                                 | Type | 설명                                                                                                       | 필수 | 예시         |
| ------------------------------------ | ---- | -------------------------------------------------------------------------------------------------------- | -- | ---------- |
| mediationAdUnitName                  | 문자열  | 새로 생성된 광고 유닛의 이름 Length는 범위가 1\~255여야 합니다.                                                               | ✓  | 인터스티셜 광고 1 |
| adFormat                             | 문자열  | 보상형 광고, 인터스티셜 광고, 배너, 네이티브                                                                               | ✓  | 인터스티셜 광고   |
| 보상                                   | 오브젝트 | 보상, 보상 이름, 금액을 나타냅니다. 보상형 광고 형식에만 해당 보상형 광고 형식의 경우 필수                                                    | x  |            |
| rewardItemName                       | 문자열  | 보상 아이템의 이름을 지정합니다. 길이는 1에서 32 사이여야 합니다.                                                                  | ✓  | 가상 아이템     |
| rewardAmount                         | 숫자   | 보상 금액 또는 값을 나타냅니다.                                                                                       | ✓  | 1          |
| settings                             | 배열   | 설정 목록. 지정되어 있지 않으면 기본값이 설정됩니다.                                                                           | x  |            |
| **이것들은 ‘settings’ 배열의 다음 설정 필드입니다.** |      |                                                                                                          |    |            |
| testGroup                            | 문자열  | 관련된 AB 테스트 그룹입니다. testGroup 값은 'null'이어야 하며, AB 테스트가 없는 경우에는 전송되지 않아야 합니다.                               | x  | null       |
| cappingEnabled                       | 부울   | 한도 또는 한도가 적용되는지 여부를 나타냅니다(활성화된, 사용 가능한 경우 true, 활성화된 경우 false). 보상형 광고 및 인터스티셜 광고 형식에만 해당                | x  | true       |
| cappingLimit                         | 숫자   | 광고 유닛의 최대 한도 값을 지정합니다.                                                                                   | x  | 5          |
| cappingInterval                      | 문자열  | 시간 간격을 정의합니다. 'd'(일) 또는 'h'(시간)                                                                          | x  | d          |
| pacingEnabled                        | 부울   | 속도가 활성화되었는지 나타냅니다(활성화된, 사용 가능한 경우 true, 활성화된 경우 false). 보상형 광고 및 인터스티셜 광고 형식에만 해당                        | x  | true       |
| pacingMinutes                        | 숫자   | 페이징 간격을 분 단위로 지정합니다. 플로트 번호 최대값은 1000입니다.                                                                | x  | 4.6        |
| bannerRefreshRate                    | 숫자   | 배너 새로고침 속도 초 단위로 설정합니다. 배너 광고 형식에만 해당됩니다. 전송되지 않는 경우의 기본값: 25 가능한 값은 0,10,15,20,25,30,45,60,120, 240입니다. | x  | 10         |

### 요청 예시##request-example

```text
[
  {
    "mediationAdUnitName": "interstitial-1",
    "adFormat": "interstitial",
    "settings": [
      {
        "testGroup": null,
        "cappingEnabled": true,
        "cappingInterval": "d",
        "cappingLimit": 5,
        "pacingEnabled": true,
        "pacingMinutes": 4.6
      }
    ]
  },
  {
    "mediationAdUnitName": "banner-1",
    "adFormat": "banner",
    "settings": [
      {
        "bannerRefreshRate": 10
      }
    ]
  },
  {
    "mediationAdUnitName": "rewarded-1",
    "adFormat": "rewarded",
    "reward": {
      "rewardItemName": "가상 아이템",
      "rewardAmount": 1
    }
  }
]
```

## 업데이트##update

### 설명##description

이 API 사용하여 Mediation 광고 유닛 설정을 업데이트합니다.

단일 API 호출 여러 광고 유닛을 업데이트할 수 있습니다.

### 메서드##method

PUT [https://platform.ironsrc.com/levelPlay/adUnits/v1/\{appKey}](https://platform.ironsrc.com/levelPlay/adUnits/v1/\{appKey})

### 요청 파라미터##request-parameters

| Name   | Type | 설명                    | 예시        |
| ------ | ---- | --------------------- | --------- |
| appKey | 문자열  | 애플리케이션 키(플랫폼에서 확인 가능) | 142401ac1 |

### 요청 예시 URL##request-example-url

[https://platform.ironsrc.com/levelPlay/adUnits/v1/142401ac1/](https://platform.ironsrc.com/levelPlay/adUnits/v1/142401ac1/)

### 지원 파라미터##supported-parameters

| Name                                 | Type | 설명                                                                                                                       | 필수 | 예시               |
| ------------------------------------ | ---- | ------------------------------------------------------------------------------------------------------------------------ | -- | ---------------- |
| mediationAdunitId                    | 문자열  | GET 요청에서 전송된 광고 유닛 ID                                                                                                    | ✓  | fgx25t56dq201bd2 |
| mediationAdUnitName                  | 문자열  | 새로 생성된 광고 유닛의 이름 Length는 범위가 1\~255여야 합니다.                                                                               | x  | interstitial-1   |
| isPaused                             | 부울   | 광고 유닛이 현재 일시 중지되었는지 여부를 나타냅니다(일시 중지된 경우 true, 활성화된 경우 false). 광고 유닛을 일시 중지하려면 true여야 하고, 광고 유닛을 일시 중지 해제하려면 false여야 합니다. | x  | False            |
| 보상                                   | 오브젝트 | 보상, 보상 이름, 금액을 나타냅니다. 보상형 광고 형식에만 해당 보상형 광고 형식의 경우 필수                                                                    | x  |                  |
| rewardItemName                       | 문자열  | 보상 아이템의 이름을 지정합니다. 길이는 1에서 32 사이여야 합니다.                                                                                  | ✓  | 가상 아이템           |
| rewardAmount                         | 숫자   | 보상 금액 또는 값을 나타냅니다.                                                                                                       | ✓  | 1                |
| settings                             | 배열   | 설정 목록. 지정되어 있지 않으면 기본값이 설정됩니다.                                                                                           | x  |                  |
| **이것들은 ‘settings’ 배열의 다음 설정 필드입니다.** |      |                                                                                                                          |    |                  |
| testGroup                            | 문자열  | 관련된 AB 테스트 그룹입니다. null/"A"/"B"                                                                                           | x  | null             |
| cappingEnabled                       | 부울   | 한도 또는 한도가 적용되는지 여부를 나타냅니다(활성화된, 사용 가능한 경우 true, 활성화된 경우 false). 보상형 광고 및 인터스티셜 광고 형식에만 해당                                | x  | true             |
| cappingLimit                         | 숫자   | 광고 유닛의 최대 한도 값을 지정합니다.                                                                                                   | x  | 5                |
| cappingInterval                      | 문자열  | 시간 간격을 정의합니다. 'd'(일) 또는 'h'(시간)                                                                                          | x  | d                |
| pacingEnabled                        | 부울   | 속도가 활성화되었는지 나타냅니다(활성화된, 사용 가능한 경우 true, 활성화된 경우 false). 보상형 광고 및 인터스티셜 광고 형식에만 해당                                        | x  | true             |
| pacingMinutes                        | 숫자   | 페이징 간격을 분 단위로 지정합니다. 플로트 번호 최대값은 1000입니다.                                                                                | x  | 4.6              |
| bannerRefreshRate                    | 숫자   | 배너 새로고침 속도 초 단위로 설정합니다. 배너 광고 형식에만 해당됩니다. 전송되지 않는 경우의 기본값: 25 가능한 값은 0,10,15,20,25,30,45,60,120, 240입니다.                 | x  | 10               |

### 요청 예시##request-example

```text
[
  {
    "mediationAdUnitId": "fgx25t56dq201bd2",
    "mediationAdUnitName": "interstitial-1",
    "settings": [
      {
        "testGroup": null,
        "cappingEnabled": true,
        "cappingInterval": "d",
        "cappingLimit": 5,
        "pacingEnabled": false
      }
    ]
  },
  {
    "mediationAdUnitId": "agv25t56g6hj01bd2",
    "mediationAdUnitName": "banner-1",
    "settings": [
      {
        "testGroup": "A",
        "bannerRefreshRate": 30
      },
      {
        "testGroup": "B",
        "bannerRefreshRate": 10
      }
    ]
  },
  {
    "mediationAdUnitId": "qtr25t56dq201bd2",
    "reward": {
      "rewardItemName": "가상 아이템",
      "rewardAmount": 1
    }
  }
]

```

## Success##success

성공적인 응답은 HTTP 코드 200으로 전송됩니다.

## 오류##errors

요청에 전송된 그룹 중 하나가 실패하면 HTTP 코드 400과 함께 오류 배열 전송되며, 전체 요청이 거부됩니다.

각 오류는 다음에 오류 메시지 표시됩니다.

### 예시##example

```text
{
    "errorsArray": [
        {
            "code": "ERR-4332",
            "errorMessage": "cappingInterval 값은 'd'(일) 또는 'h'(시간)여야 합니다",
            "params": {
                "[0].settings[0].cappingInterval": "s"
            }
        }
    ],
    "code": 400
}

```
