MMS 이미지 업로드
MMS 에 첨부할 이미지를 먼저 업로드하고, 발급된 file_id 를 MMS 발송의 file_ids 에 지정합니다.
POST /v1/files/mms
요청
multipart/form-data, 파일 필드명은 file 입니다.
| 제한 | 값 |
|---|---|
| 형식 | JPG(JPEG), PNG (확장자가 아니라 파일 내용으로 판별) |
| 크기 | 파일당 5MB 이하 |
| 첨부 개수 | MMS 1건당 1~3장 (이미지마다 업로드 1회) |
| 유효기간 | 업로드 후 7일 이내에 발송 요청에 사용해야 합니다. |
curl
curl -X POST https://api-01.redbean8.io.kr/v1/files/mms \
-H "Authorization: Bearer $REDBEAN_API_KEY" \
-F "file=@./promo.jpg"Python
import os, requests
with open("promo.jpg", "rb") as f:
r = requests.post(
"https://api-01.redbean8.io.kr/v1/files/mms",
headers={"Authorization": f"Bearer {os.environ['REDBEAN_API_KEY']}"},
files={"file": ("promo.jpg", f, "image/jpeg")},
timeout=30,
)
file_id = r.json()["data"]["file_id"]Node.js
import { readFile } from "node:fs/promises";
const form = new FormData();
form.append("file", new Blob([await readFile("promo.jpg")], { type: "image/jpeg" }), "promo.jpg");
const res = await fetch("https://api-01.redbean8.io.kr/v1/files/mms", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.REDBEAN_API_KEY}` },
body: form,
});
const { data } = await res.json();응답
201 Created
JSON
{
"request_id": "req_…",
"data": {
"file_id": 101,
"original_name": "promo.jpg",
"mime_type": "image/jpeg",
"size": 183204,
"expires_at": "2026-11-13T21:40:00+09:00"
}
}이후 흐름
- 이미지를 한 장씩 업로드해
file_id를 받습니다. POST /v1/messages/mms의file_ids에 담아 발송합니다.
- 업로드한 파일은 본인 계정에서만 사용할 수 있습니다. 다른 회원의
file_id를 쓰면422 FILE_NOT_FOUND입니다. - 같은
file_id를 여러 발송에 재사용할 수 있습니다. (유효기간 내)
오류
| HTTP | code | 원인 |
|---|---|---|
| 422 | INVALID_REQUEST | file 필드 누락 |
| 422 | INVALID_FILE | 형식 불가·5MB 초과·손상된 이미지 |
| 422 | FILE_NOT_FOUND | (발송 시) 만료되었거나 존재하지 않는 file_id |