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"
  }
}

이후 흐름

  1. 이미지를 한 장씩 업로드해 file_id 를 받습니다.
  2. POST /v1/messages/mms 의 file_ids 에 담아 발송합니다.
  • 업로드한 파일은 본인 계정에서만 사용할 수 있습니다. 다른 회원의 file_id 를 쓰면 422 FILE_NOT_FOUND 입니다.
  • 같은 file_id 를 여러 발송에 재사용할 수 있습니다. (유효기간 내)

오류

HTTPcode원인
422INVALID_REQUESTfile 필드 누락
422INVALID_FILE형식 불가·5MB 초과·손상된 이미지
422FILE_NOT_FOUND(발송 시) 만료되었거나 존재하지 않는 file_id