Rest Api 통신 시 카카오에서 500 에러를 반환합니다

안녕하세요, 사내시스템개발팀에서 사용하는 공통 API 서비스를 통해
API 통신을 시도하는 중 계속 500에러를 발생하는 오류가 있어
원인을 알고 싶어 소스 보내드립니다.

///// 오류 출력 내용

java.io.IOException: Server returned HTTP response code: 500 for URL: https://dev-api.kakaoent.io/api/v1/mail/send_for_file

test

image

String searchUrlStr = “https://dev-api.kakaoent.io/api/v1/mail/send_for_file”;
String contentType = “multipart/form-data;boundary=”+BOUNDARY";

//전송할 서버 url
URL searchUrl = new URL(searchUrlStr); // 메일 전송 api
connection = (HttpsURLConnection)searchUrl.openConnection();

connection.setDoInput(true);
connection.setDoOutput(true);
connection.setUseCaches(false);
connection.setRequestMethod(“POST”);
connection.setRequestProperty(“Connection”, “Keep-Alive”);
connection.setRequestProperty(“Content-Type”, contentType);
connection.setRequestProperty(“x-api-key”, EgovProperties.getInstance().getProperty(“kakaoKey”));
connection.setRequestProperty(“Cache-Control”, “no-cache”);

dos = new DataOutputStream(connection.getOutputStream());
osw = new OutputStreamWriter(connection.getOutputStream(), “UTF-8”);

// 데이터 통신
addTextPart(“subject”, subject);
addTextPart(“content”, content);
addTextPart(“from_name”, fromName);
addTextPart(“to_email”, toEmail);
//addTextPart(“cc_email”, ccEmail);
//addTextPart(“bcc_email”, bccEmail);
for(MultipartFile file : files) {
addFilePart(“files”, file);
}

dos.close();
osw.close();

InputStreamReader in = new InputStreamReader(connection.getInputStream(),“utf-8”);
BufferedReader br = new BufferedReader(in);
String strLine;

while ((strLine = br.readLine()) != null){
returnString = returnString.concat(strLine);
}

//결과값
return returnString;

////////// (함수)

public void addTextPart(String name, String value) throws IOException {

osw.write(TWO_HYPHENS + BOUNDARY + CRLF);
osw.write("Content-Disposition: form-data; name=\""+name+"\""+CRLF);
osw.write(CRLF);
osw.write(value+CRLF);
osw.flush();

}

public void addFilePart(String name, MultipartFile file) throws IOException {

String fileName = file.getOriginalFilename();
File originalFile = new File(file.getOriginalFilename());
file.transferTo(originalFile);

dos.writeBytes(TWO_HYPHENS + BOUNDARY + CRLF);
dos.writeBytes("Content-Disposition: form-data; name=\"" + name + "\";" + " filename=@\"" + originalFile.getAbsolutePath() + "\"" + CRLF);
dos.writeBytes(CRLF);

InputStream fis = new FileInputStream(originalFile);
bytesAvailable = fis.available();
bufferSize = Math.min(bytesAvailable, MAX_BUFFER_SIZE);
buffer = new byte[bufferSize];
bytesRead = fis.read(buffer, 0, bufferSize);
while (bytesRead > 0) {
	dos.write(buffer, 0, bufferSize);
	bytesAvailable = fis.available();
	bufferSize = Math.min(bytesAvailable, MAX_BUFFER_SIZE);
	bytesRead = fis.read(buffer, 0, bufferSize);
}

dos.writeBytes(CRLF);
dos.writeBytes(TWO_HYPHENS + BOUNDARY + TWO_HYPHENS + CRLF);
dos.flush();

}

안녕하세요.

기재하신 API는 디벨로퍼스에서 제공하는 API가 아니라 내용을 알지 못하고 관련 로그에 접근할 권한이 없습니다.

해당 API제공처에 문의해보셔야할 것 같아요.


어디서 제공하는 API 인가요? 관련 URL알려주시겠어요?

image

해당 문서는 사업 관련으로 카카오 개발자 사이에서만 사용하는 API 입니다.
일반인이 사용하는 API가 아닙니다.

네, 해당 API 카카오엔터테인먼트에서 제공하는 API인가보네요.
해당 제공처에 문의부탁드려요.

넵, 혹시 카카오엔터테인먼트 관련 API는 어디에서 문의를 드려야 할까요?
공식 홈페이지에는 API관련 페이지가 존재하지 않아 문의처를 알고 싶습니다.

저도 해당 API를 처음 보는터라. 캡쳐해주신 화면 URL알려주시겠어요?

아… 죄송합니다. 저희 쪽에서 잠깐 중단 중이라 재개 시 답변 드리도록 하겠습니다… 답변 감사합니다…!