# 미션 챌린지 자유형 미션 API

블리피 미션 챌린지 자유형 타입의 미션 사용 시 미션 완료에 대한 결과를 처리하는 API 문서입니다. \
해당 API 문서를 확인하여 개발을 진행해 주세요.

{% hint style="info" %}
프로모션 등록 시 자유형 미션을 설정하면 미션 코드가 발급됩니다.&#x20;

* 미션 코드 확인 방법
  * [<mark style="color:orange;">\[Client Admin\]</mark>](https://client-admin.bleepy.io/) 로그인 > 프로모션 상세 페이지 > 개발 정보 확인하기 팝업 > 등록한 자유형 미션의 미션코드 확인
{% endhint %}

***

{% hint style="info" %}
<mark style="color:yellow;">해당 API는 클라이언트 서버 -> 블리피 서버로 요청됩니다.</mark>
{% endhint %}

## Request

<table><thead><tr><th width="148">Method</th><th>URL</th></tr></thead><tbody><tr><td><mark style="color:orange;"><code>POST</code></mark></td><td><a href="https://open-client-api.bleepy.io/api/open-client/mission-result">https://open-client-api.bleepy.io/api/open-client/free-mission-result</a></td></tr></tbody></table>

### Header

<table><thead><tr><th width="220">Name</th><th width="84">Type</th><th width="344">Description</th><th>Required</th></tr></thead><tbody><tr><td><mark style="color:orange;"><code>API-Key</code></mark></td><td>String</td><td>인증을 위한 API 키 정보 </td><td>O</td></tr></tbody></table>

### Body

<table><thead><tr><th width="220">Name</th><th width="84">Type</th><th width="344">Description</th><th>Required</th></tr></thead><tbody><tr><td><mark style="color:orange;"><code>missionCode</code></mark></td><td>String</td><td>미션을 등록하면 발급되는 미션 코드입니다.</td><td>O</td></tr><tr><td><mark style="color:orange;"><code>userKey</code></mark></td><td>String</td><td>미션을 수행한 userKey 정보</td><td>O</td></tr><tr><td><mark style="color:orange;"><code>participationDateTime</code></mark></td><td>String</td><td><p>미션 참여 시간 (yyyy.MM.dd HH:mm:ss) </p><ul><li>UTC기준</li></ul></td><td>O</td></tr></tbody></table>

```json
// Body Example
{
    "missionCode": "미션코드 입력",
    "userKey": "유저키",
    "participationDateTime": "2025.02.17 15:30:31"
}
```



## Response

### 요청 처리 정상

| HTTP status code                        |
| --------------------------------------- |
| <mark style="color:green;">`200`</mark> |

### 에러 본문

<table><thead><tr><th width="148">Name</th><th width="121">Type</th><th width="365">Description</th><th>Required</th></tr></thead><tbody><tr><td><mark style="color:orange;"><code>type</code></mark></td><td>String</td><td>고정 값</td><td>O</td></tr><tr><td><mark style="color:orange;"><code>title</code></mark></td><td>String</td><td>에러 요약</td><td>O</td></tr><tr><td><mark style="color:orange;"><code>status</code></mark></td><td>String</td><td>HTTP status code</td><td>O</td></tr><tr><td><mark style="color:orange;"><code>detail</code></mark></td><td>String</td><td>에러 메시지</td><td>O</td></tr><tr><td><mark style="color:orange;"><code>instance</code></mark></td><td>String</td><td>url</td><td>O</td></tr><tr><td><mark style="color:orange;"><code>errorCode</code></mark></td><td>String</td><td>에러 코드</td><td>O</td></tr></tbody></table>

### 에러 코드(errorCode) 종류

<table><thead><tr><th width="142">Code</th><th width="407">Description</th><th>HTTP status code</th></tr></thead><tbody><tr><td><mark style="color:orange;"><code>001</code></mark></td><td>서버 내부 에러</td><td><mark style="color:red;"><code>500</code></mark></td></tr><tr><td><mark style="color:orange;"><code>003</code></mark></td><td>입력 데이터 포맷이 잘못된 경우</td><td><mark style="color:red;"><code>400</code></mark></td></tr><tr><td><mark style="color:orange;"><code>OE001</code></mark></td><td>인증 실패</td><td><mark style="color:red;"><code>401</code></mark></td></tr><tr><td><mark style="color:orange;"><code>OE002</code></mark></td><td>API 키가 유효하지 않은 경우</td><td><mark style="color:red;"><code>401</code></mark></td></tr><tr><td><mark style="color:orange;"><code>OE003</code></mark></td><td>IP 주소가 유효하지 않은 경우</td><td><mark style="color:red;"><code>403</code></mark></td></tr><tr><td><mark style="color:orange;"><code>OE004</code></mark></td><td>미션의 일별 참여 횟수를 초과할 경우</td><td><mark style="color:red;"><code>400</code></mark></td></tr><tr><td><mark style="color:orange;"><code>OE005</code></mark></td><td>미션 타입이 유효하지 않은 경우</td><td><mark style="color:red;"><code>400</code></mark></td></tr><tr><td><mark style="color:orange;"><code>OE006</code></mark></td><td>미션 수행 시간이 유효하지 않은 경우</td><td><mark style="color:red;"><code>400</code></mark></td></tr><tr><td><mark style="color:orange;"><code>OE007</code></mark></td><td>미션코드가 유효하지 않은 경우</td><td><mark style="color:red;"><code>400</code></mark></td></tr><tr><td><mark style="color:orange;"><code>OE008</code></mark></td><td>userKey가 유효하지 않은 경우</td><td><mark style="color:red;"><code>400</code></mark></td></tr></tbody></table>

{% hint style="info" %}
개발에 대한 추가 설명이 더 필요하신가요?

"[<mark style="color:orange;">\[Client Admin\]</mark>](https://client-admin.bleepy.io/login) 로그인 → 오른쪽 하단 채널톡 위젯" 클릭 후 개발 카테고리에 문의 남겨주시면 기술 개발팀에서 확인 후 연락드리겠습니다.
{% endhint %}
