배지 디자인 생성
배지 디자인 생성 (POST)
배지 디자인을 생성합니다.
- Method:
POST
- URL:
/badge-designs
- Content-Type:
Multipart/Form-Data
Request Body
필드명 | 타입 | 필수 | 유효성 검사 | 설명 |
---|---|---|---|---|
badge_image | File (image/*) | Yes | 최대 10MB, 1개 제한 | 등록할 배지 이미지 파일 |
Response
{
"statusCode": 201,
"message": "배지 디자인이 성공적으로 생성되었습니다.",
"badgeDesignId": 83
}
Response Fields
필드명 | 타입 | 설명 |
---|---|---|
statusCode | number | HTTP 상태 코드 |
message | string | 응답 메시지 |
badgeDesignId | number | 생성된 배지 디자인 ID |
오류 코드
상태 코드 | 에러 | 메시지 | 상세 설명 |
---|---|---|---|
400 | Bad Request | 이미지가 필요합니다. | 이미지 파일 누락 |
400 | Bad Request | 이미지의 타입이 유효하지 않습니다. | 이미지가 아니거나 잘못된 필드명 |
401 | Unauthorized | Invalid token | 인증 정보가 올바르지 않은 경우 |
500 | Internal Server Error | 인증서 발급 중 예기치 않은 오류가 발생했습니다. | 서버 에러 |
Request Sample
- Java
- JavaScript
- Python
- Shell
- Unirest
- OkHttp
HttpResponse<String> response = Unirest.post("https://api.test.kolleges.net/open-api/achievements/badge-designs")
.header("Authorization", "Bearer " + apiKey)
.field("badge_image", new File("badge.webp"))
.asString();
System.out.println("Status: " + response.getStatus());
System.out.println("Response: " + response.getBody());
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("image/webp");
RequestBody fileBody = RequestBody.create(new File("badge.webp"), mediaType);
MultipartBody requestBody = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("badge_image", "badge.webp", fileBody)
.build();
Request request = new Request.Builder()
.url("https://api.test.kolleges.net/open-api/achievements/badge-designs")
.addHeader("Authorization", "Bearer " + apiKey)
.post(requestBody)
.build();
Response response = client.newCall(request).execute();
System.out.println(response.code());
System.out.println(response.body().string());
- XMLHttpRequest
- HTTP
- Axios
- Fetch
const formData = new FormData();
formData.append('badge_image', file);
const xhr = new XMLHttpRequest();
xhr.open('POST', 'https://api.test.kolleges.net/open-api/achievements/badge-designs', true);
xhr.setRequestHeader('Authorization', 'Bearer ' + API_KEY);
xhr.onload = function () {
console.log(xhr.status, xhr.responseText);
};
xhr.send(formData);
const fs = require('fs');
const path = require('path');
const https = require('https');
const FormData = require('form-data');
const form = new FormData();
form.append('badge_image', fs.createReadStream(path.resolve(__dirname, 'badge.webp')));
const options = {
method: 'POST',
hostname: 'api.test.kolleges.net',
path: '/open-api/achievements/badge-designs',
headers: {
...form.getHeaders(),
Authorization: `Bearer ${process.env.API_KEY}`,
},
};
const req = https.request(options, (res) => {
res.on('data', (chunk) => process.stdout.write(chunk));
});
form.pipe(req);
const axios = require('axios');
const form = new FormData();
form.append("badge_image", file); // file: File 객체
axios.post("https://api.test.kolleges.net/open-api/achievements/badge-designs", form, {
headers: {
"Authorization": `Bearer ${apiKey}`,
"Accept": "application/json"
}
})
.then(res => {
console.log(res.data);
})
.catch(err => {
console.error(err.response?.data || err.message);
});
const fs = require('fs');
const FormData = require('form-data');
const form = new FormData();
form.append('badge_image', fs.createReadStream('./badge.webp'));
axios.post('https://api.test.kolleges.net/open-api/achievements/badge-designs', form, {
headers: {
...form.getHeaders(),
Authorization: `Bearer ${apiKey}`,
Accept: 'application/json',
},
})
.then(res => console.log(res.data))
.catch(err => console.error(err.response?.data || err.message));
- Requests
import requests
url = "https://api.test.kolleges.net/open-api/achievements/badge-designs"
headers = {
"Authorization": f"Bearer {api_key}",
"Accept": "application/json"
}
files = {
"badge_image": open("badge.webp", "rb")
}
response = requests.post(url, headers=headers, files=files)
print(response.status_code, response.json())
- cURL
curl -X POST "https://api.test.kolleges.net/open-api/achievements/badge-designs" \
-H "Authorization: Bearer $API_KEY" \
-H "Accept: application/json" \
-F "badge_image=@./badge.webp"