참조

API 오류 및 오류 코드

에러는 HTTP 상태 코드를 사용하며 항상 동일한 JSON 본문을 반환해요. param은 특정 필드가 원인일 때 해당 필드를 명시해요. 모든 응답에는 X-Request-Id 헤더가 포함되어 있으니, 지원 티켓에서 이를 인용해 주세요.

400 Bad RequestJSON
{
  "error": {
    "code": "text_too_long",
    "message": "The text is longer than 10 segments (1,530 GSM-7 or 670 UCS-2 characters).",
    "param": "text",
    "doc_url": "https://bulksmsapi.cc/en/docs/errors#text_too_long"
  }
}

코드

codeHTTP원인잔액
invalid_json400본문이 JSON 객체가 아니거나, Content-Type이 application/json이 아니에요.본문을 수정하세요. 아무것도 청구되지 않았어요.
invalid_request400필드가 누락되었거나 잘못된 타입이에요; 파라미터 이름을 확인해 주세요.필드를 수정하세요. 아무것도 청구되지 않았어요.
invalid_number400요청에 포함된 번호 중 E.164 형식(+와 7~15자리 숫자)으로 읽을 수 있는 번호가 없어요.번호를 확인해 주세요. 요금이 청구되지 않았어요.
unsupported_country400 / 404가격이 책정된 국가가 번호와 일치하지 않거나, GET /v1/pricing/{country}에 알 수 없는 코드가 있어요.국가 목록을 확인해 보세요. 아무것도 청구되지 않았어요.
text_too_long400텍스트가 10개 이상의 세그먼트가 필요해요.텍스트를 줄이세요. 요금이 청구되지 않았어요.
too_many_recipients400한 번의 요청에 10,000명 이상의 수신자가 있어요.목록을 분할했어요. 요금이 청구되지 않았어요.
schedule_out_of_range400send_at은 지금부터 2분에서 45일 사이의 유효한 시간이 아니에요.다른 시간을 선택해요. 요금이 청구되지 않았어요.
suppressed400요청에 포함된 모든 번호가 발송 제외 목록에 있어요 (콘솔의 설정에서 확인할 수 있어요).아무것도 전송되거나 청구되지 않았어요.
unauthorized401Authorization 헤더가 누락되었거나 잘못되었거나, 키가 취소되었어요.실제 키를 보내세요. 아무것도 청구되지 않았어요.
top_up_required402잔액이 요청 비용보다 낮아요. 메시지에 두 금액이 표시돼요.충전하고 다시 보내세요. 아무것도 청구되지 않았어요.
not_found404해당 ID가 이 계정에 존재하지 않거나, 엔드포인트가 존재하지 않아요.id와 경로를 확인하세요.
idempotency_conflict409Idempotency-Key가 지난 24시간 동안 다른 요청 본문과 함께 사용되었어요.새 요청에는 새 키를 사용하세요.
not_cancelable409예약된 배치만 취소할 수 있어요. 이 배치는 이미 시작되었거나 완료되었어요.변경 사항이 없어요.
rate_limited429해당 키가 지난 60초 동안 600회 이상의 요청을 보냈어요.Retry-After 초 동안 기다려요. 요금은 청구되지 않아요.
server_error500저희 쪽에서 문제가 발생했어요.동일한 Idempotency-Key로 다시 시도하세요.

재시도

  • 429를 제외한 4xx 에러는 요청을 변경해야 해요. 같은 요청을 다시 보내면 동일한 에러가 발생해요.
  • 429 오류가 발생하면 Retry-After에 표시된 초만큼 기다리세요.
  • 5xx 오류나 네트워크 타임아웃이 발생하면 같은 Idempotency-Key로 재시도해요. 첫 번째 요청이 수락되었다면, 두 번째 전송 대신 해당 응답을 받게 돼요.
API 오류 및 오류 코드 | BulkSMSAPI 문서